/*
 *     Generated by class-dump 3.1.2.
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
 */

struct objc_method_description {
    SEL name;
    char *types;
};

struct objc_method_description_list {
    int _field1;
    struct objc_method_description _field2[1];
};

struct objc_protocol_list {
    struct objc_protocol_list *_field1;
    long _field2;
    id _field3[1];
};

/*
 * File: usr/lib/libobjc.dylib
 *       Current version: 227.0.0, Compatibility version: 1.0.0
 */

@interface Object
{
    Class isa;
}

+ (id)initialize;
+ (id)poseAs:(id)fp8;
+ (id)new;
+ (id)alloc;
+ (id)allocFromZone:(void *)fp8;
+ (const char *)name;
+ (id)free;
+ (id)class;
+ (id)superclass;
+ (int)version;
+ (id)setVersion:(int)fp8;
+ (BOOL)instancesRespondTo:(SEL)fp8;
+ (void *)instanceMethodFor:(SEL)fp8;
+ (BOOL)conformsTo:(id)fp8;
+ (struct objc_method_description *)descriptionForInstanceMethod:(SEL)fp8;
+ (id)superClass;
+ (struct objc_method_description *)instanceMethodDescFor:(SEL)fp8;
- (id)awake;
- (id)init;
- (const char *)name;
- (unsigned int)hash;
- (BOOL)isEqual:(id)fp8;
- (id)free;
- (id)self;
- (id)class;
- (void *)zone;
- (id)superclass;
- (BOOL)isKindOf:(id)fp8;
- (BOOL)isMemberOf:(id)fp8;
- (BOOL)isKindOfClassNamed:(const char *)fp8;
- (BOOL)isMemberOfClassNamed:(const char *)fp8;
- (BOOL)respondsTo:(SEL)fp8;
- (id)copy;
- (id)copyFromZone:(void *)fp8;
- (void *)methodFor:(SEL)fp8;
- (id)perform:(SEL)fp8;
- (id)perform:(SEL)fp8 with:(id)fp12;
- (id)perform:(SEL)fp8 with:(id)fp12 with:(id)fp16;
- (id)subclassResponsibility:(SEL)fp8;
- (id)notImplemented:(SEL)fp8;
- (id)doesNotRecognize:(SEL)fp8;
- (id)error:(const char *)fp8;
- (void)printForDebugger:(void *)fp8;
- (id)write:(void *)fp8;
- (id)read:(void *)fp8;
- (id)forward:(SEL)fp8:(void *)fp12;
- (unsigned int)methodArgSize:(SEL)fp8;
- (id)performv:(SEL)fp8:(void *)fp12;
- (BOOL)conformsTo:(id)fp8;
- (struct objc_method_description *)descriptionForMethod:(SEL)fp8;
- (id)superClass;
- (BOOL)isKindOfGivenName:(const char *)fp8;
- (BOOL)isMemberOfGivenName:(const char *)fp8;
- (struct objc_method_description *)methodDescFor:(SEL)fp8;
- (id)findClass:(const char *)fp8;
- (id)shouldNotImplement:(SEL)fp8;

@end

@interface Protocol : Object
{
    char *protocol_name;
    struct objc_protocol_list *protocol_list;
    struct objc_method_description_list *instance_methods;
    struct objc_method_description_list *class_methods;
}

- (BOOL)conformsTo:(id)fp8;
- (struct objc_method_description *)descriptionForInstanceMethod:(SEL)fp8;
- (struct objc_method_description *)descriptionForClassMethod:(SEL)fp8;
- (const char *)name;
- (BOOL)isEqual:(id)fp8;
- (unsigned int)hash;
- (struct objc_method_description_list *)instanceMethods;
- (struct objc_method_description_list *)classMethods;
- (struct objc_protocol_list *)protocols;

@end

@interface List : Object
{
    id *dataPtr;
    unsigned int numElements;
    unsigned int maxElements;
}

+ (id)initialize;
+ (id)newCount:(unsigned int)fp8;
+ (id)new;
- (id)initCount:(unsigned int)fp8;
- (id)init;
- (id)free;
- (id)freeObjects;
- (id)copyFromZone:(void *)fp8;
- (BOOL)isEqual:(id)fp8;
- (unsigned int)capacity;
- (unsigned int)count;
- (id)objectAt:(unsigned int)fp8;
- (unsigned int)indexOf:(id)fp8;
- (id)lastObject;
- (id)setAvailableCapacity:(unsigned int)fp8;
- (id)insertObject:(id)fp8 at:(unsigned int)fp12;
- (id)addObject:(id)fp8;
- (id)addObjectIfAbsent:(id)fp8;
- (id)removeObjectAt:(unsigned int)fp8;
- (id)removeObject:(id)fp8;
- (id)removeLastObject;
- (id)empty;
- (id)replaceObject:(id)fp8 with:(id)fp12;
- (id)replaceObjectAt:(unsigned int)fp8 with:(id)fp12;
- (id)makeObjectsPerform:(SEL)fp8;
- (id)makeObjectsPerform:(SEL)fp8 with:(id)fp12;
- (id)appendList:(id)fp8;

@end

