You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2006/08/25 00:35:06 UTC

svn commit: r434550 [1/3] - in /incubator/cayenne/sandbox/CocoaCayenne/CAYClient: ./ CAYClient.xcodeproj/ English.lproj/MainMenu.nib/ English.lproj/MainMenu~.nib/

Author: torehalset
Date: Thu Aug 24 15:35:05 2006
New Revision: 434550

URL: http://svn.apache.org/viewvc?rev=434550&view=rev
Log:
simple property change commit is working :)

Added:
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYCompoundDiff.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYCompoundDiff.m
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYNodeDiff.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYNodeDiff.m
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYNodePropertyChangeOperation.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYNodePropertyChangeOperation.m
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYSyncMessage.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYSyncMessage.m
Removed:
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/English.lproj/MainMenu~.nib/
Modified:
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/halset.mode1
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/halset.pbxuser
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/project.pbxproj
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYObjectContext.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYObjectContext.m
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYObjectId.h
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYObjectId.m
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/English.lproj/MainMenu.nib/classes.nib
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/English.lproj/MainMenu.nib/info.nib
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/English.lproj/MainMenu.nib/keyedobjects.nib

Modified: incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.h
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.h?rev=434550&r1=434549&r2=434550&view=diff
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.h (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.h Thu Aug 24 15:35:05 2006
@@ -1,12 +1,18 @@
 /* AppController */
 
 #import <Cocoa/Cocoa.h>
+#import "CAYObjectContext.h"
 
 @interface AppController : NSObject
 {
 	IBOutlet NSArrayController *queryResultController;
+    CAYObjectContext *objectContext;
 }
 
 - (IBAction)query:(id)sender;
+- (IBAction)commit:(id)sender;
+
+-(void)setObjectContext:(CAYObjectContext *)ctxt;
+-(CAYObjectContext *)objectContext;
 
 @end

Modified: incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m?rev=434550&r1=434549&r2=434550&view=diff
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m Thu Aug 24 15:35:05 2006
@@ -9,98 +9,136 @@
 
 @implementation AppController
 
+- (IBAction)commit:(id)sender
+{
+	NSLog(@"start commit..");
+    [[self objectContext] commitChanges];
+}
+
 - (IBAction)query:(id)sender
 {
 	NSLog(@"start query..");
 	
-	// map cayenne java class name to local class name
-	NSMutableDictionary *classMapping = [[NSMutableDictionary dictionary] retain];
-	//[classMapping setObject:@"CAYRemoteSession" forKey:@"org.objectstyle.cayenne.remote.RemoteSession"];
-	[classMapping setObject:@"CAYBootstrapMessage" forKey:@"org.objectstyle.cayenne.remote.BootstrapMessage"];
-	[classMapping setObject:@"CAYQueryMessage" forKey:@"org.objectstyle.cayenne.remote.QueryMessage"];
-	[classMapping setObject:@"CAYNamedQuery" forKey:@"org.objectstyle.cayenne.query.NamedQuery"];
-	[classMapping setObject:@"CAYRelationshipQuery" forKey:@"org.objectstyle.cayenne.query.RelationshipQuery"];
-	[classMapping setObject:@"CAYGenericResponse" forKey:@"org.objectstyle.cayenne.util.GenericResponse"];
-	[classMapping setObject:@"CAYObjectId" forKey:@"org.objectstyle.cayenne.ObjectId"];
-	[classMapping setObject:@"CAYObjEntity" forKey:@"org.objectstyle.cayenne.map.ObjEntity"];
-	[classMapping setObject:@"CAYClientObjRelationship" forKey:@"org.objectstyle.cayenne.map.ClientObjRelationship"];
-	//[classMapping setObject:@"CAYDataMap" forKey:@"org.objectstyle.cayenne.map.DataMap"];
-	
-	// connect to the server
-	// TODO: basic authentication and/or session management
-	NSURL * url = [NSURL URLWithString:@"http://localhost:8080/cayenne-service"];
-    BBSHessianProxy * proxy = [[BBSHessianProxy alloc] initWithUrl:url];
-	[BBSHessianProxy setClassMapping:classMapping];
-	
-	CAYHessianConnection *conn = [[CAYHessianConnection alloc] init];
-	[conn setProxy:proxy];
-	[proxy release];
-	
-	CAYObjectContext *ctxt = [[CAYObjectContext alloc] init];
-	[ctxt setConnection:conn];
-	[conn release];
-	
-    id result1 = [proxy callSynchronous:@"establishSession" withParameters:nil];
-	NSLog(@"result1 %@", result1);
-	
-	CAYBootstrapMessage *bootstrapMsg = [[CAYBootstrapMessage alloc] init];
-	id bootresult = [conn sendMessage:bootstrapMsg];
-	//NSLog(@"bootresult: %@", bootresult);
-	[bootstrapMsg release];
-	
-	id datamaps = [bootresult valueForKey:@"maps"];
-	// TODO: handle more than one map?
-	id datamap = [datamaps objectAtIndex:0];
-	NSLog(@"datamap.name: %@", [datamap valueForKey:@"name"]);
-	
-	id objEntityMap = [datamap valueForKey:@"objEntityMap"];
-	// objEntityMap: 
-	//   - key: Artist, value ObjEntity
-	// objEntity:
-	//   - key: className, value: cayenne.tutorial.client.Artist
-    //   - key: "relationships", value: NSArray of ClientObjRelationship
-	// ClientObjRelationship:
-	//   - key: "paintings", 
-	
-	NSEnumerator *enumerator = [objEntityMap keyEnumerator];
-	NSString *entityName;
-	while(entityName = [enumerator nextObject])
-	{
-        // TODO: create a CAYDataMap so that it is not mapped to a NSDictionary with the special
-        // hessianClassName entry
-		if(![entityName isEqualToString:@"hessianClassName"])
-		{
-			// NSLog(@"found entity %@", entityName);
-			CAYObjEntity *entity = [objEntityMap objectForKey:entityName];
-            
-            Class cl = NSClassFromString([entity name]);
-            if(cl)
-            {
-                NSLog(@"mapping client %@ to server %@", [entity name], [entity serverClassName]);
-            	[classMapping setObject:[entity name] forKey:[entity serverClassName]];
-            }
-            else
+    if([self objectContext] == nil)
+    {
+        NSLog(@" *** initing cayenne client *** ");
+        // map cayenne java class name to local class name
+        NSMutableDictionary *classMapping = [[NSMutableDictionary dictionary] retain];
+        //[classMapping setObject:@"CAYRemoteSession" forKey:@"org.objectstyle.cayenne.remote.RemoteSession"];
+        [classMapping setObject:@"CAYNamedQuery" forKey:@"org.objectstyle.cayenne.query.NamedQuery"];
+        [classMapping setObject:@"CAYRelationshipQuery" forKey:@"org.objectstyle.cayenne.query.RelationshipQuery"];
+        [classMapping setObject:@"CAYGenericResponse" forKey:@"org.objectstyle.cayenne.util.GenericResponse"];
+        [classMapping setObject:@"CAYObjectId" forKey:@"org.objectstyle.cayenne.ObjectId"];
+        [classMapping setObject:@"CAYObjEntity" forKey:@"org.objectstyle.cayenne.map.ObjEntity"];
+        [classMapping setObject:@"CAYClientObjRelationship" forKey:@"org.objectstyle.cayenne.map.ClientObjRelationship"];
+        
+        // message
+        [classMapping setObject:@"CAYBootstrapMessage" forKey:@"org.objectstyle.cayenne.remote.BootstrapMessage"];
+        [classMapping setObject:@"CAYQueryMessage" forKey:@"org.objectstyle.cayenne.remote.QueryMessage"];
+        [classMapping setObject:@"CAYSyncMessage" forKey:@"org.objectstyle.cayenne.remote.SyncMessage"];
+        
+        // graph
+        // abstract [classMapping setObject:@"CAYNodeDiff" forKey:@"org.objectstyle.cayenne.graph.NodeDiff"];
+        [classMapping setObject:@"CAYNodePropertyChangeOperation" forKey:@"org.objectstyle.cayenne.graph.NodePropertyChangeOperation"];
+        [classMapping setObject:@"CAYCompoundDiff" forKey:@"org.objectstyle.cayenne.graph.CompoundDiff"];
+        
+        // connect to the server
+        // TODO: basic authentication and/or session management
+        NSURL * url = [NSURL URLWithString:@"http://localhost:8090/cayenne-service"];
+        BBSHessianProxy * proxy = [[BBSHessianProxy alloc] initWithUrl:url];
+        [BBSHessianProxy setClassMapping:classMapping];
+        
+        CAYHessianConnection *conn = [[CAYHessianConnection alloc] init];
+        [conn setProxy:proxy];
+        [proxy release];
+        
+        CAYObjectContext *ctxt = [[CAYObjectContext alloc] init];
+        [ctxt setConnection:conn];
+        [conn release];
+        [self setObjectContext:ctxt];
+        
+        id result1 = [proxy callSynchronous:@"establishSession" withParameters:nil];
+        NSLog(@"result1 %@", result1);
+        
+        CAYBootstrapMessage *bootstrapMsg = [[CAYBootstrapMessage alloc] init];
+        id bootresult = [conn sendMessage:bootstrapMsg];
+        //NSLog(@"bootresult: %@", bootresult);
+        [bootstrapMsg release];
+        
+        id datamaps = [bootresult valueForKey:@"maps"];
+        // TODO: handle more than one map?
+        id datamap = [datamaps objectAtIndex:0];
+        NSLog(@"datamap.name: %@", [datamap valueForKey:@"name"]);
+        
+        id objEntityMap = [datamap valueForKey:@"objEntityMap"];
+        // objEntityMap: 
+        //   - key: Artist, value ObjEntity
+        // objEntity:
+        //   - key: className, value: cayenne.tutorial.client.Artist
+        //   - key: "relationships", value: NSArray of ClientObjRelationship
+        // ClientObjRelationship:
+        //   - key: "paintings", 
+        
+        NSEnumerator *enumerator = [objEntityMap keyEnumerator];
+        NSString *entityName;
+        while(entityName = [enumerator nextObject])
+        {
+            // TODO: create a CAYDataMap so that it is not mapped to a NSDictionary with the special
+            // hessianClassName entry
+            if(![entityName isEqualToString:@"hessianClassName"])
             {
-                NSLog(@"Could not find cocoa class %@ for server class $@", [entity name], [entity serverClassName]);
+                // NSLog(@"found entity %@", entityName);
+                CAYObjEntity *entity = [objEntityMap objectForKey:entityName];
+                
+                Class cl = NSClassFromString([entity name]);
+                if(cl)
+                {
+                    NSLog(@"mapping client %@ to server %@", [entity name], [entity serverClassName]);
+                    [classMapping setObject:[entity name] forKey:[entity serverClassName]];
+                }
+                else
+                {
+                    NSLog(@"Could not find cocoa class %@ for server class $@", [entity name], [entity serverClassName]);
+                }
             }
-		}
-	}
-    
-    // update class mapping
-	[BBSHessianProxy setClassMapping:classMapping];
+        }
+        
+        // update class mapping
+        [BBSHessianProxy setClassMapping:classMapping];
 		
+        
+        [classMapping release];
+        [ctxt release];
+    }
 	CAYNamedQuery *query = [[CAYNamedQuery alloc] init];
 	[query setName:@"objcquery"];
 	
-	NSArray *rows = [ctxt performQyery:query];
+	NSArray *rows = [[self objectContext] performQyery:query];
 	
 	[queryResultController removeObjects:[queryResultController arrangedObjects]];
 	[queryResultController addObjects:rows];
 	
 	[query release];
-	[classMapping release];
-	[ctxt release];
 	
 }
+
+-(void)setObjectContext:(CAYObjectContext *)ctxt
+{
+    [ctxt retain];
+    [objectContext release];
+    objectContext = ctxt;
+}
+
+-(CAYObjectContext *)objectContext
+{
+    return objectContext;
+}
+
+-(void)dealloc
+{
+	[objectContext release];
+	[super dealloc];
+}
+
 
 @end

Modified: incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/halset.mode1
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/halset.mode1?rev=434550&r1=434549&r2=434550&view=diff
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/halset.mode1 (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYClient/CAYClient.xcodeproj/halset.mode1 Thu Aug 24 15:35:05 2006
@@ -258,20 +258,24 @@
 								<string>080E96DDFE201D6D7F000001</string>
 								<string>443968F50A90A08B005BD842</string>
 								<string>443968F40A90A07F005BD842</string>
+								<string>44DA7DC10A9D02C00073B37F</string>
+								<string>44DA7D6E0A9D01620073B37F</string>
 								<string>29B97315FDCFA39411CA2CEA</string>
 								<string>29B97317FDCFA39411CA2CEA</string>
+								<string>29B97323FDCFA39411CA2CEA</string>
 								<string>1C37FABC05509CD000000102</string>
 							</array>
 							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
 							<array>
 								<array>
-									<integer>46</integer>
-									<integer>42</integer>
+									<integer>37</integer>
+									<integer>9</integer>
+									<integer>1</integer>
 									<integer>0</integer>
 								</array>
 							</array>
 							<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-							<string>{{0, 395}, {271, 659}}</string>
+							<string>{{0, 0}, {271, 789}}</string>
 						</dict>
 						<key>PBXTopSmartGroupGIDs</key>
 						<array/>
@@ -283,14 +287,14 @@
 					<key>GeometryConfiguration</key>
 					<dict>
 						<key>Frame</key>
-						<string>{{0, 0}, {288, 677}}</string>
+						<string>{{0, 0}, {288, 807}}</string>
 						<key>GroupTreeTableConfiguration</key>
 						<array>
 							<string>MainColumn</string>
 							<real>271</real>
 						</array>
 						<key>RubberWindowFrame</key>
-						<string>661 152 1006 718 0 0 1680 1028 </string>
+						<string>46 180 1208 848 0 0 1680 1028 </string>
 					</dict>
 					<key>Module</key>
 					<string>PBXSmartGroupTreeModule</string>
@@ -308,7 +312,7 @@
 								<key>PBXProjectModuleGUID</key>
 								<string>1CE0B20306471E060097A5F4</string>
 								<key>PBXProjectModuleLabel</key>
-								<string>AppController.m</string>
+								<string>CAYObjectId.m</string>
 								<key>PBXSplitModuleInNavigatorKey</key>
 								<dict>
 									<key>Split0</key>
@@ -316,54 +320,65 @@
 										<key>PBXProjectModuleGUID</key>
 										<string>1CE0B20406471E060097A5F4</string>
 										<key>PBXProjectModuleLabel</key>
-										<string>AppController.m</string>
+										<string>CAYObjectId.m</string>
 										<key>_historyCapacity</key>
 										<integer>0</integer>
 										<key>bookmark</key>
-										<string>44DA7B350A9A49510073B37F</string>
+										<string>44DA81080A9E60490073B37F</string>
 										<key>history</key>
 										<array>
 											<string>4417E2F50A908F5D000FE4DB</string>
 											<string>4417E2F60A908F5D000FE4DB</string>
-											<string>443968790A909A90005BD842</string>
-											<string>443968820A909A90005BD842</string>
-											<string>443968850A909A90005BD842</string>
-											<string>443968860A909A90005BD842</string>
-											<string>4439690E0A90EE73005BD842</string>
-											<string>4439690F0A90EE73005BD842</string>
-											<string>44FC069F0A91114B00704DDC</string>
-											<string>44FC06A00A91114B00704DDC</string>
-											<string>44A6F9110A98ECB300E04AE1</string>
-											<string>44A6F9120A98ECB300E04AE1</string>
 											<string>44A6F9160A98ECB300E04AE1</string>
 											<string>44A6F9180A98ECB300E04AE1</string>
-											<string>44A6F9210A98ECB300E04AE1</string>
-											<string>44A6F9D00A98F34200E04AE1</string>
 											<string>44A6FA160A98F94100E04AE1</string>
-											<string>44A6FA170A98F94100E04AE1</string>
-											<string>44A6FA1B0A98F94100E04AE1</string>
-											<string>44A6FA1C0A98F94100E04AE1</string>
-											<string>44DA7ADA0A9A43900073B37F</string>
-											<string>44DA7B010A9A48030073B37F</string>
-											<string>44DA7B020A9A48030073B37F</string>
-											<string>44DA7B030A9A48030073B37F</string>
-											<string>44DA7B040A9A48030073B37F</string>
-											<string>44DA7B050A9A48030073B37F</string>
-											<string>44DA7B060A9A48030073B37F</string>
-											<string>44DA7B070A9A48030073B37F</string>
-											<string>44DA7B080A9A48030073B37F</string>
-											<string>44DA7B090A9A48030073B37F</string>
-											<string>44DA7B0A0A9A48030073B37F</string>
-											<string>44DA7B0B0A9A48030073B37F</string>
-											<string>44DA7B0C0A9A48030073B37F</string>
-											<string>44DA7B0D0A9A48030073B37F</string>
-											<string>44DA7B0E0A9A48030073B37F</string>
-											<string>44DA7B0F0A9A48030073B37F</string>
 											<string>44DA7B100A9A48030073B37F</string>
-											<string>44DA7B110A9A48030073B37F</string>
-											<string>44DA7B120A9A48030073B37F</string>
-											<string>44DA7B130A9A48030073B37F</string>
-											<string>44DA7B140A9A48030073B37F</string>
+											<string>44DA7B5E0A9A4EB20073B37F</string>
+											<string>44DA7B600A9A4EB20073B37F</string>
+											<string>44DA7B610A9A4EB20073B37F</string>
+											<string>44DA7BAF0A9A53E60073B37F</string>
+											<string>44DA7C770A9B9A150073B37F</string>
+											<string>44DA7CCB0A9B9E150073B37F</string>
+											<string>44DA7D100A9BA1B50073B37F</string>
+											<string>44DA7D140A9BA1B50073B37F</string>
+											<string>44DA7D160A9BA1B50073B37F</string>
+											<string>44DA7D170A9BA1B50073B37F</string>
+											<string>44DA7D620A9BA78A0073B37F</string>
+											<string>44DA7D700A9D016B0073B37F</string>
+											<string>44DA7D710A9D016B0073B37F</string>
+											<string>44DA7D720A9D016B0073B37F</string>
+											<string>44DA7D760A9D016B0073B37F</string>
+											<string>44DA7D780A9D016B0073B37F</string>
+											<string>44DA7D790A9D016B0073B37F</string>
+											<string>44DA7D7A0A9D016B0073B37F</string>
+											<string>44DA7D7B0A9D016B0073B37F</string>
+											<string>44DA7DDB0A9D03290073B37F</string>
+											<string>44DA7DF80A9D05270073B37F</string>
+											<string>44DA7DF90A9D05270073B37F</string>
+											<string>44DA7DFA0A9D05270073B37F</string>
+											<string>44DA7E2F0A9E34E90073B37F</string>
+											<string>44DA7ECD0A9E3C360073B37F</string>
+											<string>44DA7F940A9E43EF0073B37F</string>
+											<string>44DA7F950A9E43EF0073B37F</string>
+											<string>44DA7FA40A9E44150073B37F</string>
+											<string>44DA7FDC0A9E46C30073B37F</string>
+											<string>44DA7FE30A9E47080073B37F</string>
+											<string>44DA7FE40A9E47080073B37F</string>
+											<string>44DA80050A9E48230073B37F</string>
+											<string>44DA80140A9E48710073B37F</string>
+											<string>44DA80770A9E50590073B37F</string>
+											<string>44DA809A0A9E57DE0073B37F</string>
+											<string>44DA809B0A9E57DE0073B37F</string>
+											<string>44DA80C10A9E5C7C0073B37F</string>
+											<string>44DA80D40A9E5EEE0073B37F</string>
+											<string>44DA80D50A9E5EEE0073B37F</string>
+											<string>44DA80D60A9E5EEE0073B37F</string>
+											<string>44DA80E40A9E5F2A0073B37F</string>
+											<string>44DA80E50A9E5F2A0073B37F</string>
+											<string>44DA80EF0A9E5F9D0073B37F</string>
+											<string>44DA80F00A9E5F9D0073B37F</string>
+											<string>44DA80F10A9E5F9D0073B37F</string>
+											<string>44DA80F20A9E5F9D0073B37F</string>
 										</array>
 										<key>prevStack</key>
 										<array>
@@ -408,39 +423,396 @@
 											<string>44A6F94D0A98ECB300E04AE1</string>
 											<string>44A6F9530A98ECB300E04AE1</string>
 											<string>44A6FA510A98F94100E04AE1</string>
-											<string>44DA7AD20A9A43590073B37F</string>
-											<string>44DA7AD30A9A43590073B37F</string>
-											<string>44DA7AD40A9A43590073B37F</string>
-											<string>44DA7ADC0A9A43900073B37F</string>
-											<string>44DA7ADD0A9A43900073B37F</string>
-											<string>44DA7ADE0A9A43900073B37F</string>
-											<string>44DA7ADF0A9A43900073B37F</string>
-											<string>44DA7B150A9A48030073B37F</string>
-											<string>44DA7B160A9A48030073B37F</string>
-											<string>44DA7B170A9A48030073B37F</string>
-											<string>44DA7B180A9A48030073B37F</string>
-											<string>44DA7B190A9A48030073B37F</string>
-											<string>44DA7B1A0A9A48030073B37F</string>
-											<string>44DA7B1B0A9A48030073B37F</string>
-											<string>44DA7B1C0A9A48030073B37F</string>
-											<string>44DA7B1D0A9A48030073B37F</string>
-											<string>44DA7B1E0A9A48030073B37F</string>
-											<string>44DA7B1F0A9A48030073B37F</string>
-											<string>44DA7B200A9A48030073B37F</string>
-											<string>44DA7B210A9A48030073B37F</string>
-											<string>44DA7B220A9A48030073B37F</string>
-											<string>44DA7B230A9A48030073B37F</string>
-											<string>44DA7B240A9A48030073B37F</string>
-											<string>44DA7B250A9A48030073B37F</string>
-											<string>44DA7B260A9A48030073B37F</string>
-											<string>44DA7B270A9A48030073B37F</string>
-											<string>44DA7B280A9A48030073B37F</string>
-											<string>44DA7B290A9A48030073B37F</string>
-											<string>44DA7B2A0A9A48030073B37F</string>
-											<string>44DA7B2B0A9A48030073B37F</string>
-											<string>44DA7B2C0A9A48030073B37F</string>
-											<string>44DA7B2D0A9A48030073B37F</string>
-											<string>44DA7B2E0A9A48030073B37F</string>
+											<string>44DA7B660A9A4EB20073B37F</string>
+											<string>44DA7B8E0A9A52080073B37F</string>
+											<string>44DA7B8F0A9A52080073B37F</string>
+											<string>44DA7B900A9A52080073B37F</string>
+											<string>44DA7B910A9A52080073B37F</string>
+											<string>44DA7B920A9A52080073B37F</string>
+											<string>44DA7B930A9A52080073B37F</string>
+											<string>44DA7BA10A9A52720073B37F</string>
+											<string>44DA7BB20A9A53E60073B37F</string>
+											<string>44DA7BB30A9A53E60073B37F</string>
+											<string>44DA7BB40A9A53E60073B37F</string>
+											<string>44DA7BB50A9A53E60073B37F</string>
+											<string>44DA7BB60A9A53E60073B37F</string>
+											<string>44DA7BB70A9A53E60073B37F</string>
+											<string>44DA7BB80A9A53E60073B37F</string>
+											<string>44DA7BB90A9A53E60073B37F</string>
+											<string>44DA7BBA0A9A53E60073B37F</string>
+											<string>44DA7BD80A9A561E0073B37F</string>
+											<string>44DA7BD90A9A561E0073B37F</string>
+											<string>44DA7BDA0A9A561E0073B37F</string>
+											<string>44DA7BDB0A9A561E0073B37F</string>
+											<string>44DA7BDC0A9A561E0073B37F</string>
+											<string>44DA7BDD0A9A561E0073B37F</string>
+											<string>44DA7BDE0A9A561E0073B37F</string>
+											<string>44DA7BDF0A9A561E0073B37F</string>
+											<string>44DA7BE70A9A56D60073B37F</string>
+											<string>44DA7BE80A9A56D60073B37F</string>
+											<string>44DA7C070A9A58CC0073B37F</string>
+											<string>44DA7C080A9A58CC0073B37F</string>
+											<string>44DA7C090A9A58CC0073B37F</string>
+											<string>44DA7C0A0A9A58CC0073B37F</string>
+											<string>44DA7C0B0A9A58CC0073B37F</string>
+											<string>44DA7C0C0A9A58CC0073B37F</string>
+											<string>44DA7C0D0A9A58CC0073B37F</string>
+											<string>44DA7C0E0A9A58CC0073B37F</string>
+											<string>44DA7C0F0A9A58CC0073B37F</string>
+											<string>44DA7C100A9A58CC0073B37F</string>
+											<string>44DA7C110A9A58CC0073B37F</string>
+											<string>44DA7C120A9A58CC0073B37F</string>
+											<string>44DA7C1F0A9A59550073B37F</string>
+											<string>44DA7C200A9A59550073B37F</string>
+											<string>44DA7C210A9A59550073B37F</string>
+											<string>44DA7C220A9A59550073B37F</string>
+											<string>44DA7C330A9A5AA10073B37F</string>
+											<string>44DA7C340A9A5AA10073B37F</string>
+											<string>44DA7C350A9A5AA10073B37F</string>
+											<string>44DA7C360A9A5AA10073B37F</string>
+											<string>44DA7C370A9A5AA10073B37F</string>
+											<string>44DA7C380A9A5AA10073B37F</string>
+											<string>44DA7C390A9A5AA10073B37F</string>
+											<string>44DA7C3E0A9A5AB30073B37F</string>
+											<string>44DA7C3F0A9A5AB30073B37F</string>
+											<string>44DA7C400A9A5AB30073B37F</string>
+											<string>44DA7C410A9A5AB30073B37F</string>
+											<string>44DA7C420A9A5AB30073B37F</string>
+											<string>44DA7C560A9B85060073B37F</string>
+											<string>44DA7C570A9B85060073B37F</string>
+											<string>44DA7C580A9B85060073B37F</string>
+											<string>44DA7C590A9B85060073B37F</string>
+											<string>44DA7C5A0A9B85060073B37F</string>
+											<string>44DA7C5B0A9B85060073B37F</string>
+											<string>44DA7C660A9B856E0073B37F</string>
+											<string>44DA7C670A9B856E0073B37F</string>
+											<string>44DA7C7A0A9B9A150073B37F</string>
+											<string>44DA7C7B0A9B9A150073B37F</string>
+											<string>44DA7C7C0A9B9A150073B37F</string>
+											<string>44DA7C7D0A9B9A150073B37F</string>
+											<string>44DA7C7E0A9B9A150073B37F</string>
+											<string>44DA7C7F0A9B9A150073B37F</string>
+											<string>44DA7C800A9B9A150073B37F</string>
+											<string>44DA7C8E0A9B9AC70073B37F</string>
+											<string>44DA7C950A9B9C500073B37F</string>
+											<string>44DA7C960A9B9C500073B37F</string>
+											<string>44DA7CA30A9B9CEA0073B37F</string>
+											<string>44DA7CA40A9B9CEA0073B37F</string>
+											<string>44DA7CA50A9B9CEA0073B37F</string>
+											<string>44DA7CB30A9B9D710073B37F</string>
+											<string>44DA7CB40A9B9D710073B37F</string>
+											<string>44DA7CBA0A9B9DA40073B37F</string>
+											<string>44DA7CCC0A9B9E150073B37F</string>
+											<string>44DA7CCD0A9B9E150073B37F</string>
+											<string>44DA7CCE0A9B9E150073B37F</string>
+											<string>44DA7CCF0A9B9E150073B37F</string>
+											<string>44DA7CD00A9B9E150073B37F</string>
+											<string>44DA7CD70A9B9E540073B37F</string>
+											<string>44DA7CE30A9B9E990073B37F</string>
+											<string>44DA7CFF0A9BA0AC0073B37F</string>
+											<string>44DA7D1C0A9BA1B50073B37F</string>
+											<string>44DA7D1D0A9BA1B50073B37F</string>
+											<string>44DA7D1E0A9BA1B50073B37F</string>
+											<string>44DA7D1F0A9BA1B50073B37F</string>
+											<string>44DA7D200A9BA1B50073B37F</string>
+											<string>44DA7D210A9BA1B50073B37F</string>
+											<string>44DA7D220A9BA1B50073B37F</string>
+											<string>44DA7D230A9BA1B50073B37F</string>
+											<string>44DA7D240A9BA1B50073B37F</string>
+											<string>44DA7D250A9BA1B50073B37F</string>
+											<string>44DA7D260A9BA1B50073B37F</string>
+											<string>44DA7D270A9BA1B50073B37F</string>
+											<string>44DA7D280A9BA1B50073B37F</string>
+											<string>44DA7D290A9BA1B50073B37F</string>
+											<string>44DA7D2A0A9BA1B50073B37F</string>
+											<string>44DA7D2B0A9BA1B50073B37F</string>
+											<string>44DA7D2C0A9BA1B50073B37F</string>
+											<string>44DA7D2D0A9BA1B50073B37F</string>
+											<string>44DA7D2E0A9BA1B50073B37F</string>
+											<string>44DA7D340A9BA3E30073B37F</string>
+											<string>44DA7D350A9BA3E30073B37F</string>
+											<string>44DA7D3E0A9BA5150073B37F</string>
+											<string>44DA7D480A9BA5C20073B37F</string>
+											<string>44DA7D490A9BA5C20073B37F</string>
+											<string>44DA7D4A0A9BA5C20073B37F</string>
+											<string>44DA7D540A9BA6000073B37F</string>
+											<string>44DA7D550A9BA6000073B37F</string>
+											<string>44DA7D560A9BA6000073B37F</string>
+											<string>44DA7D5C0A9BA62F0073B37F</string>
+											<string>44DA7D630A9BA78A0073B37F</string>
+											<string>44DA7D640A9BA78A0073B37F</string>
+											<string>44DA7D650A9BA78A0073B37F</string>
+											<string>44DA7D7F0A9D016B0073B37F</string>
+											<string>44DA7D800A9D016B0073B37F</string>
+											<string>44DA7D810A9D016B0073B37F</string>
+											<string>44DA7D820A9D016B0073B37F</string>
+											<string>44DA7D830A9D016B0073B37F</string>
+											<string>44DA7D840A9D016B0073B37F</string>
+											<string>44DA7D850A9D016B0073B37F</string>
+											<string>44DA7D860A9D016B0073B37F</string>
+											<string>44DA7D870A9D016B0073B37F</string>
+											<string>44DA7D880A9D016B0073B37F</string>
+											<string>44DA7D890A9D016B0073B37F</string>
+											<string>44DA7D8A0A9D016B0073B37F</string>
+											<string>44DA7D8B0A9D016B0073B37F</string>
+											<string>44DA7D8C0A9D016B0073B37F</string>
+											<string>44DA7D8D0A9D016B0073B37F</string>
+											<string>44DA7D8E0A9D016B0073B37F</string>
+											<string>44DA7D8F0A9D016B0073B37F</string>
+											<string>44DA7D900A9D016B0073B37F</string>
+											<string>44DA7D910A9D016B0073B37F</string>
+											<string>44DA7D920A9D016B0073B37F</string>
+											<string>44DA7D9F0A9D01D80073B37F</string>
+											<string>44DA7DA00A9D01D80073B37F</string>
+											<string>44DA7DA10A9D01D80073B37F</string>
+											<string>44DA7DA20A9D01D80073B37F</string>
+											<string>44DA7DAF0A9D02190073B37F</string>
+											<string>44DA7DB00A9D02190073B37F</string>
+											<string>44DA7DB10A9D02190073B37F</string>
+											<string>44DA7DB20A9D02190073B37F</string>
+											<string>44DA7DB80A9D022E0073B37F</string>
+											<string>44DA7DCC0A9D030C0073B37F</string>
+											<string>44DA7DCD0A9D030C0073B37F</string>
+											<string>44DA7DCE0A9D030C0073B37F</string>
+											<string>44DA7DCF0A9D030C0073B37F</string>
+											<string>44DA7DD00A9D030C0073B37F</string>
+											<string>44DA7DD10A9D030C0073B37F</string>
+											<string>44DA7DD20A9D030C0073B37F</string>
+											<string>44DA7DD30A9D030C0073B37F</string>
+											<string>44DA7DD40A9D030C0073B37F</string>
+											<string>44DA7DD50A9D030C0073B37F</string>
+											<string>44DA7DD60A9D030C0073B37F</string>
+											<string>44DA7DD70A9D030C0073B37F</string>
+											<string>44DA7DDE0A9D03290073B37F</string>
+											<string>44DA7DDF0A9D03290073B37F</string>
+											<string>44DA7DE00A9D03290073B37F</string>
+											<string>44DA7DE10A9D03290073B37F</string>
+											<string>44DA7E000A9D05270073B37F</string>
+											<string>44DA7E010A9D05270073B37F</string>
+											<string>44DA7E020A9D05270073B37F</string>
+											<string>44DA7E030A9D05270073B37F</string>
+											<string>44DA7E040A9D05270073B37F</string>
+											<string>44DA7E050A9D05270073B37F</string>
+											<string>44DA7E060A9D05270073B37F</string>
+											<string>44DA7E070A9D05270073B37F</string>
+											<string>44DA7E080A9D05270073B37F</string>
+											<string>44DA7E090A9D05270073B37F</string>
+											<string>44DA7E0A0A9D05270073B37F</string>
+											<string>44DA7E0B0A9D05270073B37F</string>
+											<string>44DA7E0C0A9D05270073B37F</string>
+											<string>44DA7E0D0A9D05270073B37F</string>
+											<string>44DA7E0E0A9D05270073B37F</string>
+											<string>44DA7E0F0A9D05270073B37F</string>
+											<string>44DA7E100A9D05270073B37F</string>
+											<string>44DA7E110A9D05270073B37F</string>
+											<string>44DA7E120A9D05270073B37F</string>
+											<string>44DA7E130A9D05270073B37F</string>
+											<string>44DA7E140A9D05270073B37F</string>
+											<string>44DA7E150A9D05270073B37F</string>
+											<string>44DA7E160A9D05270073B37F</string>
+											<string>44DA7E170A9D05270073B37F</string>
+											<string>44DA7E180A9D05270073B37F</string>
+											<string>44DA7E190A9D05270073B37F</string>
+											<string>44DA7E1A0A9D05270073B37F</string>
+											<string>44DA7E1B0A9D05270073B37F</string>
+											<string>44DA7E1C0A9D05270073B37F</string>
+											<string>44DA7E1D0A9D05270073B37F</string>
+											<string>44DA7E1E0A9D05270073B37F</string>
+											<string>44DA7E330A9E34E90073B37F</string>
+											<string>44DA7E340A9E34E90073B37F</string>
+											<string>44DA7E350A9E34E90073B37F</string>
+											<string>44DA7E360A9E34E90073B37F</string>
+											<string>44DA7E370A9E34E90073B37F</string>
+											<string>44DA7E380A9E34E90073B37F</string>
+											<string>44DA7E390A9E34E90073B37F</string>
+											<string>44DA7E3A0A9E34E90073B37F</string>
+											<string>44DA7E3B0A9E34E90073B37F</string>
+											<string>44DA7E3C0A9E34E90073B37F</string>
+											<string>44DA7E3D0A9E34E90073B37F</string>
+											<string>44DA7E3E0A9E34E90073B37F</string>
+											<string>44DA7E3F0A9E34E90073B37F</string>
+											<string>44DA7E400A9E34E90073B37F</string>
+											<string>44DA7E410A9E34E90073B37F</string>
+											<string>44DA7E420A9E34E90073B37F</string>
+											<string>44DA7E430A9E34E90073B37F</string>
+											<string>44DA7E440A9E34E90073B37F</string>
+											<string>44DA7E450A9E34E90073B37F</string>
+											<string>44DA7E460A9E34E90073B37F</string>
+											<string>44DA7E470A9E34E90073B37F</string>
+											<string>44DA7E480A9E34E90073B37F</string>
+											<string>44DA7E490A9E34E90073B37F</string>
+											<string>44DA7E4A0A9E34E90073B37F</string>
+											<string>44DA7E4B0A9E34E90073B37F</string>
+											<string>44DA7E610A9E38180073B37F</string>
+											<string>44DA7E620A9E38180073B37F</string>
+											<string>44DA7E630A9E38180073B37F</string>
+											<string>44DA7E640A9E38180073B37F</string>
+											<string>44DA7E650A9E38180073B37F</string>
+											<string>44DA7E660A9E38180073B37F</string>
+											<string>44DA7E670A9E38180073B37F</string>
+											<string>44DA7E680A9E38180073B37F</string>
+											<string>44DA7E690A9E38180073B37F</string>
+											<string>44DA7E6A0A9E38180073B37F</string>
+											<string>44DA7E6B0A9E38180073B37F</string>
+											<string>44DA7E6C0A9E38180073B37F</string>
+											<string>44DA7E6D0A9E38180073B37F</string>
+											<string>44DA7E6E0A9E38180073B37F</string>
+											<string>44DA7E6F0A9E38180073B37F</string>
+											<string>44DA7E700A9E38180073B37F</string>
+											<string>44DA7E710A9E38180073B37F</string>
+											<string>44DA7E720A9E38180073B37F</string>
+											<string>44DA7E730A9E38180073B37F</string>
+											<string>44DA7E740A9E38180073B37F</string>
+											<string>44DA7E750A9E38180073B37F</string>
+											<string>44DA7E760A9E38180073B37F</string>
+											<string>44DA7E770A9E38180073B37F</string>
+											<string>44DA7E780A9E38180073B37F</string>
+											<string>44DA7E790A9E38180073B37F</string>
+											<string>44DA7E7A0A9E38180073B37F</string>
+											<string>44DA7E7B0A9E38180073B37F</string>
+											<string>44DA7E7C0A9E38180073B37F</string>
+											<string>44DA7E7D0A9E38180073B37F</string>
+											<string>44DA7E7E0A9E38180073B37F</string>
+											<string>44DA7E7F0A9E38180073B37F</string>
+											<string>44DA7E800A9E38180073B37F</string>
+											<string>44DA7EB50A9E3AB00073B37F</string>
+											<string>44DA7EB60A9E3AB00073B37F</string>
+											<string>44DA7EB70A9E3AB00073B37F</string>
+											<string>44DA7EB80A9E3AB00073B37F</string>
+											<string>44DA7EB90A9E3AB00073B37F</string>
+											<string>44DA7EBA0A9E3AB00073B37F</string>
+											<string>44DA7EBB0A9E3AB00073B37F</string>
+											<string>44DA7EC50A9E3B470073B37F</string>
+											<string>44DA7ECF0A9E3C360073B37F</string>
+											<string>44DA7ED00A9E3C360073B37F</string>
+											<string>44DA7ED10A9E3C360073B37F</string>
+											<string>44DA7ED20A9E3C360073B37F</string>
+											<string>44DA7ED30A9E3C360073B37F</string>
+											<string>44DA7EE20A9E3D150073B37F</string>
+											<string>44DA7EE30A9E3D150073B37F</string>
+											<string>44DA7EE40A9E3D150073B37F</string>
+											<string>44DA7EE50A9E3D150073B37F</string>
+											<string>44DA7EE60A9E3D150073B37F</string>
+											<string>44DA7EE70A9E3D150073B37F</string>
+											<string>44DA7EF50A9E3D840073B37F</string>
+											<string>44DA7EF60A9E3D840073B37F</string>
+											<string>44DA7F1A0A9E3E450073B37F</string>
+											<string>44DA7F1B0A9E3E450073B37F</string>
+											<string>44DA7F1C0A9E3E450073B37F</string>
+											<string>44DA7F1D0A9E3E450073B37F</string>
+											<string>44DA7F1E0A9E3E450073B37F</string>
+											<string>44DA7F1F0A9E3E450073B37F</string>
+											<string>44DA7F200A9E3E450073B37F</string>
+											<string>44DA7F210A9E3E450073B37F</string>
+											<string>44DA7F220A9E3E450073B37F</string>
+											<string>44DA7F2E0A9E3ECA0073B37F</string>
+											<string>44DA7F2F0A9E3ECA0073B37F</string>
+											<string>44DA7F300A9E3ECA0073B37F</string>
+											<string>44DA7F4D0A9E41030073B37F</string>
+											<string>44DA7F4E0A9E41030073B37F</string>
+											<string>44DA7F4F0A9E41030073B37F</string>
+											<string>44DA7F500A9E41030073B37F</string>
+											<string>44DA7F510A9E41030073B37F</string>
+											<string>44DA7F520A9E41030073B37F</string>
+											<string>44DA7F530A9E41030073B37F</string>
+											<string>44DA7F540A9E41030073B37F</string>
+											<string>44DA7F550A9E41030073B37F</string>
+											<string>44DA7F560A9E41030073B37F</string>
+											<string>44DA7F570A9E41030073B37F</string>
+											<string>44DA7F580A9E41030073B37F</string>
+											<string>44DA7F820A9E43560073B37F</string>
+											<string>44DA7F830A9E43560073B37F</string>
+											<string>44DA7F840A9E43560073B37F</string>
+											<string>44DA7F850A9E43560073B37F</string>
+											<string>44DA7F860A9E43560073B37F</string>
+											<string>44DA7F870A9E43560073B37F</string>
+											<string>44DA7F880A9E43560073B37F</string>
+											<string>44DA7F890A9E43560073B37F</string>
+											<string>44DA7F970A9E43EF0073B37F</string>
+											<string>44DA7F980A9E43EF0073B37F</string>
+											<string>44DA7F990A9E43EF0073B37F</string>
+											<string>44DA7F9A0A9E43EF0073B37F</string>
+											<string>44DA7F9B0A9E43EF0073B37F</string>
+											<string>44DA7F9C0A9E43EF0073B37F</string>
+											<string>44DA7F9D0A9E43EF0073B37F</string>
+											<string>44DA7FA70A9E44150073B37F</string>
+											<string>44DA7FA80A9E44150073B37F</string>
+											<string>44DA7FA90A9E44150073B37F</string>
+											<string>44DA7FCC0A9E469F0073B37F</string>
+											<string>44DA7FCD0A9E469F0073B37F</string>
+											<string>44DA7FCE0A9E469F0073B37F</string>
+											<string>44DA7FCF0A9E469F0073B37F</string>
+											<string>44DA7FD00A9E469F0073B37F</string>
+											<string>44DA7FD10A9E469F0073B37F</string>
+											<string>44DA7FD20A9E469F0073B37F</string>
+											<string>44DA7FD30A9E469F0073B37F</string>
+											<string>44DA7FD40A9E469F0073B37F</string>
+											<string>44DA7FD50A9E469F0073B37F</string>
+											<string>44DA7FD60A9E469F0073B37F</string>
+											<string>44DA7FDD0A9E46C30073B37F</string>
+											<string>44DA7FDE0A9E46C30073B37F</string>
+											<string>44DA7FE50A9E47080073B37F</string>
+											<string>44DA7FE60A9E47080073B37F</string>
+											<string>44DA7FEF0A9E47870073B37F</string>
+											<string>44DA7FF00A9E47870073B37F</string>
+											<string>44DA7FF90A9E47E40073B37F</string>
+											<string>44DA80060A9E48230073B37F</string>
+											<string>44DA80070A9E48230073B37F</string>
+											<string>44DA80160A9E48710073B37F</string>
+											<string>44DA80390A9E4B9B0073B37F</string>
+											<string>44DA803A0A9E4B9B0073B37F</string>
+											<string>44DA803B0A9E4B9B0073B37F</string>
+											<string>44DA803C0A9E4B9B0073B37F</string>
+											<string>44DA803D0A9E4B9B0073B37F</string>
+											<string>44DA80490A9E4C490073B37F</string>
+											<string>44DA804A0A9E4C490073B37F</string>
+											<string>44DA80520A9E4CE60073B37F</string>
+											<string>44DA80530A9E4CE60073B37F</string>
+											<string>44DA805B0A9E4D420073B37F</string>
+											<string>44DA805C0A9E4D420073B37F</string>
+											<string>44DA805D0A9E4D420073B37F</string>
+											<string>44DA805E0A9E4D420073B37F</string>
+											<string>44DA80680A9E4DB70073B37F</string>
+											<string>44DA80690A9E4DB70073B37F</string>
+											<string>44DA806A0A9E4DB70073B37F</string>
+											<string>44DA806B0A9E4DB70073B37F</string>
+											<string>44DA806C0A9E4DB70073B37F</string>
+											<string>44DA806D0A9E4DB70073B37F</string>
+											<string>44DA806E0A9E4DB70073B37F</string>
+											<string>44DA806F0A9E4DB70073B37F</string>
+											<string>44DA807B0A9E50590073B37F</string>
+											<string>44DA807C0A9E50590073B37F</string>
+											<string>44DA807D0A9E50590073B37F</string>
+											<string>44DA807E0A9E50590073B37F</string>
+											<string>44DA807F0A9E50590073B37F</string>
+											<string>44DA808E0A9E521C0073B37F</string>
+											<string>44DA809E0A9E57DE0073B37F</string>
+											<string>44DA809F0A9E57DE0073B37F</string>
+											<string>44DA80A00A9E57DE0073B37F</string>
+											<string>44DA80A10A9E57DE0073B37F</string>
+											<string>44DA80A80A9E59460073B37F</string>
+											<string>44DA80A90A9E59460073B37F</string>
+											<string>44DA80B90A9E5C4C0073B37F</string>
+											<string>44DA80BA0A9E5C4C0073B37F</string>
+											<string>44DA80BB0A9E5C4C0073B37F</string>
+											<string>44DA80BC0A9E5C4C0073B37F</string>
+											<string>44DA80BD0A9E5C4C0073B37F</string>
+											<string>44DA80C20A9E5C7C0073B37F</string>
+											<string>44DA80D80A9E5EEE0073B37F</string>
+											<string>44DA80D90A9E5EEE0073B37F</string>
+											<string>44DA80DA0A9E5EEE0073B37F</string>
+											<string>44DA80DB0A9E5EEE0073B37F</string>
+											<string>44DA80DC0A9E5EEE0073B37F</string>
+											<string>44DA80DD0A9E5EEE0073B37F</string>
+											<string>44DA80DE0A9E5EEE0073B37F</string>
+											<string>44DA80E60A9E5F2A0073B37F</string>
+											<string>44DA80E70A9E5F2A0073B37F</string>
+											<string>44DA80F30A9E5F9D0073B37F</string>
+											<string>44DA80F40A9E5F9D0073B37F</string>
+											<string>44DA80F50A9E5F9D0073B37F</string>
+											<string>44DA80F60A9E5F9D0073B37F</string>
+											<string>44DA80F70A9E5F9D0073B37F</string>
+											<string>44DA80F80A9E5F9D0073B37F</string>
 										</array>
 									</dict>
 									<key>SplitCount</key>
@@ -452,14 +824,14 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 0}, {713, 558}}</string>
+								<string>{{0, 0}, {915, 688}}</string>
 								<key>RubberWindowFrame</key>
-								<string>661 152 1006 718 0 0 1680 1028 </string>
+								<string>46 180 1208 848 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXNavigatorGroup</string>
 							<key>Proportion</key>
-							<string>558pt</string>
+							<string>688pt</string>
 						</dict>
 						<dict>
 							<key>ContentConfiguration</key>
@@ -472,9 +844,9 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 563}, {713, 114}}</string>
+								<string>{{0, 693}, {915, 114}}</string>
 								<key>RubberWindowFrame</key>
-								<string>661 152 1006 718 0 0 1680 1028 </string>
+								<string>46 180 1208 848 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
@@ -483,7 +855,7 @@
 						</dict>
 					</array>
 					<key>Proportion</key>
-					<string>713pt</string>
+					<string>915pt</string>
 				</dict>
 			</array>
 			<key>Name</key>
@@ -498,9 +870,9 @@
 			</array>
 			<key>TableOfContents</key>
 			<array>
-				<string>44DA7AC10A9A42FE0073B37F</string>
+				<string>44DA7B950A9A52080073B37F</string>
 				<string>1CE0B1FE06471DED0097A5F4</string>
-				<string>44DA7AC20A9A42FE0073B37F</string>
+				<string>44DA7B960A9A52080073B37F</string>
 				<string>1CE0B20306471E060097A5F4</string>
 				<string>1CE0B20506471E060097A5F4</string>
 			</array>
@@ -634,14 +1006,18 @@
 	<integer>5</integer>
 	<key>WindowOrderList</key>
 	<array>
-		<string>4417DB580A8D2FCE000FE4DB</string>
-		<string>44DA7ACA0A9A42FE0073B37F</string>
+		<string>44DA7CBD0A9B9DA40073B37F</string>
+		<string>44DA7CBE0A9B9DA40073B37F</string>
+		<string>4417DEC40A8E6D11000FE4DB</string>
+		<string>44DA7CAF0A9B9D6B0073B37F</string>
 		<string>1CD10A99069EF8BA00B06720</string>
+		<string>44DA7B9D0A9A52080073B37F</string>
+		<string>4417DB580A8D2FCE000FE4DB</string>
 		<string>1C0AD2B3069F1EA900FABCE6</string>
 		<string>/Users/halset/projects/CAYClient/CAYClient.xcodeproj</string>
 	</array>
 	<key>WindowString</key>
-	<string>661 152 1006 718 0 0 1680 1028 </string>
+	<string>46 180 1208 848 0 0 1680 1028 </string>
 	<key>WindowTools</key>
 	<array>
 		<dict>
@@ -662,7 +1038,7 @@
 								<key>PBXProjectModuleGUID</key>
 								<string>1CD0528F0623707200166675</string>
 								<key>PBXProjectModuleLabel</key>
-								<string></string>
+								<string>CAYObjectContext.m</string>
 								<key>StatusBarVisibility</key>
 								<true/>
 							</dict>
@@ -679,6 +1055,8 @@
 							<string>416pt</string>
 						</dict>
 						<dict>
+							<key>BecomeActive</key>
+							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXBuildLogShowsTranscriptDefaultKey</key>
@@ -720,7 +1098,7 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>4417DB580A8D2FCE000FE4DB</string>
-				<string>44DA7AC30A9A42FE0073B37F</string>
+				<string>44DA7BBC0A9A53E60073B37F</string>
 				<string>1CD0528F0623707200166675</string>
 				<string>XCMainBuildResultsModuleGUID</string>
 			</array>
@@ -731,7 +1109,7 @@
 			<key>WindowToolGUID</key>
 			<string>4417DB580A8D2FCE000FE4DB</string>
 			<key>WindowToolIsVisible</key>
-			<false/>
+			<true/>
 		</dict>
 		<dict>
 			<key>FirstTimeWindowDisplayed</key>
@@ -762,8 +1140,8 @@
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {400, 267}}</string>
-											<string>{{400, 0}, {535, 267}}</string>
+											<string>{{0, 0}, {396, 267}}</string>
+											<string>{{396, 0}, {539, 267}}</string>
 										</array>
 									</dict>
 									<key>VerticalSplitView</key>
@@ -826,14 +1204,14 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>1CD10A99069EF8BA00B06720</string>
-				<string>44DA7AC40A9A42FE0073B37F</string>
+				<string>44DA7B970A9A52080073B37F</string>
 				<string>1C162984064C10D400B95A72</string>
-				<string>44DA7AC50A9A42FE0073B37F</string>
-				<string>44DA7AC60A9A42FE0073B37F</string>
-				<string>44DA7AC70A9A42FE0073B37F</string>
-				<string>44DA7AC80A9A42FE0073B37F</string>
-				<string>44DA7AC90A9A42FE0073B37F</string>
-				<string>44DA7ACA0A9A42FE0073B37F</string>
+				<string>44DA7B980A9A52080073B37F</string>
+				<string>44DA7B990A9A52080073B37F</string>
+				<string>44DA7B9A0A9A52080073B37F</string>
+				<string>44DA7B9B0A9A52080073B37F</string>
+				<string>44DA7B9C0A9A52080073B37F</string>
+				<string>44DA7B9D0A9A52080073B37F</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.debug</string>
@@ -842,7 +1220,7 @@
 			<key>WindowToolGUID</key>
 			<string>1CD10A99069EF8BA00B06720</string>
 			<key>WindowToolIsVisible</key>
-			<true/>
+			<false/>
 		</dict>
 		<dict>
 			<key>FirstTimeWindowDisplayed</key>
@@ -987,7 +1365,7 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>4417DEC40A8E6D11000FE4DB</string>
-				<string>44A6F9700A98EE2900E04AE1</string>
+				<string>44DA7CBC0A9B9DA40073B37F</string>
 				<string>1C78EAAC065D492600B07095</string>
 			</array>
 			<key>WindowString</key>
@@ -1059,7 +1437,7 @@
 								<key>Frame</key>
 								<string>{{0, 0}, {1248, 638}}</string>
 								<key>RubberWindowFrame</key>
-								<string>8 54 1248 679 0 0 1680 1028 </string>
+								<string>8 125 1248 679 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXRunSessionModule</string>
@@ -1082,14 +1460,14 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>1C0AD2B3069F1EA900FABCE6</string>
-				<string>44DA7ACB0A9A42FE0073B37F</string>
+				<string>44DA7BBD0A9A53E60073B37F</string>
 				<string>1CD0528B0623707200166675</string>
-				<string>44DA7ACC0A9A42FE0073B37F</string>
+				<string>44DA7BBE0A9A53E60073B37F</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.run</string>
 			<key>WindowString</key>
-			<string>8 54 1248 679 0 0 1680 1028 </string>
+			<string>8 125 1248 679 0 0 1680 1028 </string>
 			<key>WindowToolGUID</key>
 			<string>1C0AD2B3069F1EA900FABCE6</string>
 			<key>WindowToolIsVisible</key>
@@ -1196,18 +1574,18 @@
 			<string>743 379 452 308 0 0 1280 1002 </string>
 		</dict>
 		<dict>
+			<key>FirstTimeWindowDisplayed</key>
+			<false/>
 			<key>Identifier</key>
 			<string>windowTool.breakpoints</string>
 			<key>IsVertical</key>
-			<integer>0</integer>
+			<false/>
 			<key>Layout</key>
 			<array>
 				<dict>
 					<key>Dock</key>
 					<array>
 						<dict>
-							<key>BecomeActive</key>
-							<integer>1</integer>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXBottomSmartGroupGIDs</key>
@@ -1249,7 +1627,7 @@
 								<key>PBXTopSmartGroupGIDs</key>
 								<array/>
 								<key>XCIncludePerspectivesSwitch</key>
-								<integer>0</integer>
+								<false/>
 							</dict>
 							<key>GeometryConfiguration</key>
 							<dict>
@@ -1261,7 +1639,7 @@
 									<real>168</real>
 								</array>
 								<key>RubberWindowFrame</key>
-								<string>315 424 744 409 0 0 1440 878 </string>
+								<string>470 596 744 409 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXSmartGroupTreeModule</string>
@@ -1269,6 +1647,8 @@
 							<string>185pt</string>
 						</dict>
 						<dict>
+							<key>BecomeActive</key>
+							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXProjectModuleGUID</key>
@@ -1281,7 +1661,7 @@
 								<key>Frame</key>
 								<string>{{190, 0}, {554, 368}}</string>
 								<key>RubberWindowFrame</key>
-								<string>315 424 744 409 0 0 1440 878 </string>
+								<string>470 596 744 409 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
@@ -1305,22 +1685,22 @@
 				<string>XCDetailModule</string>
 			</array>
 			<key>StatusbarIsVisible</key>
-			<integer>1</integer>
+			<true/>
 			<key>TableOfContents</key>
 			<array>
-				<string>1CDDB66807F98D9800BB5817</string>
-				<string>1CDDB66907F98D9800BB5817</string>
+				<string>44DA7CAF0A9B9D6B0073B37F</string>
+				<string>44DA7CB00A9B9D6B0073B37F</string>
 				<string>1CE0B1FE06471DED0097A5F4</string>
 				<string>1CA1AED706398EBD00589147</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.breakpoints</string>
 			<key>WindowString</key>
-			<string>315 424 744 409 0 0 1440 878 </string>
+			<string>470 596 744 409 0 0 1680 1028 </string>
 			<key>WindowToolGUID</key>
-			<string>1CDDB66807F98D9800BB5817</string>
+			<string>44DA7CAF0A9B9D6B0073B37F</string>
 			<key>WindowToolIsVisible</key>
-			<integer>1</integer>
+			<false/>
 		</dict>
 		<dict>
 			<key>Identifier</key>