Home | History | Annotate | Download | only in 2.1.7

META-INF/
META-INF/MANIFEST.MF
com/
com/google/
com/google/inject/
com/google/inject/binder/
com/google/inject/internal/
com/google/inject/internal/asm/
com/google/inject/internal/asm/signature/
com/google/inject/internal/util/
com/google/inject/matcher/
com/google/inject/name/
com/google/inject/spi/
com/google/inject/util/
com/google/inject/AbstractModule.class
AbstractModule.java
package com.google.inject
public abstract com.google.inject.AbstractModule extends java.lang.Object implements com.google.inject.Module  {
	com.google.inject.Binder binder
	public void  () 
	public final synchronized void configure (com.google.inject.Binder) 
		com.google.inject.Binder builder
	protected abstract void configure () 
	protected com.google.inject.Binder binder () 
	protected void bindScope (java.lang.Class, com.google.inject.Scope) 
		Class scopeAnnotation
		com.google.inject.Scope scope
	protected com.google.inject.binder.LinkedBindingBuilder bind (com.google.inject.Key) 
		com.google.inject.Key key
	protected com.google.inject.binder.AnnotatedBindingBuilder bind (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	protected com.google.inject.binder.AnnotatedBindingBuilder bind (java.lang.Class) 
		Class clazz
	protected com.google.inject.binder.AnnotatedConstantBindingBuilder bindConstant () 
	protected void install (com.google.inject.Module) 
		com.google.inject.Module module
	protected transient void addError (java.lang.String, java.lang.Object[]) 
		String message
		Object[] arguments
	protected void addError (java.lang.Throwable) 
		Throwable t
	protected void addError (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	protected void requestInjection (java.lang.Object) 
		Object instance
	protected transient void requestStaticInjection (java.lang.Class[]) 
		Class[] types
	protected void requireBinding (com.google.inject.Key) 
		com.google.inject.Key key
	protected void requireBinding (java.lang.Class) 
		Class type
	protected com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Key key
	protected com.google.inject.Provider getProvider (java.lang.Class) 
		Class type
	protected void convertToTypes (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeConverter converter
	protected com.google.inject.Stage currentStage () 
	protected com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
		Class type
	protected com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	protected void bindListener (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeListener) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeListener listener
}

com/google/inject/Binder.class
Binder.java
package com.google.inject
public abstract com.google.inject.Binder extends java.lang.Object {
	public abstract void bindScope (java.lang.Class, com.google.inject.Scope) 
	public abstract com.google.inject.binder.LinkedBindingBuilder bind (com.google.inject.Key) 
	public abstract com.google.inject.binder.AnnotatedBindingBuilder bind (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.binder.AnnotatedBindingBuilder bind (java.lang.Class) 
	public abstract com.google.inject.binder.AnnotatedConstantBindingBuilder bindConstant () 
	public abstract void requestInjection (com.google.inject.TypeLiteral, java.lang.Object) 
	public abstract void requestInjection (java.lang.Object) 
	public transient abstract void requestStaticInjection (java.lang.Class[]) 
	public abstract void install (com.google.inject.Module) 
	public abstract com.google.inject.Stage currentStage () 
	public transient abstract void addError (java.lang.String, java.lang.Object[]) 
	public abstract void addError (java.lang.Throwable) 
	public abstract void addError (com.google.inject.spi.Message) 
	public abstract com.google.inject.Provider getProvider (com.google.inject.Key) 
	public abstract com.google.inject.Provider getProvider (java.lang.Class) 
	public abstract com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
	public abstract void convertToTypes (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
	public abstract void bindListener (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeListener) 
	public abstract com.google.inject.Binder withSource (java.lang.Object) 
	public transient abstract com.google.inject.Binder skipSources (java.lang.Class[]) 
	public abstract com.google.inject.PrivateBinder newPrivateBinder () 
}

com/google/inject/Binding.class
Binding.java
package com.google.inject
public abstract com.google.inject.Binding extends java.lang.Object implements com.google.inject.spi.Element  {
	public abstract com.google.inject.Key getKey () 
	public abstract com.google.inject.Provider getProvider () 
	public abstract java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
	public abstract java.lang.Object acceptScopingVisitor (com.google.inject.spi.BindingScopingVisitor) 
}

com/google/inject/BindingAnnotation.class
BindingAnnotation.java
package com.google.inject
public abstract com.google.inject.BindingAnnotation extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/ConfigurationException.class
ConfigurationException.java
package com.google.inject
public final com.google.inject.ConfigurationException extends java.lang.RuntimeException {
	private final com.google.inject.internal.util.ImmutableSet messages
	private Object partialValue
	private static final long serialVersionUID
	public void  (java.lang.Iterable) 
		Iterable messages
	public com.google.inject.ConfigurationException withPartialValue (java.lang.Object) 
		Object partialValue
		com.google.inject.ConfigurationException result
	public java.util.Collection getErrorMessages () 
	public java.lang.Object getPartialValue () 
	public java.lang.String getMessage () 
}

com/google/inject/CreationException.class
CreationException.java
package com.google.inject
public com.google.inject.CreationException extends java.lang.RuntimeException {
	private final com.google.inject.internal.util.ImmutableSet messages
	private static final long serialVersionUID
	public void  (java.util.Collection) 
		java.util.Collection messages
	public java.util.Collection getErrorMessages () 
	public java.lang.String getMessage () 
}

com/google/inject/Exposed.class
Exposed.java
package com.google.inject
public abstract com.google.inject.Exposed extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/Guice.class
Guice.java
package com.google.inject
public final com.google.inject.Guice extends java.lang.Object {
	private void  () 
	public static transient com.google.inject.Injector createInjector (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	public static com.google.inject.Injector createInjector (java.lang.Iterable) 
		Iterable modules
	public static transient com.google.inject.Injector createInjector (com.google.inject.Stage, com.google.inject.Module[]) 
		com.google.inject.Stage stage
		com.google.inject.Module[] modules
	public static com.google.inject.Injector createInjector (com.google.inject.Stage, java.lang.Iterable) 
		com.google.inject.Stage stage
		Iterable modules
}

com/google/inject/ImplementedBy.class
ImplementedBy.java
package com.google.inject
public abstract com.google.inject.ImplementedBy extends java.lang.Object implements java.lang.annotation.Annotation  {
	public abstract java.lang.Class value () 
}

com/google/inject/Inject.class
Inject.java
package com.google.inject
public abstract com.google.inject.Inject extends java.lang.Object implements java.lang.annotation.Annotation  {
	public abstract boolean optional () 
}

com/google/inject/Injector.class
Injector.java
package com.google.inject
public abstract com.google.inject.Injector extends java.lang.Object {
	public abstract void injectMembers (java.lang.Object) 
	public abstract com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
	public abstract java.util.Map getBindings () 
	public abstract java.util.Map getAllBindings () 
	public abstract com.google.inject.Binding getBinding (com.google.inject.Key) 
	public abstract com.google.inject.Binding getBinding (java.lang.Class) 
	public abstract com.google.inject.Binding getExistingBinding (com.google.inject.Key) 
	public abstract java.util.List findBindingsByType (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.Provider getProvider (com.google.inject.Key) 
	public abstract com.google.inject.Provider getProvider (java.lang.Class) 
	public abstract java.lang.Object getInstance (com.google.inject.Key) 
	public abstract java.lang.Object getInstance (java.lang.Class) 
	public abstract com.google.inject.Injector getParent () 
	public abstract com.google.inject.Injector createChildInjector (java.lang.Iterable) 
	public transient abstract com.google.inject.Injector createChildInjector (com.google.inject.Module[]) 
	public abstract java.util.Map getScopeBindings () 
	public abstract java.util.List getTypeConverterBindings () 
}

com/google/inject/InjectorBuilder.class
InjectorBuilder.java
package com.google.inject
public com.google.inject.InjectorBuilder extends java.lang.Object {
	private final com.google.inject.internal.InternalInjectorCreator creator
	private com.google.inject.Stage stage
	private boolean jitDisabled
	private boolean allowCircularProxy
	public void  () 
	public com.google.inject.InjectorBuilder stage (com.google.inject.Stage) 
		com.google.inject.Stage stage
	public com.google.inject.InjectorBuilder requireExplicitBindings () 
	public com.google.inject.InjectorBuilder disableCircularProxies () 
	public com.google.inject.InjectorBuilder addModules (java.lang.Iterable) 
		Iterable modules
	public transient com.google.inject.InjectorBuilder addModules (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	public com.google.inject.Injector build () 
}

com/google/inject/Key$AnnotationInstanceStrategy.class
Key.java
package com.google.inject
 com.google.inject.Key$AnnotationInstanceStrategy extends java.lang.Object implements com.google.inject.Key$AnnotationStrategy  {
	final java.lang.annotation.Annotation annotation
	void  (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public boolean hasAttributes () 
	public com.google.inject.Key$AnnotationStrategy withoutAttributes () 
	public java.lang.annotation.Annotation getAnnotation () 
	public java.lang.Class getAnnotationType () 
	public boolean equals (java.lang.Object) 
		Object o
		com.google.inject.Key$AnnotationInstanceStrategy other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/Key$AnnotationStrategy.class
Key.java
package com.google.inject
abstract com.google.inject.Key$AnnotationStrategy extends java.lang.Object {
	public abstract java.lang.annotation.Annotation getAnnotation () 
	public abstract java.lang.Class getAnnotationType () 
	public abstract boolean hasAttributes () 
	public abstract com.google.inject.Key$AnnotationStrategy withoutAttributes () 
}

com/google/inject/Key$AnnotationTypeStrategy.class
Key.java
package com.google.inject
 com.google.inject.Key$AnnotationTypeStrategy extends java.lang.Object implements com.google.inject.Key$AnnotationStrategy  {
	final Class annotationType
	final java.lang.annotation.Annotation annotation
	void  (java.lang.Class, java.lang.annotation.Annotation) 
		Class annotationType
		java.lang.annotation.Annotation annotation
	public boolean hasAttributes () 
	public com.google.inject.Key$AnnotationStrategy withoutAttributes () 
	public java.lang.annotation.Annotation getAnnotation () 
	public java.lang.Class getAnnotationType () 
	public boolean equals (java.lang.Object) 
		Object o
		com.google.inject.Key$AnnotationTypeStrategy other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/Key$NullAnnotationStrategy.class
Key.java
package com.google.inject
final com.google.inject.Key$NullAnnotationStrategy extends java.lang.Enum implements com.google.inject.Key$AnnotationStrategy  {
	public static final com.google.inject.Key$NullAnnotationStrategy INSTANCE
	private static final com.google.inject.Key$NullAnnotationStrategy[] $VALUES
	public static final com.google.inject.Key$NullAnnotationStrategy[] values () 
	public static com.google.inject.Key$NullAnnotationStrategy valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	public boolean hasAttributes () 
	public com.google.inject.Key$AnnotationStrategy withoutAttributes () 
	public java.lang.annotation.Annotation getAnnotation () 
	public java.lang.Class getAnnotationType () 
	public java.lang.String toString () 
	static void  () 
}

com/google/inject/Key.class
Key.java
package com.google.inject
public com.google.inject.Key extends java.lang.Object {
	private final com.google.inject.Key$AnnotationStrategy annotationStrategy
	private final com.google.inject.TypeLiteral typeLiteral
	private final int hashCode
	protected void  (java.lang.Class) 
		Class annotationType
	protected void  (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	protected void  () 
	private void  (java.lang.reflect.Type, com.google.inject.Key$AnnotationStrategy) 
		java.lang.reflect.Type type
		com.google.inject.Key$AnnotationStrategy annotationStrategy
	private void  (com.google.inject.TypeLiteral, com.google.inject.Key$AnnotationStrategy) 
		com.google.inject.TypeLiteral typeLiteral
		com.google.inject.Key$AnnotationStrategy annotationStrategy
	private int computeHashCode () 
	public final com.google.inject.TypeLiteral getTypeLiteral () 
	public final java.lang.Class getAnnotationType () 
	public final java.lang.annotation.Annotation getAnnotation () 
	boolean hasAnnotationType () 
	java.lang.String getAnnotationName () 
		java.lang.annotation.Annotation annotation
	java.lang.Class getRawType () 
	com.google.inject.Key providerKey () 
	public final boolean equals (java.lang.Object) 
		Object o
		com.google.inject.Key other
	public final int hashCode () 
	public final java.lang.String toString () 
	static com.google.inject.Key get (java.lang.Class, com.google.inject.Key$AnnotationStrategy) 
		Class type
		com.google.inject.Key$AnnotationStrategy annotationStrategy
	public static com.google.inject.Key get (java.lang.Class) 
		Class type
	public static com.google.inject.Key get (java.lang.Class, java.lang.Class) 
		Class type
		Class annotationType
	public static com.google.inject.Key get (java.lang.Class, java.lang.annotation.Annotation) 
		Class type
		java.lang.annotation.Annotation annotation
	public static com.google.inject.Key get (java.lang.reflect.Type) 
		java.lang.reflect.Type type
	public static com.google.inject.Key get (java.lang.reflect.Type, java.lang.Class) 
		java.lang.reflect.Type type
		Class annotationType
	public static com.google.inject.Key get (java.lang.reflect.Type, java.lang.annotation.Annotation) 
		java.lang.reflect.Type type
		java.lang.annotation.Annotation annotation
	public static com.google.inject.Key get (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	public static com.google.inject.Key get (com.google.inject.TypeLiteral, java.lang.Class) 
		com.google.inject.TypeLiteral typeLiteral
		Class annotationType
	public static com.google.inject.Key get (com.google.inject.TypeLiteral, java.lang.annotation.Annotation) 
		com.google.inject.TypeLiteral typeLiteral
		java.lang.annotation.Annotation annotation
	public com.google.inject.Key ofType (java.lang.Class) 
		Class type
	public com.google.inject.Key ofType (java.lang.reflect.Type) 
		java.lang.reflect.Type type
	public com.google.inject.Key ofType (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	public boolean hasAttributes () 
	public com.google.inject.Key withoutAttributes () 
	static com.google.inject.Key$AnnotationStrategy strategyFor (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
		Class annotationType
	static com.google.inject.Key$AnnotationStrategy strategyFor (java.lang.Class) 
		Class annotationType
	private static void ensureRetainedAtRuntime (java.lang.Class) 
		Class annotationType
	private static void ensureIsBindingAnnotation (java.lang.Class) 
		Class annotationType
}

com/google/inject/MembersInjector.class
MembersInjector.java
package com.google.inject
public abstract com.google.inject.MembersInjector extends java.lang.Object {
	public abstract void injectMembers (java.lang.Object) 
}

com/google/inject/Module.class
Module.java
package com.google.inject
public abstract com.google.inject.Module extends java.lang.Object {
	public abstract void configure (com.google.inject.Binder) 
}

com/google/inject/OutOfScopeException.class
OutOfScopeException.java
package com.google.inject
public final com.google.inject.OutOfScopeException extends java.lang.RuntimeException {
	public void  (java.lang.String) 
		String message
	public void  (java.lang.String, java.lang.Throwable) 
		String message
		Throwable cause
	public void  (java.lang.Throwable) 
		Throwable cause
}

com/google/inject/PrivateBinder.class
PrivateBinder.java
package com.google.inject
public abstract com.google.inject.PrivateBinder extends java.lang.Object implements com.google.inject.Binder  {
	public abstract void expose (com.google.inject.Key) 
	public abstract com.google.inject.binder.AnnotatedElementBuilder expose (java.lang.Class) 
	public abstract com.google.inject.binder.AnnotatedElementBuilder expose (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.PrivateBinder withSource (java.lang.Object) 
	public transient abstract com.google.inject.PrivateBinder skipSources (java.lang.Class[]) 
}

com/google/inject/PrivateModule.class
PrivateModule.java
package com.google.inject
public abstract com.google.inject.PrivateModule extends java.lang.Object implements com.google.inject.Module  {
	private com.google.inject.PrivateBinder binder
	public void  () 
	public final synchronized void configure (com.google.inject.Binder) 
		com.google.inject.Binder binder
	protected abstract void configure () 
	protected final void expose (com.google.inject.Key) 
		com.google.inject.Key key
	protected final com.google.inject.binder.AnnotatedElementBuilder expose (java.lang.Class) 
		Class type
	protected final com.google.inject.binder.AnnotatedElementBuilder expose (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	protected final com.google.inject.PrivateBinder binder () 
	protected final void bindScope (java.lang.Class, com.google.inject.Scope) 
		Class scopeAnnotation
		com.google.inject.Scope scope
	protected final com.google.inject.binder.LinkedBindingBuilder bind (com.google.inject.Key) 
		com.google.inject.Key key
	protected final com.google.inject.binder.AnnotatedBindingBuilder bind (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	protected final com.google.inject.binder.AnnotatedBindingBuilder bind (java.lang.Class) 
		Class clazz
	protected final com.google.inject.binder.AnnotatedConstantBindingBuilder bindConstant () 
	protected final void install (com.google.inject.Module) 
		com.google.inject.Module module
	protected final transient void addError (java.lang.String, java.lang.Object[]) 
		String message
		Object[] arguments
	protected final void addError (java.lang.Throwable) 
		Throwable t
	protected final void addError (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	protected final void requestInjection (java.lang.Object) 
		Object instance
	protected final transient void requestStaticInjection (java.lang.Class[]) 
		Class[] types
	protected final void requireBinding (com.google.inject.Key) 
		com.google.inject.Key key
	protected final void requireBinding (java.lang.Class) 
		Class type
	protected final com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Key key
	protected final com.google.inject.Provider getProvider (java.lang.Class) 
		Class type
	protected final void convertToTypes (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeConverter converter
	protected final com.google.inject.Stage currentStage () 
	protected com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
		Class type
	protected com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	protected void bindListener (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeListener) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeListener listener
}

com/google/inject/ProvidedBy.class
ProvidedBy.java
package com.google.inject
public abstract com.google.inject.ProvidedBy extends java.lang.Object implements java.lang.annotation.Annotation  {
	public abstract java.lang.Class value () 
}

com/google/inject/Provider.class
Provider.java
package com.google.inject
public abstract com.google.inject.Provider extends java.lang.Object implements javax.inject.Provider  {
	public abstract java.lang.Object get () 
}

com/google/inject/Provides.class
Provides.java
package com.google.inject
public abstract com.google.inject.Provides extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/ProvisionException.class
ProvisionException.java
package com.google.inject
public final com.google.inject.ProvisionException extends java.lang.RuntimeException {
	private final com.google.inject.internal.util.ImmutableSet messages
	private static final long serialVersionUID
	public void  (java.lang.Iterable) 
		Iterable messages
	public void  (java.lang.String, java.lang.Throwable) 
		String message
		Throwable cause
	public void  (java.lang.String) 
		String message
	public java.util.Collection getErrorMessages () 
	public java.lang.String getMessage () 
}

com/google/inject/Scope.class
Scope.java
package com.google.inject
public abstract com.google.inject.Scope extends java.lang.Object {
	public abstract com.google.inject.Provider scope (com.google.inject.Key, com.google.inject.Provider) 
	public abstract java.lang.String toString () 
}

com/google/inject/ScopeAnnotation.class
ScopeAnnotation.java
package com.google.inject
public abstract com.google.inject.ScopeAnnotation extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/Scopes$1$1.class
Scopes.java
package com.google.inject
 com.google.inject.Scopes$1$1 extends java.lang.Object implements com.google.inject.Provider  {
	private volatile Object instance
	final com.google.inject.Provider val$creator
	final com.google.inject.Scopes$1 this$0
	void  (com.google.inject.Scopes$1, com.google.inject.Provider) 
	public java.lang.Object get () 
		Object provided
		Object providedOrSentinel
		Object localInstance
		Object returnedInstance
	public java.lang.String toString () 
}

com/google/inject/Scopes$1.class
Scopes.java
package com.google.inject
 com.google.inject.Scopes$1 extends java.lang.Object implements com.google.inject.Scope  {
	void  () 
	public com.google.inject.Provider scope (com.google.inject.Key, com.google.inject.Provider) 
		com.google.inject.Key key
		com.google.inject.Provider creator
	public java.lang.String toString () 
}

com/google/inject/Scopes$2.class
Scopes.java
package com.google.inject
 com.google.inject.Scopes$2 extends java.lang.Object implements com.google.inject.Scope  {
	void  () 
	public com.google.inject.Provider scope (com.google.inject.Key, com.google.inject.Provider) 
		com.google.inject.Key key
		com.google.inject.Provider unscoped
	public java.lang.String toString () 
}

com/google/inject/Scopes$3.class
Scopes.java
package com.google.inject
 com.google.inject.Scopes$3 extends java.lang.Object implements com.google.inject.spi.BindingScopingVisitor  {
	void  () 
	public java.lang.Boolean visitNoScoping () 
	public java.lang.Boolean visitScopeAnnotation (java.lang.Class) 
		Class scopeAnnotation
	public java.lang.Boolean visitScope (com.google.inject.Scope) 
		com.google.inject.Scope scope
	public java.lang.Boolean visitEagerSingleton () 
	public volatile java.lang.Object visitNoScoping () 
	public volatile java.lang.Object visitScopeAnnotation (java.lang.Class) 
		Class x0
	public volatile java.lang.Object visitScope (com.google.inject.Scope) 
		com.google.inject.Scope x0
	public volatile java.lang.Object visitEagerSingleton () 
}

com/google/inject/Scopes.class
Scopes.java
package com.google.inject
public com.google.inject.Scopes extends java.lang.Object {
	private static final Object NULL
	public static final com.google.inject.Scope SINGLETON
	public static final com.google.inject.Scope NO_SCOPE
	private void  () 
	public static boolean isSingleton (com.google.inject.Binding) 
		com.google.inject.internal.LinkedBindingImpl linkedBinding
		com.google.inject.Injector injector
		boolean singleton
		com.google.inject.Binding binding
	static java.lang.Object access$000 () 
	static void  () 
}

com/google/inject/Singleton.class
Singleton.java
package com.google.inject
public abstract com.google.inject.Singleton extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/Stage.class
Stage.java
package com.google.inject
public final com.google.inject.Stage extends java.lang.Enum {
	public static final com.google.inject.Stage TOOL
	public static final com.google.inject.Stage DEVELOPMENT
	public static final com.google.inject.Stage PRODUCTION
	private static final com.google.inject.Stage[] $VALUES
	public static final com.google.inject.Stage[] values () 
	public static com.google.inject.Stage valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	static void  () 
}

com/google/inject/TypeLiteral.class
TypeLiteral.java
package com.google.inject
public com.google.inject.TypeLiteral extends java.lang.Object {
	final Class rawType
	final java.lang.reflect.Type type
	final int hashCode
	protected void  () 
	void  (java.lang.reflect.Type) 
		java.lang.reflect.Type type
	static java.lang.reflect.Type getSuperclassTypeParameter (java.lang.Class) 
		Class subclass
		java.lang.reflect.Type superclass
		java.lang.reflect.ParameterizedType parameterized
	static com.google.inject.TypeLiteral fromSuperclassTypeParameter (java.lang.Class) 
		Class subclass
	public final java.lang.Class getRawType () 
	public final java.lang.reflect.Type getType () 
	final com.google.inject.TypeLiteral providerType () 
	public final int hashCode () 
	public final boolean equals (java.lang.Object) 
		Object o
	public final java.lang.String toString () 
	public static com.google.inject.TypeLiteral get (java.lang.reflect.Type) 
		java.lang.reflect.Type type
	public static com.google.inject.TypeLiteral get (java.lang.Class) 
		Class type
	private java.util.List resolveAll (java.lang.reflect.Type[]) 
		int t
		java.lang.reflect.Type[] types
		com.google.inject.TypeLiteral[] result
	com.google.inject.TypeLiteral resolve (java.lang.reflect.Type) 
		java.lang.reflect.Type toResolve
	java.lang.reflect.Type resolveType (java.lang.reflect.Type) 
		java.lang.reflect.TypeVariable original
		java.lang.reflect.GenericArrayType original
		java.lang.reflect.Type componentType
		java.lang.reflect.Type newComponentType
		java.lang.reflect.Type resolvedTypeArgument
		int t
		int length
		java.lang.reflect.ParameterizedType original
		java.lang.reflect.Type ownerType
		java.lang.reflect.Type newOwnerType
		boolean changed
		java.lang.reflect.Type[] args
		java.lang.reflect.Type lowerBound
		java.lang.reflect.Type upperBound
		java.lang.reflect.WildcardType original
		java.lang.reflect.Type[] originalLowerBound
		java.lang.reflect.Type[] originalUpperBound
		java.lang.reflect.Type toResolve
	public com.google.inject.TypeLiteral getSupertype (java.lang.Class) 
		Class supertype
	public com.google.inject.TypeLiteral getFieldType (java.lang.reflect.Field) 
		java.lang.reflect.Field field
	public java.util.List getParameterTypes (java.lang.reflect.Member) 
		java.lang.reflect.Method method
		java.lang.reflect.Type[] genericParameterTypes
		java.lang.reflect.Constructor constructor
		java.lang.reflect.Type[] genericParameterTypes
		java.lang.reflect.Member methodOrConstructor
		java.lang.reflect.Type[] genericParameterTypes
	public java.util.List getExceptionTypes (java.lang.reflect.Member) 
		java.lang.reflect.Method method
		java.lang.reflect.Type[] genericExceptionTypes
		java.lang.reflect.Constructor constructor
		java.lang.reflect.Type[] genericExceptionTypes
		java.lang.reflect.Member methodOrConstructor
		java.lang.reflect.Type[] genericExceptionTypes
	public com.google.inject.TypeLiteral getReturnType (java.lang.reflect.Method) 
		java.lang.reflect.Method method
}

com/google/inject/binder/AnnotatedBindingBuilder.class
AnnotatedBindingBuilder.java
package com.google.inject.binder
public abstract com.google.inject.binder.AnnotatedBindingBuilder extends java.lang.Object implements com.google.inject.binder.LinkedBindingBuilder  {
	public abstract com.google.inject.binder.LinkedBindingBuilder annotatedWith (java.lang.Class) 
	public abstract com.google.inject.binder.LinkedBindingBuilder annotatedWith (java.lang.annotation.Annotation) 
}

com/google/inject/binder/AnnotatedConstantBindingBuilder.class
AnnotatedConstantBindingBuilder.java
package com.google.inject.binder
public abstract com.google.inject.binder.AnnotatedConstantBindingBuilder extends java.lang.Object {
	public abstract com.google.inject.binder.ConstantBindingBuilder annotatedWith (java.lang.Class) 
	public abstract com.google.inject.binder.ConstantBindingBuilder annotatedWith (java.lang.annotation.Annotation) 
}

com/google/inject/binder/AnnotatedElementBuilder.class
AnnotatedElementBuilder.java
package com.google.inject.binder
public abstract com.google.inject.binder.AnnotatedElementBuilder extends java.lang.Object {
	public abstract void annotatedWith (java.lang.Class) 
	public abstract void annotatedWith (java.lang.annotation.Annotation) 
}

com/google/inject/binder/ConstantBindingBuilder.class
ConstantBindingBuilder.java
package com.google.inject.binder
public abstract com.google.inject.binder.ConstantBindingBuilder extends java.lang.Object {
	public abstract void to (java.lang.String) 
	public abstract void to (int) 
	public abstract void to (long) 
	public abstract void to (boolean) 
	public abstract void to (double) 
	public abstract void to (float) 
	public abstract void to (short) 
	public abstract void to (char) 
	public abstract void to (java.lang.Class) 
	public abstract void to (java.lang.Enum) 
}

com/google/inject/binder/LinkedBindingBuilder.class
LinkedBindingBuilder.java
package com.google.inject.binder
public abstract com.google.inject.binder.LinkedBindingBuilder extends java.lang.Object implements com.google.inject.binder.ScopedBindingBuilder  {
	public abstract com.google.inject.binder.ScopedBindingBuilder to (java.lang.Class) 
	public abstract com.google.inject.binder.ScopedBindingBuilder to (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.binder.ScopedBindingBuilder to (com.google.inject.Key) 
	public abstract void toInstance (java.lang.Object) 
	public abstract com.google.inject.binder.ScopedBindingBuilder toProvider (com.google.inject.Provider) 
	public abstract com.google.inject.binder.ScopedBindingBuilder toProvider (java.lang.Class) 
	public abstract com.google.inject.binder.ScopedBindingBuilder toProvider (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.binder.ScopedBindingBuilder toProvider (com.google.inject.Key) 
	public abstract com.google.inject.binder.ScopedBindingBuilder toConstructor (java.lang.reflect.Constructor) 
	public abstract com.google.inject.binder.ScopedBindingBuilder toConstructor (java.lang.reflect.Constructor, com.google.inject.TypeLiteral) 
}

com/google/inject/binder/ScopedBindingBuilder.class
ScopedBindingBuilder.java
package com.google.inject.binder
public abstract com.google.inject.binder.ScopedBindingBuilder extends java.lang.Object {
	public abstract void in (java.lang.Class) 
	public abstract void in (com.google.inject.Scope) 
	public abstract void asEagerSingleton () 
}

com/google/inject/internal/AbstractBindingBuilder.class
AbstractBindingBuilder.java
package com.google.inject.internal
public abstract com.google.inject.internal.AbstractBindingBuilder extends java.lang.Object {
	public static final String IMPLEMENTATION_ALREADY_SET
	public static final String SINGLE_INSTANCE_AND_SCOPE
	public static final String SCOPE_ALREADY_SET
	public static final String BINDING_TO_NULL
	public static final String CONSTANT_VALUE_ALREADY_SET
	public static final String ANNOTATION_ALREADY_SPECIFIED
	protected static final com.google.inject.Key NULL_KEY
	protected java.util.List elements
	protected int position
	protected final com.google.inject.Binder binder
	private com.google.inject.internal.BindingImpl binding
	public void  (com.google.inject.Binder, java.util.List, java.lang.Object, com.google.inject.Key) 
		com.google.inject.Binder binder
		java.util.List elements
		Object source
		com.google.inject.Key key
	protected com.google.inject.internal.BindingImpl getBinding () 
	protected com.google.inject.internal.BindingImpl setBinding (com.google.inject.internal.BindingImpl) 
		com.google.inject.internal.BindingImpl binding
	protected com.google.inject.internal.BindingImpl annotatedWithInternal (java.lang.Class) 
		Class annotationType
	protected com.google.inject.internal.BindingImpl annotatedWithInternal (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public void in (java.lang.Class) 
		Class scopeAnnotation
	public void in (com.google.inject.Scope) 
		com.google.inject.Scope scope
	public void asEagerSingleton () 
	protected boolean keyTypeIsSet () 
	protected void checkNotTargetted () 
	protected void checkNotAnnotated () 
	protected void checkNotScoped () 
	static void  () 
}

com/google/inject/internal/AbstractProcessor.class
AbstractProcessor.java
package com.google.inject.internal
abstract com.google.inject.internal.AbstractProcessor extends java.lang.Object implements com.google.inject.spi.ElementVisitor  {
	protected com.google.inject.internal.Errors errors
	protected com.google.inject.internal.InjectorImpl injector
	protected void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public void process (java.lang.Iterable) 
		com.google.inject.internal.InjectorShell injectorShell
		java.util.Iterator i$
		Iterable isolatedInjectorBuilders
	public void process (com.google.inject.internal.InjectorImpl, java.util.List) 
		com.google.inject.spi.Element element
		Boolean allDone
		java.util.Iterator i
		com.google.inject.internal.InjectorImpl injector
		java.util.List elements
		com.google.inject.internal.Errors errorsAnyElement
	public java.lang.Boolean visit (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	public java.lang.Boolean visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding scopeBinding
	public java.lang.Boolean visit (com.google.inject.spi.InjectionRequest) 
		com.google.inject.spi.InjectionRequest injectionRequest
	public java.lang.Boolean visit (com.google.inject.spi.StaticInjectionRequest) 
		com.google.inject.spi.StaticInjectionRequest staticInjectionRequest
	public java.lang.Boolean visit (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	public java.lang.Boolean visit (com.google.inject.Binding) 
		com.google.inject.Binding binding
	public java.lang.Boolean visit (com.google.inject.spi.ProviderLookup) 
		com.google.inject.spi.ProviderLookup providerLookup
	public java.lang.Boolean visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements privateElements
	public java.lang.Boolean visit (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.spi.MembersInjectorLookup lookup
	public java.lang.Boolean visit (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding binding
	public volatile java.lang.Object visit (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements x0
	public volatile java.lang.Object visit (com.google.inject.spi.Message) 
		com.google.inject.spi.Message x0
	public volatile java.lang.Object visit (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.spi.MembersInjectorLookup x0
	public volatile java.lang.Object visit (com.google.inject.spi.ProviderLookup) 
		com.google.inject.spi.ProviderLookup x0
	public volatile java.lang.Object visit (com.google.inject.spi.StaticInjectionRequest) 
		com.google.inject.spi.StaticInjectionRequest x0
	public volatile java.lang.Object visit (com.google.inject.spi.InjectionRequest) 
		com.google.inject.spi.InjectionRequest x0
	public volatile java.lang.Object visit (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding x0
	public volatile java.lang.Object visit (com.google.inject.Binding) 
		com.google.inject.Binding x0
}

com/google/inject/internal/Annotations.class
Annotations.java
package com.google.inject.internal
public com.google.inject.internal.Annotations extends java.lang.Object {
	public void  () 
	public static boolean isMarker (java.lang.Class) 
		Class annotationType
	public static boolean isRetainedAtRuntime (java.lang.Class) 
		Class annotationType
		java.lang.annotation.Retention retention
	public static java.lang.Class findScopeAnnotation (com.google.inject.internal.Errors, java.lang.Class) 
		com.google.inject.internal.Errors errors
		Class implementation
	public static java.lang.Class findScopeAnnotation (com.google.inject.internal.Errors, java.lang.annotation.Annotation[]) 
		Class annotationType
		java.lang.annotation.Annotation annotation
		java.lang.annotation.Annotation[] arr$
		int len$
		int i$
		com.google.inject.internal.Errors errors
		java.lang.annotation.Annotation[] annotations
		Class found
	public static boolean isScopeAnnotation (java.lang.Class) 
		Class annotationType
	public static void checkForMisplacedScopeAnnotations (java.lang.Class, java.lang.Object, com.google.inject.internal.Errors) 
		Class type
		Object source
		com.google.inject.internal.Errors errors
		Class scopeAnnotation
	public static com.google.inject.Key getKey (com.google.inject.TypeLiteral, java.lang.reflect.Member, java.lang.annotation.Annotation[], com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.TypeLiteral type
		java.lang.reflect.Member member
		java.lang.annotation.Annotation[] annotations
		com.google.inject.internal.Errors errors
		int numErrorsBefore
		java.lang.annotation.Annotation found
	public static java.lang.annotation.Annotation findBindingAnnotation (com.google.inject.internal.Errors, java.lang.reflect.Member, java.lang.annotation.Annotation[]) 
		Class annotationType
		java.lang.annotation.Annotation annotation
		java.lang.annotation.Annotation[] arr$
		int len$
		int i$
		com.google.inject.internal.Errors errors
		java.lang.reflect.Member member
		java.lang.annotation.Annotation[] annotations
		java.lang.annotation.Annotation found
	public static boolean isBindingAnnotation (java.lang.Class) 
		Class annotationType
	public static java.lang.annotation.Annotation canonicalizeIfNamed (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public static java.lang.Class canonicalizeIfNamed (java.lang.Class) 
		Class annotationType
}

com/google/inject/internal/BindingBuilder.class
BindingBuilder.java
package com.google.inject.internal
public com.google.inject.internal.BindingBuilder extends com.google.inject.internal.AbstractBindingBuilder implements com.google.inject.binder.AnnotatedBindingBuilder  {
	public void  (com.google.inject.Binder, java.util.List, java.lang.Object, com.google.inject.Key) 
		com.google.inject.Binder binder
		java.util.List elements
		Object source
		com.google.inject.Key key
	public com.google.inject.internal.BindingBuilder annotatedWith (java.lang.Class) 
		Class annotationType
	public com.google.inject.internal.BindingBuilder annotatedWith (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public com.google.inject.internal.BindingBuilder to (java.lang.Class) 
		Class implementation
	public com.google.inject.internal.BindingBuilder to (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral implementation
	public com.google.inject.internal.BindingBuilder to (com.google.inject.Key) 
		com.google.inject.Key linkedKey
		com.google.inject.internal.BindingImpl base
	public void toInstance (java.lang.Object) 
		com.google.inject.ConfigurationException e
		java.util.Set injectionPoints
		Object instance
		java.util.Set injectionPoints
		com.google.inject.internal.BindingImpl base
	public com.google.inject.internal.BindingBuilder toProvider (com.google.inject.Provider) 
		com.google.inject.ConfigurationException e
		com.google.inject.Provider provider
		java.util.Set injectionPoints
		com.google.inject.internal.BindingImpl base
	public com.google.inject.internal.BindingBuilder toProvider (java.lang.Class) 
		Class providerType
	public com.google.inject.internal.BindingBuilder toProvider (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral providerType
	public com.google.inject.internal.BindingBuilder toProvider (com.google.inject.Key) 
		com.google.inject.Key providerKey
		com.google.inject.internal.BindingImpl base
	public com.google.inject.binder.ScopedBindingBuilder toConstructor (java.lang.reflect.Constructor) 
		java.lang.reflect.Constructor constructor
	public com.google.inject.binder.ScopedBindingBuilder toConstructor (java.lang.reflect.Constructor, com.google.inject.TypeLiteral) 
		com.google.inject.ConfigurationException e
		com.google.inject.spi.InjectionPoint constructorPoint
		com.google.inject.ConfigurationException e
		java.lang.reflect.Constructor constructor
		com.google.inject.TypeLiteral type
		com.google.inject.internal.BindingImpl base
		java.util.Set injectionPoints
	public java.lang.String toString () 
	private void copyErrorsToBinder (com.google.inject.ConfigurationException) 
		com.google.inject.spi.Message message
		java.util.Iterator i$
		com.google.inject.ConfigurationException e
	public volatile com.google.inject.binder.LinkedBindingBuilder annotatedWith (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation x0
	public volatile com.google.inject.binder.LinkedBindingBuilder annotatedWith (java.lang.Class) 
		Class x0
	public volatile com.google.inject.binder.ScopedBindingBuilder toProvider (com.google.inject.Key) 
		com.google.inject.Key x0
	public volatile com.google.inject.binder.ScopedBindingBuilder toProvider (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral x0
	public volatile com.google.inject.binder.ScopedBindingBuilder toProvider (java.lang.Class) 
		Class x0
	public volatile com.google.inject.binder.ScopedBindingBuilder toProvider (com.google.inject.Provider) 
		com.google.inject.Provider x0
	public volatile com.google.inject.binder.ScopedBindingBuilder to (com.google.inject.Key) 
		com.google.inject.Key x0
	public volatile com.google.inject.binder.ScopedBindingBuilder to (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral x0
	public volatile com.google.inject.binder.ScopedBindingBuilder to (java.lang.Class) 
		Class x0
}

com/google/inject/internal/BindingImpl.class
BindingImpl.java
package com.google.inject.internal
public abstract com.google.inject.internal.BindingImpl extends java.lang.Object implements com.google.inject.Binding  {
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.Key key
	private final Object source
	private final com.google.inject.internal.Scoping scoping
	private final com.google.inject.internal.InternalFactory internalFactory
	private volatile com.google.inject.Provider provider
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.internal.InternalFactory, com.google.inject.internal.Scoping) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
		com.google.inject.internal.InternalFactory internalFactory
		com.google.inject.internal.Scoping scoping
	protected void  (java.lang.Object, com.google.inject.Key, com.google.inject.internal.Scoping) 
		Object source
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
	public com.google.inject.Key getKey () 
	public java.lang.Object getSource () 
	public com.google.inject.Provider getProvider () 
	public com.google.inject.internal.InternalFactory getInternalFactory () 
	public com.google.inject.internal.Scoping getScoping () 
	public boolean isConstant () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public java.lang.Object acceptScopingVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	protected com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	protected com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public java.lang.String toString () 
	public com.google.inject.internal.InjectorImpl getInjector () 
}

com/google/inject/internal/BindingProcessor$1$1.class
BindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.BindingProcessor$1$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.inject.internal.BindingImpl val$binding
	final com.google.inject.internal.BindingProcessor$1 this$1
	void  (com.google.inject.internal.BindingProcessor$1, com.google.inject.internal.BindingImpl) 
	public void run () 
		com.google.inject.internal.ErrorsException e
}

com/google/inject/internal/BindingProcessor$1.class
BindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.BindingProcessor$1 extends java.lang.Object implements com.google.inject.spi.BindingTargetVisitor  {
	final com.google.inject.Key val$key
	final Object val$source
	final com.google.inject.internal.Scoping val$scoping
	final com.google.inject.internal.BindingProcessor this$0
	void  (com.google.inject.internal.BindingProcessor, com.google.inject.Key, java.lang.Object, com.google.inject.internal.Scoping) 
	public java.lang.Void visit (com.google.inject.spi.ConstructorBinding) 
		com.google.inject.internal.ConstructorBindingImpl onInjector
		com.google.inject.internal.ErrorsException e
		com.google.inject.spi.ConstructorBinding binding
	public java.lang.Void visit (com.google.inject.spi.InstanceBinding) 
		com.google.inject.spi.InstanceBinding binding
		java.util.Set injectionPoints
		Object instance
		com.google.inject.internal.Initializable ref
		com.google.inject.internal.ConstantFactory factory
		com.google.inject.internal.InternalFactory scopedFactory
	public java.lang.Void visit (com.google.inject.spi.ProviderInstanceBinding) 
		com.google.inject.spi.ProviderInstanceBinding binding
		com.google.inject.Provider provider
		java.util.Set injectionPoints
		com.google.inject.internal.Initializable initializable
		com.google.inject.internal.InternalFactory factory
		com.google.inject.internal.InternalFactory scopedFactory
	public java.lang.Void visit (com.google.inject.spi.ProviderKeyBinding) 
		com.google.inject.spi.ProviderKeyBinding binding
		com.google.inject.Key providerKey
		com.google.inject.internal.BoundProviderFactory boundProviderFactory
		com.google.inject.internal.InternalFactory scopedFactory
	public java.lang.Void visit (com.google.inject.spi.LinkedKeyBinding) 
		com.google.inject.spi.LinkedKeyBinding binding
		com.google.inject.Key linkedKey
		com.google.inject.internal.FactoryProxy factory
		com.google.inject.internal.InternalFactory scopedFactory
	public java.lang.Void visit (com.google.inject.spi.UntargettedBinding) 
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.ErrorsException e
		com.google.inject.spi.UntargettedBinding untargetted
	public java.lang.Void visit (com.google.inject.spi.ExposedBinding) 
		com.google.inject.spi.ExposedBinding binding
	public java.lang.Void visit (com.google.inject.spi.ConvertedConstantBinding) 
		com.google.inject.spi.ConvertedConstantBinding binding
	public java.lang.Void visit (com.google.inject.spi.ProviderBinding) 
		com.google.inject.spi.ProviderBinding binding
	private void scheduleInitialization (com.google.inject.internal.BindingImpl) 
		com.google.inject.internal.BindingImpl binding
	public volatile java.lang.Object visit (com.google.inject.spi.ProviderBinding) 
		com.google.inject.spi.ProviderBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.ConvertedConstantBinding) 
		com.google.inject.spi.ConvertedConstantBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.ConstructorBinding) 
		com.google.inject.spi.ConstructorBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.UntargettedBinding) 
		com.google.inject.spi.UntargettedBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.ExposedBinding) 
		com.google.inject.spi.ExposedBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.LinkedKeyBinding) 
		com.google.inject.spi.LinkedKeyBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.ProviderKeyBinding) 
		com.google.inject.spi.ProviderKeyBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.ProviderInstanceBinding) 
		com.google.inject.spi.ProviderInstanceBinding x0
	public volatile java.lang.Object visit (com.google.inject.spi.InstanceBinding) 
		com.google.inject.spi.InstanceBinding x0
}

com/google/inject/internal/BindingProcessor$CreationListener.class
BindingProcessor.java
package com.google.inject.internal
abstract com.google.inject.internal.BindingProcessor$CreationListener extends java.lang.Object {
	public abstract void notify (com.google.inject.internal.Errors) 
}

com/google/inject/internal/BindingProcessor.class
BindingProcessor.java
package com.google.inject.internal
final com.google.inject.internal.BindingProcessor extends com.google.inject.internal.AbstractProcessor {
	private static final boolean DISABLE_MISPLACED_ANNOTATION_CHECK
	private final java.util.List creationListeners
	private final com.google.inject.internal.Initializer initializer
	private final java.util.List uninitializedBindings
	private static final java.util.Set FORBIDDEN_TYPES
	void  (com.google.inject.internal.Errors, com.google.inject.internal.Initializer) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.Initializer initializer
	public java.lang.Boolean visit (com.google.inject.Binding) 
		com.google.inject.Binding command
		Object source
		com.google.inject.Key key
		Class rawType
		com.google.inject.internal.Scoping scoping
	public java.lang.Boolean visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.Key key
		java.util.Iterator i$
		com.google.inject.spi.PrivateElements privateElements
	private void bindExposed (com.google.inject.spi.PrivateElements, com.google.inject.Key) 
		com.google.inject.spi.PrivateElements privateElements
		com.google.inject.Key key
		com.google.inject.internal.ExposedKeyFactory exposedKeyFactory
	private void validateKey (java.lang.Object, com.google.inject.Key) 
		Object source
		com.google.inject.Key key
	com.google.inject.internal.UntargettedBindingImpl invalidBinding (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
	public void initializeBindings () 
		Runnable initializer
		java.util.Iterator i$
	public void runCreationListeners () 
		com.google.inject.internal.BindingProcessor$CreationListener creationListener
		java.util.Iterator i$
	private void putBinding (com.google.inject.internal.BindingImpl) 
		Throwable t
		com.google.inject.internal.BindingImpl binding
		com.google.inject.Key key
		Class rawType
		com.google.inject.internal.BindingImpl original
	private boolean isOkayDuplicate (com.google.inject.internal.BindingImpl, com.google.inject.internal.BindingImpl, com.google.inject.internal.State) 
		com.google.inject.internal.ExposedBindingImpl exposed
		com.google.inject.internal.InjectorImpl exposedFrom
		com.google.inject.internal.BindingImpl original
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.State state
	public volatile java.lang.Object visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements x0
	public volatile java.lang.Object visit (com.google.inject.Binding) 
		com.google.inject.Binding x0
	static void access$000 (com.google.inject.internal.BindingProcessor, com.google.inject.internal.BindingImpl) 
		com.google.inject.internal.BindingProcessor x0
		com.google.inject.internal.BindingImpl x1
	static com.google.inject.internal.Initializer access$100 (com.google.inject.internal.BindingProcessor) 
		com.google.inject.internal.BindingProcessor x0
	static java.util.List access$200 (com.google.inject.internal.BindingProcessor) 
		com.google.inject.internal.BindingProcessor x0
	static java.util.List access$300 (com.google.inject.internal.BindingProcessor) 
		com.google.inject.internal.BindingProcessor x0
	static void  () 
}

com/google/inject/internal/BoundProviderFactory.class
BoundProviderFactory.java
package com.google.inject.internal
final com.google.inject.internal.BoundProviderFactory extends java.lang.Object implements com.google.inject.internal.InternalFactory com.google.inject.internal.BindingProcessor$CreationListener  {
	private final com.google.inject.internal.InjectorImpl injector
	final com.google.inject.Key providerKey
	final Object source
	private com.google.inject.internal.InternalFactory providerFactory
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key providerKey
		Object source
	public void notify (com.google.inject.internal.Errors) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.Errors errors
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		RuntimeException userException
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
		javax.inject.Provider provider
	public java.lang.String toString () 
}

com/google/inject/internal/BytecodeGen$1$1.class
BytecodeGen.java
package com.google.inject.internal
 com.google.inject.internal.BytecodeGen$1$1 extends java.lang.Object implements java.security.PrivilegedAction  {
	final ClassLoader val$typeClassLoader
	final com.google.inject.internal.BytecodeGen$1 this$0
	void  (com.google.inject.internal.BytecodeGen$1, java.lang.ClassLoader) 
	public java.lang.ClassLoader run () 
	public volatile java.lang.Object run () 
}

com/google/inject/internal/BytecodeGen$1.class
BytecodeGen.java
package com.google.inject.internal
 com.google.inject.internal.BytecodeGen$1 extends java.lang.Object implements com.google.inject.internal.util.Function  {
	void  () 
	public java.lang.ClassLoader apply (java.lang.ClassLoader) 
		ClassLoader typeClassLoader
	public volatile java.lang.Object apply (java.lang.Object) 
		Object x0
}

com/google/inject/internal/BytecodeGen$BridgeClassLoader.class
BytecodeGen.java
package com.google.inject.internal
 com.google.inject.internal.BytecodeGen$BridgeClassLoader extends java.lang.ClassLoader {
	void  () 
	void  (java.lang.ClassLoader) 
		ClassLoader usersClassLoader
	protected java.lang.Class loadClass (java.lang.String, boolean)  throws java.lang.ClassNotFoundException 
		Class clazz
		Throwable e
		String name
		boolean resolve
	java.lang.Class classicLoadClass (java.lang.String, boolean)  throws java.lang.ClassNotFoundException 
		String name
		boolean resolve
}

com/google/inject/internal/BytecodeGen$SystemBridgeHolder.class
BytecodeGen.java
package com.google.inject.internal
 com.google.inject.internal.BytecodeGen$SystemBridgeHolder extends java.lang.Object {
	static final com.google.inject.internal.BytecodeGen$BridgeClassLoader SYSTEM_BRIDGE
	private void  () 
	static void  () 
}

com/google/inject/internal/BytecodeGen$Visibility$1.class
BytecodeGen.java
package com.google.inject.internal
final com.google.inject.internal.BytecodeGen$Visibility$1 extends com.google.inject.internal.BytecodeGen$Visibility {
	void  (java.lang.String, int) 
	public com.google.inject.internal.BytecodeGen$Visibility and (com.google.inject.internal.BytecodeGen$Visibility) 
		com.google.inject.internal.BytecodeGen$Visibility that
}

com/google/inject/internal/BytecodeGen$Visibility$2.class
BytecodeGen.java
package com.google.inject.internal
final com.google.inject.internal.BytecodeGen$Visibility$2 extends com.google.inject.internal.BytecodeGen$Visibility {
	void  (java.lang.String, int) 
	public com.google.inject.internal.BytecodeGen$Visibility and (com.google.inject.internal.BytecodeGen$Visibility) 
		com.google.inject.internal.BytecodeGen$Visibility that
}

com/google/inject/internal/BytecodeGen$Visibility.class
BytecodeGen.java
package com.google.inject.internal
public abstract com.google.inject.internal.BytecodeGen$Visibility extends java.lang.Enum {
	public static final com.google.inject.internal.BytecodeGen$Visibility PUBLIC
	public static final com.google.inject.internal.BytecodeGen$Visibility SAME_PACKAGE
	private static final com.google.inject.internal.BytecodeGen$Visibility[] $VALUES
	public static final com.google.inject.internal.BytecodeGen$Visibility[] values () 
	public static com.google.inject.internal.BytecodeGen$Visibility valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	public static com.google.inject.internal.BytecodeGen$Visibility forMember (java.lang.reflect.Member) 
		Class type
		Class[] arr$
		int len$
		int i$
		java.lang.reflect.Member member
		Class[] parameterTypes
	public static com.google.inject.internal.BytecodeGen$Visibility forType (java.lang.Class) 
		Class type
	public abstract com.google.inject.internal.BytecodeGen$Visibility and (com.google.inject.internal.BytecodeGen$Visibility) 
	void  (java.lang.String, int, com.google.inject.internal.BytecodeGen$1) 
		String x0
		int x1
		com.google.inject.internal.BytecodeGen$1 x2
	static void  () 
}

com/google/inject/internal/BytecodeGen.class
BytecodeGen.java
package com.google.inject.internal
public final com.google.inject.internal.BytecodeGen extends java.lang.Object {
	static final java.util.logging.Logger logger
	static final ClassLoader GUICE_CLASS_LOADER
	static final String GUICE_INTERNAL_PACKAGE
	private static final String CGLIB_PACKAGE
	private static final boolean CUSTOM_LOADER_ENABLED
	private static final java.util.Map CLASS_LOADER_CACHE
	public void  () 
	private static java.lang.ClassLoader canonicalize (java.lang.ClassLoader) 
		ClassLoader classLoader
	public static java.lang.ClassLoader getClassLoader (java.lang.Class) 
		Class type
	private static java.lang.ClassLoader getClassLoader (java.lang.Class, java.lang.ClassLoader) 
		Class type
		ClassLoader delegate
	static void  () 
}

com/google/inject/internal/CircularDependencyProxy.class
CircularDependencyProxy.java
package com.google.inject.internal
public abstract com.google.inject.internal.CircularDependencyProxy extends java.lang.Object {
}

com/google/inject/internal/ConstantBindingBuilderImpl.class
ConstantBindingBuilderImpl.java
package com.google.inject.internal
public final com.google.inject.internal.ConstantBindingBuilderImpl extends com.google.inject.internal.AbstractBindingBuilder implements com.google.inject.binder.AnnotatedConstantBindingBuilder com.google.inject.binder.ConstantBindingBuilder  {
	public void  (com.google.inject.Binder, java.util.List, java.lang.Object) 
		com.google.inject.Binder binder
		java.util.List elements
		Object source
	public com.google.inject.binder.ConstantBindingBuilder annotatedWith (java.lang.Class) 
		Class annotationType
	public com.google.inject.binder.ConstantBindingBuilder annotatedWith (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public void to (java.lang.String) 
		String value
	public void to (int) 
		int value
	public void to (long) 
		long value
	public void to (boolean) 
		boolean value
	public void to (double) 
		double value
	public void to (float) 
		float value
	public void to (short) 
		short value
	public void to (char) 
		char value
	public void to (java.lang.Class) 
		Class value
	public void to (java.lang.Enum) 
		Enum value
	private void toConstant (java.lang.Class, java.lang.Object) 
		com.google.inject.Key key
		com.google.inject.Key key
		Class type
		Object instance
		Class typeAsClassT
		Object instanceAsT
		com.google.inject.internal.BindingImpl base
		com.google.inject.Key key
	public java.lang.String toString () 
}

com/google/inject/internal/ConstantFactory.class
ConstantFactory.java
package com.google.inject.internal
final com.google.inject.internal.ConstantFactory extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	private final com.google.inject.internal.Initializable initializable
	public void  (com.google.inject.internal.Initializable) 
		com.google.inject.internal.Initializable initializable
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
	public java.lang.String toString () 
}

com/google/inject/internal/ConstructionContext.class
ConstructionContext.java
package com.google.inject.internal
final com.google.inject.internal.ConstructionContext extends java.lang.Object {
	Object currentReference
	boolean constructing
	java.util.List invocationHandlers
	void  () 
	public java.lang.Object getCurrentReference () 
	public void removeCurrentReference () 
	public void setCurrentReference (java.lang.Object) 
		Object currentReference
	public boolean isConstructing () 
	public void startConstruction () 
	public void finishConstruction () 
	public java.lang.Object createProxy (com.google.inject.internal.Errors, java.lang.Class)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		Class expectedType
		com.google.inject.internal.DelegatingInvocationHandler invocationHandler
		ClassLoader classLoader
	public void setProxyDelegates (java.lang.Object) 
		com.google.inject.internal.DelegatingInvocationHandler handler
		java.util.Iterator i$
		Object delegate
}

com/google/inject/internal/ConstructionProxy.class
ConstructionProxy.java
package com.google.inject.internal
abstract com.google.inject.internal.ConstructionProxy extends java.lang.Object {
	public transient abstract java.lang.Object newInstance (java.lang.Object[])  throws java.lang.reflect.InvocationTargetException 
	public abstract com.google.inject.spi.InjectionPoint getInjectionPoint () 
	public abstract java.lang.reflect.Constructor getConstructor () 
}

com/google/inject/internal/ConstructionProxyFactory.class
ConstructionProxyFactory.java
package com.google.inject.internal
abstract com.google.inject.internal.ConstructionProxyFactory extends java.lang.Object {
	public abstract com.google.inject.internal.ConstructionProxy create () 
}

com/google/inject/internal/ConstructorBindingImpl$Factory.class
ConstructorBindingImpl.java
package com.google.inject.internal
 com.google.inject.internal.ConstructorBindingImpl$Factory extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	private final boolean failIfNotLinked
	private final com.google.inject.Key key
	private boolean allowCircularProxy
	private com.google.inject.internal.ConstructorInjector constructorInjector
	void  (boolean, com.google.inject.Key) 
		boolean failIfNotLinked
		com.google.inject.Key key
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
	static com.google.inject.internal.ConstructorInjector access$002 (com.google.inject.internal.ConstructorBindingImpl$Factory, com.google.inject.internal.ConstructorInjector) 
		com.google.inject.internal.ConstructorBindingImpl$Factory x0
		com.google.inject.internal.ConstructorInjector x1
	static boolean access$102 (com.google.inject.internal.ConstructorBindingImpl$Factory, boolean) 
		com.google.inject.internal.ConstructorBindingImpl$Factory x0
		boolean x1
	static com.google.inject.internal.ConstructorInjector access$000 (com.google.inject.internal.ConstructorBindingImpl$Factory) 
		com.google.inject.internal.ConstructorBindingImpl$Factory x0
}

com/google/inject/internal/ConstructorBindingImpl.class
ConstructorBindingImpl.java
package com.google.inject.internal
final com.google.inject.internal.ConstructorBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.ConstructorBinding  {
	private final com.google.inject.internal.ConstructorBindingImpl$Factory factory
	private final com.google.inject.spi.InjectionPoint constructorInjectionPoint
	private void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.internal.InternalFactory, com.google.inject.internal.Scoping, com.google.inject.internal.ConstructorBindingImpl$Factory, com.google.inject.spi.InjectionPoint) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
		com.google.inject.internal.InternalFactory scopedFactory
		com.google.inject.internal.Scoping scoping
		com.google.inject.internal.ConstructorBindingImpl$Factory factory
		com.google.inject.spi.InjectionPoint constructorInjectionPoint
	public void  (com.google.inject.Key, java.lang.Object, com.google.inject.internal.Scoping, com.google.inject.spi.InjectionPoint, java.util.Set) 
		com.google.inject.Key key
		Object source
		com.google.inject.internal.Scoping scoping
		com.google.inject.spi.InjectionPoint constructorInjectionPoint
		java.util.Set injectionPoints
		com.google.inject.internal.ConstructionProxy constructionProxy
	static com.google.inject.internal.ConstructorBindingImpl create (com.google.inject.internal.InjectorImpl, com.google.inject.Key, com.google.inject.spi.InjectionPoint, java.lang.Object, com.google.inject.internal.Scoping, com.google.inject.internal.Errors, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.ConfigurationException e
		Class annotatedType
		Class scopeAnnotation
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		com.google.inject.spi.InjectionPoint constructorInjector
		Object source
		com.google.inject.internal.Scoping scoping
		com.google.inject.internal.Errors errors
		boolean failIfNotLinked
		int numErrors
		Class rawType
		com.google.inject.internal.ConstructorBindingImpl$Factory factoryFactory
		com.google.inject.internal.InternalFactory scopedFactory
	public void initialize (com.google.inject.internal.InjectorImpl, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.internal.Errors errors
	boolean isInitialized () 
	com.google.inject.spi.InjectionPoint getInternalConstructor () 
	java.util.Set getInternalDependencies () 
		com.google.inject.ConfigurationException ignored
		com.google.inject.internal.util.ImmutableSet$Builder builder
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public com.google.inject.spi.InjectionPoint getConstructor () 
	public java.util.Set getInjectableMembers () 
	public java.util.Set getDependencies () 
	protected com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	protected com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
		com.google.inject.spi.InjectionPoint constructor
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.ConstructorBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/ConstructorInjector.class
ConstructorInjector.java
package com.google.inject.internal
final com.google.inject.internal.ConstructorInjector extends java.lang.Object {
	private final com.google.inject.internal.util.ImmutableSet injectableMembers
	private final com.google.inject.internal.SingleParameterInjector[] parameterInjectors
	private final com.google.inject.internal.ConstructionProxy constructionProxy
	private final com.google.inject.internal.MembersInjectorImpl membersInjector
	void  (java.util.Set, com.google.inject.internal.ConstructionProxy, com.google.inject.internal.SingleParameterInjector[], com.google.inject.internal.MembersInjectorImpl) 
		java.util.Set injectableMembers
		com.google.inject.internal.ConstructionProxy constructionProxy
		com.google.inject.internal.SingleParameterInjector[] parameterInjectors
		com.google.inject.internal.MembersInjectorImpl membersInjector
	public com.google.inject.internal.util.ImmutableSet getInjectableMembers () 
	com.google.inject.internal.ConstructionProxy getConstructionProxy () 
	java.lang.Object construct (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, java.lang.Class, boolean)  throws com.google.inject.internal.ErrorsException 
		Object[] parameters
		Throwable cause
		java.lang.reflect.InvocationTargetException userException
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		Class expectedType
		boolean allowProxy
		com.google.inject.internal.ConstructionContext constructionContext
		Object t
}

com/google/inject/internal/ConstructorInjectorStore$1.class
ConstructorInjectorStore.java
package com.google.inject.internal
 com.google.inject.internal.ConstructorInjectorStore$1 extends com.google.inject.internal.FailableCache {
	final com.google.inject.internal.ConstructorInjectorStore this$0
	void  (com.google.inject.internal.ConstructorInjectorStore)  throws com.google.inject.internal.ErrorsException 
	protected com.google.inject.internal.ConstructorInjector create (com.google.inject.spi.InjectionPoint, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.spi.InjectionPoint constructorInjector
		com.google.inject.internal.Errors errors
	protected volatile java.lang.Object create (java.lang.Object, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		Object x0
		com.google.inject.internal.Errors x1
}

com/google/inject/internal/ConstructorInjectorStore.class
ConstructorInjectorStore.java
package com.google.inject.internal
final com.google.inject.internal.ConstructorInjectorStore extends java.lang.Object {
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.internal.FailableCache cache
	void  (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl injector
	public com.google.inject.internal.ConstructorInjector get (com.google.inject.spi.InjectionPoint, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.spi.InjectionPoint constructorInjector
		com.google.inject.internal.Errors errors
	boolean remove (com.google.inject.spi.InjectionPoint) 
		com.google.inject.spi.InjectionPoint ip
	private com.google.inject.internal.ConstructorInjector createConstructor (com.google.inject.spi.InjectionPoint, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.spi.InjectionPoint injectionPoint
		com.google.inject.internal.Errors errors
		int numErrorsBefore
		com.google.inject.internal.SingleParameterInjector[] constructorParameterInjectors
		com.google.inject.internal.MembersInjectorImpl membersInjector
		com.google.inject.internal.ConstructionProxyFactory factory
	static com.google.inject.internal.ConstructorInjector access$000 (com.google.inject.internal.ConstructorInjectorStore, com.google.inject.spi.InjectionPoint, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.ConstructorInjectorStore x0
		com.google.inject.spi.InjectionPoint x1
		com.google.inject.internal.Errors x2
}

com/google/inject/internal/ContextualCallable.class
ContextualCallable.java
package com.google.inject.internal
abstract com.google.inject.internal.ContextualCallable extends java.lang.Object {
	public abstract java.lang.Object call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
}

com/google/inject/internal/DefaultConstructionProxyFactory$1.class
DefaultConstructionProxyFactory.java
package com.google.inject.internal
 com.google.inject.internal.DefaultConstructionProxyFactory$1 extends java.lang.Object implements com.google.inject.internal.ConstructionProxy  {
	final java.lang.reflect.Constructor val$constructor
	final com.google.inject.internal.DefaultConstructionProxyFactory this$0
	void  (com.google.inject.internal.DefaultConstructionProxyFactory, java.lang.reflect.Constructor)  throws java.lang.reflect.InvocationTargetException 
	public transient java.lang.Object newInstance (java.lang.Object[])  throws java.lang.reflect.InvocationTargetException 
		InstantiationException e
		IllegalAccessException e
		Object[] arguments
	public com.google.inject.spi.InjectionPoint getInjectionPoint () 
	public java.lang.reflect.Constructor getConstructor () 
}

com/google/inject/internal/DefaultConstructionProxyFactory.class
DefaultConstructionProxyFactory.java
package com.google.inject.internal
final com.google.inject.internal.DefaultConstructionProxyFactory extends java.lang.Object implements com.google.inject.internal.ConstructionProxyFactory  {
	private final com.google.inject.spi.InjectionPoint injectionPoint
	void  (com.google.inject.spi.InjectionPoint) 
		com.google.inject.spi.InjectionPoint injectionPoint
	public com.google.inject.internal.ConstructionProxy create () 
		Class classToConstruct
		java.lang.reflect.Constructor constructor
	static com.google.inject.spi.InjectionPoint access$000 (com.google.inject.internal.DefaultConstructionProxyFactory) 
		com.google.inject.internal.DefaultConstructionProxyFactory x0
}

com/google/inject/internal/DeferredLookups.class
DeferredLookups.java
package com.google.inject.internal
final com.google.inject.internal.DeferredLookups extends java.lang.Object implements com.google.inject.internal.Lookups  {
	private final com.google.inject.internal.InjectorImpl injector
	private final java.util.List lookups
	void  (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl injector
	void initialize (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Key key
		com.google.inject.spi.ProviderLookup lookup
	public com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
		com.google.inject.spi.MembersInjectorLookup lookup
}

com/google/inject/internal/DelegatingInvocationHandler.class
DelegatingInvocationHandler.java
package com.google.inject.internal
 com.google.inject.internal.DelegatingInvocationHandler extends java.lang.Object implements java.lang.reflect.InvocationHandler  {
	private Object delegate
	void  () 
	public java.lang.Object invoke (java.lang.Object, java.lang.reflect.Method, java.lang.Object[])  throws java.lang.Throwable 
		IllegalAccessException e
		IllegalArgumentException e
		java.lang.reflect.InvocationTargetException e
		Object proxy
		java.lang.reflect.Method method
		Object[] args
	public java.lang.Object getDelegate () 
	void setDelegate (java.lang.Object) 
		Object delegate
}

com/google/inject/internal/EncounterImpl.class
EncounterImpl.java
package com.google.inject.internal
final com.google.inject.internal.EncounterImpl extends java.lang.Object implements com.google.inject.spi.TypeEncounter  {
	private final com.google.inject.internal.Errors errors
	private final com.google.inject.internal.Lookups lookups
	private java.util.List membersInjectors
	private java.util.List injectionListeners
	private boolean valid
	void  (com.google.inject.internal.Errors, com.google.inject.internal.Lookups) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.Lookups lookups
	void invalidate () 
	com.google.inject.internal.util.ImmutableList getMembersInjectors () 
	com.google.inject.internal.util.ImmutableList getInjectionListeners () 
	public void register (com.google.inject.MembersInjector) 
		com.google.inject.MembersInjector membersInjector
	public void register (com.google.inject.spi.InjectionListener) 
		com.google.inject.spi.InjectionListener injectionListener
	public transient void addError (java.lang.String, java.lang.Object[]) 
		String message
		Object[] arguments
	public void addError (java.lang.Throwable) 
		Throwable t
	public void addError (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	public com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.Provider getProvider (java.lang.Class) 
		Class type
	public com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	public com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
		Class type
}

com/google/inject/internal/ErrorHandler.class
ErrorHandler.java
package com.google.inject.internal
abstract com.google.inject.internal.ErrorHandler extends java.lang.Object {
	public abstract void handle (java.lang.Object, com.google.inject.internal.Errors) 
	public abstract void handle (com.google.inject.spi.Message) 
}

com/google/inject/internal/Errors$1.class
Errors.java
package com.google.inject.internal
 com.google.inject.internal.Errors$1 extends java.lang.Object implements java.util.Comparator  {
	final com.google.inject.internal.Errors this$0
	void  (com.google.inject.internal.Errors) 
	public int compare (com.google.inject.spi.Message, com.google.inject.spi.Message) 
		com.google.inject.spi.Message a
		com.google.inject.spi.Message b
	public volatile int compare (java.lang.Object, java.lang.Object) 
		Object x0
		Object x1
}

com/google/inject/internal/Errors$2.class
Errors.java
package com.google.inject.internal
 com.google.inject.internal.Errors$2 extends com.google.inject.internal.Errors$Converter {
	void  (java.lang.Class) 
		Class x0
	public java.lang.String toString (java.lang.Class) 
		Class c
	public volatile java.lang.String toString (java.lang.Object) 
		Object x0
}

com/google/inject/internal/Errors$3.class
Errors.java
package com.google.inject.internal
 com.google.inject.internal.Errors$3 extends com.google.inject.internal.Errors$Converter {
	void  (java.lang.Class) 
		Class x0
	public java.lang.String toString (java.lang.reflect.Member) 
		java.lang.reflect.Member member
	public volatile java.lang.String toString (java.lang.Object) 
		Object x0
}

com/google/inject/internal/Errors$4.class
Errors.java
package com.google.inject.internal
 com.google.inject.internal.Errors$4 extends com.google.inject.internal.Errors$Converter {
	void  (java.lang.Class) 
		Class x0
	public java.lang.String toString (com.google.inject.Key) 
		com.google.inject.Key key
	public volatile java.lang.String toString (java.lang.Object) 
		Object x0
}

com/google/inject/internal/Errors$Converter.class
Errors.java
package com.google.inject.internal
abstract com.google.inject.internal.Errors$Converter extends java.lang.Object {
	final Class type
	void  (java.lang.Class) 
		Class type
	boolean appliesTo (java.lang.Object) 
		Object o
	java.lang.String convert (java.lang.Object) 
		Object o
	abstract java.lang.String toString (java.lang.Object) 
}

com/google/inject/internal/Errors.class
Errors.java
package com.google.inject.internal
public final com.google.inject.internal.Errors extends java.lang.Object implements java.io.Serializable  {
	private final com.google.inject.internal.Errors root
	private final com.google.inject.internal.Errors parent
	private final Object source
	private java.util.List errors
	private static final String CONSTRUCTOR_RULES
	private static final java.util.Collection converters
	public void  () 
	public void  (java.lang.Object) 
		Object source
	private void  (com.google.inject.internal.Errors, java.lang.Object) 
		com.google.inject.internal.Errors parent
		Object source
	public com.google.inject.internal.Errors withSource (java.lang.Object) 
		Object source
	public com.google.inject.internal.Errors missingImplementation (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.internal.Errors jitDisabled (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.internal.Errors converterReturnedNull (java.lang.String, java.lang.Object, com.google.inject.TypeLiteral, com.google.inject.spi.TypeConverterBinding) 
		String stringValue
		Object source
		com.google.inject.TypeLiteral type
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	public com.google.inject.internal.Errors conversionTypeError (java.lang.String, java.lang.Object, com.google.inject.TypeLiteral, com.google.inject.spi.TypeConverterBinding, java.lang.Object) 
		String stringValue
		Object source
		com.google.inject.TypeLiteral type
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
		Object converted
	public com.google.inject.internal.Errors conversionError (java.lang.String, java.lang.Object, com.google.inject.TypeLiteral, com.google.inject.spi.TypeConverterBinding, java.lang.RuntimeException) 
		String stringValue
		Object source
		com.google.inject.TypeLiteral type
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
		RuntimeException cause
	public com.google.inject.internal.Errors ambiguousTypeConversion (java.lang.String, java.lang.Object, com.google.inject.TypeLiteral, com.google.inject.spi.TypeConverterBinding, com.google.inject.spi.TypeConverterBinding) 
		String stringValue
		Object source
		com.google.inject.TypeLiteral type
		com.google.inject.spi.TypeConverterBinding a
		com.google.inject.spi.TypeConverterBinding b
	public com.google.inject.internal.Errors bindingToProvider () 
	public com.google.inject.internal.Errors subtypeNotProvided (java.lang.Class, java.lang.Class) 
		Class providerType
		Class type
	public com.google.inject.internal.Errors notASubtype (java.lang.Class, java.lang.Class) 
		Class implementationType
		Class type
	public com.google.inject.internal.Errors recursiveImplementationType () 
	public com.google.inject.internal.Errors recursiveProviderType () 
	public com.google.inject.internal.Errors missingRuntimeRetention (java.lang.Object) 
		Object source
	public com.google.inject.internal.Errors missingScopeAnnotation () 
	public com.google.inject.internal.Errors optionalConstructor (java.lang.reflect.Constructor) 
		java.lang.reflect.Constructor constructor
	public com.google.inject.internal.Errors cannotBindToGuiceType (java.lang.String) 
		String simpleName
	public com.google.inject.internal.Errors scopeNotFound (java.lang.Class) 
		Class scopeAnnotation
	public com.google.inject.internal.Errors scopeAnnotationOnAbstractType (java.lang.Class, java.lang.Class, java.lang.Object) 
		Class scopeAnnotation
		Class type
		Object source
	public com.google.inject.internal.Errors misplacedBindingAnnotation (java.lang.reflect.Member, java.lang.annotation.Annotation) 
		java.lang.reflect.Member member
		java.lang.annotation.Annotation bindingAnnotation
	public com.google.inject.internal.Errors missingConstructor (java.lang.Class) 
		Class implementation
	public com.google.inject.internal.Errors tooManyConstructors (java.lang.Class) 
		Class implementation
	public com.google.inject.internal.Errors constructorNotDefinedByType (java.lang.reflect.Constructor, com.google.inject.TypeLiteral) 
		java.lang.reflect.Constructor constructor
		com.google.inject.TypeLiteral type
	public com.google.inject.internal.Errors duplicateScopes (com.google.inject.Scope, java.lang.Class, com.google.inject.Scope) 
		com.google.inject.Scope existing
		Class annotationType
		com.google.inject.Scope scope
	public com.google.inject.internal.Errors voidProviderMethod () 
	public com.google.inject.internal.Errors missingConstantValues () 
	public com.google.inject.internal.Errors cannotInjectInnerClass (java.lang.Class) 
		Class type
	public com.google.inject.internal.Errors duplicateBindingAnnotations (java.lang.reflect.Member, java.lang.Class, java.lang.Class) 
		java.lang.reflect.Member member
		Class a
		Class b
	public com.google.inject.internal.Errors cannotInjectFinalField (java.lang.reflect.Field) 
		java.lang.reflect.Field field
	public com.google.inject.internal.Errors cannotInjectAbstractMethod (java.lang.reflect.Method) 
		java.lang.reflect.Method method
	public com.google.inject.internal.Errors cannotInjectNonVoidMethod (java.lang.reflect.Method) 
		java.lang.reflect.Method method
	public com.google.inject.internal.Errors cannotInjectMethodWithTypeParameters (java.lang.reflect.Method) 
		java.lang.reflect.Method method
	public com.google.inject.internal.Errors duplicateScopeAnnotations (java.lang.Class, java.lang.Class) 
		Class a
		Class b
	public com.google.inject.internal.Errors recursiveBinding () 
	public com.google.inject.internal.Errors bindingAlreadySet (com.google.inject.Key, java.lang.Object) 
		com.google.inject.Key key
		Object source
	public com.google.inject.internal.Errors childBindingAlreadySet (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.internal.Errors errorCheckingDuplicateBinding (com.google.inject.Key, java.lang.Object, java.lang.Throwable) 
		com.google.inject.Key key
		Object source
		Throwable t
	public com.google.inject.internal.Errors errorInjectingMethod (java.lang.Throwable) 
		Throwable cause
	public com.google.inject.internal.Errors errorNotifyingTypeListener (com.google.inject.spi.TypeListenerBinding, com.google.inject.TypeLiteral, java.lang.Throwable) 
		com.google.inject.spi.TypeListenerBinding listener
		com.google.inject.TypeLiteral type
		Throwable cause
	public com.google.inject.internal.Errors errorInjectingConstructor (java.lang.Throwable) 
		Throwable cause
	public com.google.inject.internal.Errors errorInProvider (java.lang.RuntimeException) 
		RuntimeException runtimeException
		Throwable unwrapped
	public com.google.inject.internal.Errors errorInUserInjector (com.google.inject.MembersInjector, com.google.inject.TypeLiteral, java.lang.RuntimeException) 
		com.google.inject.MembersInjector listener
		com.google.inject.TypeLiteral type
		RuntimeException cause
	public com.google.inject.internal.Errors errorNotifyingInjectionListener (com.google.inject.spi.InjectionListener, com.google.inject.TypeLiteral, java.lang.RuntimeException) 
		com.google.inject.spi.InjectionListener listener
		com.google.inject.TypeLiteral type
		RuntimeException cause
	public com.google.inject.internal.Errors exposedButNotBound (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.internal.Errors keyNotFullySpecified (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	public static java.util.Collection getMessagesFromThrowable (java.lang.Throwable) 
		Throwable throwable
	public transient com.google.inject.internal.Errors errorInUserCode (java.lang.Throwable, java.lang.String, java.lang.Object[]) 
		Throwable cause
		String messageFormat
		Object[] arguments
		java.util.Collection messages
	private java.lang.Throwable unwrap (java.lang.RuntimeException) 
		RuntimeException runtimeException
	public com.google.inject.internal.Errors cannotInjectRawProvider () 
	public com.google.inject.internal.Errors cannotInjectRawMembersInjector () 
	public com.google.inject.internal.Errors cannotInjectTypeLiteralOf (java.lang.reflect.Type) 
		java.lang.reflect.Type unsupportedType
	public com.google.inject.internal.Errors cannotInjectRawTypeLiteral () 
	public com.google.inject.internal.Errors cannotSatisfyCircularDependency (java.lang.Class) 
		Class expectedType
	public com.google.inject.internal.Errors circularProxiesDisabled (java.lang.Class) 
		Class expectedType
	public void throwCreationExceptionIfErrorsExist () 
	public void throwConfigurationExceptionIfErrorsExist () 
	public void throwProvisionExceptionIfErrorsExist () 
	private com.google.inject.spi.Message merge (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
		java.util.List sources
	public com.google.inject.internal.Errors merge (java.util.Collection) 
		com.google.inject.spi.Message message
		java.util.Iterator i$
		java.util.Collection messages
	public com.google.inject.internal.Errors merge (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors moreErrors
	public java.util.List getSources () 
		com.google.inject.internal.Errors e
		java.util.List sources
	public void throwIfNewErrors (int)  throws com.google.inject.internal.ErrorsException 
		int expectedSize
	public com.google.inject.internal.ErrorsException toException () 
	public boolean hasErrors () 
	public transient com.google.inject.internal.Errors addMessage (java.lang.String, java.lang.Object[]) 
		String messageFormat
		Object[] arguments
	private transient com.google.inject.internal.Errors addMessage (java.lang.Throwable, java.lang.String, java.lang.Object[]) 
		Throwable cause
		String messageFormat
		Object[] arguments
		String message
	public com.google.inject.internal.Errors addMessage (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	public static transient java.lang.String format (java.lang.String, java.lang.Object[]) 
		int i
		String messageFormat
		Object[] arguments
	public java.util.List getMessages () 
		java.util.List result
	public static java.lang.String format (java.lang.String, java.util.Collection) 
		Object source
		int i
		java.io.StringWriter writer
		java.util.List dependencies
		Throwable cause
		com.google.inject.spi.Message errorMessage
		java.util.Iterator i$
		String heading
		java.util.Collection errorMessages
		java.util.Formatter fmt
		int index
		boolean displayCauses
	public java.lang.Object checkForNull (java.lang.Object, java.lang.Object, com.google.inject.spi.Dependency)  throws com.google.inject.internal.ErrorsException 
		Object value
		Object source
		com.google.inject.spi.Dependency dependency
		int parameterIndex
		String parameterName
	public static java.lang.Throwable getOnlyCause (java.util.Collection) 
		Throwable messageCause
		com.google.inject.spi.Message message
		java.util.Iterator i$
		java.util.Collection messages
		Throwable onlyCause
	public int size () 
	public static java.lang.Object convert (java.lang.Object) 
		com.google.inject.internal.Errors$Converter converter
		java.util.Iterator i$
		Object o
	public static void formatSource (java.util.Formatter, java.lang.Object) 
		com.google.inject.spi.Dependency dependency
		com.google.inject.spi.InjectionPoint injectionPoint
		com.google.inject.Key key
		java.util.Formatter formatter
		Object source
	public static void formatInjectionPoint (java.util.Formatter, com.google.inject.spi.Dependency, com.google.inject.spi.InjectionPoint) 
		java.util.Formatter formatter
		com.google.inject.spi.Dependency dependency
		com.google.inject.spi.InjectionPoint injectionPoint
		java.lang.reflect.Member member
		Class memberType
	static void  () 
}

com/google/inject/internal/ErrorsException.class
ErrorsException.java
package com.google.inject.internal
public com.google.inject.internal.ErrorsException extends java.lang.Exception {
	private final com.google.inject.internal.Errors errors
	public void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public com.google.inject.internal.Errors getErrors () 
}

com/google/inject/internal/Exceptions$UnhandledCheckedUserException.class
Exceptions.java
package com.google.inject.internal
 com.google.inject.internal.Exceptions$UnhandledCheckedUserException extends java.lang.RuntimeException {
	public void  (java.lang.Throwable) 
		Throwable cause
}

com/google/inject/internal/Exceptions.class
Exceptions.java
package com.google.inject.internal
 com.google.inject.internal.Exceptions extends java.lang.Object {
	void  () 
	public static java.lang.RuntimeException throwCleanly (java.lang.reflect.InvocationTargetException) 
		java.lang.reflect.InvocationTargetException exception
		Throwable cause
}

com/google/inject/internal/ExposedBindingImpl.class
ExposedBindingImpl.java
package com.google.inject.internal
public final com.google.inject.internal.ExposedBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.ExposedBinding  {
	private final com.google.inject.spi.PrivateElements privateElements
	public void  (com.google.inject.internal.InjectorImpl, java.lang.Object, com.google.inject.Key, com.google.inject.internal.InternalFactory, com.google.inject.spi.PrivateElements) 
		com.google.inject.internal.InjectorImpl injector
		Object source
		com.google.inject.Key key
		com.google.inject.internal.InternalFactory factory
		com.google.inject.spi.PrivateElements privateElements
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public java.util.Set getDependencies () 
	public com.google.inject.spi.PrivateElements getPrivateElements () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
}

com/google/inject/internal/ExposedKeyFactory.class
ExposedKeyFactory.java
package com.google.inject.internal
final com.google.inject.internal.ExposedKeyFactory extends java.lang.Object implements com.google.inject.internal.InternalFactory com.google.inject.internal.BindingProcessor$CreationListener  {
	private final com.google.inject.Key key
	private final com.google.inject.spi.PrivateElements privateElements
	private com.google.inject.internal.BindingImpl delegate
	void  (com.google.inject.Key, com.google.inject.spi.PrivateElements) 
		com.google.inject.Key key
		com.google.inject.spi.PrivateElements privateElements
	public void notify (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InjectorImpl privateInjector
		com.google.inject.internal.BindingImpl explicitBinding
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
}

com/google/inject/internal/ExposureBuilder.class
ExposureBuilder.java
package com.google.inject.internal
public com.google.inject.internal.ExposureBuilder extends java.lang.Object implements com.google.inject.binder.AnnotatedElementBuilder  {
	private final com.google.inject.Binder binder
	private final Object source
	private com.google.inject.Key key
	public void  (com.google.inject.Binder, java.lang.Object, com.google.inject.Key) 
		com.google.inject.Binder binder
		Object source
		com.google.inject.Key key
	protected void checkNotAnnotated () 
	public void annotatedWith (java.lang.Class) 
		Class annotationType
	public void annotatedWith (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public com.google.inject.Key getKey () 
	public java.lang.Object getSource () 
	public java.lang.String toString () 
}

com/google/inject/internal/FactoryProxy.class
FactoryProxy.java
package com.google.inject.internal
final com.google.inject.internal.FactoryProxy extends java.lang.Object implements com.google.inject.internal.InternalFactory com.google.inject.internal.BindingProcessor$CreationListener  {
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.Key key
	private final com.google.inject.Key targetKey
	private final Object source
	private com.google.inject.internal.InternalFactory targetFactory
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, com.google.inject.Key, java.lang.Object) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		com.google.inject.Key targetKey
		Object source
	public void notify (com.google.inject.internal.Errors) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.Errors errors
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
	public java.lang.String toString () 
}

com/google/inject/internal/FailableCache$1.class
FailableCache.java
package com.google.inject.internal
 com.google.inject.internal.FailableCache$1 extends java.lang.Object implements com.google.inject.internal.util.Function  {
	final com.google.inject.internal.FailableCache this$0
	void  (com.google.inject.internal.FailableCache) 
	public java.lang.Object apply (java.lang.Object) 
		com.google.inject.internal.ErrorsException e
		Object key
		com.google.inject.internal.Errors errors
		Object result
}

com/google/inject/internal/FailableCache.class
FailableCache.java
package com.google.inject.internal
public abstract com.google.inject.internal.FailableCache extends java.lang.Object {
	private final java.util.Map delegate
	public void  () 
	protected abstract java.lang.Object create (java.lang.Object, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
	public java.lang.Object get (java.lang.Object, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		Object result
		Object key
		com.google.inject.internal.Errors errors
		Object resultOrError
	boolean remove (java.lang.Object) 
		Object key
}

com/google/inject/internal/InheritingState.class
InheritingState.java
package com.google.inject.internal
final com.google.inject.internal.InheritingState extends java.lang.Object implements com.google.inject.internal.State  {
	private final com.google.inject.internal.State parent
	private final java.util.Map explicitBindingsMutable
	private final java.util.Map explicitBindings
	private final java.util.Map scopes
	private final java.util.List converters
	private final java.util.List listenerBindings
	private final com.google.inject.internal.WeakKeySet blacklistedKeys
	private final Object lock
	void  (com.google.inject.internal.State) 
		com.google.inject.internal.State parent
	public com.google.inject.internal.State parent () 
	public com.google.inject.internal.BindingImpl getExplicitBinding (com.google.inject.Key) 
		com.google.inject.Key key
		com.google.inject.Binding binding
	public java.util.Map getExplicitBindingsThisLevel () 
	public void putBinding (com.google.inject.Key, com.google.inject.internal.BindingImpl) 
		com.google.inject.Key key
		com.google.inject.internal.BindingImpl binding
	public com.google.inject.Scope getScope (java.lang.Class) 
		Class annotationType
		com.google.inject.Scope scope
	public void putAnnotation (java.lang.Class, com.google.inject.Scope) 
		Class annotationType
		com.google.inject.Scope scope
	public java.util.List getConvertersThisLevel () 
	public void addConverter (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	public com.google.inject.spi.TypeConverterBinding getConverter (java.lang.String, com.google.inject.TypeLiteral, com.google.inject.internal.Errors, java.lang.Object) 
		com.google.inject.spi.TypeConverterBinding converter
		java.util.Iterator i$
		com.google.inject.internal.State s
		String stringValue
		com.google.inject.TypeLiteral type
		com.google.inject.internal.Errors errors
		Object source
		com.google.inject.spi.TypeConverterBinding matchingConverter
	public void addTypeListener (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding listenerBinding
	public java.util.List getTypeListenerBindings () 
		java.util.List parentBindings
		java.util.List result
	public void blacklist (com.google.inject.Key) 
		com.google.inject.Key key
	public boolean isBlacklisted (com.google.inject.Key) 
		com.google.inject.Key key
	public java.lang.Object lock () 
	public java.util.Map getScopes () 
}

com/google/inject/internal/Initializable.class
Initializable.java
package com.google.inject.internal
abstract com.google.inject.internal.Initializable extends java.lang.Object {
	public abstract java.lang.Object get (com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
}

com/google/inject/internal/Initializables$1.class
Initializables.java
package com.google.inject.internal
 com.google.inject.internal.Initializables$1 extends java.lang.Object implements com.google.inject.internal.Initializable  {
	final Object val$instance
	void  (java.lang.Object) 
	public java.lang.Object get (com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
	public java.lang.String toString () 
}

com/google/inject/internal/Initializables.class
Initializables.java
package com.google.inject.internal
final com.google.inject.internal.Initializables extends java.lang.Object {
	void  () 
	static com.google.inject.internal.Initializable of (java.lang.Object) 
		Object instance
}

com/google/inject/internal/Initializer$InjectableReference.class
Initializer.java
package com.google.inject.internal
 com.google.inject.internal.Initializer$InjectableReference extends java.lang.Object implements com.google.inject.internal.Initializable  {
	private final com.google.inject.internal.InjectorImpl injector
	private final Object instance
	private final Object source
	private com.google.inject.internal.MembersInjectorImpl membersInjector
	final com.google.inject.internal.Initializer this$0
	public void  (com.google.inject.internal.Initializer, com.google.inject.internal.InjectorImpl, java.lang.Object, java.lang.Object) 
		com.google.inject.internal.InjectorImpl injector
		Object instance
		Object source
	public void validate (com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.TypeLiteral type
	public java.lang.Object get (com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		InterruptedException e
		com.google.inject.internal.Errors errors
	public java.lang.String toString () 
}

com/google/inject/internal/Initializer.class
Initializer.java
package com.google.inject.internal
final com.google.inject.internal.Initializer extends java.lang.Object {
	private final Thread creatingThread
	private final java.util.concurrent.CountDownLatch ready
	private final java.util.Map pendingInjection
	void  () 
	com.google.inject.internal.Initializable requestInjection (com.google.inject.internal.InjectorImpl, java.lang.Object, java.lang.Object, java.util.Set) 
		com.google.inject.internal.InjectorImpl injector
		Object instance
		Object source
		java.util.Set injectionPoints
		com.google.inject.internal.Initializer$InjectableReference initializable
	void validateOustandingInjections (com.google.inject.internal.Errors) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.Initializer$InjectableReference reference
		java.util.Iterator i$
		com.google.inject.internal.Errors errors
	void injectAll (com.google.inject.internal.Errors) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.Initializer$InjectableReference reference
		java.util.Iterator i$
		com.google.inject.internal.Errors errors
	static java.util.concurrent.CountDownLatch access$000 (com.google.inject.internal.Initializer) 
		com.google.inject.internal.Initializer x0
	static java.lang.Thread access$100 (com.google.inject.internal.Initializer) 
		com.google.inject.internal.Initializer x0
	static java.util.Map access$200 (com.google.inject.internal.Initializer) 
		com.google.inject.internal.Initializer x0
}

com/google/inject/internal/InjectionRequestProcessor$StaticInjection$1.class
InjectionRequestProcessor.java
package com.google.inject.internal
 com.google.inject.internal.InjectionRequestProcessor$StaticInjection$1 extends java.lang.Object implements com.google.inject.internal.ContextualCallable  {
	final com.google.inject.internal.InjectionRequestProcessor$StaticInjection this$1
	void  (com.google.inject.internal.InjectionRequestProcessor$StaticInjection) 
	public java.lang.Void call (com.google.inject.internal.InternalContext) 
		com.google.inject.internal.SingleMemberInjector memberInjector
		java.util.Iterator i$
		com.google.inject.internal.InternalContext context
	public volatile java.lang.Object call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InternalContext x0
}

com/google/inject/internal/InjectionRequestProcessor$StaticInjection.class
InjectionRequestProcessor.java
package com.google.inject.internal
 com.google.inject.internal.InjectionRequestProcessor$StaticInjection extends java.lang.Object {
	final com.google.inject.internal.InjectorImpl injector
	final Object source
	final com.google.inject.spi.StaticInjectionRequest request
	com.google.inject.internal.util.ImmutableList memberInjectors
	final com.google.inject.internal.InjectionRequestProcessor this$0
	public void  (com.google.inject.internal.InjectionRequestProcessor, com.google.inject.internal.InjectorImpl, com.google.inject.spi.StaticInjectionRequest) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.spi.StaticInjectionRequest request
	void validate () 
		com.google.inject.ConfigurationException e
		com.google.inject.internal.Errors errorsForMember
		java.util.Set injectionPoints
	void injectMembers () 
		com.google.inject.internal.ErrorsException e
}

com/google/inject/internal/InjectionRequestProcessor.class
InjectionRequestProcessor.java
package com.google.inject.internal
final com.google.inject.internal.InjectionRequestProcessor extends com.google.inject.internal.AbstractProcessor {
	private final java.util.List staticInjections
	private final com.google.inject.internal.Initializer initializer
	void  (com.google.inject.internal.Errors, com.google.inject.internal.Initializer) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.Initializer initializer
	public java.lang.Boolean visit (com.google.inject.spi.StaticInjectionRequest) 
		com.google.inject.spi.StaticInjectionRequest request
	public java.lang.Boolean visit (com.google.inject.spi.InjectionRequest) 
		com.google.inject.ConfigurationException e
		com.google.inject.spi.InjectionRequest request
		java.util.Set injectionPoints
	void validate () 
		com.google.inject.internal.InjectionRequestProcessor$StaticInjection staticInjection
		java.util.Iterator i$
	void injectMembers () 
		com.google.inject.internal.InjectionRequestProcessor$StaticInjection staticInjection
		java.util.Iterator i$
	public volatile java.lang.Object visit (com.google.inject.spi.StaticInjectionRequest) 
		com.google.inject.spi.StaticInjectionRequest x0
	public volatile java.lang.Object visit (com.google.inject.spi.InjectionRequest) 
		com.google.inject.spi.InjectionRequest x0
}

com/google/inject/internal/InjectorImpl$1.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$1 extends java.lang.ThreadLocal {
	final com.google.inject.internal.InjectorImpl this$0
	void  (com.google.inject.internal.InjectorImpl) 
	protected java.lang.Object[] initialValue () 
	protected volatile java.lang.Object initialValue () 
}

com/google/inject/internal/InjectorImpl$2.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$2 extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	final com.google.inject.Key val$providerKey
	final com.google.inject.internal.BindingImpl val$providerBinding
	final Class val$rawType
	final Class val$providerType
	final com.google.inject.internal.InjectorImpl this$0
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, com.google.inject.internal.BindingImpl, java.lang.Class, java.lang.Class)  throws com.google.inject.internal.ErrorsException 
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		Object o
		Object t
		RuntimeException e
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
		com.google.inject.Provider provider
}

com/google/inject/internal/InjectorImpl$3.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$3 extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	final com.google.inject.internal.BindingImpl val$targetBinding
	final com.google.inject.Key val$targetKey
	final com.google.inject.internal.InjectorImpl this$0
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.internal.BindingImpl, com.google.inject.Key)  throws com.google.inject.internal.ErrorsException 
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
}

com/google/inject/internal/InjectorImpl$4$1.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$4$1 extends java.lang.Object implements com.google.inject.internal.ContextualCallable  {
	final com.google.inject.internal.Errors val$errors
	final com.google.inject.internal.InjectorImpl$4 this$1
	void  (com.google.inject.internal.InjectorImpl$4, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
	public java.lang.Object call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency previous
}

com/google/inject/internal/InjectorImpl$4.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$4 extends java.lang.Object implements com.google.inject.Provider  {
	final com.google.inject.spi.Dependency val$dependency
	final com.google.inject.internal.InternalFactory val$factory
	final com.google.inject.internal.InjectorImpl this$0
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.spi.Dependency, com.google.inject.internal.InternalFactory) 
	public java.lang.Object get () 
		Object t
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.Errors errors
	public java.lang.String toString () 
}

com/google/inject/internal/InjectorImpl$BindingsMultimap.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$BindingsMultimap extends java.lang.Object {
	final java.util.Map multimap
	private void  () 
	void put (com.google.inject.TypeLiteral, com.google.inject.Binding) 
		com.google.inject.TypeLiteral type
		com.google.inject.Binding binding
		java.util.List bindingsForType
	java.util.List getAll (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
		java.util.List bindings
	void  (com.google.inject.internal.InjectorImpl$1) 
		com.google.inject.internal.InjectorImpl$1 x0
}

com/google/inject/internal/InjectorImpl$ConvertedConstantBindingImpl.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$ConvertedConstantBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.ConvertedConstantBinding  {
	final Object value
	final com.google.inject.Provider provider
	final com.google.inject.Binding originalBinding
	final com.google.inject.spi.TypeConverterBinding typeConverterBinding
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.Binding, com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object value
		com.google.inject.Binding originalBinding
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	public com.google.inject.Provider getProvider () 
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public java.lang.Object getValue () 
	public com.google.inject.spi.TypeConverterBinding getTypeConverterBinding () 
	public com.google.inject.Key getSourceKey () 
	public java.util.Set getDependencies () 
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.InjectorImpl$ConvertedConstantBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/InjectorImpl$JitLimitation.class
InjectorImpl.java
package com.google.inject.internal
final com.google.inject.internal.InjectorImpl$JitLimitation extends java.lang.Enum {
	public static final com.google.inject.internal.InjectorImpl$JitLimitation NO_JIT
	public static final com.google.inject.internal.InjectorImpl$JitLimitation EXISTING_JIT
	public static final com.google.inject.internal.InjectorImpl$JitLimitation NEW_OR_EXISTING_JIT
	private static final com.google.inject.internal.InjectorImpl$JitLimitation[] $VALUES
	public static final com.google.inject.internal.InjectorImpl$JitLimitation[] values () 
	public static com.google.inject.internal.InjectorImpl$JitLimitation valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	static void  () 
}

com/google/inject/internal/InjectorImpl$MethodInvoker.class
InjectorImpl.java
package com.google.inject.internal
abstract com.google.inject.internal.InjectorImpl$MethodInvoker extends java.lang.Object {
	public transient abstract java.lang.Object invoke (java.lang.Object, java.lang.Object[])  throws java.lang.IllegalAccessException java.lang.reflect.InvocationTargetException 
}

com/google/inject/internal/InjectorImpl$ProviderBindingImpl$1.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$ProviderBindingImpl$1 extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	final com.google.inject.Provider val$provider
	void  (com.google.inject.Provider) 
	public com.google.inject.Provider get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
	public volatile java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors x0
		com.google.inject.internal.InternalContext x1
		com.google.inject.spi.Dependency x2
		boolean x3
}

com/google/inject/internal/InjectorImpl$ProviderBindingImpl.class
InjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.InjectorImpl$ProviderBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.ProviderBinding com.google.inject.spi.HasDependencies  {
	final com.google.inject.internal.BindingImpl providedBinding
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, com.google.inject.Binding) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		com.google.inject.Binding providedBinding
	static com.google.inject.internal.InternalFactory createInternalFactory (com.google.inject.Binding) 
		com.google.inject.Binding providedBinding
		com.google.inject.Provider provider
	public com.google.inject.Key getProvidedKey () 
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public java.util.Set getDependencies () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.InjectorImpl$ProviderBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/InjectorImpl.class
InjectorImpl.java
package com.google.inject.internal
final com.google.inject.internal.InjectorImpl extends java.lang.Object implements com.google.inject.Injector com.google.inject.internal.Lookups  {
	public static final com.google.inject.TypeLiteral STRING_TYPE
	final com.google.inject.internal.State state
	final com.google.inject.internal.InjectorImpl parent
	final com.google.inject.internal.InjectorImpl$BindingsMultimap bindingsMultimap
	final com.google.inject.internal.InternalInjectorCreator$InjectorOptions options
	final java.util.Map jitBindings
	com.google.inject.internal.Lookups lookups
	final com.google.inject.internal.ConstructorInjectorStore constructors
	com.google.inject.internal.MembersInjectorStore membersInjectorStore
	final ThreadLocal localContext
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.internal.State, com.google.inject.internal.InternalInjectorCreator$InjectorOptions) 
		com.google.inject.internal.InjectorImpl parent
		com.google.inject.internal.State state
		com.google.inject.internal.InternalInjectorCreator$InjectorOptions injectorOptions
	void index () 
		com.google.inject.Binding binding
		java.util.Iterator i$
	void index (com.google.inject.Binding) 
		com.google.inject.Binding binding
	public java.util.List findBindingsByType (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	public com.google.inject.internal.BindingImpl getBinding (com.google.inject.Key) 
		com.google.inject.internal.BindingImpl result
		com.google.inject.internal.ErrorsException e
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
	public com.google.inject.internal.BindingImpl getExistingBinding (com.google.inject.Key) 
		com.google.inject.internal.BindingImpl jitBinding
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key providedKey
		com.google.inject.internal.ErrorsException e
		com.google.inject.Key key
		com.google.inject.internal.BindingImpl explicitBinding
	com.google.inject.internal.BindingImpl getBindingOrThrow (com.google.inject.Key, com.google.inject.internal.Errors, com.google.inject.internal.InjectorImpl$JitLimitation)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InjectorImpl$JitLimitation jitType
		com.google.inject.internal.BindingImpl binding
	public com.google.inject.Binding getBinding (java.lang.Class) 
		Class type
	public com.google.inject.Injector getParent () 
	public com.google.inject.Injector createChildInjector (java.lang.Iterable) 
		Iterable modules
	public transient com.google.inject.Injector createChildInjector (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	private com.google.inject.internal.BindingImpl getJustInTimeBinding (com.google.inject.Key, com.google.inject.internal.Errors, com.google.inject.internal.InjectorImpl$JitLimitation)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InjectorImpl$JitLimitation jitType
		boolean jitOverride
	private static boolean isProvider (com.google.inject.Key) 
		com.google.inject.Key key
	private static boolean isTypeLiteral (com.google.inject.Key) 
		com.google.inject.Key key
	private static com.google.inject.Key getProvidedKey (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		java.lang.reflect.Type providerType
		java.lang.reflect.Type entryType
		com.google.inject.Key providedKey
	private static boolean isMembersInjector (com.google.inject.Key) 
		com.google.inject.Key key
	private com.google.inject.internal.BindingImpl createMembersInjectorBinding (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		java.lang.reflect.Type membersInjectorType
		com.google.inject.TypeLiteral instanceType
		com.google.inject.MembersInjector membersInjector
		com.google.inject.internal.InternalFactory factory
	private com.google.inject.internal.BindingImpl createProviderBinding (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.Key providedKey
		com.google.inject.internal.BindingImpl delegate
	private com.google.inject.internal.BindingImpl convertConstantStringBinding (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		Object converted
		com.google.inject.internal.ErrorsException e
		RuntimeException e
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.Key stringKey
		com.google.inject.internal.BindingImpl stringBinding
		String stringValue
		Object source
		com.google.inject.TypeLiteral type
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	void initializeBinding (com.google.inject.internal.BindingImpl, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.Errors errors
	void initializeJitBinding (com.google.inject.internal.BindingImpl, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		boolean successful
		com.google.inject.internal.ConstructorBindingImpl cb
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.Errors errors
	private boolean cleanup (com.google.inject.internal.BindingImpl, java.util.Set) 
		com.google.inject.internal.ConstructorBindingImpl ctorBinding
		boolean failed
		com.google.inject.internal.BindingImpl depBinding
		com.google.inject.Key depKey
		com.google.inject.spi.InjectionPoint ip
		com.google.inject.spi.Dependency dep
		java.util.Iterator i$
		com.google.inject.internal.BindingImpl binding
		java.util.Set encountered
		boolean bindingFailed
		java.util.Set deps
	private void removeFailedJitBinding (com.google.inject.Key, com.google.inject.spi.InjectionPoint) 
		com.google.inject.Key key
		com.google.inject.spi.InjectionPoint ip
	private java.util.Set getInternalDependencies (com.google.inject.internal.BindingImpl) 
		com.google.inject.internal.BindingImpl binding
	com.google.inject.internal.BindingImpl createUninitializedBinding (com.google.inject.Key, com.google.inject.internal.Scoping, java.lang.Object, com.google.inject.internal.Errors, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.BindingImpl binding
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		Object source
		com.google.inject.internal.Errors errors
		boolean jitBinding
		Class rawType
		com.google.inject.ImplementedBy implementedBy
		com.google.inject.ProvidedBy providedBy
	private com.google.inject.internal.BindingImpl createTypeLiteralBinding (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		java.lang.reflect.Type typeLiteralType
		java.lang.reflect.ParameterizedType parameterizedType
		java.lang.reflect.Type innerType
		com.google.inject.TypeLiteral value
		com.google.inject.internal.InternalFactory factory
	com.google.inject.internal.BindingImpl createProvidedByBinding (com.google.inject.Key, com.google.inject.internal.Scoping, com.google.inject.ProvidedBy, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		com.google.inject.ProvidedBy providedBy
		com.google.inject.internal.Errors errors
		Class rawType
		Class providerType
		com.google.inject.Key providerKey
		com.google.inject.internal.BindingImpl providerBinding
		com.google.inject.internal.InternalFactory internalFactory
		Object source
	private com.google.inject.internal.BindingImpl createImplementedByBinding (com.google.inject.Key, com.google.inject.internal.Scoping, com.google.inject.ImplementedBy, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		com.google.inject.ImplementedBy implementedBy
		com.google.inject.internal.Errors errors
		Class rawType
		Class implementationType
		Class subclass
		com.google.inject.Key targetKey
		com.google.inject.internal.BindingImpl targetBinding
		com.google.inject.internal.InternalFactory internalFactory
		Object source
	private com.google.inject.internal.BindingImpl createJustInTimeBindingRecursive (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.ErrorsException ignored
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.internal.BindingImpl binding
	private com.google.inject.internal.BindingImpl createJustInTimeBinding (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.BindingImpl binding
		com.google.inject.internal.Errors ignored
		com.google.inject.internal.ErrorsException ignored
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		int numErrorsBefore
		com.google.inject.internal.BindingImpl convertedBinding
		Object source
		com.google.inject.internal.BindingImpl binding
	com.google.inject.internal.InternalFactory getInternalFactory (com.google.inject.Key, com.google.inject.internal.Errors, com.google.inject.internal.InjectorImpl$JitLimitation)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InjectorImpl$JitLimitation jitType
	public java.util.Map getBindings () 
	public java.util.Map getAllBindings () 
	public java.util.Map getScopeBindings () 
	public java.util.List getTypeConverterBindings () 
	com.google.inject.internal.SingleParameterInjector[] getParametersInjectors (java.util.List, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.ErrorsException rethrownBelow
		com.google.inject.spi.Dependency parameter
		java.util.Iterator i$
		java.util.List parameters
		com.google.inject.internal.Errors errors
		int numErrorsBefore
		com.google.inject.internal.SingleParameterInjector[] result
		int i
	com.google.inject.internal.SingleParameterInjector createParameterInjector (com.google.inject.spi.Dependency, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.spi.Dependency dependency
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalFactory factory
	public void injectMembers (java.lang.Object) 
		Object instance
		com.google.inject.MembersInjector membersInjector
	public com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.TypeLiteral typeLiteral
		com.google.inject.internal.Errors errors
	public com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
		Class type
	public com.google.inject.Provider getProvider (java.lang.Class) 
		Class type
	com.google.inject.Provider getProviderOrThrow (com.google.inject.Key, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalFactory factory
		com.google.inject.spi.Dependency dependency
	public com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Provider result
		com.google.inject.internal.ErrorsException e
		com.google.inject.Key key
		com.google.inject.internal.Errors errors
	public java.lang.Object getInstance (com.google.inject.Key) 
		com.google.inject.Key key
	public java.lang.Object getInstance (java.lang.Class) 
		Class type
	java.lang.Object callInContext (com.google.inject.internal.ContextualCallable)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.ContextualCallable callable
		Object[] reference
	public java.lang.String toString () 
	public volatile com.google.inject.Binding getExistingBinding (com.google.inject.Key) 
		com.google.inject.Key x0
	public volatile com.google.inject.Binding getBinding (com.google.inject.Key) 
		com.google.inject.Key x0
	static void  () 
}

com/google/inject/internal/InjectorShell$1.class
InjectorShell.java
package com.google.inject.internal
 com.google.inject.internal.InjectorShell$1 extends java.lang.Object {
}

com/google/inject/internal/InjectorShell$Builder.class
InjectorShell.java
package com.google.inject.internal
 com.google.inject.internal.InjectorShell$Builder extends java.lang.Object {
	private final java.util.List elements
	private final java.util.List modules
	private com.google.inject.internal.State state
	private com.google.inject.internal.InjectorImpl parent
	private com.google.inject.internal.InternalInjectorCreator$InjectorOptions options
	private com.google.inject.internal.PrivateElementsImpl privateElements
	void  () 
	com.google.inject.internal.InjectorShell$Builder parent (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl parent
	com.google.inject.internal.InjectorShell$Builder setInjectorOptions (com.google.inject.internal.InternalInjectorCreator$InjectorOptions) 
		com.google.inject.internal.InternalInjectorCreator$InjectorOptions options
	com.google.inject.internal.InjectorShell$Builder privateElements (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements privateElements
	void addModules (java.lang.Iterable) 
		com.google.inject.Module module
		java.util.Iterator i$
		Iterable modules
	com.google.inject.internal.InternalInjectorCreator$InjectorOptions getInjectorOptions () 
	java.lang.Object lock () 
	java.util.List build (com.google.inject.internal.BindingProcessor, com.google.inject.internal.util.Stopwatch, com.google.inject.internal.Errors) 
		com.google.inject.internal.InjectorShell$Builder builder
		java.util.Iterator i$
		com.google.inject.internal.BindingProcessor bindingProcessor
		com.google.inject.internal.util.Stopwatch stopwatch
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InjectorImpl injector
		java.util.List listenerBindings
		java.util.List injectorShells
		com.google.inject.internal.PrivateElementProcessor processor
	private com.google.inject.internal.State getState () 
	static com.google.inject.internal.PrivateElementsImpl access$000 (com.google.inject.internal.InjectorShell$Builder) 
		com.google.inject.internal.InjectorShell$Builder x0
}

com/google/inject/internal/InjectorShell$InjectorFactory.class
InjectorShell.java
package com.google.inject.internal
 com.google.inject.internal.InjectorShell$InjectorFactory extends java.lang.Object implements com.google.inject.internal.InternalFactory com.google.inject.Provider  {
	private final com.google.inject.Injector injector
	private void  (com.google.inject.Injector) 
		com.google.inject.Injector injector
	public com.google.inject.Injector get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
	public com.google.inject.Injector get () 
	public java.lang.String toString () 
	public volatile java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors x0
		com.google.inject.internal.InternalContext x1
		com.google.inject.spi.Dependency x2
		boolean x3
	public volatile java.lang.Object get () 
	void  (com.google.inject.Injector, com.google.inject.internal.InjectorShell$1) 
		com.google.inject.Injector x0
		com.google.inject.internal.InjectorShell$1 x1
}

com/google/inject/internal/InjectorShell$LoggerFactory.class
InjectorShell.java
package com.google.inject.internal
 com.google.inject.internal.InjectorShell$LoggerFactory extends java.lang.Object implements com.google.inject.internal.InternalFactory com.google.inject.Provider  {
	private void  () 
	public java.util.logging.Logger get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
		com.google.inject.spi.InjectionPoint injectionPoint
	public java.util.logging.Logger get () 
	public java.lang.String toString () 
	public volatile java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors x0
		com.google.inject.internal.InternalContext x1
		com.google.inject.spi.Dependency x2
		boolean x3
	public volatile java.lang.Object get () 
	void  (com.google.inject.internal.InjectorShell$1) 
		com.google.inject.internal.InjectorShell$1 x0
}

com/google/inject/internal/InjectorShell$RootModule.class
InjectorShell.java
package com.google.inject.internal
 com.google.inject.internal.InjectorShell$RootModule extends java.lang.Object implements com.google.inject.Module  {
	final com.google.inject.Stage stage
	private void  (com.google.inject.Stage) 
		com.google.inject.Stage stage
	public void configure (com.google.inject.Binder) 
		com.google.inject.Binder binder
	void  (com.google.inject.Stage, com.google.inject.internal.InjectorShell$1) 
		com.google.inject.Stage x0
		com.google.inject.internal.InjectorShell$1 x1
}

com/google/inject/internal/InjectorShell$SLF4JLoggerFactory.class
InjectorShell.java
package com.google.inject.internal
 com.google.inject.internal.InjectorShell$SLF4JLoggerFactory extends java.lang.Object implements com.google.inject.internal.InternalFactory com.google.inject.Provider  {
	private void  () 
	public org.slf4j.Logger get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
		com.google.inject.spi.InjectionPoint injectionPoint
	public org.slf4j.Logger get () 
	public java.lang.String toString () 
	public volatile java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors x0
		com.google.inject.internal.InternalContext x1
		com.google.inject.spi.Dependency x2
		boolean x3
	public volatile java.lang.Object get () 
	void  (com.google.inject.internal.InjectorShell$1) 
		com.google.inject.internal.InjectorShell$1 x0
}

com/google/inject/internal/InjectorShell.class
InjectorShell.java
package com.google.inject.internal
final com.google.inject.internal.InjectorShell extends java.lang.Object {
	private final java.util.List elements
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.spi.PrivateElements privateElements
	private void  (com.google.inject.internal.InjectorShell$Builder, java.util.List, com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorShell$Builder builder
		java.util.List elements
		com.google.inject.internal.InjectorImpl injector
	com.google.inject.internal.InjectorImpl getInjector () 
	java.util.List getElements () 
	private static void bindInjector (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		com.google.inject.internal.InjectorShell$InjectorFactory injectorFactory
	private static void bindLogger (com.google.inject.internal.InjectorImpl) 
		com.google.inject.Key slf4jKey
		com.google.inject.internal.InjectorShell$SLF4JLoggerFactory slf4jLoggerFactory
		Throwable e
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		com.google.inject.internal.InjectorShell$LoggerFactory loggerFactory
	static void access$200 (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl x0
	static void access$300 (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl x0
	void  (com.google.inject.internal.InjectorShell$Builder, java.util.List, com.google.inject.internal.InjectorImpl, com.google.inject.internal.InjectorShell$1) 
		com.google.inject.internal.InjectorShell$Builder x0
		java.util.List x1
		com.google.inject.internal.InjectorImpl x2
		com.google.inject.internal.InjectorShell$1 x3
}

com/google/inject/internal/InstanceBindingImpl.class
InstanceBindingImpl.java
package com.google.inject.internal
final com.google.inject.internal.InstanceBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.InstanceBinding  {
	final Object instance
	final com.google.inject.Provider provider
	final com.google.inject.internal.util.ImmutableSet injectionPoints
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.internal.InternalFactory, java.util.Set, java.lang.Object) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
		com.google.inject.internal.InternalFactory internalFactory
		java.util.Set injectionPoints
		Object instance
	public void  (java.lang.Object, com.google.inject.Key, com.google.inject.internal.Scoping, java.util.Set, java.lang.Object) 
		Object source
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		java.util.Set injectionPoints
		Object instance
	public com.google.inject.Provider getProvider () 
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public java.lang.Object getInstance () 
	public java.util.Set getInjectionPoints () 
	public java.util.Set getDependencies () 
	public com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	public com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.InstanceBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/InternalContext.class
InternalContext.java
package com.google.inject.internal
final com.google.inject.internal.InternalContext extends java.lang.Object {
	private java.util.Map constructionContexts
	private com.google.inject.spi.Dependency dependency
	void  () 
	public com.google.inject.internal.ConstructionContext getConstructionContext (java.lang.Object) 
		Object key
		com.google.inject.internal.ConstructionContext constructionContext
	public com.google.inject.spi.Dependency getDependency () 
	public com.google.inject.spi.Dependency setDependency (com.google.inject.spi.Dependency) 
		com.google.inject.spi.Dependency dependency
		com.google.inject.spi.Dependency previous
}

com/google/inject/internal/InternalFactory.class
InternalFactory.java
package com.google.inject.internal
abstract com.google.inject.internal.InternalFactory extends java.lang.Object {
	public abstract java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
}

com/google/inject/internal/InternalFactoryToProviderAdapter.class
InternalFactoryToProviderAdapter.java
package com.google.inject.internal
final com.google.inject.internal.InternalFactoryToProviderAdapter extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	private final com.google.inject.internal.Initializable initializable
	private final Object source
	public void  (com.google.inject.internal.Initializable, java.lang.Object) 
		com.google.inject.internal.Initializable initializable
		Object source
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean)  throws com.google.inject.internal.ErrorsException 
		RuntimeException userException
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
	public java.lang.String toString () 
}

com/google/inject/internal/InternalInjectorCreator$1.class
InternalInjectorCreator.java
package com.google.inject.internal
 com.google.inject.internal.InternalInjectorCreator$1 extends java.lang.Object implements com.google.inject.internal.ContextualCallable  {
	com.google.inject.spi.Dependency dependency
	final com.google.inject.internal.BindingImpl val$binding
	final com.google.inject.internal.Errors val$errors
	final com.google.inject.internal.InternalInjectorCreator this$0
	void  (com.google.inject.internal.InternalInjectorCreator, com.google.inject.internal.BindingImpl, com.google.inject.internal.Errors) 
	public java.lang.Void call (com.google.inject.internal.InternalContext) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency previous
		com.google.inject.internal.Errors errorsForBinding
	public volatile java.lang.Object call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InternalContext x0
}

com/google/inject/internal/InternalInjectorCreator$InjectorOptions.class
InternalInjectorCreator.java
package com.google.inject.internal
public com.google.inject.internal.InternalInjectorCreator$InjectorOptions extends java.lang.Object {
	final com.google.inject.Stage stage
	final boolean jitDisabled
	final boolean allowCircularProxy
	public void  (com.google.inject.Stage, boolean, boolean) 
		com.google.inject.Stage stage
		boolean jitDisabled
		boolean allowCircularProxy
}

com/google/inject/internal/InternalInjectorCreator$ToolStageInjector.class
InternalInjectorCreator.java
package com.google.inject.internal
 com.google.inject.internal.InternalInjectorCreator$ToolStageInjector extends java.lang.Object implements com.google.inject.Injector  {
	private final com.google.inject.Injector delegateInjector
	void  (com.google.inject.Injector) 
		com.google.inject.Injector delegateInjector
	public void injectMembers (java.lang.Object) 
		Object o
	public java.util.Map getBindings () 
	public java.util.Map getAllBindings () 
	public com.google.inject.Binding getBinding (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.Binding getBinding (java.lang.Class) 
		Class type
	public com.google.inject.Binding getExistingBinding (com.google.inject.Key) 
		com.google.inject.Key key
	public java.util.List findBindingsByType (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	public com.google.inject.Injector getParent () 
	public com.google.inject.Injector createChildInjector (java.lang.Iterable) 
		Iterable modules
	public transient com.google.inject.Injector createChildInjector (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	public java.util.Map getScopeBindings () 
	public java.util.List getTypeConverterBindings () 
	public com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.Provider getProvider (java.lang.Class) 
		Class type
	public com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	public com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
		Class type
	public java.lang.Object getInstance (com.google.inject.Key) 
		com.google.inject.Key key
	public java.lang.Object getInstance (java.lang.Class) 
		Class type
}

com/google/inject/internal/InternalInjectorCreator.class
InternalInjectorCreator.java
package com.google.inject.internal
public final com.google.inject.internal.InternalInjectorCreator extends java.lang.Object {
	private final com.google.inject.internal.util.Stopwatch stopwatch
	private final com.google.inject.internal.Errors errors
	private final com.google.inject.internal.Initializer initializer
	private final com.google.inject.internal.BindingProcessor bindingProcesor
	private final com.google.inject.internal.InjectionRequestProcessor injectionRequestProcessor
	private final com.google.inject.internal.InjectorShell$Builder shellBuilder
	private java.util.List shells
	public void  () 
	public com.google.inject.internal.InternalInjectorCreator injectorOptions (com.google.inject.internal.InternalInjectorCreator$InjectorOptions) 
		com.google.inject.internal.InternalInjectorCreator$InjectorOptions options
	public com.google.inject.internal.InternalInjectorCreator parentInjector (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl parent
	public com.google.inject.internal.InternalInjectorCreator addModules (java.lang.Iterable) 
		Iterable modules
	public com.google.inject.Injector build () 
	private void initializeStatically () 
		com.google.inject.internal.InjectorShell shell
		java.util.Iterator i$
		com.google.inject.internal.InjectorShell shell
		java.util.Iterator i$
		com.google.inject.internal.InjectorShell shell
		java.util.Iterator i$
	private com.google.inject.Injector primaryInjector () 
	private void injectDynamically () 
		com.google.inject.internal.InjectorShell shell
		java.util.Iterator i$
	void loadEagerSingletons (com.google.inject.internal.InjectorImpl, com.google.inject.Stage, com.google.inject.internal.Errors) 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.BindingImpl binding
		java.util.Iterator i$
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Stage stage
		com.google.inject.internal.Errors errors
		java.util.Set candidateBindings
	private boolean isEagerSingleton (com.google.inject.internal.InjectorImpl, com.google.inject.internal.BindingImpl, com.google.inject.Stage) 
		com.google.inject.Key linkedBinding
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.internal.BindingImpl binding
		com.google.inject.Stage stage
}

com/google/inject/internal/LinkedBindingImpl.class
LinkedBindingImpl.java
package com.google.inject.internal
public final com.google.inject.internal.LinkedBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.LinkedKeyBinding com.google.inject.spi.HasDependencies  {
	final com.google.inject.Key targetKey
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.internal.InternalFactory, com.google.inject.internal.Scoping, com.google.inject.Key) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
		com.google.inject.internal.InternalFactory internalFactory
		com.google.inject.internal.Scoping scoping
		com.google.inject.Key targetKey
	public void  (java.lang.Object, com.google.inject.Key, com.google.inject.internal.Scoping, com.google.inject.Key) 
		Object source
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		com.google.inject.Key targetKey
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public com.google.inject.Key getLinkedKey () 
	public java.util.Set getDependencies () 
	public com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	public com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.LinkedBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/LinkedProviderBindingImpl.class
LinkedProviderBindingImpl.java
package com.google.inject.internal
final com.google.inject.internal.LinkedProviderBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.ProviderKeyBinding com.google.inject.spi.HasDependencies  {
	final com.google.inject.Key providerKey
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.internal.InternalFactory, com.google.inject.internal.Scoping, com.google.inject.Key) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
		com.google.inject.internal.InternalFactory internalFactory
		com.google.inject.internal.Scoping scoping
		com.google.inject.Key providerKey
	void  (java.lang.Object, com.google.inject.Key, com.google.inject.internal.Scoping, com.google.inject.Key) 
		Object source
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		com.google.inject.Key providerKey
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public com.google.inject.Key getProviderKey () 
	public java.util.Set getDependencies () 
	public com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	public com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.LinkedProviderBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/LookupProcessor.class
LookupProcessor.java
package com.google.inject.internal
final com.google.inject.internal.LookupProcessor extends com.google.inject.internal.AbstractProcessor {
	void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public java.lang.Boolean visit (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.MembersInjector membersInjector
		com.google.inject.internal.ErrorsException e
		com.google.inject.spi.MembersInjectorLookup lookup
	public java.lang.Boolean visit (com.google.inject.spi.ProviderLookup) 
		com.google.inject.Provider provider
		com.google.inject.internal.ErrorsException e
		com.google.inject.spi.ProviderLookup lookup
	public volatile java.lang.Object visit (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.spi.MembersInjectorLookup x0
	public volatile java.lang.Object visit (com.google.inject.spi.ProviderLookup) 
		com.google.inject.spi.ProviderLookup x0
}

com/google/inject/internal/Lookups.class
Lookups.java
package com.google.inject.internal
abstract com.google.inject.internal.Lookups extends java.lang.Object {
	public abstract com.google.inject.Provider getProvider (com.google.inject.Key) 
	public abstract com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
}

com/google/inject/internal/MembersInjectorImpl$1.class
MembersInjectorImpl.java
package com.google.inject.internal
 com.google.inject.internal.MembersInjectorImpl$1 extends java.lang.Object implements com.google.inject.internal.ContextualCallable  {
	final Object val$instance
	final com.google.inject.internal.Errors val$errors
	final boolean val$toolableOnly
	final com.google.inject.internal.MembersInjectorImpl this$0
	void  (com.google.inject.internal.MembersInjectorImpl, java.lang.Object, com.google.inject.internal.Errors, boolean) 
	public java.lang.Void call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InternalContext context
	public volatile java.lang.Object call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InternalContext x0
}

com/google/inject/internal/MembersInjectorImpl.class
MembersInjectorImpl.java
package com.google.inject.internal
final com.google.inject.internal.MembersInjectorImpl extends java.lang.Object implements com.google.inject.MembersInjector  {
	private final com.google.inject.TypeLiteral typeLiteral
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.internal.util.ImmutableList memberInjectors
	private final com.google.inject.internal.util.ImmutableList userMembersInjectors
	private final com.google.inject.internal.util.ImmutableList injectionListeners
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.TypeLiteral, com.google.inject.internal.EncounterImpl, com.google.inject.internal.util.ImmutableList) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.TypeLiteral typeLiteral
		com.google.inject.internal.EncounterImpl encounter
		com.google.inject.internal.util.ImmutableList memberInjectors
	public com.google.inject.internal.util.ImmutableList getMemberInjectors () 
	public void injectMembers (java.lang.Object) 
		com.google.inject.internal.ErrorsException e
		Object instance
		com.google.inject.internal.Errors errors
	void injectAndNotify (java.lang.Object, com.google.inject.internal.Errors, boolean)  throws com.google.inject.internal.ErrorsException 
		Object instance
		com.google.inject.internal.Errors errors
		boolean toolableOnly
	void notifyListeners (java.lang.Object, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		RuntimeException e
		com.google.inject.spi.InjectionListener injectionListener
		java.util.Iterator i$
		Object instance
		com.google.inject.internal.Errors errors
		int numErrorsBefore
	void injectMembers (java.lang.Object, com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, boolean) 
		com.google.inject.internal.SingleMemberInjector injector
		int i
		int size
		RuntimeException e
		com.google.inject.MembersInjector userMembersInjector
		int i
		int size
		Object t
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		boolean toolableOnly
	public java.lang.String toString () 
	public com.google.inject.internal.util.ImmutableSet getInjectionPoints () 
		com.google.inject.internal.SingleMemberInjector memberInjector
		java.util.Iterator i$
		com.google.inject.internal.util.ImmutableSet$Builder builder
}

com/google/inject/internal/MembersInjectorStore$1.class
MembersInjectorStore.java
package com.google.inject.internal
 com.google.inject.internal.MembersInjectorStore$1 extends com.google.inject.internal.FailableCache {
	final com.google.inject.internal.MembersInjectorStore this$0
	void  (com.google.inject.internal.MembersInjectorStore)  throws com.google.inject.internal.ErrorsException 
	protected com.google.inject.internal.MembersInjectorImpl create (com.google.inject.TypeLiteral, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.TypeLiteral type
		com.google.inject.internal.Errors errors
	protected volatile java.lang.Object create (java.lang.Object, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		Object x0
		com.google.inject.internal.Errors x1
}

com/google/inject/internal/MembersInjectorStore.class
MembersInjectorStore.java
package com.google.inject.internal
final com.google.inject.internal.MembersInjectorStore extends java.lang.Object {
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.internal.util.ImmutableList typeListenerBindings
	private final com.google.inject.internal.FailableCache cache
	void  (com.google.inject.internal.InjectorImpl, java.util.List) 
		com.google.inject.internal.InjectorImpl injector
		java.util.List typeListenerBindings
	public boolean hasTypeListeners () 
	public com.google.inject.internal.MembersInjectorImpl get (com.google.inject.TypeLiteral, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.TypeLiteral key
		com.google.inject.internal.Errors errors
	boolean remove (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	private com.google.inject.internal.MembersInjectorImpl createWithListeners (com.google.inject.TypeLiteral, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.ConfigurationException e
		RuntimeException e
		com.google.inject.spi.TypeListenerBinding typeListener
		java.util.Iterator i$
		com.google.inject.TypeLiteral type
		com.google.inject.internal.Errors errors
		int numErrorsBefore
		java.util.Set injectionPoints
		com.google.inject.internal.util.ImmutableList injectors
		com.google.inject.internal.EncounterImpl encounter
	com.google.inject.internal.util.ImmutableList getInjectors (java.util.Set, com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errorsForMember
		com.google.inject.internal.SingleMemberInjector injector
		com.google.inject.internal.ErrorsException ignoredForNow
		com.google.inject.spi.InjectionPoint injectionPoint
		java.util.Iterator i$
		java.util.Set injectionPoints
		com.google.inject.internal.Errors errors
		java.util.List injectors
	static com.google.inject.internal.MembersInjectorImpl access$000 (com.google.inject.internal.MembersInjectorStore, com.google.inject.TypeLiteral, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.MembersInjectorStore x0
		com.google.inject.TypeLiteral x1
		com.google.inject.internal.Errors x2
}

com/google/inject/internal/MessageProcessor.class
MessageProcessor.java
package com.google.inject.internal
final com.google.inject.internal.MessageProcessor extends com.google.inject.internal.AbstractProcessor {
	private static final java.util.logging.Logger logger
	void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public java.lang.Boolean visit (com.google.inject.spi.Message) 
		String rootMessage
		com.google.inject.spi.Message message
	public static java.lang.String getRootMessage (java.lang.Throwable) 
		Throwable t
		Throwable cause
	public volatile java.lang.Object visit (com.google.inject.spi.Message) 
		com.google.inject.spi.Message x0
	static void  () 
}

com/google/inject/internal/MoreTypes$CompositeType.class
MoreTypes.java
package com.google.inject.internal
abstract com.google.inject.internal.MoreTypes$CompositeType extends java.lang.Object {
	public abstract boolean isFullySpecified () 
}

com/google/inject/internal/MoreTypes$GenericArrayTypeImpl.class
MoreTypes.java
package com.google.inject.internal
public com.google.inject.internal.MoreTypes$GenericArrayTypeImpl extends java.lang.Object implements java.lang.reflect.GenericArrayType java.io.Serializable com.google.inject.internal.MoreTypes$CompositeType  {
	private final java.lang.reflect.Type componentType
	private static final long serialVersionUID
	public void  (java.lang.reflect.Type) 
		java.lang.reflect.Type componentType
	public java.lang.reflect.Type getGenericComponentType () 
	public boolean isFullySpecified () 
	public boolean equals (java.lang.Object) 
		Object o
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/internal/MoreTypes$ParameterizedTypeImpl.class
MoreTypes.java
package com.google.inject.internal
public com.google.inject.internal.MoreTypes$ParameterizedTypeImpl extends java.lang.Object implements java.lang.reflect.ParameterizedType java.io.Serializable com.google.inject.internal.MoreTypes$CompositeType  {
	private final java.lang.reflect.Type ownerType
	private final java.lang.reflect.Type rawType
	private final java.lang.reflect.Type[] typeArguments
	private static final long serialVersionUID
	public transient void  (java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type[]) 
		Class rawTypeAsClass
		int t
		java.lang.reflect.Type ownerType
		java.lang.reflect.Type rawType
		java.lang.reflect.Type[] typeArguments
	public java.lang.reflect.Type[] getActualTypeArguments () 
	public java.lang.reflect.Type getRawType () 
	public java.lang.reflect.Type getOwnerType () 
	public boolean isFullySpecified () 
		java.lang.reflect.Type type
		java.lang.reflect.Type[] arr$
		int len$
		int i$
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
		int i
		StringBuilder stringBuilder
}

com/google/inject/internal/MoreTypes$WildcardTypeImpl.class
MoreTypes.java
package com.google.inject.internal
public com.google.inject.internal.MoreTypes$WildcardTypeImpl extends java.lang.Object implements java.lang.reflect.WildcardType java.io.Serializable com.google.inject.internal.MoreTypes$CompositeType  {
	private final java.lang.reflect.Type upperBound
	private final java.lang.reflect.Type lowerBound
	private static final long serialVersionUID
	public void  (java.lang.reflect.Type[], java.lang.reflect.Type[]) 
		java.lang.reflect.Type[] upperBounds
		java.lang.reflect.Type[] lowerBounds
	public java.lang.reflect.Type[] getUpperBounds () 
	public java.lang.reflect.Type[] getLowerBounds () 
	public boolean isFullySpecified () 
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/internal/MoreTypes.class
MoreTypes.java
package com.google.inject.internal
public com.google.inject.internal.MoreTypes extends java.lang.Object {
	public static final java.lang.reflect.Type[] EMPTY_TYPE_ARRAY
	private static final java.util.Map PRIMITIVE_TO_WRAPPER
	private void  () 
	public static com.google.inject.TypeLiteral canonicalizeForKey (com.google.inject.TypeLiteral) 
		com.google.inject.internal.Errors errors
		java.lang.reflect.ParameterizedType parameterizedType
		com.google.inject.TypeLiteral guiceProviderType
		com.google.inject.TypeLiteral typeLiteral
		java.lang.reflect.Type type
		com.google.inject.TypeLiteral wrappedPrimitives
	private static boolean isFullySpecified (java.lang.reflect.Type) 
		java.lang.reflect.Type type
	public static java.lang.reflect.Type canonicalize (java.lang.reflect.Type) 
		Class c
		java.lang.reflect.ParameterizedType p
		java.lang.reflect.GenericArrayType g
		java.lang.reflect.WildcardType w
		java.lang.reflect.Type type
	public static java.lang.Class getRawType (java.lang.reflect.Type) 
		java.lang.reflect.ParameterizedType parameterizedType
		java.lang.reflect.Type rawType
		java.lang.reflect.Type componentType
		java.lang.reflect.Type type
	public static boolean equals (java.lang.reflect.Type, java.lang.reflect.Type) 
		java.lang.reflect.ParameterizedType pa
		java.lang.reflect.ParameterizedType pb
		java.lang.reflect.GenericArrayType ga
		java.lang.reflect.GenericArrayType gb
		java.lang.reflect.WildcardType wa
		java.lang.reflect.WildcardType wb
		java.lang.reflect.TypeVariable va
		java.lang.reflect.TypeVariable vb
		java.lang.reflect.Type a
		java.lang.reflect.Type b
	private static int hashCodeOrZero (java.lang.Object) 
		Object o
	public static java.lang.String typeToString (java.lang.reflect.Type) 
		java.lang.reflect.Type type
	public static java.lang.Class memberType (java.lang.reflect.Member) 
		java.lang.reflect.Member member
	public static java.lang.String toString (java.lang.reflect.Member) 
		java.lang.reflect.Member member
		Class memberType
	public static java.lang.reflect.Type getGenericSupertype (java.lang.reflect.Type, java.lang.Class, java.lang.Class) 
		int i
		int length
		Class[] interfaces
		Class rawSupertype
		java.lang.reflect.Type type
		Class rawType
		Class toResolve
	public static java.lang.reflect.Type resolveTypeVariable (java.lang.reflect.Type, java.lang.Class, java.lang.reflect.TypeVariable) 
		int index
		java.lang.reflect.Type type
		Class rawType
		java.lang.reflect.TypeVariable unknown
		Class declaredByRaw
		java.lang.reflect.Type declaredBy
	private static int indexOf (java.lang.Object[], java.lang.Object) 
		int i
		Object[] array
		Object toFind
	private static java.lang.Class declaringClassOf (java.lang.reflect.TypeVariable) 
		java.lang.reflect.TypeVariable typeVariable
		java.lang.reflect.GenericDeclaration genericDeclaration
	private static void checkNotPrimitive (java.lang.reflect.Type, java.lang.String) 
		java.lang.reflect.Type type
		String use
	static void access$000 (java.lang.reflect.Type, java.lang.String) 
		java.lang.reflect.Type x0
		String x1
	static boolean access$100 (java.lang.reflect.Type) 
		java.lang.reflect.Type x0
	static int access$200 (java.lang.Object) 
		Object x0
	static void  () 
}

com/google/inject/internal/Nullability.class
Nullability.java
package com.google.inject.internal
public com.google.inject.internal.Nullability extends java.lang.Object {
	private void  () 
	public static boolean allowsNull (java.lang.annotation.Annotation[]) 
		java.lang.annotation.Annotation a
		java.lang.annotation.Annotation[] arr$
		int len$
		int i$
		java.lang.annotation.Annotation[] annotations
}

com/google/inject/internal/Nullable.class
Nullable.java
package com.google.inject.internal
public abstract com.google.inject.internal.Nullable extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/internal/PrivateElementProcessor.class
PrivateElementProcessor.java
package com.google.inject.internal
final com.google.inject.internal.PrivateElementProcessor extends com.google.inject.internal.AbstractProcessor {
	private final com.google.inject.internal.InternalInjectorCreator$InjectorOptions options
	private final java.util.List injectorShellBuilders
	void  (com.google.inject.internal.Errors, com.google.inject.internal.InternalInjectorCreator$InjectorOptions) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalInjectorCreator$InjectorOptions options
	public java.lang.Boolean visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements privateElements
		com.google.inject.internal.InjectorShell$Builder builder
	public java.util.List getInjectorShellBuilders () 
	public volatile java.lang.Object visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements x0
}

com/google/inject/internal/PrivateElementsImpl.class
PrivateElementsImpl.java
package com.google.inject.internal
public final com.google.inject.internal.PrivateElementsImpl extends java.lang.Object implements com.google.inject.spi.PrivateElements  {
	private final Object source
	private java.util.List elementsMutable
	private java.util.List exposureBuilders
	private com.google.inject.internal.util.ImmutableList elements
	private com.google.inject.internal.util.ImmutableMap exposedKeysToSources
	private com.google.inject.Injector injector
	public void  (java.lang.Object) 
		Object source
	public java.lang.Object getSource () 
	public java.util.List getElements () 
	public com.google.inject.Injector getInjector () 
	public void initInjector (com.google.inject.Injector) 
		com.google.inject.Injector injector
	public java.util.Set getExposedKeys () 
		com.google.inject.internal.ExposureBuilder exposureBuilder
		java.util.Iterator i$
		java.util.Map exposedKeysToSourcesMutable
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public java.util.List getElementsMutable () 
	public void addExposureBuilder (com.google.inject.internal.ExposureBuilder) 
		com.google.inject.internal.ExposureBuilder exposureBuilder
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.spi.Element element
		java.util.Iterator i$
		java.util.Map$Entry entry
		java.util.Iterator i$
		com.google.inject.Binder binder
		com.google.inject.PrivateBinder privateBinder
	public java.lang.Object getExposedSource (com.google.inject.Key) 
		com.google.inject.Key key
		Object source
	public java.lang.String toString () 
}

com/google/inject/internal/ProviderInstanceBindingImpl.class
ProviderInstanceBindingImpl.java
package com.google.inject.internal
final com.google.inject.internal.ProviderInstanceBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.ProviderInstanceBinding  {
	final com.google.inject.Provider providerInstance
	final com.google.inject.internal.util.ImmutableSet injectionPoints
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object, com.google.inject.internal.InternalFactory, com.google.inject.internal.Scoping, com.google.inject.Provider, java.util.Set) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
		com.google.inject.internal.InternalFactory internalFactory
		com.google.inject.internal.Scoping scoping
		com.google.inject.Provider providerInstance
		java.util.Set injectionPoints
	public void  (java.lang.Object, com.google.inject.Key, com.google.inject.internal.Scoping, java.util.Set, com.google.inject.Provider) 
		Object source
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
		java.util.Set injectionPoints
		com.google.inject.Provider providerInstance
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public com.google.inject.Provider getProviderInstance () 
	public java.util.Set getInjectionPoints () 
	public java.util.Set getDependencies () 
	public com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	public com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.ProviderInstanceBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/ProviderMethod.class
ProviderMethod.java
package com.google.inject.internal
public com.google.inject.internal.ProviderMethod extends java.lang.Object implements com.google.inject.spi.ProviderWithDependencies  {
	private final com.google.inject.Key key
	private final Class scopeAnnotation
	private final Object instance
	private final java.lang.reflect.Method method
	private final com.google.inject.internal.util.ImmutableSet dependencies
	private final java.util.List parameterProviders
	private final boolean exposed
	void  (com.google.inject.Key, java.lang.reflect.Method, java.lang.Object, com.google.inject.internal.util.ImmutableSet, java.util.List, java.lang.Class) 
		com.google.inject.Key key
		java.lang.reflect.Method method
		Object instance
		com.google.inject.internal.util.ImmutableSet dependencies
		java.util.List parameterProviders
		Class scopeAnnotation
	public com.google.inject.Key getKey () 
	public java.lang.reflect.Method getMethod () 
	public java.lang.Object getInstance () 
	public void configure (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.Object get () 
		int i
		Object result
		IllegalAccessException e
		java.lang.reflect.InvocationTargetException e
		Object[] parameters
	public java.util.Set getDependencies () 
	public java.lang.String toString () 
}

com/google/inject/internal/ProviderMethodsModule$LogProvider.class
ProviderMethodsModule.java
package com.google.inject.internal
final com.google.inject.internal.ProviderMethodsModule$LogProvider extends java.lang.Object implements com.google.inject.Provider  {
	private final String name
	public void  (java.lang.reflect.Method) 
		java.lang.reflect.Method method
	public java.util.logging.Logger get () 
	public volatile java.lang.Object get () 
}

com/google/inject/internal/ProviderMethodsModule.class
ProviderMethodsModule.java
package com.google.inject.internal
public final com.google.inject.internal.ProviderMethodsModule extends java.lang.Object implements com.google.inject.Module  {
	private final Object delegate
	private final com.google.inject.TypeLiteral typeLiteral
	private void  (java.lang.Object) 
		Object delegate
	public static com.google.inject.Module forModule (com.google.inject.Module) 
		com.google.inject.Module module
	public static com.google.inject.Module forObject (java.lang.Object) 
		Object object
	public synchronized void configure (com.google.inject.Binder) 
		com.google.inject.internal.ProviderMethod providerMethod
		java.util.Iterator i$
		com.google.inject.Binder binder
	public java.util.List getProviderMethods (com.google.inject.Binder) 
		java.lang.reflect.Method method
		java.lang.reflect.Method[] arr$
		int len$
		int i$
		Class c
		com.google.inject.Binder binder
		java.util.List result
	com.google.inject.internal.ProviderMethod createProviderMethod (com.google.inject.Binder, java.lang.reflect.Method) 
		com.google.inject.Key loggerKey
		com.google.inject.Key key
		int i
		com.google.inject.spi.Message message
		java.util.Iterator i$
		com.google.inject.Binder binder
		java.lang.reflect.Method method
		com.google.inject.internal.Errors errors
		java.util.List dependencies
		java.util.List parameterProviders
		java.util.List parameterTypes
		java.lang.annotation.Annotation[][] parameterAnnotations
		com.google.inject.TypeLiteral returnType
		com.google.inject.Key key
		Class scopeAnnotation
	com.google.inject.Key getKey (com.google.inject.internal.Errors, com.google.inject.TypeLiteral, java.lang.reflect.Member, java.lang.annotation.Annotation[]) 
		com.google.inject.internal.Errors errors
		com.google.inject.TypeLiteral type
		java.lang.reflect.Member member
		java.lang.annotation.Annotation[] annotations
		java.lang.annotation.Annotation bindingAnnotation
	public boolean equals (java.lang.Object) 
		Object o
	public int hashCode () 
}

com/google/inject/internal/ProviderToInternalFactoryAdapter$1.class
ProviderToInternalFactoryAdapter.java
package com.google.inject.internal
 com.google.inject.internal.ProviderToInternalFactoryAdapter$1 extends java.lang.Object implements com.google.inject.internal.ContextualCallable  {
	final com.google.inject.internal.Errors val$errors
	final com.google.inject.internal.ProviderToInternalFactoryAdapter this$0
	void  (com.google.inject.internal.ProviderToInternalFactoryAdapter, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
	public java.lang.Object call (com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
}

com/google/inject/internal/ProviderToInternalFactoryAdapter.class
ProviderToInternalFactoryAdapter.java
package com.google.inject.internal
final com.google.inject.internal.ProviderToInternalFactoryAdapter extends java.lang.Object implements com.google.inject.Provider  {
	private final com.google.inject.internal.InjectorImpl injector
	private final com.google.inject.internal.InternalFactory internalFactory
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.internal.InternalFactory) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.internal.InternalFactory internalFactory
	public java.lang.Object get () 
		Object t
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.Errors errors
	public java.lang.String toString () 
	static com.google.inject.internal.InternalFactory access$000 (com.google.inject.internal.ProviderToInternalFactoryAdapter) 
		com.google.inject.internal.ProviderToInternalFactoryAdapter x0
}

com/google/inject/internal/ScopeBindingProcessor.class
ScopeBindingProcessor.java
package com.google.inject.internal
final com.google.inject.internal.ScopeBindingProcessor extends com.google.inject.internal.AbstractProcessor {
	void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public java.lang.Boolean visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding command
		com.google.inject.Scope scope
		Class annotationType
		com.google.inject.Scope existing
	public volatile java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding x0
}

com/google/inject/internal/Scoping$1.class
Scoping.java
package com.google.inject.internal
 com.google.inject.internal.Scoping$1 extends com.google.inject.internal.Scoping {
	void  () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	public com.google.inject.Scope getScopeInstance () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
		com.google.inject.binder.ScopedBindingBuilder scopedBindingBuilder
}

com/google/inject/internal/Scoping$2.class
Scoping.java
package com.google.inject.internal
 com.google.inject.internal.Scoping$2 extends com.google.inject.internal.Scoping {
	void  () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	public java.lang.Class getScopeAnnotation () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
		com.google.inject.binder.ScopedBindingBuilder scopedBindingBuilder
}

com/google/inject/internal/Scoping$3.class
Scoping.java
package com.google.inject.internal
 com.google.inject.internal.Scoping$3 extends com.google.inject.internal.Scoping {
	void  () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	public com.google.inject.Scope getScopeInstance () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
		com.google.inject.binder.ScopedBindingBuilder scopedBindingBuilder
}

com/google/inject/internal/Scoping$4.class
Scoping.java
package com.google.inject.internal
 com.google.inject.internal.Scoping$4 extends com.google.inject.internal.Scoping {
	void  () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	public com.google.inject.Scope getScopeInstance () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
		com.google.inject.binder.ScopedBindingBuilder scopedBindingBuilder
}

com/google/inject/internal/Scoping$5.class
Scoping.java
package com.google.inject.internal
 com.google.inject.internal.Scoping$5 extends com.google.inject.internal.Scoping {
	final Class val$scopingAnnotation
	void  (java.lang.Class) 
	public java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	public java.lang.Class getScopeAnnotation () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
		com.google.inject.binder.ScopedBindingBuilder scopedBindingBuilder
}

com/google/inject/internal/Scoping$6.class
Scoping.java
package com.google.inject.internal
 com.google.inject.internal.Scoping$6 extends com.google.inject.internal.Scoping {
	final com.google.inject.Scope val$scope
	void  (com.google.inject.Scope) 
	public java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
		com.google.inject.spi.BindingScopingVisitor visitor
	public com.google.inject.Scope getScopeInstance () 
	public java.lang.String toString () 
	public void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
		com.google.inject.binder.ScopedBindingBuilder scopedBindingBuilder
}

com/google/inject/internal/Scoping.class
Scoping.java
package com.google.inject.internal
public abstract com.google.inject.internal.Scoping extends java.lang.Object {
	public static final com.google.inject.internal.Scoping UNSCOPED
	public static final com.google.inject.internal.Scoping SINGLETON_ANNOTATION
	public static final com.google.inject.internal.Scoping SINGLETON_INSTANCE
	public static final com.google.inject.internal.Scoping EAGER_SINGLETON
	public static com.google.inject.internal.Scoping forAnnotation (java.lang.Class) 
		Class scopingAnnotation
	public static com.google.inject.internal.Scoping forInstance (com.google.inject.Scope) 
		com.google.inject.Scope scope
	public boolean isExplicitlyScoped () 
	public boolean isNoScope () 
	public boolean isEagerSingleton (com.google.inject.Stage) 
		com.google.inject.Stage stage
	public com.google.inject.Scope getScopeInstance () 
	public java.lang.Class getScopeAnnotation () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.Scoping o
		Object obj
	public int hashCode () 
	public abstract java.lang.Object acceptVisitor (com.google.inject.spi.BindingScopingVisitor) 
	public abstract void applyTo (com.google.inject.binder.ScopedBindingBuilder) 
	private void  () 
	static com.google.inject.internal.InternalFactory scope (com.google.inject.Key, com.google.inject.internal.InjectorImpl, com.google.inject.internal.InternalFactory, java.lang.Object, com.google.inject.internal.Scoping) 
		com.google.inject.Key key
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.internal.InternalFactory creator
		Object source
		com.google.inject.internal.Scoping scoping
		com.google.inject.Scope scope
		com.google.inject.Provider scoped
	static com.google.inject.internal.Scoping makeInjectable (com.google.inject.internal.Scoping, com.google.inject.internal.InjectorImpl, com.google.inject.internal.Errors) 
		com.google.inject.internal.Scoping scoping
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.internal.Errors errors
		Class scopeAnnotation
		com.google.inject.Scope scope
	void  (com.google.inject.internal.Scoping$1) 
		com.google.inject.internal.Scoping$1 x0
	static void  () 
}

com/google/inject/internal/SingleFieldInjector.class
SingleFieldInjector.java
package com.google.inject.internal
final com.google.inject.internal.SingleFieldInjector extends java.lang.Object implements com.google.inject.internal.SingleMemberInjector  {
	final java.lang.reflect.Field field
	final com.google.inject.spi.InjectionPoint injectionPoint
	final com.google.inject.spi.Dependency dependency
	final com.google.inject.internal.InternalFactory factory
	public void  (com.google.inject.internal.InjectorImpl, com.google.inject.spi.InjectionPoint, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.spi.InjectionPoint injectionPoint
		com.google.inject.internal.Errors errors
	public com.google.inject.spi.InjectionPoint getInjectionPoint () 
	public void inject (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, java.lang.Object) 
		Object value
		com.google.inject.internal.ErrorsException e
		IllegalAccessException e
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		Object o
		com.google.inject.spi.Dependency previous
}

com/google/inject/internal/SingleMemberInjector.class
SingleMemberInjector.java
package com.google.inject.internal
abstract com.google.inject.internal.SingleMemberInjector extends java.lang.Object {
	public abstract void inject (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, java.lang.Object) 
	public abstract com.google.inject.spi.InjectionPoint getInjectionPoint () 
}

com/google/inject/internal/SingleMethodInjector$1.class
SingleMethodInjector.java
package com.google.inject.internal
 com.google.inject.internal.SingleMethodInjector$1 extends java.lang.Object implements com.google.inject.internal.InjectorImpl$MethodInvoker  {
	final java.lang.reflect.Method val$method
	final com.google.inject.internal.SingleMethodInjector this$0
	void  (com.google.inject.internal.SingleMethodInjector, java.lang.reflect.Method)  throws java.lang.reflect.InvocationTargetException java.lang.IllegalAccessException 
	public transient java.lang.Object invoke (java.lang.Object, java.lang.Object[])  throws java.lang.IllegalAccessException java.lang.reflect.InvocationTargetException 
		Object target
		Object[] parameters
}

com/google/inject/internal/SingleMethodInjector.class
SingleMethodInjector.java
package com.google.inject.internal
final com.google.inject.internal.SingleMethodInjector extends java.lang.Object implements com.google.inject.internal.SingleMemberInjector  {
	private final com.google.inject.internal.InjectorImpl$MethodInvoker methodInvoker
	private final com.google.inject.internal.SingleParameterInjector[] parameterInjectors
	private final com.google.inject.spi.InjectionPoint injectionPoint
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.spi.InjectionPoint, com.google.inject.internal.Errors)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.spi.InjectionPoint injectionPoint
		com.google.inject.internal.Errors errors
		java.lang.reflect.Method method
	private com.google.inject.internal.InjectorImpl$MethodInvoker createMethodInvoker (java.lang.reflect.Method) 
		java.lang.reflect.Method method
		int modifiers
	public com.google.inject.spi.InjectionPoint getInjectionPoint () 
	public void inject (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, java.lang.Object) 
		com.google.inject.internal.ErrorsException e
		IllegalAccessException e
		Throwable cause
		java.lang.reflect.InvocationTargetException userException
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		Object o
		Object[] parameters
}

com/google/inject/internal/SingleParameterInjector.class
SingleParameterInjector.java
package com.google.inject.internal
final com.google.inject.internal.SingleParameterInjector extends java.lang.Object {
	private static final Object[] NO_ARGUMENTS
	private final com.google.inject.spi.Dependency dependency
	private final com.google.inject.internal.InternalFactory factory
	void  (com.google.inject.spi.Dependency, com.google.inject.internal.InternalFactory) 
		com.google.inject.spi.Dependency dependency
		com.google.inject.internal.InternalFactory factory
	private java.lang.Object inject (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext)  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency previous
	static java.lang.Object[] getAll (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.internal.SingleParameterInjector[])  throws com.google.inject.internal.ErrorsException 
		com.google.inject.internal.ErrorsException e
		com.google.inject.internal.SingleParameterInjector parameterInjector
		int i
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.internal.SingleParameterInjector[] parameterInjectors
		int numErrorsBefore
		int size
		Object[] parameters
	static void  () 
}

com/google/inject/internal/State$1.class
State.java
package com.google.inject.internal
 com.google.inject.internal.State$1 extends java.lang.Object implements com.google.inject.internal.State  {
	void  () 
	public com.google.inject.internal.State parent () 
	public com.google.inject.internal.BindingImpl getExplicitBinding (com.google.inject.Key) 
		com.google.inject.Key key
	public java.util.Map getExplicitBindingsThisLevel () 
	public void putBinding (com.google.inject.Key, com.google.inject.internal.BindingImpl) 
		com.google.inject.Key key
		com.google.inject.internal.BindingImpl binding
	public com.google.inject.Scope getScope (java.lang.Class) 
		Class scopingAnnotation
	public void putAnnotation (java.lang.Class, com.google.inject.Scope) 
		Class annotationType
		com.google.inject.Scope scope
	public void addConverter (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	public com.google.inject.spi.TypeConverterBinding getConverter (java.lang.String, com.google.inject.TypeLiteral, com.google.inject.internal.Errors, java.lang.Object) 
		String stringValue
		com.google.inject.TypeLiteral type
		com.google.inject.internal.Errors errors
		Object source
	public java.util.List getConvertersThisLevel () 
	public void addTypeListener (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding typeListenerBinding
	public java.util.List getTypeListenerBindings () 
	public void blacklist (com.google.inject.Key) 
		com.google.inject.Key key
	public boolean isBlacklisted (com.google.inject.Key) 
		com.google.inject.Key key
	public java.lang.Object lock () 
	public java.util.Map getScopes () 
}

com/google/inject/internal/State.class
State.java
package com.google.inject.internal
abstract com.google.inject.internal.State extends java.lang.Object {
	public static final com.google.inject.internal.State NONE
	public abstract com.google.inject.internal.State parent () 
	public abstract com.google.inject.internal.BindingImpl getExplicitBinding (com.google.inject.Key) 
	public abstract java.util.Map getExplicitBindingsThisLevel () 
	public abstract void putBinding (com.google.inject.Key, com.google.inject.internal.BindingImpl) 
	public abstract com.google.inject.Scope getScope (java.lang.Class) 
	public abstract void putAnnotation (java.lang.Class, com.google.inject.Scope) 
	public abstract void addConverter (com.google.inject.spi.TypeConverterBinding) 
	public abstract com.google.inject.spi.TypeConverterBinding getConverter (java.lang.String, com.google.inject.TypeLiteral, com.google.inject.internal.Errors, java.lang.Object) 
	public abstract java.util.List getConvertersThisLevel () 
	public abstract void addTypeListener (com.google.inject.spi.TypeListenerBinding) 
	public abstract java.util.List getTypeListenerBindings () 
	public abstract void blacklist (com.google.inject.Key) 
	public abstract boolean isBlacklisted (com.google.inject.Key) 
	public abstract java.lang.Object lock () 
	public abstract java.util.Map getScopes () 
	static void  () 
}

com/google/inject/internal/TypeConverterBindingProcessor$1.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.TypeConverterBindingProcessor$1 extends java.lang.Object implements com.google.inject.spi.TypeConverter  {
	final com.google.inject.internal.TypeConverterBindingProcessor this$0
	void  (com.google.inject.internal.TypeConverterBindingProcessor) 
	public java.lang.Object convert (java.lang.String, com.google.inject.TypeLiteral) 
		String value
		com.google.inject.TypeLiteral toType
	public java.lang.String toString () 
}

com/google/inject/internal/TypeConverterBindingProcessor$2.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.TypeConverterBindingProcessor$2 extends java.lang.Object implements com.google.inject.spi.TypeConverter  {
	final com.google.inject.internal.TypeConverterBindingProcessor this$0
	void  (com.google.inject.internal.TypeConverterBindingProcessor) 
	public java.lang.Object convert (java.lang.String, com.google.inject.TypeLiteral) 
		String value
		com.google.inject.TypeLiteral toType
	public java.lang.String toString () 
}

com/google/inject/internal/TypeConverterBindingProcessor$3.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.TypeConverterBindingProcessor$3 extends com.google.inject.matcher.AbstractMatcher {
	final com.google.inject.internal.TypeConverterBindingProcessor this$0
	void  (com.google.inject.internal.TypeConverterBindingProcessor) 
	public boolean matches (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/internal/TypeConverterBindingProcessor$4.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.TypeConverterBindingProcessor$4 extends java.lang.Object implements com.google.inject.spi.TypeConverter  {
	final com.google.inject.internal.TypeConverterBindingProcessor this$0
	void  (com.google.inject.internal.TypeConverterBindingProcessor) 
	public java.lang.Object convert (java.lang.String, com.google.inject.TypeLiteral) 
		ClassNotFoundException e
		String value
		com.google.inject.TypeLiteral toType
	public java.lang.String toString () 
}

com/google/inject/internal/TypeConverterBindingProcessor$5.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.TypeConverterBindingProcessor$5 extends java.lang.Object implements com.google.inject.spi.TypeConverter  {
	final java.lang.reflect.Method val$parser
	final Class val$wrapperType
	final com.google.inject.internal.TypeConverterBindingProcessor this$0
	void  (com.google.inject.internal.TypeConverterBindingProcessor, java.lang.reflect.Method, java.lang.Class) 
	public java.lang.Object convert (java.lang.String, com.google.inject.TypeLiteral) 
		IllegalAccessException e
		java.lang.reflect.InvocationTargetException e
		String value
		com.google.inject.TypeLiteral toType
	public java.lang.String toString () 
}

com/google/inject/internal/TypeConverterBindingProcessor$6.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
 com.google.inject.internal.TypeConverterBindingProcessor$6 extends com.google.inject.matcher.AbstractMatcher {
	final com.google.inject.matcher.Matcher val$typeMatcher
	final com.google.inject.internal.TypeConverterBindingProcessor this$0
	void  (com.google.inject.internal.TypeConverterBindingProcessor, com.google.inject.matcher.Matcher) 
	public boolean matches (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
		java.lang.reflect.Type type
		Class clazz
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/internal/TypeConverterBindingProcessor.class
TypeConverterBindingProcessor.java
package com.google.inject.internal
final com.google.inject.internal.TypeConverterBindingProcessor extends com.google.inject.internal.AbstractProcessor {
	void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	void prepareBuiltInConverters (com.google.inject.internal.InjectorImpl) 
		com.google.inject.internal.InjectorImpl injector
	private void convertToPrimitiveType (java.lang.Class, java.lang.Class) 
		java.lang.reflect.Method parser
		com.google.inject.spi.TypeConverter typeConverter
		NoSuchMethodException e
		Class primitiveType
		Class wrapperType
	private void convertToClass (java.lang.Class, com.google.inject.spi.TypeConverter) 
		Class type
		com.google.inject.spi.TypeConverter converter
	private void convertToClasses (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeConverter converter
	private void internalConvertToTypes (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeConverter converter
	public java.lang.Boolean visit (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding command
	public volatile java.lang.Object visit (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding x0
}

com/google/inject/internal/TypeListenerBindingProcessor.class
TypeListenerBindingProcessor.java
package com.google.inject.internal
final com.google.inject.internal.TypeListenerBindingProcessor extends com.google.inject.internal.AbstractProcessor {
	void  (com.google.inject.internal.Errors) 
		com.google.inject.internal.Errors errors
	public java.lang.Boolean visit (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding binding
	public volatile java.lang.Object visit (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding x0
}

com/google/inject/internal/UniqueAnnotations$1.class
UniqueAnnotations.java
package com.google.inject.internal
 com.google.inject.internal.UniqueAnnotations$1 extends java.lang.Object implements com.google.inject.internal.UniqueAnnotations$Internal  {
	final int val$value
	void  (int) 
	public int value () 
	public java.lang.Class annotationType () 
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		Object o
	public int hashCode () 
}

com/google/inject/internal/UniqueAnnotations$Internal.class
UniqueAnnotations.java
package com.google.inject.internal
abstract com.google.inject.internal.UniqueAnnotations$Internal extends java.lang.Object implements java.lang.annotation.Annotation  {
	public abstract int value () 
}

com/google/inject/internal/UniqueAnnotations.class
UniqueAnnotations.java
package com.google.inject.internal
public com.google.inject.internal.UniqueAnnotations extends java.lang.Object {
	private static final java.util.concurrent.atomic.AtomicInteger nextUniqueValue
	private void  () 
	public static java.lang.annotation.Annotation create () 
	static java.lang.annotation.Annotation create (int) 
		int value
	static void  () 
}

com/google/inject/internal/UntargettedBindingImpl$1.class
UntargettedBindingImpl.java
package com.google.inject.internal
 com.google.inject.internal.UntargettedBindingImpl$1 extends java.lang.Object implements com.google.inject.internal.InternalFactory  {
	void  () 
	public java.lang.Object get (com.google.inject.internal.Errors, com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency, boolean) 
		com.google.inject.internal.Errors errors
		com.google.inject.internal.InternalContext context
		com.google.inject.spi.Dependency dependency
		boolean linked
}

com/google/inject/internal/UntargettedBindingImpl.class
UntargettedBindingImpl.java
package com.google.inject.internal
final com.google.inject.internal.UntargettedBindingImpl extends com.google.inject.internal.BindingImpl implements com.google.inject.spi.UntargettedBinding  {
	void  (com.google.inject.internal.InjectorImpl, com.google.inject.Key, java.lang.Object) 
		com.google.inject.internal.InjectorImpl injector
		com.google.inject.Key key
		Object source
	public void  (java.lang.Object, com.google.inject.Key, com.google.inject.internal.Scoping) 
		Object source
		com.google.inject.Key key
		com.google.inject.internal.Scoping scoping
	public java.lang.Object acceptTargetVisitor (com.google.inject.spi.BindingTargetVisitor) 
		com.google.inject.spi.BindingTargetVisitor visitor
	public com.google.inject.internal.BindingImpl withScoping (com.google.inject.internal.Scoping) 
		com.google.inject.internal.Scoping scoping
	public com.google.inject.internal.BindingImpl withKey (com.google.inject.Key) 
		com.google.inject.Key key
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
	public boolean equals (java.lang.Object) 
		com.google.inject.internal.UntargettedBindingImpl o
		Object obj
	public int hashCode () 
}

com/google/inject/internal/WeakKeySet.class
WeakKeySet.java
package com.google.inject.internal
final com.google.inject.internal.WeakKeySet extends java.lang.Object {
	private java.util.Set backingSet
	void  () 
	public boolean add (com.google.inject.Key) 
		com.google.inject.Key key
	public boolean contains (java.lang.Object) 
		Object o
}

com/google/inject/internal/util/AbstractIterator$1.class
AbstractIterator.java
package com.google.inject.internal.util
 com.google.inject.internal.util.AbstractIterator$1 extends java.lang.Object {
	static final int[] $SwitchMap$com$google$inject$internal$util$AbstractIterator$State
	static void  () 
		NoSuchFieldError ex
		NoSuchFieldError ex
}

com/google/inject/internal/util/AbstractIterator$State.class
AbstractIterator.java
package com.google.inject.internal.util
final com.google.inject.internal.util.AbstractIterator$State extends java.lang.Enum {
	public static final com.google.inject.internal.util.AbstractIterator$State READY
	public static final com.google.inject.internal.util.AbstractIterator$State NOT_READY
	public static final com.google.inject.internal.util.AbstractIterator$State DONE
	public static final com.google.inject.internal.util.AbstractIterator$State FAILED
	private static final com.google.inject.internal.util.AbstractIterator$State[] $VALUES
	public static final com.google.inject.internal.util.AbstractIterator$State[] values () 
	public static com.google.inject.internal.util.AbstractIterator$State valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	static void  () 
}

com/google/inject/internal/util/AbstractIterator.class
AbstractIterator.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.AbstractIterator extends java.lang.Object implements java.util.Iterator  {
	private com.google.inject.internal.util.AbstractIterator$State state
	private Object next
	public void  () 
	protected abstract java.lang.Object computeNext () 
	protected final java.lang.Object endOfData () 
	public boolean hasNext () 
	private boolean tryToComputeNext () 
	public java.lang.Object next () 
	public void remove () 
}

com/google/inject/internal/util/AbstractMapEntry.class
AbstractMapEntry.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.AbstractMapEntry extends java.lang.Object implements java.util.Map$Entry  {
	public void  () 
	public abstract java.lang.Object getKey () 
	public abstract java.lang.Object getValue () 
	public java.lang.Object setValue (java.lang.Object) 
		Object value
	public boolean equals (java.lang.Object) 
		java.util.Map$Entry that
		Object object
	public int hashCode () 
		Object k
		Object v
	public java.lang.String toString () 
}

com/google/inject/internal/util/AsynchronousComputationException.class
AsynchronousComputationException.java
package com.google.inject.internal.util
public com.google.inject.internal.util.AsynchronousComputationException extends com.google.inject.internal.util.ComputationException {
	public void  (java.lang.Throwable) 
		Throwable cause
}

com/google/inject/internal/util/Classes.class
Classes.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Classes extends java.lang.Object {
	public void  () 
	public static boolean isInnerClass (java.lang.Class) 
		Class clazz
	public static boolean isConcrete (java.lang.Class) 
		Class clazz
		int modifiers
}

com/google/inject/internal/util/Collections2.class
Collections2.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Collections2 extends java.lang.Object {
	private void  () 
	static java.util.Collection toCollection (java.lang.Iterable) 
		Iterable iterable
	static boolean setEquals (java.util.Set, java.lang.Object) 
		java.util.Set thatSet
		java.util.Set thisSet
		Object object
}

com/google/inject/internal/util/ComputationException.class
ComputationException.java
package com.google.inject.internal.util
public com.google.inject.internal.util.ComputationException extends java.lang.RuntimeException {
	public void  (java.lang.Throwable) 
		Throwable cause
}

com/google/inject/internal/util/CustomConcurrentHashMap$Builder.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Builder extends java.lang.Object {
	float loadFactor
	int initialCapacity
	int concurrencyLevel
	void  () 
	public com.google.inject.internal.util.CustomConcurrentHashMap$Builder loadFactor (float) 
		float loadFactor
	public com.google.inject.internal.util.CustomConcurrentHashMap$Builder initialCapacity (int) 
		int initialCapacity
	public com.google.inject.internal.util.CustomConcurrentHashMap$Builder concurrencyLevel (int) 
		int concurrencyLevel
	public java.util.concurrent.ConcurrentMap buildMap (com.google.inject.internal.util.CustomConcurrentHashMap$Strategy) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy strategy
	public java.util.concurrent.ConcurrentMap buildComputingMap (com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy, com.google.inject.internal.util.Function) 
		com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy strategy
		com.google.inject.internal.util.Function computer
}

com/google/inject/internal/util/CustomConcurrentHashMap$ComputingImpl.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.CustomConcurrentHashMap$ComputingImpl extends com.google.inject.internal.util.CustomConcurrentHashMap$Impl {
	static final long serialVersionUID
	final com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy computingStrategy
	final com.google.inject.internal.util.Function computer
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy, com.google.inject.internal.util.CustomConcurrentHashMap$Builder, com.google.inject.internal.util.Function) 
		com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy strategy
		com.google.inject.internal.util.CustomConcurrentHashMap$Builder builder
		com.google.inject.internal.util.Function computer
	public java.lang.Object get (java.lang.Object) 
		int count
		java.util.concurrent.atomic.AtomicReferenceArray table
		int index
		Object first
		Object value
		boolean success
		boolean created
		Object value
		InterruptedException e
		Object entry
		boolean interrupted
		Object k
		Object key
		int hash
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
}

com/google/inject/internal/util/CustomConcurrentHashMap$ComputingStrategy.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy extends java.lang.Object implements com.google.inject.internal.util.CustomConcurrentHashMap$Strategy  {
	public abstract java.lang.Object compute (java.lang.Object, java.lang.Object, com.google.inject.internal.util.Function) 
	public abstract java.lang.Object waitForValue (java.lang.Object)  throws java.lang.InterruptedException 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$EntryIterator.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$EntryIterator extends com.google.inject.internal.util.CustomConcurrentHashMap$Impl$HashIterator implements java.util.Iterator  {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.util.Map$Entry next () 
	public volatile java.lang.Object next () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$EntrySet.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$EntrySet extends java.util.AbstractSet {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.util.Iterator iterator () 
	public boolean contains (java.lang.Object) 
		Object o
		java.util.Map$Entry e
		Object key
		Object v
	public boolean remove (java.lang.Object) 
		Object o
		java.util.Map$Entry e
		Object key
	public int size () 
	public boolean isEmpty () 
	public void clear () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$Fields.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Fields extends java.lang.Object {
	static final java.lang.reflect.Field loadFactor
	static final java.lang.reflect.Field segmentShift
	static final java.lang.reflect.Field segmentMask
	static final java.lang.reflect.Field segments
	static final java.lang.reflect.Field strategy
	void  () 
	static java.lang.reflect.Field findField (java.lang.String) 
		java.lang.reflect.Field f
		NoSuchFieldException e
		String name
	static void  () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$HashIterator.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.CustomConcurrentHashMap$Impl$HashIterator extends java.lang.Object {
	int nextSegmentIndex
	int nextTableIndex
	java.util.concurrent.atomic.AtomicReferenceArray currentTable
	Object nextEntry
	com.google.inject.internal.util.CustomConcurrentHashMap$Impl$WriteThroughEntry nextExternal
	com.google.inject.internal.util.CustomConcurrentHashMap$Impl$WriteThroughEntry lastReturned
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public boolean hasMoreElements () 
	final void advance () 
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment seg
	boolean nextInChain () 
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	boolean nextInTable () 
	boolean advanceTo (java.lang.Object) 
		Object entry
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
		Object key
		Object value
	public boolean hasNext () 
	com.google.inject.internal.util.CustomConcurrentHashMap$Impl$WriteThroughEntry nextEntry () 
	public void remove () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$InternalsImpl.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.CustomConcurrentHashMap$Impl$InternalsImpl extends java.lang.Object implements com.google.inject.internal.util.CustomConcurrentHashMap$Internals java.io.Serializable  {
	static final long serialVersionUID
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.lang.Object getEntry (java.lang.Object) 
		Object key
		int hash
	public boolean removeEntry (java.lang.Object, java.lang.Object) 
		Object entry
		Object value
		int hash
	public boolean removeEntry (java.lang.Object) 
		Object entry
		int hash
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$KeyIterator.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$KeyIterator extends com.google.inject.internal.util.CustomConcurrentHashMap$Impl$HashIterator implements java.util.Iterator  {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.lang.Object next () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$KeySet.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$KeySet extends java.util.AbstractSet {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.util.Iterator iterator () 
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object o
	public boolean remove (java.lang.Object) 
		Object o
	public void clear () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$Segment.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment extends java.util.concurrent.locks.ReentrantLock {
	volatile int count
	int modCount
	int threshold
	volatile java.util.concurrent.atomic.AtomicReferenceArray table
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl, int) 
		int initialCapacity
	java.util.concurrent.atomic.AtomicReferenceArray newEntryArray (int) 
		int size
	void setTable (java.util.concurrent.atomic.AtomicReferenceArray) 
		java.util.concurrent.atomic.AtomicReferenceArray newTable
	java.lang.Object getFirst (int) 
		int hash
		java.util.concurrent.atomic.AtomicReferenceArray table
	public java.lang.Object getEntry (java.lang.Object, int) 
		Object entryKey
		Object e
		Object key
		int hash
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	java.lang.Object get (java.lang.Object, int) 
		Object key
		int hash
		Object entry
	boolean containsKey (java.lang.Object, int) 
		Object entryKey
		Object e
		Object key
		int hash
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	boolean containsValue (java.lang.Object) 
		Object entryValue
		Object e
		int i
		java.util.concurrent.atomic.AtomicReferenceArray table
		int length
		Object value
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	boolean replace (java.lang.Object, int, java.lang.Object, java.lang.Object) 
		Object entryValue
		Object entryKey
		Object e
		Object key
		int hash
		Object oldValue
		Object newValue
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	java.lang.Object replace (java.lang.Object, int, java.lang.Object) 
		Object entryValue
		Object entryKey
		Object e
		Object key
		int hash
		Object newValue
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	java.lang.Object put (java.lang.Object, int, java.lang.Object, boolean) 
		Object entryValue
		Object entryKey
		Object e
		int count
		java.util.concurrent.atomic.AtomicReferenceArray table
		int index
		Object first
		Object newEntry
		Object key
		int hash
		Object value
		boolean onlyIfAbsent
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	void expand () 
		int newIndex
		Object last
		int newIndex
		Object newNext
		Object key
		Object e
		Object tail
		int tailIndex
		Object next
		int headIndex
		Object head
		int oldIndex
		java.util.concurrent.atomic.AtomicReferenceArray oldTable
		int oldCapacity
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
		java.util.concurrent.atomic.AtomicReferenceArray newTable
		int newMask
	java.lang.Object remove (java.lang.Object, int) 
		Object pKey
		Object p
		Object entryValue
		Object newFirst
		Object entryKey
		Object e
		int count
		java.util.concurrent.atomic.AtomicReferenceArray table
		int index
		Object first
		Object key
		int hash
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	boolean remove (java.lang.Object, int, java.lang.Object) 
		Object pKey
		Object p
		Object newFirst
		Object entryValue
		Object entryKey
		Object e
		int count
		java.util.concurrent.atomic.AtomicReferenceArray table
		int index
		Object first
		Object key
		int hash
		Object value
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	public boolean removeEntry (java.lang.Object, int, java.lang.Object) 
		Object pKey
		Object p
		Object newFirst
		Object entryValue
		Object e
		int count
		java.util.concurrent.atomic.AtomicReferenceArray table
		int index
		Object first
		Object entry
		int hash
		Object value
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	public boolean removeEntry (java.lang.Object, int) 
		Object pKey
		Object p
		Object newFirst
		Object e
		int count
		java.util.concurrent.atomic.AtomicReferenceArray table
		int index
		Object first
		Object entry
		int hash
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy s
	void clear () 
		int i
		java.util.concurrent.atomic.AtomicReferenceArray table
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$ValueIterator.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$ValueIterator extends com.google.inject.internal.util.CustomConcurrentHashMap$Impl$HashIterator implements java.util.Iterator  {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.lang.Object next () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$Values.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Values extends java.util.AbstractCollection {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl) 
	public java.util.Iterator iterator () 
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object o
	public void clear () 
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl$WriteThroughEntry.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$WriteThroughEntry extends com.google.inject.internal.util.AbstractMapEntry {
	final Object key
	Object value
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl this$0
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Impl, java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public java.lang.Object getKey () 
	public java.lang.Object getValue () 
	public java.lang.Object setValue (java.lang.Object) 
		Object value
		Object oldValue
}

com/google/inject/internal/util/CustomConcurrentHashMap$Impl.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.CustomConcurrentHashMap$Impl extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable  {
	static final int MAXIMUM_CAPACITY
	static final int MAX_SEGMENTS
	static final int RETRIES_BEFORE_LOCK
	final com.google.inject.internal.util.CustomConcurrentHashMap$Strategy strategy
	final int segmentMask
	final int segmentShift
	final com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] segments
	final float loadFactor
	java.util.Set keySet
	java.util.Collection values
	java.util.Set entrySet
	private static final long serialVersionUID
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Strategy, com.google.inject.internal.util.CustomConcurrentHashMap$Builder) 
		int i
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy strategy
		com.google.inject.internal.util.CustomConcurrentHashMap$Builder builder
		int concurrencyLevel
		int initialCapacity
		int segmentShift
		int segmentCount
		int segmentCapacity
		int segmentSize
	int hash (java.lang.Object) 
		Object key
		int h
	com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] newSegmentArray (int) 
		int ssize
	com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segmentFor (int) 
		int hash
	public boolean isEmpty () 
		int i
		int i
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] segments
		int[] mc
		int mcsum
	public int size () 
		int i
		int i
		int mcsum
		int k
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] segments
		long sum
		long check
		int[] mc
	public java.lang.Object get (java.lang.Object) 
		Object key
		int hash
	public boolean containsKey (java.lang.Object) 
		Object key
		int hash
	public boolean containsValue (java.lang.Object) 
		int c
		int i
		int c
		int i
		int mcsum
		boolean cleanSweep
		int k
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
		Object value
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] segments
		int[] mc
		boolean found
	public java.lang.Object put (java.lang.Object, java.lang.Object) 
		Object key
		Object value
		int hash
	public java.lang.Object putIfAbsent (java.lang.Object, java.lang.Object) 
		Object key
		Object value
		int hash
	public void putAll (java.util.Map) 
		java.util.Map$Entry e
		java.util.Iterator i$
		java.util.Map m
	public java.lang.Object remove (java.lang.Object) 
		Object key
		int hash
	public boolean remove (java.lang.Object, java.lang.Object) 
		Object key
		Object value
		int hash
	public boolean replace (java.lang.Object, java.lang.Object, java.lang.Object) 
		Object key
		Object oldValue
		Object newValue
		int hash
	public java.lang.Object replace (java.lang.Object, java.lang.Object) 
		Object key
		Object value
		int hash
	public void clear () 
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment segment
		com.google.inject.internal.util.CustomConcurrentHashMap$Impl$Segment[] arr$
		int len$
		int i$
	public java.util.Set keySet () 
		java.util.Set ks
	public java.util.Collection values () 
		java.util.Collection vs
	public java.util.Set entrySet () 
		java.util.Set es
	private void writeObject (java.io.ObjectOutputStream)  throws java.io.IOException 
		java.util.Map$Entry entry
		java.util.Iterator i$
		java.io.ObjectOutputStream out
	private void readObject (java.io.ObjectInputStream)  throws java.io.IOException java.lang.ClassNotFoundException 
		int i
		Object key
		Object value
		int initialCapacity
		float loadFactor
		int concurrencyLevel
		com.google.inject.internal.util.CustomConcurrentHashMap$Strategy strategy
		int segmentShift
		int segmentCount
		int segmentCapacity
		int segmentSize
		IllegalAccessException e
		java.io.ObjectInputStream in
}

com/google/inject/internal/util/CustomConcurrentHashMap$Internals.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.CustomConcurrentHashMap$Internals extends java.lang.Object {
	public abstract java.lang.Object getEntry (java.lang.Object) 
	public abstract boolean removeEntry (java.lang.Object, java.lang.Object) 
	public abstract boolean removeEntry (java.lang.Object) 
}

com/google/inject/internal/util/CustomConcurrentHashMap$SimpleInternalEntry.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry extends java.lang.Object {
	final Object key
	final int hash
	final com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry next
	volatile Object value
	void  (java.lang.Object, int, java.lang.Object, com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		Object key
		int hash
		Object value
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry next
}

com/google/inject/internal/util/CustomConcurrentHashMap$SimpleStrategy.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.CustomConcurrentHashMap$SimpleStrategy extends java.lang.Object implements com.google.inject.internal.util.CustomConcurrentHashMap$Strategy  {
	void  () 
	public com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry newEntry (java.lang.Object, int, com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		Object key
		int hash
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry next
	public com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry copyEntry (java.lang.Object, com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry, com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		Object key
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry original
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry next
	public void setValue (com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry, java.lang.Object) 
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry entry
		Object value
	public java.lang.Object getValue (com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry entry
	public boolean equalKeys (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	public boolean equalValues (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	public int hashKey (java.lang.Object) 
		Object key
	public java.lang.Object getKey (com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry entry
	public com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry getNext (com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry entry
	public int getHash (com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$SimpleInternalEntry entry
	public void setInternals (com.google.inject.internal.util.CustomConcurrentHashMap$Internals) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
	public volatile int getHash (java.lang.Object) 
		Object x0
	public volatile java.lang.Object getNext (java.lang.Object) 
		Object x0
	public volatile java.lang.Object getKey (java.lang.Object) 
		Object x0
	public volatile java.lang.Object getValue (java.lang.Object) 
		Object x0
	public volatile void setValue (java.lang.Object, java.lang.Object) 
		Object x0
		Object x1
	public volatile java.lang.Object copyEntry (java.lang.Object, java.lang.Object, java.lang.Object) 
		Object x0
		Object x1
		Object x2
	public volatile java.lang.Object newEntry (java.lang.Object, int, java.lang.Object) 
		Object x0
		int x1
		Object x2
}

com/google/inject/internal/util/CustomConcurrentHashMap$Strategy.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.CustomConcurrentHashMap$Strategy extends java.lang.Object {
	public abstract java.lang.Object newEntry (java.lang.Object, int, java.lang.Object) 
	public abstract java.lang.Object copyEntry (java.lang.Object, java.lang.Object, java.lang.Object) 
	public abstract void setValue (java.lang.Object, java.lang.Object) 
	public abstract java.lang.Object getValue (java.lang.Object) 
	public abstract boolean equalKeys (java.lang.Object, java.lang.Object) 
	public abstract boolean equalValues (java.lang.Object, java.lang.Object) 
	public abstract int hashKey (java.lang.Object) 
	public abstract java.lang.Object getKey (java.lang.Object) 
	public abstract java.lang.Object getNext (java.lang.Object) 
	public abstract int getHash (java.lang.Object) 
	public abstract void setInternals (com.google.inject.internal.util.CustomConcurrentHashMap$Internals) 
}

com/google/inject/internal/util/CustomConcurrentHashMap.class
CustomConcurrentHashMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.CustomConcurrentHashMap extends java.lang.Object {
	private void  () 
	private static int rehash (int) 
		int h
	static int access$000 (int) 
		int x0
}

com/google/inject/internal/util/ExpirationTimer.class
ExpirationTimer.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ExpirationTimer extends java.lang.Object {
	static java.util.Timer instance
	void  () 
	static void  () 
}

com/google/inject/internal/util/FinalizablePhantomReference.class
FinalizablePhantomReference.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.FinalizablePhantomReference extends java.lang.ref.PhantomReference implements com.google.inject.internal.util.FinalizableReference  {
	protected void  (java.lang.Object, com.google.inject.internal.util.FinalizableReferenceQueue) 
		Object referent
		com.google.inject.internal.util.FinalizableReferenceQueue queue
}

com/google/inject/internal/util/FinalizableReference.class
FinalizableReference.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.FinalizableReference extends java.lang.Object {
	public abstract void finalizeReferent () 
}

com/google/inject/internal/util/FinalizableReferenceQueue$DecoupledLoader.class
FinalizableReferenceQueue.java
package com.google.inject.internal.util
 com.google.inject.internal.util.FinalizableReferenceQueue$DecoupledLoader extends java.lang.Object implements com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader  {
	private static final String LOADING_ERROR
	void  () 
	public java.lang.Class loadFinalizer () 
		ClassLoader finalizerLoader
		Exception e
	java.net.URL getBaseUrl ()  throws java.io.IOException 
		String finalizerPath
		java.net.URL finalizerUrl
		String urlString
	java.net.URLClassLoader newLoader (java.net.URL) 
		java.net.URL base
}

com/google/inject/internal/util/FinalizableReferenceQueue$DirectLoader.class
FinalizableReferenceQueue.java
package com.google.inject.internal.util
 com.google.inject.internal.util.FinalizableReferenceQueue$DirectLoader extends java.lang.Object implements com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader  {
	void  () 
	public java.lang.Class loadFinalizer () 
		ClassNotFoundException e
}

com/google/inject/internal/util/FinalizableReferenceQueue$FinalizerLoader.class
FinalizableReferenceQueue.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader extends java.lang.Object {
	public abstract java.lang.Class loadFinalizer () 
}

com/google/inject/internal/util/FinalizableReferenceQueue$SystemLoader.class
FinalizableReferenceQueue.java
package com.google.inject.internal.util
 com.google.inject.internal.util.FinalizableReferenceQueue$SystemLoader extends java.lang.Object implements com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader  {
	void  () 
	public java.lang.Class loadFinalizer () 
		SecurityException e
		ClassNotFoundException e
		ClassLoader systemLoader
}

com/google/inject/internal/util/FinalizableReferenceQueue.class
FinalizableReferenceQueue.java
package com.google.inject.internal.util
public com.google.inject.internal.util.FinalizableReferenceQueue extends java.lang.Object {
	private static final java.util.logging.Logger logger
	private static final String FINALIZER_CLASS_NAME
	private static final java.lang.reflect.Method startFinalizer
	final java.lang.ref.ReferenceQueue queue
	final boolean threadStarted
	public void  () 
		IllegalAccessException e
		Throwable t
		java.lang.ref.ReferenceQueue queue
		boolean threadStarted
	void cleanUp () 
		Throwable t
		java.lang.ref.Reference reference
	private static transient java.lang.Class loadFinalizer (com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader[]) 
		Class finalizer
		com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader loader
		com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader[] arr$
		int len$
		int i$
		com.google.inject.internal.util.FinalizableReferenceQueue$FinalizerLoader[] loaders
	static java.lang.reflect.Method getStartFinalizer (java.lang.Class) 
		NoSuchMethodException e
		Class finalizer
	static java.util.logging.Logger access$000 () 
	static void  () 
		Class finalizer
}

com/google/inject/internal/util/FinalizableSoftReference.class
FinalizableSoftReference.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.FinalizableSoftReference extends java.lang.ref.SoftReference implements com.google.inject.internal.util.FinalizableReference  {
	protected void  (java.lang.Object, com.google.inject.internal.util.FinalizableReferenceQueue) 
		Object referent
		com.google.inject.internal.util.FinalizableReferenceQueue queue
}

com/google/inject/internal/util/FinalizableWeakReference.class
FinalizableWeakReference.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.FinalizableWeakReference extends java.lang.ref.WeakReference implements com.google.inject.internal.util.FinalizableReference  {
	protected void  (java.lang.Object, com.google.inject.internal.util.FinalizableReferenceQueue) 
		Object referent
		com.google.inject.internal.util.FinalizableReferenceQueue queue
}

com/google/inject/internal/util/Finalizer$1.class
Finalizer.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Finalizer$1 extends java.lang.Object {
}

com/google/inject/internal/util/Finalizer$ShutDown.class
Finalizer.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Finalizer$ShutDown extends java.lang.Exception {
	private void  () 
	void  (com.google.inject.internal.util.Finalizer$1) 
		com.google.inject.internal.util.Finalizer$1 x0
}

com/google/inject/internal/util/Finalizer.class
Finalizer.java
package com.google.inject.internal.util
public com.google.inject.internal.util.Finalizer extends java.lang.Thread {
	private static final java.util.logging.Logger logger
	private static final String FINALIZABLE_REFERENCE
	private final java.lang.ref.WeakReference finalizableReferenceClassReference
	private final java.lang.ref.PhantomReference frqReference
	private final java.lang.ref.ReferenceQueue queue
	public static java.lang.ref.ReferenceQueue startFinalizer (java.lang.Class, java.lang.Object) 
		Class finalizableReferenceClass
		Object frq
		com.google.inject.internal.util.Finalizer finalizer
	private void  (java.lang.Class, java.lang.Object) 
		Class finalizableReferenceClass
		Object frq
	public void run () 
		InterruptedException e
		com.google.inject.internal.util.Finalizer$ShutDown shutDown
	private void cleanUp (java.lang.ref.Reference)  throws com.google.inject.internal.util.Finalizer$ShutDown 
		Throwable t
		java.lang.ref.Reference reference
		java.lang.reflect.Method finalizeReferentMethod
	private java.lang.reflect.Method getFinalizeReferentMethod ()  throws com.google.inject.internal.util.Finalizer$ShutDown 
		NoSuchMethodException e
		Class finalizableReferenceClass
	static void  () 
}

com/google/inject/internal/util/Function.class
Function.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.Function extends java.lang.Object {
	public abstract java.lang.Object apply (java.lang.Object) 
	public abstract boolean equals (java.lang.Object) 
}

com/google/inject/internal/util/Hashing.class
Hashing.java
package com.google.inject.internal.util
final com.google.inject.internal.util.Hashing extends java.lang.Object {
	private static final int MAX_TABLE_SIZE
	private static final int CUTOFF
	private void  () 
	static int smear (int) 
		int hashCode
	static int chooseTableSize (int) 
		int setSize
}

com/google/inject/internal/util/ImmutableCollection$1.class
ImmutableCollection.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableCollection$1 extends com.google.inject.internal.util.UnmodifiableIterator {
	void  () 
	public boolean hasNext () 
	public java.lang.Object next () 
}

com/google/inject/internal/util/ImmutableCollection$ArrayImmutableCollection$1.class
ImmutableCollection.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableCollection$ArrayImmutableCollection$1 extends com.google.inject.internal.util.UnmodifiableIterator {
	int i
	final com.google.inject.internal.util.ImmutableCollection$ArrayImmutableCollection this$0
	void  (com.google.inject.internal.util.ImmutableCollection$ArrayImmutableCollection) 
	public boolean hasNext () 
	public java.lang.Object next () 
}

com/google/inject/internal/util/ImmutableCollection$ArrayImmutableCollection.class
ImmutableCollection.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableCollection$ArrayImmutableCollection extends com.google.inject.internal.util.ImmutableCollection {
	private final Object[] elements
	void  (java.lang.Object[]) 
		Object[] elements
	public int size () 
	public boolean isEmpty () 
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public volatile java.util.Iterator iterator () 
	static java.lang.Object[] access$300 (com.google.inject.internal.util.ImmutableCollection$ArrayImmutableCollection) 
		com.google.inject.internal.util.ImmutableCollection$ArrayImmutableCollection x0
}

com/google/inject/internal/util/ImmutableCollection$EmptyImmutableCollection.class
ImmutableCollection.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableCollection$EmptyImmutableCollection extends com.google.inject.internal.util.ImmutableCollection {
	private void  () 
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object object
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] array
	public volatile java.util.Iterator iterator () 
	void  (com.google.inject.internal.util.ImmutableCollection$1) 
		com.google.inject.internal.util.ImmutableCollection$1 x0
}

com/google/inject/internal/util/ImmutableCollection$SerializedForm.class
ImmutableCollection.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableCollection$SerializedForm extends java.lang.Object implements java.io.Serializable  {
	final Object[] elements
	private static final long serialVersionUID
	void  (java.lang.Object[]) 
		Object[] elements
	java.lang.Object readResolve () 
}

com/google/inject/internal/util/ImmutableCollection.class
ImmutableCollection.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.ImmutableCollection extends java.lang.Object implements java.util.Collection java.io.Serializable  {
	static final com.google.inject.internal.util.ImmutableCollection EMPTY_IMMUTABLE_COLLECTION
	private static final Object[] EMPTY_ARRAY
	private static final com.google.inject.internal.util.UnmodifiableIterator EMPTY_ITERATOR
	void  () 
	public abstract com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
		Object[] newArray
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object elementAsT
		Object element
		java.util.Iterator i$
		Object[] other
		int size
		int index
	public boolean contains (java.lang.Object) 
		Object element
		java.util.Iterator i$
		Object object
	public boolean containsAll (java.util.Collection) 
		Object target
		java.util.Iterator i$
		java.util.Collection targets
	public boolean isEmpty () 
	public java.lang.String toString () 
		StringBuilder sb
		java.util.Iterator i
	public final boolean add (java.lang.Object) 
		Object e
	public final boolean remove (java.lang.Object) 
		Object object
	public final boolean addAll (java.util.Collection) 
		java.util.Collection newElements
	public final boolean removeAll (java.util.Collection) 
		java.util.Collection oldElements
	public final boolean retainAll (java.util.Collection) 
		java.util.Collection elementsToKeep
	public final void clear () 
	java.lang.Object writeReplace () 
	public volatile java.util.Iterator iterator () 
	static com.google.inject.internal.util.UnmodifiableIterator access$100 () 
	static java.lang.Object[] access$200 () 
	static void  () 
}

com/google/inject/internal/util/ImmutableEntry.class
ImmutableEntry.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableEntry extends com.google.inject.internal.util.AbstractMapEntry implements java.io.Serializable  {
	private final Object key
	private final Object value
	private static final long serialVersionUID
	void  (java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public java.lang.Object getKey () 
	public java.lang.Object getValue () 
}

com/google/inject/internal/util/ImmutableList$1.class
ImmutableList.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableList$1 extends java.lang.Object {
}

com/google/inject/internal/util/ImmutableList$Builder.class
ImmutableList.java
package com.google.inject.internal.util
public com.google.inject.internal.util.ImmutableList$Builder extends java.lang.Object {
	private final java.util.ArrayList contents
	public void  () 
	public com.google.inject.internal.util.ImmutableList$Builder add (java.lang.Object) 
		Object element
	public com.google.inject.internal.util.ImmutableList$Builder addAll (java.lang.Iterable) 
		java.util.Collection collection
		Object elem
		java.util.Iterator i$
		Iterable elements
	public com.google.inject.internal.util.ImmutableList build () 
}

com/google/inject/internal/util/ImmutableList$EmptyImmutableList.class
ImmutableList.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableList$EmptyImmutableList extends com.google.inject.internal.util.ImmutableList {
	private static final Object[] EMPTY_ARRAY
	private void  () 
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object target
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] a
	public java.lang.Object get (int) 
		int index
	public int indexOf (java.lang.Object) 
		Object target
	public int lastIndexOf (java.lang.Object) 
		Object target
	public com.google.inject.internal.util.ImmutableList subList (int, int) 
		int fromIndex
		int toIndex
	public java.util.ListIterator listIterator () 
	public java.util.ListIterator listIterator (int) 
		int start
	public boolean containsAll (java.util.Collection) 
		java.util.Collection targets
	public boolean equals (java.lang.Object) 
		java.util.List that
		Object object
	public int hashCode () 
	public java.lang.String toString () 
	public volatile java.util.List subList (int, int) 
		int x0
		int x1
	public volatile java.util.Iterator iterator () 
	void  (com.google.inject.internal.util.ImmutableList$1) 
		com.google.inject.internal.util.ImmutableList$1 x0
	static void  () 
}

com/google/inject/internal/util/ImmutableList$RegularImmutableList$1.class
ImmutableList.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableList$RegularImmutableList$1 extends java.lang.Object implements java.util.ListIterator  {
	int index
	final int val$start
	final com.google.inject.internal.util.ImmutableList$RegularImmutableList this$0
	void  (com.google.inject.internal.util.ImmutableList$RegularImmutableList, int) 
	public boolean hasNext () 
	public boolean hasPrevious () 
	public int nextIndex () 
	public int previousIndex () 
	public java.lang.Object next () 
		IndexOutOfBoundsException rethrown
		Object result
	public java.lang.Object previous () 
		IndexOutOfBoundsException rethrown
		Object result
	public void set (java.lang.Object) 
		Object o
	public void add (java.lang.Object) 
		Object o
	public void remove () 
}

com/google/inject/internal/util/ImmutableList$RegularImmutableList.class
ImmutableList.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableList$RegularImmutableList extends com.google.inject.internal.util.ImmutableList {
	private final int offset
	private final int size
	private final Object[] array
	private void  (java.lang.Object[], int, int) 
		Object[] array
		int offset
		int size
	private void  (java.lang.Object[]) 
		Object[] array
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object target
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
		Object[] newArray
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] other
	public java.lang.Object get (int) 
		int index
	public int indexOf (java.lang.Object) 
		int i
		Object target
	public int lastIndexOf (java.lang.Object) 
		int i
		Object target
	public com.google.inject.internal.util.ImmutableList subList (int, int) 
		int fromIndex
		int toIndex
	public java.util.ListIterator listIterator () 
	public java.util.ListIterator listIterator (int) 
		int start
	public boolean equals (java.lang.Object) 
		int i
		com.google.inject.internal.util.ImmutableList$RegularImmutableList other
		Object element
		java.util.Iterator i$
		Object object
		java.util.List that
		int index
	public int hashCode () 
		int i
		int hashCode
	public java.lang.String toString () 
		int i
		StringBuilder sb
	public volatile java.util.List subList (int, int) 
		int x0
		int x1
	public volatile java.util.Iterator iterator () 
	void  (java.lang.Object[], com.google.inject.internal.util.ImmutableList$1) 
		Object[] x0
		com.google.inject.internal.util.ImmutableList$1 x1
	static int access$300 (com.google.inject.internal.util.ImmutableList$RegularImmutableList) 
		com.google.inject.internal.util.ImmutableList$RegularImmutableList x0
	void  (java.lang.Object[], int, int, com.google.inject.internal.util.ImmutableList$1) 
		Object[] x0
		int x1
		int x2
		com.google.inject.internal.util.ImmutableList$1 x3
}

com/google/inject/internal/util/ImmutableList$SerializedForm.class
ImmutableList.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableList$SerializedForm extends java.lang.Object implements java.io.Serializable  {
	final Object[] elements
	private static final long serialVersionUID
	void  (java.lang.Object[]) 
		Object[] elements
	java.lang.Object readResolve () 
}

com/google/inject/internal/util/ImmutableList.class
ImmutableList.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.ImmutableList extends com.google.inject.internal.util.ImmutableCollection implements java.util.List java.util.RandomAccess  {
	private static final com.google.inject.internal.util.ImmutableList EMPTY_IMMUTABLE_LIST
	public static com.google.inject.internal.util.ImmutableList of () 
	public static com.google.inject.internal.util.ImmutableList of (java.lang.Object) 
		Object element
	public static com.google.inject.internal.util.ImmutableList of (java.lang.Object, java.lang.Object) 
		Object e1
		Object e2
	public static com.google.inject.internal.util.ImmutableList of (java.lang.Object, java.lang.Object, java.lang.Object) 
		Object e1
		Object e2
		Object e3
	public static com.google.inject.internal.util.ImmutableList of (java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) 
		Object e1
		Object e2
		Object e3
		Object e4
	public static com.google.inject.internal.util.ImmutableList of (java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) 
		Object e1
		Object e2
		Object e3
		Object e4
		Object e5
	public static transient com.google.inject.internal.util.ImmutableList of (java.lang.Object[]) 
		Object[] elements
	public static com.google.inject.internal.util.ImmutableList copyOf (java.lang.Iterable) 
		com.google.inject.internal.util.ImmutableList list
		java.util.Collection coll
		Iterable elements
	public static com.google.inject.internal.util.ImmutableList copyOf (java.util.Iterator) 
		java.util.Iterator elements
	private static com.google.inject.internal.util.ImmutableList copyOfInternal (java.util.ArrayList) 
		java.util.ArrayList list
	private static java.lang.Object[] nullChecked (java.lang.Object[]) 
		int i
		int len
		Object[] array
	private static com.google.inject.internal.util.ImmutableList copyOfInternal (java.util.Collection) 
		java.util.Collection collection
		int size
	private void  () 
	public abstract com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public abstract int indexOf (java.lang.Object) 
	public abstract int lastIndexOf (java.lang.Object) 
	public abstract com.google.inject.internal.util.ImmutableList subList (int, int) 
	public final boolean addAll (int, java.util.Collection) 
		int index
		java.util.Collection newElements
	public final java.lang.Object set (int, java.lang.Object) 
		int index
		Object element
	public final void add (int, java.lang.Object) 
		int index
		Object element
	public final java.lang.Object remove (int) 
		int index
	private static transient java.lang.Object[] copyIntoArray (java.lang.Object[]) 
		Object element
		Object[] arr$
		int len$
		int i$
		Object[] source
		Object[] array
		int index
	private static com.google.inject.internal.util.ImmutableList createFromIterable (java.lang.Iterable, int) 
		Object element
		java.util.Iterator i$
		Iterable source
		int estimatedSize
		Object[] array
		int index
	private static java.lang.Object[] copyOf (java.lang.Object[], int) 
		Object[] oldArray
		int newSize
		Object[] newArray
	private void readObject (java.io.ObjectInputStream)  throws java.io.InvalidObjectException 
		java.io.ObjectInputStream stream
	java.lang.Object writeReplace () 
	public static com.google.inject.internal.util.ImmutableList$Builder builder () 
	public volatile java.util.Iterator iterator () 
	public volatile java.util.List subList (int, int) 
		int x0
		int x1
	void  (com.google.inject.internal.util.ImmutableList$1) 
		com.google.inject.internal.util.ImmutableList$1 x0
	static void  () 
}

com/google/inject/internal/util/ImmutableMap$1.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$1 extends java.lang.Object {
}

com/google/inject/internal/util/ImmutableMap$Builder.class
ImmutableMap.java
package com.google.inject.internal.util
public com.google.inject.internal.util.ImmutableMap$Builder extends java.lang.Object {
	final java.util.List entries
	public void  () 
	public com.google.inject.internal.util.ImmutableMap$Builder put (java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public com.google.inject.internal.util.ImmutableMap$Builder putAll (java.util.Map) 
		java.util.Map$Entry entry
		java.util.Iterator i$
		java.util.Map map
	public com.google.inject.internal.util.ImmutableMap build () 
	private static com.google.inject.internal.util.ImmutableMap fromEntryList (java.util.List) 
		java.util.Map$Entry[] entryArray
		java.util.List entries
		int size
}

com/google/inject/internal/util/ImmutableMap$EmptyImmutableMap.class
ImmutableMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableMap$EmptyImmutableMap extends com.google.inject.internal.util.ImmutableMap {
	private void  () 
	public java.lang.Object get (java.lang.Object) 
		Object key
	public int size () 
	public boolean isEmpty () 
	public boolean containsKey (java.lang.Object) 
		Object key
	public boolean containsValue (java.lang.Object) 
		Object value
	public com.google.inject.internal.util.ImmutableSet entrySet () 
	public com.google.inject.internal.util.ImmutableSet keySet () 
	public com.google.inject.internal.util.ImmutableCollection values () 
	public boolean equals (java.lang.Object) 
		java.util.Map that
		Object object
	public int hashCode () 
	public java.lang.String toString () 
	public volatile java.util.Set entrySet () 
	public volatile java.util.Collection values () 
	public volatile java.util.Set keySet () 
	void  (com.google.inject.internal.util.ImmutableMap$1) 
		com.google.inject.internal.util.ImmutableMap$1 x0
}

com/google/inject/internal/util/ImmutableMap$RegularImmutableMap$EntrySet.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$RegularImmutableMap$EntrySet extends com.google.inject.internal.util.ImmutableSet$ArrayImmutableSet {
	final com.google.inject.internal.util.ImmutableMap$RegularImmutableMap map
	void  (com.google.inject.internal.util.ImmutableMap$RegularImmutableMap) 
		com.google.inject.internal.util.ImmutableMap$RegularImmutableMap map
	public boolean contains (java.lang.Object) 
		java.util.Map$Entry entry
		Object mappedValue
		Object target
}

com/google/inject/internal/util/ImmutableMap$RegularImmutableMap$KeySet.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$RegularImmutableMap$KeySet extends com.google.inject.internal.util.ImmutableSet$TransformedImmutableSet {
	final com.google.inject.internal.util.ImmutableMap$RegularImmutableMap map
	void  (com.google.inject.internal.util.ImmutableMap$RegularImmutableMap) 
		com.google.inject.internal.util.ImmutableMap$RegularImmutableMap map
	java.lang.Object transform (java.util.Map$Entry) 
		java.util.Map$Entry element
	public boolean contains (java.lang.Object) 
		Object target
	volatile java.lang.Object transform (java.lang.Object) 
		Object x0
}

com/google/inject/internal/util/ImmutableMap$RegularImmutableMap$Values$1.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$RegularImmutableMap$Values$1 extends com.google.inject.internal.util.AbstractIterator {
	int index
	final com.google.inject.internal.util.ImmutableMap$RegularImmutableMap$Values this$0
	void  (com.google.inject.internal.util.ImmutableMap$RegularImmutableMap$Values) 
	protected java.lang.Object computeNext () 
}

com/google/inject/internal/util/ImmutableMap$RegularImmutableMap$Values.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$RegularImmutableMap$Values extends com.google.inject.internal.util.ImmutableCollection {
	final com.google.inject.internal.util.ImmutableMap$RegularImmutableMap map
	void  (com.google.inject.internal.util.ImmutableMap$RegularImmutableMap) 
		com.google.inject.internal.util.ImmutableMap$RegularImmutableMap map
	public int size () 
	public boolean isEmpty () 
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
		java.util.Iterator iterator
	public boolean contains (java.lang.Object) 
		Object target
	public volatile java.util.Iterator iterator () 
}

com/google/inject/internal/util/ImmutableMap$RegularImmutableMap.class
ImmutableMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableMap$RegularImmutableMap extends com.google.inject.internal.util.ImmutableMap {
	private final transient java.util.Map$Entry[] entries
	private final transient Object[] table
	private final transient int mask
	private final transient int keySetHashCode
	private transient com.google.inject.internal.util.ImmutableSet entrySet
	private transient com.google.inject.internal.util.ImmutableSet keySet
	private transient com.google.inject.internal.util.ImmutableCollection values
	private transient void  (java.util.Map$Entry[]) 
		Object value
		int index
		Object existing
		int i
		Object key
		int keyHashCode
		java.util.Map$Entry entry
		java.util.Map$Entry[] arr$
		int len$
		int i$
		java.util.Map$Entry[] entries
		java.util.Map$Entry[] tmp
		int tableSize
		int keySetHashCodeMutable
	public java.lang.Object get (java.lang.Object) 
		Object value
		int index
		Object candidate
		int i
		Object key
	public int size () 
	public boolean isEmpty () 
	public boolean containsKey (java.lang.Object) 
		Object key
	public boolean containsValue (java.lang.Object) 
		java.util.Map$Entry entry
		java.util.Map$Entry[] arr$
		int len$
		int i$
		Object value
	public com.google.inject.internal.util.ImmutableSet entrySet () 
		com.google.inject.internal.util.ImmutableSet es
	public com.google.inject.internal.util.ImmutableSet keySet () 
		com.google.inject.internal.util.ImmutableSet ks
	public com.google.inject.internal.util.ImmutableCollection values () 
		com.google.inject.internal.util.ImmutableCollection v
	public java.lang.String toString () 
		int e
		StringBuilder result
	public volatile java.util.Set entrySet () 
	public volatile java.util.Collection values () 
	public volatile java.util.Set keySet () 
	void  (java.util.Map$Entry[], com.google.inject.internal.util.ImmutableMap$1) 
		java.util.Map$Entry[] x0
		com.google.inject.internal.util.ImmutableMap$1 x1
	static java.util.Map$Entry[] access$500 (com.google.inject.internal.util.ImmutableMap$RegularImmutableMap) 
		com.google.inject.internal.util.ImmutableMap$RegularImmutableMap x0
	static int access$600 (com.google.inject.internal.util.ImmutableMap$RegularImmutableMap) 
		com.google.inject.internal.util.ImmutableMap$RegularImmutableMap x0
}

com/google/inject/internal/util/ImmutableMap$SerializedForm.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$SerializedForm extends java.lang.Object implements java.io.Serializable  {
	final Object[] keys
	final Object[] values
	private static final long serialVersionUID
	void  (com.google.inject.internal.util.ImmutableMap) 
		java.util.Map$Entry entry
		java.util.Iterator i$
		com.google.inject.internal.util.ImmutableMap map
		int i
	java.lang.Object readResolve () 
		int i
		com.google.inject.internal.util.ImmutableMap$Builder builder
}

com/google/inject/internal/util/ImmutableMap$SingletonImmutableMap$Values.class
ImmutableMap.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableMap$SingletonImmutableMap$Values extends com.google.inject.internal.util.ImmutableCollection {
	final Object singleValue
	void  (java.lang.Object) 
		Object singleValue
	public boolean contains (java.lang.Object) 
		Object object
	public boolean isEmpty () 
	public int size () 
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public volatile java.util.Iterator iterator () 
}

com/google/inject/internal/util/ImmutableMap$SingletonImmutableMap.class
ImmutableMap.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableMap$SingletonImmutableMap extends com.google.inject.internal.util.ImmutableMap {
	private final transient Object singleKey
	private final transient Object singleValue
	private transient java.util.Map$Entry entry
	private transient com.google.inject.internal.util.ImmutableSet entrySet
	private transient com.google.inject.internal.util.ImmutableSet keySet
	private transient com.google.inject.internal.util.ImmutableCollection values
	private void  (java.lang.Object, java.lang.Object) 
		Object singleKey
		Object singleValue
	private void  (java.util.Map$Entry) 
		java.util.Map$Entry entry
	private java.util.Map$Entry entry () 
		java.util.Map$Entry e
	public java.lang.Object get (java.lang.Object) 
		Object key
	public int size () 
	public boolean isEmpty () 
	public boolean containsKey (java.lang.Object) 
		Object key
	public boolean containsValue (java.lang.Object) 
		Object value
	public com.google.inject.internal.util.ImmutableSet entrySet () 
		com.google.inject.internal.util.ImmutableSet es
	public com.google.inject.internal.util.ImmutableSet keySet () 
		com.google.inject.internal.util.ImmutableSet ks
	public com.google.inject.internal.util.ImmutableCollection values () 
		com.google.inject.internal.util.ImmutableCollection v
	public boolean equals (java.lang.Object) 
		java.util.Map that
		java.util.Map$Entry entry
		Object object
	public int hashCode () 
	public java.lang.String toString () 
	public volatile java.util.Set entrySet () 
	public volatile java.util.Collection values () 
	public volatile java.util.Set keySet () 
	void  (java.lang.Object, java.lang.Object, com.google.inject.internal.util.ImmutableMap$1) 
		Object x0
		Object x1
		com.google.inject.internal.util.ImmutableMap$1 x2
	void  (java.util.Map$Entry, com.google.inject.internal.util.ImmutableMap$1) 
		java.util.Map$Entry x0
		com.google.inject.internal.util.ImmutableMap$1 x1
}

com/google/inject/internal/util/ImmutableMap.class
ImmutableMap.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.ImmutableMap extends java.lang.Object implements java.util.concurrent.ConcurrentMap java.io.Serializable  {
	private static final com.google.inject.internal.util.ImmutableMap EMPTY_IMMUTABLE_MAP
	public static com.google.inject.internal.util.ImmutableMap of () 
	public static com.google.inject.internal.util.ImmutableMap of (java.lang.Object, java.lang.Object) 
		Object k1
		Object v1
	public static com.google.inject.internal.util.ImmutableMap of (java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) 
		Object k1
		Object v1
		Object k2
		Object v2
	public static com.google.inject.internal.util.ImmutableMap of (java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) 
		Object k1
		Object v1
		Object k2
		Object v2
		Object k3
		Object v3
	public static com.google.inject.internal.util.ImmutableMap of (java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) 
		Object k1
		Object v1
		Object k2
		Object v2
		Object k3
		Object v3
		Object k4
		Object v4
	public static com.google.inject.internal.util.ImmutableMap of (java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object) 
		Object k1
		Object v1
		Object k2
		Object v2
		Object k3
		Object v3
		Object k4
		Object v4
		Object k5
		Object v5
	public static com.google.inject.internal.util.ImmutableMap$Builder builder () 
	private static java.util.Map$Entry entryOf (java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public static com.google.inject.internal.util.ImmutableMap copyOf (java.util.Map) 
		com.google.inject.internal.util.ImmutableMap kvMap
		java.util.Map$Entry entry
		java.util.Iterator i$
		java.util.Map$Entry loneEntry
		java.util.Map$Entry[] array
		int i
		java.util.Map map
		int size
	void  () 
	public final java.lang.Object put (java.lang.Object, java.lang.Object) 
		Object k
		Object v
	public final java.lang.Object remove (java.lang.Object) 
		Object o
	public final java.lang.Object putIfAbsent (java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public final boolean remove (java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public final boolean replace (java.lang.Object, java.lang.Object, java.lang.Object) 
		Object key
		Object oldValue
		Object newValue
	public final java.lang.Object replace (java.lang.Object, java.lang.Object) 
		Object key
		Object value
	public final void putAll (java.util.Map) 
		java.util.Map map
	public final void clear () 
	public abstract boolean containsKey (java.lang.Object) 
	public abstract boolean containsValue (java.lang.Object) 
	public abstract java.lang.Object get (java.lang.Object) 
	public abstract com.google.inject.internal.util.ImmutableSet entrySet () 
	public abstract com.google.inject.internal.util.ImmutableSet keySet () 
	public abstract com.google.inject.internal.util.ImmutableCollection values () 
	public boolean equals (java.lang.Object) 
		java.util.Map that
		Object object
	public int hashCode () 
	public java.lang.String toString () 
		StringBuilder result
		java.util.Iterator entries
	java.lang.Object writeReplace () 
	public volatile java.util.Set entrySet () 
	public volatile java.util.Collection values () 
	public volatile java.util.Set keySet () 
	static java.util.Map$Entry access$300 (java.lang.Object, java.lang.Object) 
		Object x0
		Object x1
	static void  () 
}

com/google/inject/internal/util/ImmutableSet$1.class
ImmutableSet.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableSet$1 extends java.lang.Object {
}

com/google/inject/internal/util/ImmutableSet$ArrayImmutableSet.class
ImmutableSet.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.ImmutableSet$ArrayImmutableSet extends com.google.inject.internal.util.ImmutableSet {
	final Object[] elements
	void  (java.lang.Object[]) 
		Object[] elements
	public int size () 
	public boolean isEmpty () 
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
		Object[] array
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] array
		int size
	public boolean containsAll (java.util.Collection) 
		Object target
		Object[] arr$
		int len$
		int i$
		java.util.Collection targets
	public volatile java.util.Iterator iterator () 
}

com/google/inject/internal/util/ImmutableSet$Builder.class
ImmutableSet.java
package com.google.inject.internal.util
public com.google.inject.internal.util.ImmutableSet$Builder extends java.lang.Object {
	final java.util.ArrayList contents
	public void  () 
	public com.google.inject.internal.util.ImmutableSet$Builder add (java.lang.Object) 
		Object element
	public transient com.google.inject.internal.util.ImmutableSet$Builder add (java.lang.Object[]) 
		Object[] elements
		java.util.List elemsAsList
	public com.google.inject.internal.util.ImmutableSet$Builder addAll (java.lang.Iterable) 
		java.util.Collection collection
		Object elem
		java.util.Iterator i$
		Iterable elements
	public com.google.inject.internal.util.ImmutableSet$Builder addAll (java.util.Iterator) 
		Object element
		java.util.Iterator elements
	public com.google.inject.internal.util.ImmutableSet build () 
}

com/google/inject/internal/util/ImmutableSet$EmptyImmutableSet.class
ImmutableSet.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableSet$EmptyImmutableSet extends com.google.inject.internal.util.ImmutableSet {
	private static final Object[] EMPTY_ARRAY
	private void  () 
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object target
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] a
	public boolean containsAll (java.util.Collection) 
		java.util.Collection targets
	public boolean equals (java.lang.Object) 
		java.util.Set that
		Object object
	public final int hashCode () 
	boolean isHashCodeFast () 
	public java.lang.String toString () 
	public volatile java.util.Iterator iterator () 
	void  (com.google.inject.internal.util.ImmutableSet$1) 
		com.google.inject.internal.util.ImmutableSet$1 x0
	static void  () 
}

com/google/inject/internal/util/ImmutableSet$RegularImmutableSet.class
ImmutableSet.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableSet$RegularImmutableSet extends com.google.inject.internal.util.ImmutableSet$ArrayImmutableSet {
	final Object[] table
	final int mask
	final int hashCode
	void  (java.lang.Object[], int, java.lang.Object[], int) 
		Object[] elements
		int hashCode
		Object[] table
		int mask
	public boolean contains (java.lang.Object) 
		Object candidate
		int i
		Object target
	public int hashCode () 
	boolean isHashCodeFast () 
}

com/google/inject/internal/util/ImmutableSet$SerializedForm.class
ImmutableSet.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableSet$SerializedForm extends java.lang.Object implements java.io.Serializable  {
	final Object[] elements
	private static final long serialVersionUID
	void  (java.lang.Object[]) 
		Object[] elements
	java.lang.Object readResolve () 
}

com/google/inject/internal/util/ImmutableSet$SingletonImmutableSet.class
ImmutableSet.java
package com.google.inject.internal.util
final com.google.inject.internal.util.ImmutableSet$SingletonImmutableSet extends com.google.inject.internal.util.ImmutableSet {
	final Object element
	final int hashCode
	void  (java.lang.Object, int) 
		Object element
		int hashCode
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object target
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.Object[] toArray () 
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] array
	public boolean equals (java.lang.Object) 
		java.util.Set that
		Object object
	public final int hashCode () 
	boolean isHashCodeFast () 
	public java.lang.String toString () 
		String elementToString
	public volatile java.util.Iterator iterator () 
}

com/google/inject/internal/util/ImmutableSet$TransformedImmutableSet$1.class
ImmutableSet.java
package com.google.inject.internal.util
 com.google.inject.internal.util.ImmutableSet$TransformedImmutableSet$1 extends com.google.inject.internal.util.AbstractIterator {
	int index
	final com.google.inject.internal.util.ImmutableSet$TransformedImmutableSet this$0
	void  (com.google.inject.internal.util.ImmutableSet$TransformedImmutableSet) 
	protected java.lang.Object computeNext () 
}

com/google/inject/internal/util/ImmutableSet$TransformedImmutableSet.class
ImmutableSet.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.ImmutableSet$TransformedImmutableSet extends com.google.inject.internal.util.ImmutableSet {
	final Object[] source
	final int hashCode
	void  (java.lang.Object[], int) 
		Object[] source
		int hashCode
	abstract java.lang.Object transform (java.lang.Object) 
	public int size () 
	public boolean isEmpty () 
	public com.google.inject.internal.util.UnmodifiableIterator iterator () 
		java.util.Iterator iterator
	public java.lang.Object[] toArray () 
	public java.lang.Object[] toArray (java.lang.Object[]) 
		int i
		Object[] array
		int size
	public final int hashCode () 
	boolean isHashCodeFast () 
	public volatile java.util.Iterator iterator () 
}

com/google/inject/internal/util/ImmutableSet.class
ImmutableSet.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.ImmutableSet extends com.google.inject.internal.util.ImmutableCollection implements java.util.Set  {
	private static final com.google.inject.internal.util.ImmutableSet EMPTY_IMMUTABLE_SET
	public static com.google.inject.internal.util.ImmutableSet of () 
	public static com.google.inject.internal.util.ImmutableSet of (java.lang.Object) 
		Object element
	public static transient com.google.inject.internal.util.ImmutableSet of (java.lang.Object[]) 
		Object[] elements
	public static com.google.inject.internal.util.ImmutableSet copyOf (java.lang.Iterable) 
		com.google.inject.internal.util.ImmutableSet set
		Iterable elements
	public static com.google.inject.internal.util.ImmutableSet copyOf (java.util.Iterator) 
		java.util.Iterator elements
		java.util.Collection list
	private static com.google.inject.internal.util.ImmutableSet copyOfInternal (java.util.Collection) 
		java.util.Collection collection
	void  () 
	boolean isHashCodeFast () 
	public boolean equals (java.lang.Object) 
		Object object
	public int hashCode () 
		Object o
		java.util.Iterator i$
		int hashCode
	public abstract com.google.inject.internal.util.UnmodifiableIterator iterator () 
	public java.lang.String toString () 
		int i
		java.util.Iterator iterator
		StringBuilder result
	private static com.google.inject.internal.util.ImmutableSet create (java.lang.Iterable, int) 
		int index
		Object value
		int i
		int hash
		Object element
		java.util.Iterator i$
		Iterable iterable
		int count
		int tableSize
		Object[] table
		int mask
		java.util.List elements
		int hashCode
	java.lang.Object writeReplace () 
	public static com.google.inject.internal.util.ImmutableSet$Builder builder () 
	public volatile java.util.Iterator iterator () 
	static void  () 
}

com/google/inject/internal/util/Iterables$1.class
Iterables.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterables$1 extends java.lang.Object implements com.google.inject.internal.util.Function  {
	void  () 
	public java.util.Iterator apply (java.lang.Iterable) 
		Iterable from
	public volatile java.lang.Object apply (java.lang.Object) 
		Object x0
}

com/google/inject/internal/util/Iterables$2.class
Iterables.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterables$2 extends com.google.inject.internal.util.Iterables$IterableWithToString {
	final Iterable val$iterators
	void  (java.lang.Iterable) 
	public java.util.Iterator iterator () 
}

com/google/inject/internal/util/Iterables$3.class
Iterables.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterables$3 extends com.google.inject.internal.util.Iterables$IterableWithToString {
	final Iterable val$fromIterable
	final com.google.inject.internal.util.Function val$function
	void  (java.lang.Iterable, com.google.inject.internal.util.Function) 
	public java.util.Iterator iterator () 
}

com/google/inject/internal/util/Iterables$IterableWithToString.class
Iterables.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.Iterables$IterableWithToString extends java.lang.Object implements java.lang.Iterable  {
	void  () 
	public java.lang.String toString () 
}

com/google/inject/internal/util/Iterables.class
Iterables.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Iterables extends java.lang.Object {
	private void  () 
	public static java.lang.String toString (java.lang.Iterable) 
		Iterable iterable
	public static java.lang.Object getOnlyElement (java.lang.Iterable) 
		Iterable iterable
	public static java.lang.Iterable concat (java.lang.Iterable, java.lang.Iterable) 
		Iterable a
		Iterable b
	public static java.lang.Iterable concat (java.lang.Iterable) 
		Iterable inputs
		com.google.inject.internal.util.Function function
		Iterable iterators
	public static java.lang.Iterable transform (java.lang.Iterable, com.google.inject.internal.util.Function) 
		Iterable fromIterable
		com.google.inject.internal.util.Function function
}

com/google/inject/internal/util/Iterators$1.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$1 extends com.google.inject.internal.util.UnmodifiableIterator {
	void  () 
	public boolean hasNext () 
	public java.lang.Object next () 
}

com/google/inject/internal/util/Iterators$2.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$2 extends java.lang.Object implements java.util.ListIterator  {
	void  () 
	public boolean hasNext () 
	public boolean hasPrevious () 
	public int nextIndex () 
	public int previousIndex () 
	public java.lang.Object next () 
	public java.lang.Object previous () 
	public void set (java.lang.Object) 
		Object o
	public void add (java.lang.Object) 
		Object o
	public void remove () 
}

com/google/inject/internal/util/Iterators$3.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$3 extends com.google.inject.internal.util.UnmodifiableIterator {
	final java.util.Iterator val$iterator
	void  (java.util.Iterator) 
	public boolean hasNext () 
	public java.lang.Object next () 
}

com/google/inject/internal/util/Iterators$4.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$4 extends java.lang.Object implements java.util.Iterator  {
	java.util.Iterator current
	java.util.Iterator removeFrom
	final java.util.Iterator val$inputs
	void  (java.util.Iterator) 
	public boolean hasNext () 
	public java.lang.Object next () 
	public void remove () 
}

com/google/inject/internal/util/Iterators$5.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$5 extends java.lang.Object implements java.util.Iterator  {
	final java.util.Iterator val$fromIterator
	final com.google.inject.internal.util.Function val$function
	void  (java.util.Iterator, com.google.inject.internal.util.Function) 
	public boolean hasNext () 
	public java.lang.Object next () 
		Object from
	public void remove () 
}

com/google/inject/internal/util/Iterators$6.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$6 extends com.google.inject.internal.util.UnmodifiableIterator {
	final int length
	int i
	final Object[] val$array
	void  (java.lang.Object[]) 
	public boolean hasNext () 
	public java.lang.Object next () 
		Object t
		ArrayIndexOutOfBoundsException e
}

com/google/inject/internal/util/Iterators$7.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$7 extends com.google.inject.internal.util.UnmodifiableIterator {
	int i
	final int val$offset
	final int val$end
	final Object[] val$array
	void  (int, int, java.lang.Object[]) 
	public boolean hasNext () 
	public java.lang.Object next () 
}

com/google/inject/internal/util/Iterators$8.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$8 extends com.google.inject.internal.util.UnmodifiableIterator {
	boolean done
	final Object val$value
	void  (java.lang.Object) 
	public boolean hasNext () 
	public java.lang.Object next () 
}

com/google/inject/internal/util/Iterators$9.class
Iterators.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Iterators$9 extends java.lang.Object implements java.util.Enumeration  {
	final java.util.Iterator val$iterator
	void  (java.util.Iterator) 
	public boolean hasMoreElements () 
	public java.lang.Object nextElement () 
}

com/google/inject/internal/util/Iterators.class
Iterators.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Iterators extends java.lang.Object {
	static final java.util.Iterator EMPTY_ITERATOR
	private static final java.util.ListIterator EMPTY_LIST_ITERATOR
	private void  () 
	public static com.google.inject.internal.util.UnmodifiableIterator emptyIterator () 
	public static java.util.ListIterator emptyListIterator () 
	public static com.google.inject.internal.util.UnmodifiableIterator unmodifiableIterator (java.util.Iterator) 
		java.util.Iterator iterator
	public static java.lang.String toString (java.util.Iterator) 
		java.util.Iterator iterator
		StringBuilder builder
	public static java.lang.Object getOnlyElement (java.util.Iterator) 
		int i
		java.util.Iterator iterator
		Object first
		StringBuilder sb
	public static java.util.Iterator concat (java.util.Iterator) 
		java.util.Iterator inputs
	public static java.util.Iterator transform (java.util.Iterator, com.google.inject.internal.util.Function) 
		java.util.Iterator fromIterator
		com.google.inject.internal.util.Function function
	public static transient com.google.inject.internal.util.UnmodifiableIterator forArray (java.lang.Object[]) 
		Object[] array
	public static com.google.inject.internal.util.UnmodifiableIterator forArray (java.lang.Object[], int, int) 
		Object[] array
		int offset
		int length
		int end
	public static com.google.inject.internal.util.UnmodifiableIterator singletonIterator (java.lang.Object) 
		Object value
	public static java.util.Enumeration asEnumeration (java.util.Iterator) 
		java.util.Iterator iterator
	static void  () 
}

com/google/inject/internal/util/Join$1.class
Join.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Join$1 extends java.lang.Object {
}

com/google/inject/internal/util/Join$JoinException.class
Join.java
package com.google.inject.internal.util
public com.google.inject.internal.util.Join$JoinException extends java.lang.RuntimeException {
	private static final long serialVersionUID
	private void  (java.io.IOException) 
		java.io.IOException cause
	void  (java.io.IOException, com.google.inject.internal.util.Join$1) 
		java.io.IOException x0
		com.google.inject.internal.util.Join$1 x1
}

com/google/inject/internal/util/Join.class
Join.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Join extends java.lang.Object {
	private void  () 
	public static java.lang.String join (java.lang.String, java.lang.Iterable) 
		String delimiter
		Iterable tokens
	public static java.lang.String join (java.lang.String, java.lang.Object[]) 
		String delimiter
		Object[] tokens
	public static transient java.lang.String join (java.lang.String, java.lang.Object, java.lang.Object[]) 
		String delimiter
		Object firstToken
		Object[] otherTokens
	public static java.lang.String join (java.lang.String, java.util.Iterator) 
		String delimiter
		java.util.Iterator tokens
		StringBuilder sb
	public static java.lang.String join (java.lang.String, java.lang.String, java.util.Map) 
		String keyValueSeparator
		String entryDelimiter
		java.util.Map map
	public static java.lang.Appendable join (java.lang.Appendable, java.lang.String, java.lang.Iterable) 
		Appendable appendable
		String delimiter
		Iterable tokens
	public static java.lang.Appendable join (java.lang.Appendable, java.lang.String, java.lang.Object[]) 
		Appendable appendable
		String delimiter
		Object[] tokens
	public static transient java.lang.Appendable join (java.lang.Appendable, java.lang.String, java.lang.Object, java.lang.Object[]) 
		Appendable appendable
		String delimiter
		Object firstToken
		Object[] otherTokens
	public static java.lang.Appendable join (java.lang.Appendable, java.lang.String, java.util.Iterator) 
		java.io.IOException e
		Appendable appendable
		String delimiter
		java.util.Iterator tokens
	public static java.lang.Appendable join (java.lang.Appendable, java.lang.String, java.lang.String, java.util.Map) 
		java.io.IOException e
		Appendable appendable
		String keyValueSeparator
		String entryDelimiter
		java.util.Map map
		java.util.Iterator entries
	private static void appendOneEntry (java.lang.Appendable, java.lang.String, java.util.Map$Entry)  throws java.io.IOException 
		Appendable appendable
		String keyValueSeparator
		java.util.Map$Entry entry
	private static void appendOneToken (java.lang.Appendable, java.lang.Object)  throws java.io.IOException 
		Appendable appendable
		Object token
	private static java.lang.CharSequence toCharSequence (java.lang.Object) 
		Object token
}

com/google/inject/internal/util/Lists.class
Lists.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Lists extends java.lang.Object {
	private void  () 
	public static java.util.ArrayList newArrayList () 
	public static transient java.util.ArrayList newArrayList (java.lang.Object[]) 
		Object[] elements
		int capacity
		java.util.ArrayList list
	static int computeArrayListCapacity (int) 
		int arraySize
	public static java.util.ArrayList newArrayList (java.lang.Iterable) 
		java.util.Collection collection
		Iterable elements
	public static java.util.ArrayList newArrayList (java.util.Iterator) 
		java.util.Iterator elements
		java.util.ArrayList list
	public static java.util.ArrayList newArrayList (java.lang.Object, java.lang.Object[]) 
		Object element
		Object[] arr$
		int len$
		int i$
		Object first
		Object[] rest
		java.util.ArrayList result
}

com/google/inject/internal/util/MapMaker$1.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$1 extends java.lang.Object implements com.google.inject.internal.util.MapMaker$ValueReference  {
	void  () 
	public java.lang.Object get () 
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue () 
}

com/google/inject/internal/util/MapMaker$ComputationExceptionReference.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$ComputationExceptionReference extends java.lang.Object implements com.google.inject.internal.util.MapMaker$ValueReference  {
	final Throwable t
	void  (java.lang.Throwable) 
		Throwable t
	public java.lang.Object get () 
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue () 
}

com/google/inject/internal/util/MapMaker$LinkedSoftEntry.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$LinkedSoftEntry extends com.google.inject.internal.util.MapMaker$SoftEntry {
	final com.google.inject.internal.util.MapMaker$ReferenceEntry next
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
}

com/google/inject/internal/util/MapMaker$LinkedStrongEntry.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$LinkedStrongEntry extends com.google.inject.internal.util.MapMaker$StrongEntry {
	final com.google.inject.internal.util.MapMaker$ReferenceEntry next
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
}

com/google/inject/internal/util/MapMaker$LinkedWeakEntry.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$LinkedWeakEntry extends com.google.inject.internal.util.MapMaker$WeakEntry {
	final com.google.inject.internal.util.MapMaker$ReferenceEntry next
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
}

com/google/inject/internal/util/MapMaker$NullOutputExceptionReference.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$NullOutputExceptionReference extends java.lang.Object implements com.google.inject.internal.util.MapMaker$ValueReference  {
	final String message
	void  (java.lang.String) 
		String message
	public java.lang.Object get () 
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue () 
}

com/google/inject/internal/util/MapMaker$QueueHolder.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$QueueHolder extends java.lang.Object {
	static final com.google.inject.internal.util.FinalizableReferenceQueue queue
	private void  () 
	static void  () 
}

com/google/inject/internal/util/MapMaker$ReferenceEntry.class
MapMaker.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.MapMaker$ReferenceEntry extends java.lang.Object {
	public abstract com.google.inject.internal.util.MapMaker$ValueReference getValueReference () 
	public abstract void setValueReference (com.google.inject.internal.util.MapMaker$ValueReference) 
	public abstract void valueReclaimed () 
	public abstract com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
	public abstract int getHash () 
	public abstract java.lang.Object getKey () 
}

com/google/inject/internal/util/MapMaker$SoftEntry.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$SoftEntry extends com.google.inject.internal.util.FinalizableSoftReference implements com.google.inject.internal.util.MapMaker$ReferenceEntry  {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
	final int hash
	volatile com.google.inject.internal.util.MapMaker$ValueReference valueReference
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
	public java.lang.Object getKey () 
	public void finalizeReferent () 
	public com.google.inject.internal.util.MapMaker$ValueReference getValueReference () 
	public void setValueReference (com.google.inject.internal.util.MapMaker$ValueReference) 
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
	public void valueReclaimed () 
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
	public int getHash () 
}

com/google/inject/internal/util/MapMaker$SoftValueReference.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$SoftValueReference extends com.google.inject.internal.util.FinalizableSoftReference implements com.google.inject.internal.util.MapMaker$ValueReference  {
	final com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	void  (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		Object referent
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public void finalizeReferent () 
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue () 
}

com/google/inject/internal/util/MapMaker$StrategyImpl$1.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$StrategyImpl$1 extends java.util.TimerTask {
	final java.lang.ref.WeakReference val$keyReference
	final java.lang.ref.WeakReference val$valueReference
	final com.google.inject.internal.util.MapMaker$StrategyImpl this$0
	void  (com.google.inject.internal.util.MapMaker$StrategyImpl, java.lang.ref.WeakReference, java.lang.ref.WeakReference) 
	public void run () 
		Object key
}

com/google/inject/internal/util/MapMaker$StrategyImpl$Fields.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$StrategyImpl$Fields extends java.lang.Object {
	static final java.lang.reflect.Field keyStrength
	static final java.lang.reflect.Field valueStrength
	static final java.lang.reflect.Field expirationNanos
	static final java.lang.reflect.Field internals
	static final java.lang.reflect.Field map
	private void  () 
	static java.lang.reflect.Field findField (java.lang.String) 
		java.lang.reflect.Field f
		NoSuchFieldException e
		String name
	static void  () 
}

com/google/inject/internal/util/MapMaker$StrategyImpl$FutureValueReference.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$StrategyImpl$FutureValueReference extends java.lang.Object implements com.google.inject.internal.util.MapMaker$ValueReference  {
	final com.google.inject.internal.util.MapMaker$ReferenceEntry original
	final com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry
	final com.google.inject.internal.util.MapMaker$StrategyImpl this$0
	void  (com.google.inject.internal.util.MapMaker$StrategyImpl, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry original
		com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry
	public java.lang.Object get () 
		Object value
		boolean success
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue ()  throws java.lang.InterruptedException 
		Object value
		boolean success
	void removeEntry () 
}

com/google/inject/internal/util/MapMaker$StrategyImpl.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$StrategyImpl extends java.lang.Object implements java.io.Serializable com.google.inject.internal.util.CustomConcurrentHashMap$ComputingStrategy  {
	final com.google.inject.internal.util.MapMaker$Strength keyStrength
	final com.google.inject.internal.util.MapMaker$Strength valueStrength
	final java.util.concurrent.ConcurrentMap map
	final long expirationNanos
	com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
	private static final long serialVersionUID
	void  (com.google.inject.internal.util.MapMaker) 
		com.google.inject.internal.util.MapMaker maker
	void  (com.google.inject.internal.util.MapMaker, com.google.inject.internal.util.Function) 
		com.google.inject.internal.util.MapMaker maker
		com.google.inject.internal.util.Function computer
	public void setValue (com.google.inject.internal.util.MapMaker$ReferenceEntry, java.lang.Object) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		Object value
	void scheduleRemoval (java.lang.Object, java.lang.Object) 
		Object key
		Object value
		java.lang.ref.WeakReference keyReference
		java.lang.ref.WeakReference valueReference
	public boolean equalKeys (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	public boolean equalValues (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	public int hashKey (java.lang.Object) 
		Object key
	public java.lang.Object getKey (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public int getHash (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry (java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	public com.google.inject.internal.util.MapMaker$ReferenceEntry copyEntry (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry
		com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry
		Object key
		com.google.inject.internal.util.MapMaker$ReferenceEntry original
		com.google.inject.internal.util.MapMaker$ReferenceEntry newNext
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
	public java.lang.Object waitForValue (com.google.inject.internal.util.MapMaker$ReferenceEntry)  throws java.lang.InterruptedException 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
	public java.lang.Object getValue (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
	public java.lang.Object compute (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.Function) 
		Throwable t
		String message
		Object key
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		com.google.inject.internal.util.Function computer
		Object value
	void setValueReference (com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ValueReference) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
		boolean notifyOthers
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public void setInternals (com.google.inject.internal.util.CustomConcurrentHashMap$Internals) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
	private void writeObject (java.io.ObjectOutputStream)  throws java.io.IOException 
		java.io.ObjectOutputStream out
	private void readObject (java.io.ObjectInputStream)  throws java.io.IOException java.lang.ClassNotFoundException 
		IllegalAccessException e
		java.io.ObjectInputStream in
	public volatile java.lang.Object waitForValue (java.lang.Object)  throws java.lang.InterruptedException 
		Object x0
	public volatile java.lang.Object compute (java.lang.Object, java.lang.Object, com.google.inject.internal.util.Function) 
		Object x0
		Object x1
		com.google.inject.internal.util.Function x2
	public volatile int getHash (java.lang.Object) 
		Object x0
	public volatile java.lang.Object getNext (java.lang.Object) 
		Object x0
	public volatile java.lang.Object getKey (java.lang.Object) 
		Object x0
	public volatile java.lang.Object getValue (java.lang.Object) 
		Object x0
	public volatile void setValue (java.lang.Object, java.lang.Object) 
		Object x0
		Object x1
	public volatile java.lang.Object copyEntry (java.lang.Object, java.lang.Object, java.lang.Object) 
		Object x0
		Object x1
		Object x2
	public volatile java.lang.Object newEntry (java.lang.Object, int, java.lang.Object) 
		Object x0
		int x1
		Object x2
}

com/google/inject/internal/util/MapMaker$Strength$1.class
MapMaker.java
package com.google.inject.internal.util
final com.google.inject.internal.util.MapMaker$Strength$1 extends com.google.inject.internal.util.MapMaker$Strength {
	void  (java.lang.String, int) 
	boolean equal (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	int hash (java.lang.Object) 
		Object o
	com.google.inject.internal.util.MapMaker$ValueReference referenceValue (com.google.inject.internal.util.MapMaker$ReferenceEntry, java.lang.Object) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		Object value
	com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	com.google.inject.internal.util.MapMaker$ReferenceEntry copyEntry (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		Object key
		com.google.inject.internal.util.MapMaker$ReferenceEntry original
		com.google.inject.internal.util.MapMaker$ReferenceEntry newNext
		com.google.inject.internal.util.MapMaker$WeakEntry from
}

com/google/inject/internal/util/MapMaker$Strength$2.class
MapMaker.java
package com.google.inject.internal.util
final com.google.inject.internal.util.MapMaker$Strength$2 extends com.google.inject.internal.util.MapMaker$Strength {
	void  (java.lang.String, int) 
	boolean equal (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	int hash (java.lang.Object) 
		Object o
	com.google.inject.internal.util.MapMaker$ValueReference referenceValue (com.google.inject.internal.util.MapMaker$ReferenceEntry, java.lang.Object) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		Object value
	com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	com.google.inject.internal.util.MapMaker$ReferenceEntry copyEntry (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		Object key
		com.google.inject.internal.util.MapMaker$ReferenceEntry original
		com.google.inject.internal.util.MapMaker$ReferenceEntry newNext
		com.google.inject.internal.util.MapMaker$SoftEntry from
}

com/google/inject/internal/util/MapMaker$Strength$3.class
MapMaker.java
package com.google.inject.internal.util
final com.google.inject.internal.util.MapMaker$Strength$3 extends com.google.inject.internal.util.MapMaker$Strength {
	void  (java.lang.String, int) 
	boolean equal (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	int hash (java.lang.Object) 
		Object o
	com.google.inject.internal.util.MapMaker$ValueReference referenceValue (com.google.inject.internal.util.MapMaker$ReferenceEntry, java.lang.Object) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
		Object value
	com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
		com.google.inject.internal.util.MapMaker$ReferenceEntry next
	com.google.inject.internal.util.MapMaker$ReferenceEntry copyEntry (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		Object key
		com.google.inject.internal.util.MapMaker$ReferenceEntry original
		com.google.inject.internal.util.MapMaker$ReferenceEntry newNext
		com.google.inject.internal.util.MapMaker$StrongEntry from
}

com/google/inject/internal/util/MapMaker$Strength.class
MapMaker.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.MapMaker$Strength extends java.lang.Enum {
	public static final com.google.inject.internal.util.MapMaker$Strength WEAK
	public static final com.google.inject.internal.util.MapMaker$Strength SOFT
	public static final com.google.inject.internal.util.MapMaker$Strength STRONG
	private static final com.google.inject.internal.util.MapMaker$Strength[] $VALUES
	public static final com.google.inject.internal.util.MapMaker$Strength[] values () 
	public static com.google.inject.internal.util.MapMaker$Strength valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	abstract boolean equal (java.lang.Object, java.lang.Object) 
	abstract int hash (java.lang.Object) 
	abstract com.google.inject.internal.util.MapMaker$ValueReference referenceValue (com.google.inject.internal.util.MapMaker$ReferenceEntry, java.lang.Object) 
	abstract com.google.inject.internal.util.MapMaker$ReferenceEntry newEntry (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
	abstract com.google.inject.internal.util.MapMaker$ReferenceEntry copyEntry (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
	void  (java.lang.String, int, com.google.inject.internal.util.MapMaker$1) 
		String x0
		int x1
		com.google.inject.internal.util.MapMaker$1 x2
	static void  () 
}

com/google/inject/internal/util/MapMaker$StrongEntry.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$StrongEntry extends java.lang.Object implements com.google.inject.internal.util.MapMaker$ReferenceEntry  {
	final Object key
	final com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
	final int hash
	volatile com.google.inject.internal.util.MapMaker$ValueReference valueReference
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
	public java.lang.Object getKey () 
	public com.google.inject.internal.util.MapMaker$ValueReference getValueReference () 
	public void setValueReference (com.google.inject.internal.util.MapMaker$ValueReference) 
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
	public void valueReclaimed () 
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
	public int getHash () 
}

com/google/inject/internal/util/MapMaker$StrongValueReference.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$StrongValueReference extends java.lang.Object implements com.google.inject.internal.util.MapMaker$ValueReference  {
	final Object referent
	void  (java.lang.Object) 
		Object referent
	public java.lang.Object get () 
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue () 
}

com/google/inject/internal/util/MapMaker$ValueReference.class
MapMaker.java
package com.google.inject.internal.util
abstract com.google.inject.internal.util.MapMaker$ValueReference extends java.lang.Object {
	public abstract java.lang.Object get () 
	public abstract com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
	public abstract java.lang.Object waitForValue ()  throws java.lang.InterruptedException 
}

com/google/inject/internal/util/MapMaker$WeakEntry.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$WeakEntry extends com.google.inject.internal.util.FinalizableWeakReference implements com.google.inject.internal.util.MapMaker$ReferenceEntry  {
	final com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
	final int hash
	volatile com.google.inject.internal.util.MapMaker$ValueReference valueReference
	void  (com.google.inject.internal.util.CustomConcurrentHashMap$Internals, java.lang.Object, int) 
		com.google.inject.internal.util.CustomConcurrentHashMap$Internals internals
		Object key
		int hash
	public java.lang.Object getKey () 
	public void finalizeReferent () 
	public com.google.inject.internal.util.MapMaker$ValueReference getValueReference () 
	public void setValueReference (com.google.inject.internal.util.MapMaker$ValueReference) 
		com.google.inject.internal.util.MapMaker$ValueReference valueReference
	public void valueReclaimed () 
	public com.google.inject.internal.util.MapMaker$ReferenceEntry getNext () 
	public int getHash () 
}

com/google/inject/internal/util/MapMaker$WeakValueReference.class
MapMaker.java
package com.google.inject.internal.util
 com.google.inject.internal.util.MapMaker$WeakValueReference extends com.google.inject.internal.util.FinalizableWeakReference implements com.google.inject.internal.util.MapMaker$ValueReference  {
	final com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	void  (java.lang.Object, com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		Object referent
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public void finalizeReferent () 
	public com.google.inject.internal.util.MapMaker$ValueReference copyFor (com.google.inject.internal.util.MapMaker$ReferenceEntry) 
		com.google.inject.internal.util.MapMaker$ReferenceEntry entry
	public java.lang.Object waitForValue ()  throws java.lang.InterruptedException 
}

com/google/inject/internal/util/MapMaker.class
MapMaker.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.MapMaker extends java.lang.Object {
	private com.google.inject.internal.util.MapMaker$Strength keyStrength
	private com.google.inject.internal.util.MapMaker$Strength valueStrength
	private long expirationNanos
	private boolean useCustomMap
	private final com.google.inject.internal.util.CustomConcurrentHashMap$Builder builder
	private static final com.google.inject.internal.util.MapMaker$ValueReference COMPUTING
	public void  () 
	public com.google.inject.internal.util.MapMaker initialCapacity (int) 
		int initialCapacity
	public com.google.inject.internal.util.MapMaker loadFactor (float) 
		float loadFactor
	public com.google.inject.internal.util.MapMaker concurrencyLevel (int) 
		int concurrencyLevel
	public com.google.inject.internal.util.MapMaker weakKeys () 
	public com.google.inject.internal.util.MapMaker softKeys () 
	private com.google.inject.internal.util.MapMaker setKeyStrength (com.google.inject.internal.util.MapMaker$Strength) 
		com.google.inject.internal.util.MapMaker$Strength strength
	public com.google.inject.internal.util.MapMaker weakValues () 
	public com.google.inject.internal.util.MapMaker softValues () 
	private com.google.inject.internal.util.MapMaker setValueStrength (com.google.inject.internal.util.MapMaker$Strength) 
		com.google.inject.internal.util.MapMaker$Strength strength
	public com.google.inject.internal.util.MapMaker expiration (long, java.util.concurrent.TimeUnit) 
		long duration
		java.util.concurrent.TimeUnit unit
	public java.util.concurrent.ConcurrentMap makeMap () 
	public java.util.concurrent.ConcurrentMap makeComputingMap (com.google.inject.internal.util.Function) 
		com.google.inject.internal.util.Function computer
	private static com.google.inject.internal.util.MapMaker$ValueReference computing () 
	static com.google.inject.internal.util.MapMaker$Strength access$100 (com.google.inject.internal.util.MapMaker) 
		com.google.inject.internal.util.MapMaker x0
	static com.google.inject.internal.util.MapMaker$Strength access$200 (com.google.inject.internal.util.MapMaker) 
		com.google.inject.internal.util.MapMaker x0
	static long access$300 (com.google.inject.internal.util.MapMaker) 
		com.google.inject.internal.util.MapMaker x0
	static com.google.inject.internal.util.CustomConcurrentHashMap$Builder access$400 (com.google.inject.internal.util.MapMaker) 
		com.google.inject.internal.util.MapMaker x0
	static com.google.inject.internal.util.MapMaker$ValueReference access$500 () 
	static com.google.inject.internal.util.MapMaker$ValueReference access$600 () 
	static void  () 
}

com/google/inject/internal/util/Maps.class
Maps.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Maps extends java.lang.Object {
	private void  () 
	public static java.util.HashMap newHashMap () 
	public static java.util.LinkedHashMap newLinkedHashMap () 
	public static java.util.TreeMap newTreeMap () 
	public static java.util.IdentityHashMap newIdentityHashMap () 
	public static java.util.Map$Entry immutableEntry (java.lang.Object, java.lang.Object) 
		Object key
		Object value
}

com/google/inject/internal/util/NullOutputException.class
NullOutputException.java
package com.google.inject.internal.util
 com.google.inject.internal.util.NullOutputException extends java.lang.NullPointerException {
	public void  (java.lang.String) 
		String s
}

com/google/inject/internal/util/ObjectArrays.class
ObjectArrays.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.ObjectArrays extends java.lang.Object {
	private void  () 
	public static java.lang.Object[] newArray (java.lang.Object[], int) 
		Object[] reference
		int length
		Class type
		Object[] result
}

com/google/inject/internal/util/Objects.class
Objects.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Objects extends java.lang.Object {
	private void  () 
	public static boolean equal (java.lang.Object, java.lang.Object) 
		Object a
		Object b
	public static transient int hashCode (java.lang.Object[]) 
		Object[] objects
}

com/google/inject/internal/util/Preconditions.class
Preconditions.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Preconditions extends java.lang.Object {
	private void  () 
	public static void checkArgument (boolean) 
		boolean expression
	public static void checkArgument (boolean, java.lang.Object) 
		boolean expression
		Object errorMessage
	public static transient void checkArgument (boolean, java.lang.String, java.lang.Object[]) 
		boolean expression
		String errorMessageTemplate
		Object[] errorMessageArgs
	public static void checkState (boolean) 
		boolean expression
	public static void checkState (boolean, java.lang.Object) 
		boolean expression
		Object errorMessage
	public static transient void checkState (boolean, java.lang.String, java.lang.Object[]) 
		boolean expression
		String errorMessageTemplate
		Object[] errorMessageArgs
	public static java.lang.Object checkNotNull (java.lang.Object) 
		Object reference
	public static java.lang.Object checkNotNull (java.lang.Object, java.lang.Object) 
		Object reference
		Object errorMessage
	public static transient java.lang.Object checkNotNull (java.lang.Object, java.lang.String, java.lang.Object[]) 
		Object reference
		String errorMessageTemplate
		Object[] errorMessageArgs
	public static java.lang.Iterable checkContentsNotNull (java.lang.Iterable) 
		Iterable iterable
	public static java.lang.Iterable checkContentsNotNull (java.lang.Iterable, java.lang.Object) 
		Iterable iterable
		Object errorMessage
	public static transient java.lang.Iterable checkContentsNotNull (java.lang.Iterable, java.lang.String, java.lang.Object[]) 
		Iterable iterable
		String errorMessageTemplate
		Object[] errorMessageArgs
	private static boolean containsOrIsNull (java.lang.Iterable) 
		NullPointerException e
		java.util.Collection collection
		Object element
		java.util.Iterator i$
		Iterable iterable
	public static void checkElementIndex (int, int) 
		int index
		int size
	public static void checkElementIndex (int, int, java.lang.String) 
		int index
		int size
		String desc
	public static void checkPositionIndex (int, int) 
		int index
		int size
	public static void checkPositionIndex (int, int, java.lang.String) 
		int index
		int size
		String desc
	public static void checkPositionIndexes (int, int, int) 
		int start
		int end
		int size
	static transient java.lang.String format (java.lang.String, java.lang.Object[]) 
		int placeholderStart
		String template
		Object[] args
		StringBuilder builder
		int templateStart
		int i
}

com/google/inject/internal/util/Sets$SetFromMap.class
Sets.java
package com.google.inject.internal.util
 com.google.inject.internal.util.Sets$SetFromMap extends java.util.AbstractSet implements java.util.Set java.io.Serializable  {
	private final java.util.Map m
	private transient java.util.Set s
	static final long serialVersionUID
	void  (java.util.Map) 
		java.util.Map map
	public void clear () 
	public int size () 
	public boolean isEmpty () 
	public boolean contains (java.lang.Object) 
		Object o
	public boolean remove (java.lang.Object) 
		Object o
	public boolean add (java.lang.Object) 
		Object e
	public java.util.Iterator iterator () 
	public java.lang.Object[] toArray () 
	public java.lang.Object[] toArray (java.lang.Object[]) 
		Object[] a
	public java.lang.String toString () 
	public int hashCode () 
	public boolean equals (java.lang.Object) 
		Object object
	public boolean containsAll (java.util.Collection) 
		java.util.Collection c
	public boolean removeAll (java.util.Collection) 
		java.util.Collection c
	public boolean retainAll (java.util.Collection) 
		java.util.Collection c
	private void readObject (java.io.ObjectInputStream)  throws java.io.IOException java.lang.ClassNotFoundException 
		java.io.ObjectInputStream stream
}

com/google/inject/internal/util/Sets.class
Sets.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Sets extends java.lang.Object {
	private void  () 
	public static java.util.HashSet newHashSet () 
	public static java.util.LinkedHashSet newLinkedHashSet () 
	public static java.util.Set newSetFromMap (java.util.Map) 
		java.util.Map map
	static int hashCodeImpl (java.util.Set) 
		Object o
		java.util.Iterator i$
		java.util.Set s
		int hashCode
}

com/google/inject/internal/util/SourceProvider.class
SourceProvider.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.SourceProvider extends java.lang.Object {
	public static final Object UNKNOWN_SOURCE
	private final com.google.inject.internal.util.ImmutableSet classNamesToSkip
	public static final com.google.inject.internal.util.SourceProvider DEFAULT_INSTANCE
	private void  (java.lang.Iterable) 
		Iterable classesToSkip
	public transient com.google.inject.internal.util.SourceProvider plusSkippedClasses (java.lang.Class[]) 
		Class[] moreClassesToSkip
	private static transient java.util.List asStrings (java.lang.Class[]) 
		Class c
		Class[] arr$
		int len$
		int i$
		Class[] classes
		java.util.List strings
	public java.lang.StackTraceElement get () 
		String className
		StackTraceElement element
		StackTraceElement[] arr$
		int len$
		int i$
	static void  () 
}

com/google/inject/internal/util/StackTraceElements.class
StackTraceElements.java
package com.google.inject.internal.util
public com.google.inject.internal.util.StackTraceElements extends java.lang.Object {
	public void  () 
	public static java.lang.Object forMember (java.lang.reflect.Member) 
		java.lang.reflect.Member member
		Class declaringClass
		String fileName
		int lineNumber
		Class memberType
		String memberName
	public static java.lang.Object forType (java.lang.Class) 
		Class implementation
		String fileName
		int lineNumber
}

com/google/inject/internal/util/Stopwatch.class
Stopwatch.java
package com.google.inject.internal.util
public final com.google.inject.internal.util.Stopwatch extends java.lang.Object {
	private static final java.util.logging.Logger logger
	private long start
	public void  () 
	public long reset () 
		long now
	public void resetAndLog (java.lang.String) 
		String label
	static void  () 
}

com/google/inject/internal/util/Strings.class
Strings.java
package com.google.inject.internal.util
public com.google.inject.internal.util.Strings extends java.lang.Object {
	private void  () 
	public static java.lang.String capitalize (java.lang.String) 
		String s
		char first
		char capitalized
}

com/google/inject/internal/util/ToStringBuilder.class
ToStringBuilder.java
package com.google.inject.internal.util
public com.google.inject.internal.util.ToStringBuilder extends java.lang.Object {
	final java.util.Map map
	final String name
	public void  (java.lang.Class) 
		Class type
	public com.google.inject.internal.util.ToStringBuilder add (java.lang.String, java.lang.Object) 
		String name
		Object value
	public java.lang.String toString () 
}

com/google/inject/internal/util/UnmodifiableIterator.class
UnmodifiableIterator.java
package com.google.inject.internal.util
public abstract com.google.inject.internal.util.UnmodifiableIterator extends java.lang.Object implements java.util.Iterator  {
	public void  () 
	public final void remove () 
}

com/google/inject/matcher/AbstractMatcher$AndMatcher.class
AbstractMatcher.java
package com.google.inject.matcher
 com.google.inject.matcher.AbstractMatcher$AndMatcher extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final com.google.inject.matcher.Matcher a
	private final com.google.inject.matcher.Matcher b
	private static final long serialVersionUID
	public void  (com.google.inject.matcher.Matcher, com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher a
		com.google.inject.matcher.Matcher b
	public boolean matches (java.lang.Object) 
		Object t
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/matcher/AbstractMatcher$OrMatcher.class
AbstractMatcher.java
package com.google.inject.matcher
 com.google.inject.matcher.AbstractMatcher$OrMatcher extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final com.google.inject.matcher.Matcher a
	private final com.google.inject.matcher.Matcher b
	private static final long serialVersionUID
	public void  (com.google.inject.matcher.Matcher, com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher a
		com.google.inject.matcher.Matcher b
	public boolean matches (java.lang.Object) 
		Object t
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/matcher/AbstractMatcher.class
AbstractMatcher.java
package com.google.inject.matcher
public abstract com.google.inject.matcher.AbstractMatcher extends java.lang.Object implements com.google.inject.matcher.Matcher  {
	public void  () 
	public com.google.inject.matcher.Matcher and (com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher other
	public com.google.inject.matcher.Matcher or (com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher other
}

com/google/inject/matcher/Matcher.class
Matcher.java
package com.google.inject.matcher
public abstract com.google.inject.matcher.Matcher extends java.lang.Object {
	public abstract boolean matches (java.lang.Object) 
	public abstract com.google.inject.matcher.Matcher and (com.google.inject.matcher.Matcher) 
	public abstract com.google.inject.matcher.Matcher or (com.google.inject.matcher.Matcher) 
}

com/google/inject/matcher/Matchers$1.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$1 extends java.lang.Object {
}

com/google/inject/matcher/Matchers$AnnotatedWith.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$AnnotatedWith extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final java.lang.annotation.Annotation annotation
	private static final long serialVersionUID
	public void  (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public boolean matches (java.lang.reflect.AnnotatedElement) 
		java.lang.reflect.AnnotatedElement element
		java.lang.annotation.Annotation fromElement
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/matcher/Matchers$AnnotatedWithType.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$AnnotatedWithType extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final Class annotationType
	private static final long serialVersionUID
	public void  (java.lang.Class) 
		Class annotationType
	public boolean matches (java.lang.reflect.AnnotatedElement) 
		java.lang.reflect.AnnotatedElement element
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/matcher/Matchers$Any.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$Any extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private static final long serialVersionUID
	private void  () 
	public boolean matches (java.lang.Object) 
		Object o
	public java.lang.String toString () 
	public java.lang.Object readResolve () 
	void  (com.google.inject.matcher.Matchers$1) 
		com.google.inject.matcher.Matchers$1 x0
}

com/google/inject/matcher/Matchers$IdenticalTo.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$IdenticalTo extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final Object value
	private static final long serialVersionUID
	public void  (java.lang.Object) 
		Object value
	public boolean matches (java.lang.Object) 
		Object other
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/matcher/Matchers$InPackage.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$InPackage extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final transient Package targetPackage
	private final String packageName
	private static final long serialVersionUID
	public void  (java.lang.Package) 
		Package targetPackage
	public boolean matches (java.lang.Class) 
		Class c
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	public java.lang.Object readResolve () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/matcher/Matchers$InSubpackage.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$InSubpackage extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final String targetPackageName
	private static final long serialVersionUID
	public void  (java.lang.String) 
		String targetPackageName
	public boolean matches (java.lang.Class) 
		Class c
		String classPackageName
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/matcher/Matchers$Not.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$Not extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	final com.google.inject.matcher.Matcher delegate
	private static final long serialVersionUID
	private void  (com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher delegate
	public boolean matches (java.lang.Object) 
		Object t
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	void  (com.google.inject.matcher.Matcher, com.google.inject.matcher.Matchers$1) 
		com.google.inject.matcher.Matcher x0
		com.google.inject.matcher.Matchers$1 x1
}

com/google/inject/matcher/Matchers$Only.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$Only extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final Object value
	private static final long serialVersionUID
	public void  (java.lang.Object) 
		Object value
	public boolean matches (java.lang.Object) 
		Object other
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
}

com/google/inject/matcher/Matchers$Returns.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$Returns extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final com.google.inject.matcher.Matcher returnType
	private static final long serialVersionUID
	public void  (com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher returnType
	public boolean matches (java.lang.reflect.Method) 
		java.lang.reflect.Method m
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/matcher/Matchers$SubclassesOf.class
Matchers.java
package com.google.inject.matcher
 com.google.inject.matcher.Matchers$SubclassesOf extends com.google.inject.matcher.AbstractMatcher implements java.io.Serializable  {
	private final Class superclass
	private static final long serialVersionUID
	public void  (java.lang.Class) 
		Class superclass
	public boolean matches (java.lang.Class) 
		Class subclass
	public boolean equals (java.lang.Object) 
		Object other
	public int hashCode () 
	public java.lang.String toString () 
	public volatile boolean matches (java.lang.Object) 
		Object x0
}

com/google/inject/matcher/Matchers.class
Matchers.java
package com.google.inject.matcher
public com.google.inject.matcher.Matchers extends java.lang.Object {
	private static final com.google.inject.matcher.Matcher ANY
	private void  () 
	public static com.google.inject.matcher.Matcher any () 
	public static com.google.inject.matcher.Matcher not (com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher p
	private static void checkForRuntimeRetention (java.lang.Class) 
		Class annotationType
		java.lang.annotation.Retention retention
	public static com.google.inject.matcher.Matcher annotatedWith (java.lang.Class) 
		Class annotationType
	public static com.google.inject.matcher.Matcher annotatedWith (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
	public static com.google.inject.matcher.Matcher subclassesOf (java.lang.Class) 
		Class superclass
	public static com.google.inject.matcher.Matcher only (java.lang.Object) 
		Object value
	public static com.google.inject.matcher.Matcher identicalTo (java.lang.Object) 
		Object value
	public static com.google.inject.matcher.Matcher inPackage (java.lang.Package) 
		Package targetPackage
	public static com.google.inject.matcher.Matcher inSubpackage (java.lang.String) 
		String targetPackageName
	public static com.google.inject.matcher.Matcher returns (com.google.inject.matcher.Matcher) 
		com.google.inject.matcher.Matcher returnType
	static void access$200 (java.lang.Class) 
		Class x0
	static void  () 
}

com/google/inject/name/Named.class
Named.java
package com.google.inject.name
public abstract com.google.inject.name.Named extends java.lang.Object implements java.lang.annotation.Annotation  {
	public abstract java.lang.String value () 
}

com/google/inject/name/NamedImpl.class
NamedImpl.java
package com.google.inject.name
 com.google.inject.name.NamedImpl extends java.lang.Object implements com.google.inject.name.Named java.io.Serializable  {
	private final String value
	private static final long serialVersionUID
	public void  (java.lang.String) 
		String value
	public java.lang.String value () 
	public int hashCode () 
	public boolean equals (java.lang.Object) 
		Object o
	public java.lang.String toString () 
	public java.lang.Class annotationType () 
}

com/google/inject/name/Names.class
Names.java
package com.google.inject.name
public com.google.inject.name.Names extends java.lang.Object {
	private void  () 
	public static com.google.inject.name.Named named (java.lang.String) 
		String name
	public static void bindProperties (com.google.inject.Binder, java.util.Map) 
		String key
		String value
		java.util.Map$Entry entry
		java.util.Iterator i$
		com.google.inject.Binder binder
		java.util.Map properties
	public static void bindProperties (com.google.inject.Binder, java.util.Properties) 
		String propertyName
		String value
		java.util.Enumeration e
		com.google.inject.Binder binder
		java.util.Properties properties
}

com/google/inject/spi/BindingScopingVisitor.class
BindingScopingVisitor.java
package com.google.inject.spi
public abstract com.google.inject.spi.BindingScopingVisitor extends java.lang.Object {
	public abstract java.lang.Object visitEagerSingleton () 
	public abstract java.lang.Object visitScope (com.google.inject.Scope) 
	public abstract java.lang.Object visitScopeAnnotation (java.lang.Class) 
	public abstract java.lang.Object visitNoScoping () 
}

com/google/inject/spi/BindingTargetVisitor.class
BindingTargetVisitor.java
package com.google.inject.spi
public abstract com.google.inject.spi.BindingTargetVisitor extends java.lang.Object {
	public abstract java.lang.Object visit (com.google.inject.spi.InstanceBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ProviderInstanceBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ProviderKeyBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.LinkedKeyBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ExposedBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.UntargettedBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ConstructorBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ConvertedConstantBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ProviderBinding) 
}

com/google/inject/spi/ConstructorBinding.class
ConstructorBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.ConstructorBinding extends java.lang.Object implements com.google.inject.Binding com.google.inject.spi.HasDependencies  {
	public abstract com.google.inject.spi.InjectionPoint getConstructor () 
	public abstract java.util.Set getInjectableMembers () 
}

com/google/inject/spi/ConvertedConstantBinding.class
ConvertedConstantBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.ConvertedConstantBinding extends java.lang.Object implements com.google.inject.Binding com.google.inject.spi.HasDependencies  {
	public abstract java.lang.Object getValue () 
	public abstract com.google.inject.spi.TypeConverterBinding getTypeConverterBinding () 
	public abstract com.google.inject.Key getSourceKey () 
	public abstract java.util.Set getDependencies () 
}

com/google/inject/spi/DefaultBindingScopingVisitor.class
DefaultBindingScopingVisitor.java
package com.google.inject.spi
public com.google.inject.spi.DefaultBindingScopingVisitor extends java.lang.Object implements com.google.inject.spi.BindingScopingVisitor  {
	public void  () 
	protected java.lang.Object visitOther () 
	public java.lang.Object visitEagerSingleton () 
	public java.lang.Object visitScope (com.google.inject.Scope) 
		com.google.inject.Scope scope
	public java.lang.Object visitScopeAnnotation (java.lang.Class) 
		Class scopeAnnotation
	public java.lang.Object visitNoScoping () 
}

com/google/inject/spi/DefaultBindingTargetVisitor.class
DefaultBindingTargetVisitor.java
package com.google.inject.spi
public abstract com.google.inject.spi.DefaultBindingTargetVisitor extends java.lang.Object implements com.google.inject.spi.BindingTargetVisitor  {
	public void  () 
	protected java.lang.Object visitOther (com.google.inject.Binding) 
		com.google.inject.Binding binding
	public java.lang.Object visit (com.google.inject.spi.InstanceBinding) 
		com.google.inject.spi.InstanceBinding instanceBinding
	public java.lang.Object visit (com.google.inject.spi.ProviderInstanceBinding) 
		com.google.inject.spi.ProviderInstanceBinding providerInstanceBinding
	public java.lang.Object visit (com.google.inject.spi.ProviderKeyBinding) 
		com.google.inject.spi.ProviderKeyBinding providerKeyBinding
	public java.lang.Object visit (com.google.inject.spi.LinkedKeyBinding) 
		com.google.inject.spi.LinkedKeyBinding linkedKeyBinding
	public java.lang.Object visit (com.google.inject.spi.ExposedBinding) 
		com.google.inject.spi.ExposedBinding exposedBinding
	public java.lang.Object visit (com.google.inject.spi.UntargettedBinding) 
		com.google.inject.spi.UntargettedBinding untargettedBinding
	public java.lang.Object visit (com.google.inject.spi.ConstructorBinding) 
		com.google.inject.spi.ConstructorBinding constructorBinding
	public java.lang.Object visit (com.google.inject.spi.ConvertedConstantBinding) 
		com.google.inject.spi.ConvertedConstantBinding convertedConstantBinding
	public java.lang.Object visit (com.google.inject.spi.ProviderBinding) 
		com.google.inject.spi.ProviderBinding providerBinding
}

com/google/inject/spi/DefaultElementVisitor.class
DefaultElementVisitor.java
package com.google.inject.spi
public abstract com.google.inject.spi.DefaultElementVisitor extends java.lang.Object implements com.google.inject.spi.ElementVisitor  {
	public void  () 
	protected java.lang.Object visitOther (com.google.inject.spi.Element) 
		com.google.inject.spi.Element element
	public java.lang.Object visit (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	public java.lang.Object visit (com.google.inject.Binding) 
		com.google.inject.Binding binding
	public java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding scopeBinding
	public java.lang.Object visit (com.google.inject.spi.TypeConverterBinding) 
		com.google.inject.spi.TypeConverterBinding typeConverterBinding
	public java.lang.Object visit (com.google.inject.spi.ProviderLookup) 
		com.google.inject.spi.ProviderLookup providerLookup
	public java.lang.Object visit (com.google.inject.spi.InjectionRequest) 
		com.google.inject.spi.InjectionRequest injectionRequest
	public java.lang.Object visit (com.google.inject.spi.StaticInjectionRequest) 
		com.google.inject.spi.StaticInjectionRequest staticInjectionRequest
	public java.lang.Object visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements privateElements
	public java.lang.Object visit (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.spi.MembersInjectorLookup lookup
	public java.lang.Object visit (com.google.inject.spi.TypeListenerBinding) 
		com.google.inject.spi.TypeListenerBinding binding
}

com/google/inject/spi/Dependency.class
Dependency.java
package com.google.inject.spi
public final com.google.inject.spi.Dependency extends java.lang.Object {
	private final com.google.inject.spi.InjectionPoint injectionPoint
	private final com.google.inject.Key key
	private final boolean nullable
	private final int parameterIndex
	void  (com.google.inject.spi.InjectionPoint, com.google.inject.Key, boolean, int) 
		com.google.inject.spi.InjectionPoint injectionPoint
		com.google.inject.Key key
		boolean nullable
		int parameterIndex
	public static com.google.inject.spi.Dependency get (com.google.inject.Key) 
		com.google.inject.Key key
	public static java.util.Set forInjectionPoints (java.util.Set) 
		com.google.inject.spi.InjectionPoint injectionPoint
		java.util.Iterator i$
		java.util.Set injectionPoints
		java.util.List dependencies
	public com.google.inject.Key getKey () 
	public boolean isNullable () 
	public com.google.inject.spi.InjectionPoint getInjectionPoint () 
	public int getParameterIndex () 
	public int hashCode () 
	public boolean equals (java.lang.Object) 
		com.google.inject.spi.Dependency dependency
		Object o
	public java.lang.String toString () 
		StringBuilder builder
}

com/google/inject/spi/Element.class
Element.java
package com.google.inject.spi
public abstract com.google.inject.spi.Element extends java.lang.Object {
	public abstract java.lang.Object getSource () 
	public abstract java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
	public abstract void applyTo (com.google.inject.Binder) 
}

com/google/inject/spi/ElementVisitor.class
ElementVisitor.java
package com.google.inject.spi
public abstract com.google.inject.spi.ElementVisitor extends java.lang.Object {
	public abstract java.lang.Object visit (com.google.inject.Binding) 
	public abstract java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.TypeConverterBinding) 
	public abstract java.lang.Object visit (com.google.inject.spi.InjectionRequest) 
	public abstract java.lang.Object visit (com.google.inject.spi.StaticInjectionRequest) 
	public abstract java.lang.Object visit (com.google.inject.spi.ProviderLookup) 
	public abstract java.lang.Object visit (com.google.inject.spi.MembersInjectorLookup) 
	public abstract java.lang.Object visit (com.google.inject.spi.Message) 
	public abstract java.lang.Object visit (com.google.inject.spi.PrivateElements) 
	public abstract java.lang.Object visit (com.google.inject.spi.TypeListenerBinding) 
}

com/google/inject/spi/Elements$1.class
Elements.java
package com.google.inject.spi
 com.google.inject.spi.Elements$1 extends com.google.inject.spi.DefaultBindingTargetVisitor {
	void  () 
	public java.lang.Object visit (com.google.inject.spi.InstanceBinding) 
		com.google.inject.spi.InstanceBinding binding
	protected java.lang.Object visitOther (com.google.inject.Binding) 
		com.google.inject.Binding binding
}

com/google/inject/spi/Elements$2.class
Elements.java
package com.google.inject.spi
 com.google.inject.spi.Elements$2 extends java.lang.Object implements com.google.inject.Module  {
	final Iterable val$elements
	void  (java.lang.Iterable) 
	public void configure (com.google.inject.Binder) 
		com.google.inject.spi.Element element
		java.util.Iterator i$
		com.google.inject.Binder binder
}

com/google/inject/spi/Elements$RecordingBinder$1.class
Elements.java
package com.google.inject.spi
 com.google.inject.spi.Elements$RecordingBinder$1 extends java.lang.Object implements com.google.inject.binder.AnnotatedElementBuilder  {
	final com.google.inject.spi.Elements$RecordingBinder this$0
	void  (com.google.inject.spi.Elements$RecordingBinder) 
	public void annotatedWith (java.lang.Class) 
		Class annotationType
	public void annotatedWith (java.lang.annotation.Annotation) 
		java.lang.annotation.Annotation annotation
}

com/google/inject/spi/Elements$RecordingBinder.class
Elements.java
package com.google.inject.spi
 com.google.inject.spi.Elements$RecordingBinder extends java.lang.Object implements com.google.inject.Binder com.google.inject.PrivateBinder  {
	private final com.google.inject.Stage stage
	private final java.util.Set modules
	private final java.util.List elements
	private final Object source
	private final com.google.inject.internal.util.SourceProvider sourceProvider
	private final com.google.inject.spi.Elements$RecordingBinder parent
	private final com.google.inject.internal.PrivateElementsImpl privateElements
	private void  (com.google.inject.Stage) 
		com.google.inject.Stage stage
	private void  (com.google.inject.spi.Elements$RecordingBinder, java.lang.Object, com.google.inject.internal.util.SourceProvider) 
		com.google.inject.spi.Elements$RecordingBinder prototype
		Object source
		com.google.inject.internal.util.SourceProvider sourceProvider
	private void  (com.google.inject.spi.Elements$RecordingBinder, com.google.inject.internal.PrivateElementsImpl) 
		com.google.inject.spi.Elements$RecordingBinder parent
		com.google.inject.internal.PrivateElementsImpl privateElements
	public void bindScope (java.lang.Class, com.google.inject.Scope) 
		Class annotationType
		com.google.inject.Scope scope
	public void requestInjection (java.lang.Object) 
		Object instance
	public void requestInjection (com.google.inject.TypeLiteral, java.lang.Object) 
		com.google.inject.TypeLiteral type
		Object instance
	public com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
		com.google.inject.spi.MembersInjectorLookup element
	public com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
		Class type
	public void bindListener (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeListener) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeListener listener
	public transient void requestStaticInjection (java.lang.Class[]) 
		Class type
		Class[] arr$
		int len$
		int i$
		Class[] types
	public void install (com.google.inject.Module) 
		java.util.Collection messages
		RuntimeException e
		com.google.inject.Binder binder
		com.google.inject.Module module
	public com.google.inject.Stage currentStage () 
	public transient void addError (java.lang.String, java.lang.Object[]) 
		String message
		Object[] arguments
	public void addError (java.lang.Throwable) 
		Throwable t
		String message
	public void addError (com.google.inject.spi.Message) 
		com.google.inject.spi.Message message
	public com.google.inject.binder.AnnotatedBindingBuilder bind (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.binder.AnnotatedBindingBuilder bind (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral typeLiteral
	public com.google.inject.binder.AnnotatedBindingBuilder bind (java.lang.Class) 
		Class type
	public com.google.inject.binder.AnnotatedConstantBindingBuilder bindConstant () 
	public com.google.inject.Provider getProvider (com.google.inject.Key) 
		com.google.inject.Key key
		com.google.inject.spi.ProviderLookup element
	public com.google.inject.Provider getProvider (java.lang.Class) 
		Class type
	public void convertToTypes (com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeConverter converter
	public com.google.inject.spi.Elements$RecordingBinder withSource (java.lang.Object) 
		Object source
	public transient com.google.inject.spi.Elements$RecordingBinder skipSources (java.lang.Class[]) 
		Class[] classesToSkip
		com.google.inject.internal.util.SourceProvider newSourceProvider
	public com.google.inject.PrivateBinder newPrivateBinder () 
		com.google.inject.internal.PrivateElementsImpl privateElements
	public void expose (com.google.inject.Key) 
		com.google.inject.Key key
	public com.google.inject.binder.AnnotatedElementBuilder expose (java.lang.Class) 
		Class type
	public com.google.inject.binder.AnnotatedElementBuilder expose (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
	private com.google.inject.binder.AnnotatedElementBuilder exposeInternal (com.google.inject.Key) 
		com.google.inject.Key key
		com.google.inject.internal.ExposureBuilder builder
	protected java.lang.Object getSource () 
	public java.lang.String toString () 
	public volatile com.google.inject.Binder skipSources (java.lang.Class[]) 
		Class[] x0
	public volatile com.google.inject.Binder withSource (java.lang.Object) 
		Object x0
	public volatile com.google.inject.binder.LinkedBindingBuilder bind (com.google.inject.Key) 
		com.google.inject.Key x0
	public volatile com.google.inject.PrivateBinder skipSources (java.lang.Class[]) 
		Class[] x0
	public volatile com.google.inject.PrivateBinder withSource (java.lang.Object) 
		Object x0
	void  (com.google.inject.Stage, com.google.inject.spi.Elements$1) 
		com.google.inject.Stage x0
		com.google.inject.spi.Elements$1 x1
	static java.util.List access$100 (com.google.inject.spi.Elements$RecordingBinder) 
		com.google.inject.spi.Elements$RecordingBinder x0
}

com/google/inject/spi/Elements.class
Elements.java
package com.google.inject.spi
public final com.google.inject.spi.Elements extends java.lang.Object {
	private static final com.google.inject.spi.BindingTargetVisitor GET_INSTANCE_VISITOR
	public void  () 
	public static transient java.util.List getElements (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	public static transient java.util.List getElements (com.google.inject.Stage, com.google.inject.Module[]) 
		com.google.inject.Stage stage
		com.google.inject.Module[] modules
	public static java.util.List getElements (java.lang.Iterable) 
		Iterable modules
	public static java.util.List getElements (com.google.inject.Stage, java.lang.Iterable) 
		com.google.inject.Module module
		java.util.Iterator i$
		com.google.inject.Stage stage
		Iterable modules
		com.google.inject.spi.Elements$RecordingBinder binder
	public static com.google.inject.Module getModule (java.lang.Iterable) 
		Iterable elements
	static com.google.inject.spi.BindingTargetVisitor getInstanceVisitor () 
	static void  () 
}

com/google/inject/spi/ExposedBinding.class
ExposedBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.ExposedBinding extends java.lang.Object implements com.google.inject.Binding com.google.inject.spi.HasDependencies  {
	public abstract com.google.inject.spi.PrivateElements getPrivateElements () 
	public abstract void applyTo (com.google.inject.Binder) 
}

com/google/inject/spi/HasDependencies.class
HasDependencies.java
package com.google.inject.spi
public abstract com.google.inject.spi.HasDependencies extends java.lang.Object {
	public abstract java.util.Set getDependencies () 
}

com/google/inject/spi/InjectionListener.class
InjectionListener.java
package com.google.inject.spi
public abstract com.google.inject.spi.InjectionListener extends java.lang.Object {
	public abstract void afterInjection (java.lang.Object) 
}

com/google/inject/spi/InjectionPoint$InjectableField.class
InjectionPoint.java
package com.google.inject.spi
 com.google.inject.spi.InjectionPoint$InjectableField extends com.google.inject.spi.InjectionPoint$InjectableMember {
	final java.lang.reflect.Field field
	void  (com.google.inject.TypeLiteral, java.lang.reflect.Field, java.lang.annotation.Annotation) 
		com.google.inject.TypeLiteral declaringType
		java.lang.reflect.Field field
		java.lang.annotation.Annotation atInject
	com.google.inject.spi.InjectionPoint toInjectionPoint () 
}

com/google/inject/spi/InjectionPoint$InjectableMember.class
InjectionPoint.java
package com.google.inject.spi
abstract com.google.inject.spi.InjectionPoint$InjectableMember extends java.lang.Object {
	final com.google.inject.TypeLiteral declaringType
	final boolean optional
	final boolean jsr330
	com.google.inject.spi.InjectionPoint$InjectableMember previous
	com.google.inject.spi.InjectionPoint$InjectableMember next
	void  (com.google.inject.TypeLiteral, java.lang.annotation.Annotation) 
		com.google.inject.TypeLiteral declaringType
		java.lang.annotation.Annotation atInject
	abstract com.google.inject.spi.InjectionPoint toInjectionPoint () 
}

com/google/inject/spi/InjectionPoint$InjectableMembers.class
InjectionPoint.java
package com.google.inject.spi
 com.google.inject.spi.InjectionPoint$InjectableMembers extends java.lang.Object {
	com.google.inject.spi.InjectionPoint$InjectableMember head
	com.google.inject.spi.InjectionPoint$InjectableMember tail
	void  () 
	void add (com.google.inject.spi.InjectionPoint$InjectableMember) 
		com.google.inject.spi.InjectionPoint$InjectableMember member
	void remove (com.google.inject.spi.InjectionPoint$InjectableMember) 
		com.google.inject.spi.InjectionPoint$InjectableMember member
	boolean isEmpty () 
}

com/google/inject/spi/InjectionPoint$InjectableMethod.class
InjectionPoint.java
package com.google.inject.spi
 com.google.inject.spi.InjectionPoint$InjectableMethod extends com.google.inject.spi.InjectionPoint$InjectableMember {
	final java.lang.reflect.Method method
	boolean overrodeGuiceInject
	void  (com.google.inject.TypeLiteral, java.lang.reflect.Method, java.lang.annotation.Annotation) 
		com.google.inject.TypeLiteral declaringType
		java.lang.reflect.Method method
		java.lang.annotation.Annotation atInject
	com.google.inject.spi.InjectionPoint toInjectionPoint () 
	public boolean isFinal () 
}

com/google/inject/spi/InjectionPoint$OverrideIndex.class
InjectionPoint.java
package com.google.inject.spi
 com.google.inject.spi.InjectionPoint$OverrideIndex extends java.lang.Object {
	final com.google.inject.spi.InjectionPoint$InjectableMembers injectableMembers
	java.util.Map bySignature
	com.google.inject.spi.InjectionPoint$Position position
	java.lang.reflect.Method lastMethod
	com.google.inject.spi.InjectionPoint$Signature lastSignature
	void  (com.google.inject.spi.InjectionPoint$InjectableMembers) 
		com.google.inject.spi.InjectionPoint$InjectableMembers injectableMembers
	boolean removeIfOverriddenBy (java.lang.reflect.Method, boolean, com.google.inject.spi.InjectionPoint$InjectableMethod) 
		com.google.inject.spi.InjectionPoint$InjectableMethod im
		java.util.List methods
		com.google.inject.spi.InjectionPoint$InjectableMember member
		boolean wasGuiceInject
		com.google.inject.spi.InjectionPoint$InjectableMethod possiblyOverridden
		java.util.Iterator iterator
		java.lang.reflect.Method method
		boolean alwaysRemove
		com.google.inject.spi.InjectionPoint$InjectableMethod injectableMethod
		com.google.inject.spi.InjectionPoint$Signature signature
		java.util.List methods
		boolean removed
	void add (com.google.inject.spi.InjectionPoint$InjectableMethod) 
		com.google.inject.spi.InjectionPoint$Signature signature
		java.util.List methods
		com.google.inject.spi.InjectionPoint$InjectableMethod injectableMethod
}

com/google/inject/spi/InjectionPoint$Position.class
InjectionPoint.java
package com.google.inject.spi
final com.google.inject.spi.InjectionPoint$Position extends java.lang.Enum {
	public static final com.google.inject.spi.InjectionPoint$Position TOP
	public static final com.google.inject.spi.InjectionPoint$Position MIDDLE
	public static final com.google.inject.spi.InjectionPoint$Position BOTTOM
	private static final com.google.inject.spi.InjectionPoint$Position[] $VALUES
	public static final com.google.inject.spi.InjectionPoint$Position[] values () 
	public static com.google.inject.spi.InjectionPoint$Position valueOf (java.lang.String) 
		String name
	private void  (java.lang.String, int) 
	static void  () 
}

com/google/inject/spi/InjectionPoint$Signature.class
InjectionPoint.java
package com.google.inject.spi
 com.google.inject.spi.InjectionPoint$Signature extends java.lang.Object {
	final String name
	final Class[] parameterTypes
	final int hash
	void  (java.lang.reflect.Method) 
		Class parameterType
		Class[] arr$
		int len$
		int i$
		java.lang.reflect.Method method
		int h
	public int hashCode () 
	public boolean equals (java.lang.Object) 
		int i
		Object o
		com.google.inject.spi.InjectionPoint$Signature other
}

com/google/inject/spi/InjectionPoint.class
InjectionPoint.java
package com.google.inject.spi
public final com.google.inject.spi.InjectionPoint extends java.lang.Object {
	private static final java.util.logging.Logger logger
	private final boolean optional
	private final java.lang.reflect.Member member
	private final com.google.inject.TypeLiteral declaringType
	private final com.google.inject.internal.util.ImmutableList dependencies
	void  (com.google.inject.TypeLiteral, java.lang.reflect.Method, boolean) 
		com.google.inject.TypeLiteral declaringType
		java.lang.reflect.Method method
		boolean optional
	void  (com.google.inject.TypeLiteral, java.lang.reflect.Constructor) 
		com.google.inject.TypeLiteral declaringType
		java.lang.reflect.Constructor constructor
	void  (com.google.inject.TypeLiteral, java.lang.reflect.Field, boolean) 
		com.google.inject.ConfigurationException e
		com.google.inject.internal.ErrorsException e
		com.google.inject.TypeLiteral declaringType
		java.lang.reflect.Field field
		boolean optional
		java.lang.annotation.Annotation[] annotations
		com.google.inject.internal.Errors errors
		com.google.inject.Key key
	private com.google.inject.internal.util.ImmutableList forMember (java.lang.reflect.Member, com.google.inject.TypeLiteral, java.lang.annotation.Annotation[][]) 
		java.lang.annotation.Annotation[] parameterAnnotations
		com.google.inject.Key key
		com.google.inject.ConfigurationException e
		com.google.inject.internal.ErrorsException e
		com.google.inject.TypeLiteral parameterType
		java.util.Iterator i$
		java.lang.reflect.Member member
		com.google.inject.TypeLiteral type
		java.lang.annotation.Annotation[][] paramterAnnotations
		com.google.inject.internal.Errors errors
		java.util.Iterator annotationsIterator
		java.util.List dependencies
		int index
	private com.google.inject.spi.Dependency newDependency (com.google.inject.Key, boolean, int) 
		com.google.inject.Key key
		boolean allowsNull
		int parameterIndex
	public java.lang.reflect.Member getMember () 
	public java.util.List getDependencies () 
	public boolean isOptional () 
	public boolean isToolable () 
	public com.google.inject.TypeLiteral getDeclaringType () 
	public boolean equals (java.lang.Object) 
		Object o
	public int hashCode () 
	public java.lang.String toString () 
	public static com.google.inject.spi.InjectionPoint forConstructor (java.lang.reflect.Constructor) 
		java.lang.reflect.Constructor constructor
	public static com.google.inject.spi.InjectionPoint forConstructor (java.lang.reflect.Constructor, com.google.inject.TypeLiteral) 
		java.lang.reflect.Constructor constructor
		com.google.inject.TypeLiteral type
	public static com.google.inject.spi.InjectionPoint forConstructorOf (com.google.inject.TypeLiteral) 
		javax.inject.Inject javaxInject
		boolean optional
		boolean optional
		com.google.inject.Inject guiceInject
		java.lang.reflect.Constructor constructor
		java.lang.reflect.Constructor[] arr$
		int len$
		int i$
		java.lang.reflect.Constructor noArgConstructor
		NoSuchMethodException e
		com.google.inject.TypeLiteral type
		Class rawType
		com.google.inject.internal.Errors errors
		java.lang.reflect.Constructor injectableConstructor
	public static com.google.inject.spi.InjectionPoint forConstructorOf (java.lang.Class) 
		Class type
	public static java.util.Set forStaticMethodsAndFields (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
		com.google.inject.internal.Errors errors
		java.util.Set result
	public static java.util.Set forStaticMethodsAndFields (java.lang.Class) 
		Class type
	public static java.util.Set forInstanceMethodsAndFields (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
		com.google.inject.internal.Errors errors
		java.util.Set result
	public static java.util.Set forInstanceMethodsAndFields (java.lang.Class) 
		Class type
	private static boolean checkForMisplacedBindingAnnotations (java.lang.reflect.Member, com.google.inject.internal.Errors) 
		NoSuchFieldException ignore
		java.lang.reflect.Member member
		com.google.inject.internal.Errors errors
		java.lang.annotation.Annotation misplacedBindingAnnotation
	static java.lang.annotation.Annotation getAtInject (java.lang.reflect.AnnotatedElement) 
		java.lang.reflect.AnnotatedElement member
		java.lang.annotation.Annotation a
	private static java.util.Set getInjectionPoints (com.google.inject.TypeLiteral, boolean, com.google.inject.internal.Errors) 
		com.google.inject.spi.InjectionPoint$InjectableField injectableField
		java.lang.annotation.Annotation atInject
		java.lang.reflect.Field field
		java.lang.reflect.Field[] arr$
		int len$
		int i$
		boolean removed
		com.google.inject.spi.InjectionPoint$InjectableMethod injectableMethod
		boolean removed
		java.lang.annotation.Annotation atInject
		java.lang.reflect.Method method
		java.lang.reflect.Method[] arr$
		int len$
		int i$
		com.google.inject.TypeLiteral current
		int i
		com.google.inject.ConfigurationException ignorable
		com.google.inject.spi.InjectionPoint$InjectableMember im
		com.google.inject.TypeLiteral type
		boolean statics
		com.google.inject.internal.Errors errors
		com.google.inject.spi.InjectionPoint$InjectableMembers injectableMembers
		com.google.inject.spi.InjectionPoint$OverrideIndex overrideIndex
		java.util.List hierarchy
		int topIndex
		com.google.inject.internal.util.ImmutableSet$Builder builder
	private static boolean isValidMethod (com.google.inject.spi.InjectionPoint$InjectableMethod, com.google.inject.internal.Errors) 
		java.lang.reflect.Method method
		com.google.inject.spi.InjectionPoint$InjectableMethod injectableMethod
		com.google.inject.internal.Errors errors
		boolean result
	private static java.util.List hierarchyFor (com.google.inject.TypeLiteral) 
		com.google.inject.TypeLiteral type
		java.util.List hierarchy
		com.google.inject.TypeLiteral current
	private static boolean overrides (java.lang.reflect.Method, java.lang.reflect.Method) 
		java.lang.reflect.Method a
		java.lang.reflect.Method b
		int modifiers
	static boolean access$000 (java.lang.reflect.Method, java.lang.reflect.Method) 
		java.lang.reflect.Method x0
		java.lang.reflect.Method x1
	static void  () 
}

com/google/inject/spi/InjectionRequest.class
InjectionRequest.java
package com.google.inject.spi
public final com.google.inject.spi.InjectionRequest extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final com.google.inject.TypeLiteral type
	private final Object instance
	public void  (java.lang.Object, com.google.inject.TypeLiteral, java.lang.Object) 
		Object source
		com.google.inject.TypeLiteral type
		Object instance
	public java.lang.Object getSource () 
	public java.lang.Object getInstance () 
	public com.google.inject.TypeLiteral getType () 
	public java.util.Set getInjectionPoints ()  throws com.google.inject.ConfigurationException 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
}

com/google/inject/spi/InstanceBinding.class
InstanceBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.InstanceBinding extends java.lang.Object implements com.google.inject.Binding com.google.inject.spi.HasDependencies  {
	public abstract java.lang.Object getInstance () 
	public abstract java.util.Set getInjectionPoints () 
}

com/google/inject/spi/LinkedKeyBinding.class
LinkedKeyBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.LinkedKeyBinding extends java.lang.Object implements com.google.inject.Binding  {
	public abstract com.google.inject.Key getLinkedKey () 
}

com/google/inject/spi/MembersInjectorLookup$1.class
MembersInjectorLookup.java
package com.google.inject.spi
 com.google.inject.spi.MembersInjectorLookup$1 extends java.lang.Object implements com.google.inject.MembersInjector  {
	final com.google.inject.spi.MembersInjectorLookup this$0
	void  (com.google.inject.spi.MembersInjectorLookup) 
	public void injectMembers (java.lang.Object) 
		Object instance
	public java.lang.String toString () 
}

com/google/inject/spi/MembersInjectorLookup.class
MembersInjectorLookup.java
package com.google.inject.spi
public final com.google.inject.spi.MembersInjectorLookup extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final com.google.inject.TypeLiteral type
	private com.google.inject.MembersInjector delegate
	public void  (java.lang.Object, com.google.inject.TypeLiteral) 
		Object source
		com.google.inject.TypeLiteral type
	public java.lang.Object getSource () 
	public com.google.inject.TypeLiteral getType () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public void initializeDelegate (com.google.inject.MembersInjector) 
		com.google.inject.MembersInjector delegate
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public com.google.inject.MembersInjector getDelegate () 
	public com.google.inject.MembersInjector getMembersInjector () 
	static com.google.inject.MembersInjector access$000 (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.spi.MembersInjectorLookup x0
	static com.google.inject.TypeLiteral access$100 (com.google.inject.spi.MembersInjectorLookup) 
		com.google.inject.spi.MembersInjectorLookup x0
}

com/google/inject/spi/Message.class
Message.java
package com.google.inject.spi
public final com.google.inject.spi.Message extends java.lang.Object implements java.io.Serializable com.google.inject.spi.Element  {
	private final String message
	private final Throwable cause
	private final java.util.List sources
	private static final long serialVersionUID
	public void  (java.util.List, java.lang.String, java.lang.Throwable) 
		java.util.List sources
		String message
		Throwable cause
	public void  (java.lang.Object, java.lang.String) 
		Object source
		String message
	public void  (java.lang.String) 
		String message
	public java.lang.String getSource () 
	public java.util.List getSources () 
	public java.lang.String getMessage () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public java.lang.Throwable getCause () 
	public java.lang.String toString () 
	public int hashCode () 
	public boolean equals (java.lang.Object) 
		Object o
		com.google.inject.spi.Message e
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	private java.lang.Object writeReplace ()  throws java.io.ObjectStreamException 
		int i
		Object[] sourcesAsStrings
	public volatile java.lang.Object getSource () 
}

com/google/inject/spi/PrivateElements.class
PrivateElements.java
package com.google.inject.spi
public abstract com.google.inject.spi.PrivateElements extends java.lang.Object implements com.google.inject.spi.Element  {
	public abstract java.util.List getElements () 
	public abstract com.google.inject.Injector getInjector () 
	public abstract java.util.Set getExposedKeys () 
	public abstract java.lang.Object getExposedSource (com.google.inject.Key) 
}

com/google/inject/spi/ProviderBinding.class
ProviderBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.ProviderBinding extends java.lang.Object implements com.google.inject.Binding  {
	public abstract com.google.inject.Key getProvidedKey () 
}

com/google/inject/spi/ProviderInstanceBinding.class
ProviderInstanceBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.ProviderInstanceBinding extends java.lang.Object implements com.google.inject.Binding com.google.inject.spi.HasDependencies  {
	public abstract com.google.inject.Provider getProviderInstance () 
	public abstract java.util.Set getInjectionPoints () 
}

com/google/inject/spi/ProviderKeyBinding.class
ProviderKeyBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.ProviderKeyBinding extends java.lang.Object implements com.google.inject.Binding  {
	public abstract com.google.inject.Key getProviderKey () 
}

com/google/inject/spi/ProviderLookup$1.class
ProviderLookup.java
package com.google.inject.spi
 com.google.inject.spi.ProviderLookup$1 extends java.lang.Object implements com.google.inject.Provider  {
	final com.google.inject.spi.ProviderLookup this$0
	void  (com.google.inject.spi.ProviderLookup) 
	public java.lang.Object get () 
	public java.lang.String toString () 
}

com/google/inject/spi/ProviderLookup.class
ProviderLookup.java
package com.google.inject.spi
public final com.google.inject.spi.ProviderLookup extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final com.google.inject.Key key
	private com.google.inject.Provider delegate
	public void  (java.lang.Object, com.google.inject.Key) 
		Object source
		com.google.inject.Key key
	public java.lang.Object getSource () 
	public com.google.inject.Key getKey () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public void initializeDelegate (com.google.inject.Provider) 
		com.google.inject.Provider delegate
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public com.google.inject.Provider getDelegate () 
	public com.google.inject.Provider getProvider () 
	static com.google.inject.Provider access$000 (com.google.inject.spi.ProviderLookup) 
		com.google.inject.spi.ProviderLookup x0
	static com.google.inject.Key access$100 (com.google.inject.spi.ProviderLookup) 
		com.google.inject.spi.ProviderLookup x0
}

com/google/inject/spi/ProviderWithDependencies.class
ProviderWithDependencies.java
package com.google.inject.spi
public abstract com.google.inject.spi.ProviderWithDependencies extends java.lang.Object implements com.google.inject.Provider com.google.inject.spi.HasDependencies  {
}

com/google/inject/spi/ProviderWithExtensionVisitor.class
ProviderWithExtensionVisitor.java
package com.google.inject.spi
public abstract com.google.inject.spi.ProviderWithExtensionVisitor extends java.lang.Object implements com.google.inject.Provider  {
	public abstract java.lang.Object acceptExtensionVisitor (com.google.inject.spi.BindingTargetVisitor, com.google.inject.spi.ProviderInstanceBinding) 
}

com/google/inject/spi/ScopeBinding.class
ScopeBinding.java
package com.google.inject.spi
public final com.google.inject.spi.ScopeBinding extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final Class annotationType
	private final com.google.inject.Scope scope
	void  (java.lang.Object, java.lang.Class, com.google.inject.Scope) 
		Object source
		Class annotationType
		com.google.inject.Scope scope
	public java.lang.Object getSource () 
	public java.lang.Class getAnnotationType () 
	public com.google.inject.Scope getScope () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
}

com/google/inject/spi/StaticInjectionRequest.class
StaticInjectionRequest.java
package com.google.inject.spi
public final com.google.inject.spi.StaticInjectionRequest extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final Class type
	void  (java.lang.Object, java.lang.Class) 
		Object source
		Class type
	public java.lang.Object getSource () 
	public java.lang.Class getType () 
	public java.util.Set getInjectionPoints ()  throws com.google.inject.ConfigurationException 
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
}

com/google/inject/spi/Toolable.class
Toolable.java
package com.google.inject.spi
public abstract com.google.inject.spi.Toolable extends java.lang.Object implements java.lang.annotation.Annotation  {
}

com/google/inject/spi/TypeConverter.class
TypeConverter.java
package com.google.inject.spi
public abstract com.google.inject.spi.TypeConverter extends java.lang.Object {
	public abstract java.lang.Object convert (java.lang.String, com.google.inject.TypeLiteral) 
}

com/google/inject/spi/TypeConverterBinding.class
TypeConverterBinding.java
package com.google.inject.spi
public final com.google.inject.spi.TypeConverterBinding extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final com.google.inject.matcher.Matcher typeMatcher
	private final com.google.inject.spi.TypeConverter typeConverter
	public void  (java.lang.Object, com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter) 
		Object source
		com.google.inject.matcher.Matcher typeMatcher
		com.google.inject.spi.TypeConverter typeConverter
	public java.lang.Object getSource () 
	public com.google.inject.matcher.Matcher getTypeMatcher () 
	public com.google.inject.spi.TypeConverter getTypeConverter () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
	public java.lang.String toString () 
}

com/google/inject/spi/TypeEncounter.class
TypeEncounter.java
package com.google.inject.spi
public abstract com.google.inject.spi.TypeEncounter extends java.lang.Object {
	public transient abstract void addError (java.lang.String, java.lang.Object[]) 
	public abstract void addError (java.lang.Throwable) 
	public abstract void addError (com.google.inject.spi.Message) 
	public abstract com.google.inject.Provider getProvider (com.google.inject.Key) 
	public abstract com.google.inject.Provider getProvider (java.lang.Class) 
	public abstract com.google.inject.MembersInjector getMembersInjector (com.google.inject.TypeLiteral) 
	public abstract com.google.inject.MembersInjector getMembersInjector (java.lang.Class) 
	public abstract void register (com.google.inject.MembersInjector) 
	public abstract void register (com.google.inject.spi.InjectionListener) 
}

com/google/inject/spi/TypeListener.class
TypeListener.java
package com.google.inject.spi
public abstract com.google.inject.spi.TypeListener extends java.lang.Object {
	public abstract void hear (com.google.inject.TypeLiteral, com.google.inject.spi.TypeEncounter) 
}

com/google/inject/spi/TypeListenerBinding.class
TypeListenerBinding.java
package com.google.inject.spi
public final com.google.inject.spi.TypeListenerBinding extends java.lang.Object implements com.google.inject.spi.Element  {
	private final Object source
	private final com.google.inject.matcher.Matcher typeMatcher
	private final com.google.inject.spi.TypeListener listener
	void  (java.lang.Object, com.google.inject.spi.TypeListener, com.google.inject.matcher.Matcher) 
		Object source
		com.google.inject.spi.TypeListener listener
		com.google.inject.matcher.Matcher typeMatcher
	public com.google.inject.spi.TypeListener getListener () 
	public com.google.inject.matcher.Matcher getTypeMatcher () 
	public java.lang.Object getSource () 
	public java.lang.Object acceptVisitor (com.google.inject.spi.ElementVisitor) 
		com.google.inject.spi.ElementVisitor visitor
	public void applyTo (com.google.inject.Binder) 
		com.google.inject.Binder binder
}

com/google/inject/spi/UntargettedBinding.class
UntargettedBinding.java
package com.google.inject.spi
public abstract com.google.inject.spi.UntargettedBinding extends java.lang.Object implements com.google.inject.Binding  {
}

com/google/inject/util/Jsr330$1.class
Jsr330.java
package com.google.inject.util
 com.google.inject.util.Jsr330$1 extends java.lang.Object implements com.google.inject.Provider  {
	final javax.inject.Provider val$delegate
	void  (javax.inject.Provider) 
	public java.lang.Object get () 
	public java.lang.String toString () 
}

com/google/inject/util/Jsr330.class
Jsr330.java
package com.google.inject.util
public com.google.inject.util.Jsr330 extends java.lang.Object {
	private void  () 
	public static com.google.inject.Provider guicify (javax.inject.Provider) 
		javax.inject.Provider provider
		javax.inject.Provider delegate
}

com/google/inject/util/Modules$1.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$1 extends java.lang.Object implements com.google.inject.Module  {
	void  () 
	public void configure (com.google.inject.Binder) 
		com.google.inject.Binder binder
}

com/google/inject/util/Modules$2.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$2 extends java.lang.Object implements com.google.inject.Module  {
	final java.util.Set val$modulesSet
	void  (java.util.Set) 
	public void configure (com.google.inject.Binder) 
		com.google.inject.Module module
		java.util.Iterator i$
		com.google.inject.Binder binder
}

com/google/inject/util/Modules$ModuleWriter.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$ModuleWriter extends com.google.inject.spi.DefaultElementVisitor {
	protected final com.google.inject.Binder binder
	void  (com.google.inject.Binder) 
		com.google.inject.Binder binder
	protected java.lang.Void visitOther (com.google.inject.spi.Element) 
		com.google.inject.spi.Element element
	void writeAll (java.lang.Iterable) 
		com.google.inject.spi.Element element
		java.util.Iterator i$
		Iterable elements
	protected volatile java.lang.Object visitOther (com.google.inject.spi.Element) 
		com.google.inject.spi.Element x0
}

com/google/inject/util/Modules$OverriddenModuleBuilder.class
Modules.java
package com.google.inject.util
public abstract com.google.inject.util.Modules$OverriddenModuleBuilder extends java.lang.Object {
	public transient abstract com.google.inject.Module with (com.google.inject.Module[]) 
	public abstract com.google.inject.Module with (java.lang.Iterable) 
}

com/google/inject/util/Modules$RealOverriddenModuleBuilder$1$1.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$RealOverriddenModuleBuilder$1$1 extends com.google.inject.util.Modules$ModuleWriter {
	final java.util.Set val$overriddenKeys
	final java.util.Set val$overridesScopeAnnotations
	final com.google.inject.util.Modules$RealOverriddenModuleBuilder$1 this$1
	void  (com.google.inject.util.Modules$RealOverriddenModuleBuilder$1, com.google.inject.Binder, java.util.Set, java.util.Set) 
		com.google.inject.Binder x0
	public java.lang.Void visit (com.google.inject.Binding) 
		com.google.inject.Binding binding
	public java.lang.Void visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding scopeBinding
	public java.lang.Void visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements privateElements
	public volatile java.lang.Object visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements x0
	public volatile java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding x0
	public volatile java.lang.Object visit (com.google.inject.Binding) 
		com.google.inject.Binding x0
}

com/google/inject/util/Modules$RealOverriddenModuleBuilder$1$2.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$RealOverriddenModuleBuilder$1$2 extends com.google.inject.util.Modules$ModuleWriter {
	final java.util.Set val$overriddenKeys
	final java.util.Map val$scopeInstancesInUse
	final java.util.List val$scopeBindings
	final com.google.inject.util.Modules$RealOverriddenModuleBuilder$1 this$1
	void  (com.google.inject.util.Modules$RealOverriddenModuleBuilder$1, com.google.inject.Binder, java.util.Set, java.util.Map, java.util.List) 
		com.google.inject.Binder x0
	public java.lang.Void visit (com.google.inject.Binding) 
		com.google.inject.Scope scope
		com.google.inject.Binding binding
	void rewrite (com.google.inject.Binder, com.google.inject.spi.PrivateElements, java.util.Set) 
		com.google.inject.Key key
		java.util.Iterator i$
		com.google.inject.spi.Element element
		java.util.Iterator i$
		com.google.inject.Binder binder
		com.google.inject.spi.PrivateElements privateElements
		java.util.Set keysToSkip
		com.google.inject.PrivateBinder privateBinder
		java.util.Set skippedExposes
	public java.lang.Void visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements privateElements
	public java.lang.Void visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding scopeBinding
	public volatile java.lang.Object visit (com.google.inject.spi.PrivateElements) 
		com.google.inject.spi.PrivateElements x0
	public volatile java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding x0
	public volatile java.lang.Object visit (com.google.inject.Binding) 
		com.google.inject.Binding x0
}

com/google/inject/util/Modules$RealOverriddenModuleBuilder$1$3.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$RealOverriddenModuleBuilder$1$3 extends com.google.inject.util.Modules$ModuleWriter {
	final java.util.Set val$overridesScopeAnnotations
	final java.util.Map val$scopeInstancesInUse
	final com.google.inject.util.Modules$RealOverriddenModuleBuilder$1 this$1
	void  (com.google.inject.util.Modules$RealOverriddenModuleBuilder$1, com.google.inject.Binder, java.util.Set, java.util.Map) 
		com.google.inject.Binder x0
	public java.lang.Void visit (com.google.inject.spi.ScopeBinding) 
		Object source
		com.google.inject.spi.ScopeBinding scopeBinding
	public volatile java.lang.Object visit (com.google.inject.spi.ScopeBinding) 
		com.google.inject.spi.ScopeBinding x0
}

com/google/inject/util/Modules$RealOverriddenModuleBuilder$1$4.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$RealOverriddenModuleBuilder$1$4 extends com.google.inject.spi.DefaultBindingScopingVisitor {
	final com.google.inject.util.Modules$RealOverriddenModuleBuilder$1 this$1
	void  (com.google.inject.util.Modules$RealOverriddenModuleBuilder$1) 
	public com.google.inject.Scope visitScope (com.google.inject.Scope) 
		com.google.inject.Scope scope
	public volatile java.lang.Object visitScope (com.google.inject.Scope) 
		com.google.inject.Scope x0
}

com/google/inject/util/Modules$RealOverriddenModuleBuilder$1.class
Modules.java
package com.google.inject.util
 com.google.inject.util.Modules$RealOverriddenModuleBuilder$1 extends com.google.inject.AbstractModule {
	final Iterable val$overrides
	final com.google.inject.util.Modules$RealOverriddenModuleBuilder this$0
	void  (com.google.inject.util.Modules$RealOverriddenModuleBuilder, java.lang.Iterable) 
	public void configure () 
		com.google.inject.Key exposed
		java.util.Iterator i$
		com.google.inject.spi.PrivateElements privateElements
		com.google.inject.PrivateBinder privateBinder
		com.google.inject.spi.Element element
		com.google.inject.Binder baseBinder
		java.util.List baseElements
		com.google.inject.Binder binder
		java.util.LinkedHashSet elements
		java.util.List overrideElements
		java.util.Set overriddenKeys
		java.util.Set overridesScopeAnnotations
		java.util.Map scopeInstancesInUse
		java.util.List scopeBindings
	private com.google.inject.Scope getScopeInstanceOrNull (com.google.inject.Binding) 
		com.google.inject.Binding binding
	static com.google.inject.Scope access$200 (com.google.inject.util.Modules$RealOverriddenModuleBuilder$1, com.google.inject.Binding) 
		com.google.inject.util.Modules$RealOverriddenModuleBuilder$1 x0
		com.google.inject.Binding x1
}

com/google/inject/util/Modules$RealOverriddenModuleBuilder.class
Modules.java
package com.google.inject.util
final com.google.inject.util.Modules$RealOverriddenModuleBuilder extends java.lang.Object implements com.google.inject.util.Modules$OverriddenModuleBuilder  {
	private final com.google.inject.internal.util.ImmutableSet baseModules
	private void  (java.lang.Iterable) 
		Iterable baseModules
	public transient com.google.inject.Module with (com.google.inject.Module[]) 
		com.google.inject.Module[] overrides
	public com.google.inject.Module with (java.lang.Iterable) 
		Iterable overrides
	void  (java.lang.Iterable, com.google.inject.util.Modules$1) 
		Iterable x0
		com.google.inject.util.Modules$1 x1
	static com.google.inject.internal.util.ImmutableSet access$100 (com.google.inject.util.Modules$RealOverriddenModuleBuilder) 
		com.google.inject.util.Modules$RealOverriddenModuleBuilder x0
}

com/google/inject/util/Modules.class
Modules.java
package com.google.inject.util
public final com.google.inject.util.Modules extends java.lang.Object {
	public static final com.google.inject.Module EMPTY_MODULE
	private void  () 
	public static transient com.google.inject.util.Modules$OverriddenModuleBuilder override (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	public static com.google.inject.util.Modules$OverriddenModuleBuilder override (java.lang.Iterable) 
		Iterable modules
	public static transient com.google.inject.Module combine (com.google.inject.Module[]) 
		com.google.inject.Module[] modules
	public static com.google.inject.Module combine (java.lang.Iterable) 
		Iterable modules
		java.util.Set modulesSet
	static void  () 
}

com/google/inject/util/Node.class
Node.java
package com.google.inject.util
 com.google.inject.util.Node extends java.lang.Object {
	private final com.google.inject.Key key
	private int appliedScope
	private com.google.inject.util.Node effectiveScopeDependency
	private int effectiveScope
	private Class appliedScopeAnnotation
	private java.util.Set users
	void  (com.google.inject.Key) 
		com.google.inject.Key key
	void setScopeRank (int, java.lang.Class) 
		int rank
		Class annotation
	private void setEffectiveScope (int, com.google.inject.util.Node) 
		int effectiveScope
		com.google.inject.util.Node effectiveScopeDependency
	void pushScopeToUsers () 
		com.google.inject.util.Node user
		java.util.Iterator i$
	boolean isScopedCorrectly () 
	boolean isEffectiveScopeAppliedScope () 
	com.google.inject.util.Node effectiveScopeDependency () 
	public void addUser (com.google.inject.util.Node) 
		com.google.inject.util.Node node
	public java.lang.String toString () 
}

com/google/inject/util/Providers$1.class
Providers.java
package com.google.inject.util
 com.google.inject.util.Providers$1 extends java.lang.Object implements com.google.inject.Provider  {
	final Object val$instance
	void  (java.lang.Object) 
	public java.lang.Object get () 
	public java.lang.String toString () 
}

com/google/inject/util/Providers.class
Providers.java
package com.google.inject.util
public final com.google.inject.util.Providers extends java.lang.Object {
	private void  () 
	public static com.google.inject.Provider of (java.lang.Object) 
		Object instance
}

com/google/inject/util/Types.class
Types.java
package com.google.inject.util
public final com.google.inject.util.Types extends java.lang.Object {
	private void  () 
	public static transient java.lang.reflect.ParameterizedType newParameterizedType (java.lang.reflect.Type, java.lang.reflect.Type[]) 
		java.lang.reflect.Type rawType
		java.lang.reflect.Type[] typeArguments
	public static transient java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner (java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type[]) 
		java.lang.reflect.Type ownerType
		java.lang.reflect.Type rawType
		java.lang.reflect.Type[] typeArguments
	public static java.lang.reflect.GenericArrayType arrayOf (java.lang.reflect.Type) 
		java.lang.reflect.Type componentType
	public static java.lang.reflect.WildcardType subtypeOf (java.lang.reflect.Type) 
		java.lang.reflect.Type bound
	public static java.lang.reflect.WildcardType supertypeOf (java.lang.reflect.Type) 
		java.lang.reflect.Type bound
	public static java.lang.reflect.ParameterizedType listOf (java.lang.reflect.Type) 
		java.lang.reflect.Type elementType
	public static java.lang.reflect.ParameterizedType setOf (java.lang.reflect.Type) 
		java.lang.reflect.Type elementType
	public static java.lang.reflect.ParameterizedType mapOf (java.lang.reflect.Type, java.lang.reflect.Type) 
		java.lang.reflect.Type keyType
		java.lang.reflect.Type valueType
	public static java.lang.reflect.ParameterizedType providerOf (java.lang.reflect.Type) 
		java.lang.reflect.Type providedType
}