Commits

evanlong  committed efb5915

Adding SimpleViewWithLogin for SO answer

  • Participants
  • Parent commits 901f44c

Comments (0)

Files changed (22)

File FlickrFun2/Classes/FlickrFun2AppDelegate.m

 #pragma mark Application lifecycle
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
-    
+    NSLog(@"%@", NSHomeDirectory());
+    NSLog(@"%@", NSTemporaryDirectory());
+    NSLog(@"%@", NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES));
+
     UITabBarController* tabs = [[UITabBarController alloc] init];
     UINavigationController* navPlaces = [[UINavigationController alloc] init];
     UINavigationController* navRecent = [[UINavigationController alloc] init];
     UINavigationController* navFav = [[UINavigationController alloc] init];
-    
+
     PlacesTableViewController* places = [[PlacesTableViewController alloc] initInManagedObjectContext:self.managedObjectContext];
     RecentTableViewController* recentTable = [[RecentTableViewController alloc] initInManagedObjectContext:self.managedObjectContext];
     FavoriteTableViewController* favTable = [[FavoriteTableViewController alloc] initInManagedObjectContext:self.managedObjectContext];        
-    
+
     [navPlaces pushViewController:places animated:NO];
     [navRecent pushViewController:recentTable animated:NO];
     [navFav pushViewController:favTable animated:NO];

File FlickrFun2/Classes/Photo.h

 @class Place;
 @class Recent;
 
+
 @interface Photo :  NSManagedObject  
 {
+    NSMutableData* receivedData;
+    void (^instanceProcessBlock)(NSData*);
 }
 
 +(Photo*)photoWithFlickrData:(NSDictionary*)flickrData inManagedObjectContext:(NSManagedObjectContext*)context;

File FlickrFun2/Classes/Photo.m

 @dynamic flickrThumbnailUrl;
 @dynamic thumbnail;
 
--(void)imageDataWithBlock:(void(^)(NSData* imageData))processBlock
+
+//
+//-(void)imageDataWithBlock:(void(^)(NSData* imageData))processBlock
+//{
+//    NSString* url = self.flickrUrl; //the managed context is not thread safe. need to be retaining it's data locally.
+//    //if the type was mutable we'd need to be making a copy of it possibly. that's just a whole other story. 
+//    dispatch_queue_t callerQueue = dispatch_get_current_queue();
+//    dispatch_queue_t imageFetchQueue = dispatch_queue_create("flickr image fetch queue", NULL);
+//    
+//    dispatch_async(imageFetchQueue, ^{
+//        NSData* data = [FlickrFetcher imageDataForPhotoWithURLString:url];
+//        dispatch_async(callerQueue, ^{
+//            processBlock(data);
+//        });
+//    });
+//    
+//    dispatch_release(imageFetchQueue);
+//}
+
+
+-(void)imageDataWithBlock:(void (^)(NSData*))processBlock
 {
-    NSString* url = self.flickrUrl; //the managed context is not thread safe. need to be retaining it's data locally.
-    //if the type was mutable we'd need to be making a copy of it possibly. that's just a whole other story. 
-    dispatch_queue_t callerQueue = dispatch_get_current_queue();
-    dispatch_queue_t imageFetchQueue = dispatch_queue_create("flickr image fetch queue", NULL);
+    instanceProcessBlock = [processBlock copy];
+    NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:self.flickrUrl]
+                                              cachePolicy:NSURLRequestUseProtocolCachePolicy
+                                          timeoutInterval:60.0];
+    // create the connection with the request
+    // and start loading the data
+    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
+    if (theConnection) {
+        // Create the NSMutableData to hold the received data.
+        // receivedData is an instance variable declared elsewhere.
+        receivedData = [[NSMutableData data] retain];
+    } else {
+        // Inform the user that the connection failed.
+        NSLog(@"connection failure");
+    }    
+}
+
+- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
+{
+    // It can be called multiple times, for example in the case of a
+    // redirect, so each time we reset the data.
+    [receivedData setLength:0];
+}
+
+- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
+{
+    // Append the new data to receivedData.
+    // receivedData is an instance variable declared elsewhere.
+    [receivedData appendData:data];
+}
+
+- (void)connection:(NSURLConnection *)connection
+  didFailWithError:(NSError *)error
+{
+    // release the connection, and the data object
+    [connection release];
+    // receivedData is declared as a method instance elsewhere
+    [receivedData release];
     
-    dispatch_async(imageFetchQueue, ^{
-        NSData* data = [FlickrFetcher imageDataForPhotoWithURLString:url];
-        dispatch_async(callerQueue, ^{
-            processBlock(data);
-        });
-    });
+    // inform the user
+    NSLog(@"Connection failed! Error - %@ %@",
+          [error localizedDescription],
+          [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
+}
+
+- (void)connectionDidFinishLoading:(NSURLConnection *)connection
+{
+    // do something with the data
+    // receivedData is declared as a method instance elsewhere
+    NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]);
+    instanceProcessBlock([NSData dataWithData:receivedData]);
     
-    dispatch_release(imageFetchQueue);
+    [instanceProcessBlock release];
+    // release the connection, and the data object
+    [connection release];
+    [receivedData release];
 }
 
+
 -(void)thumbnailWithBlock:(void(^)(UIImage* thumbnail))processBlock
 {
     if (!self.thumbnail) {

File FlickrFun2/FlickrFun2.xcodeproj/evanlong.mode1v3

 						<dict>
 							<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
 							<array>
-								<real>249</real>
+								<real>248</real>
 							</array>
 							<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
 							<array>
 								<string>080E96DDFE201D6D7F000001</string>
 								<string>FF86B20712E6DA830091BCB9</string>
 								<string>29B97315FDCFA39411CA2CEA</string>
-								<string>29B97317FDCFA39411CA2CEA</string>
-								<string>2819305F112F816700ECF9B4</string>
 								<string>1C37FAAC04509CD000000102</string>
 								<string>1C37FABC05509CD000000102</string>
 							</array>
 							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
 							<array>
 								<array>
-									<integer>22</integer>
-									<integer>1</integer>
+									<integer>31</integer>
+									<integer>29</integer>
 									<integer>0</integer>
 								</array>
 							</array>
 							<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-							<string>{{0, 0}, {249, 664}}</string>
+							<string>{{0, 0}, {248, 664}}</string>
 						</dict>
 						<key>PBXTopSmartGroupGIDs</key>
 						<array/>
 					<key>GeometryConfiguration</key>
 					<dict>
 						<key>Frame</key>
-						<string>{{0, 0}, {266, 682}}</string>
+						<string>{{0, 0}, {265, 682}}</string>
 						<key>GroupTreeTableConfiguration</key>
 						<array>
 							<string>MainColumn</string>
-							<real>249</real>
+							<real>248</real>
 						</array>
 						<key>RubberWindowFrame</key>
-						<string>0 55 1280 723 0 0 1280 778 </string>
+						<string>-1490 -149 1276 723 -1920 -400 1920 1200 </string>
 					</dict>
 					<key>Module</key>
 					<string>PBXSmartGroupTreeModule</string>
 					<key>Proportion</key>
-					<string>266pt</string>
+					<string>265pt</string>
 				</dict>
 				<dict>
 					<key>Dock</key>
 								<key>PBXProjectModuleGUID</key>
 								<string>1CE0B20306471E060097A5F4</string>
 								<key>PBXProjectModuleLabel</key>
-								<string>PictureAtPlaceViewController.m</string>
+								<string>CoreDataTableViewController.m</string>
 								<key>PBXSplitModuleInNavigatorKey</key>
 								<dict>
 									<key>Split0</key>
 										<key>PBXProjectModuleGUID</key>
 										<string>1CE0B20406471E060097A5F4</string>
 										<key>PBXProjectModuleLabel</key>
-										<string>PictureAtPlaceViewController.m</string>
+										<string>CoreDataTableViewController.m</string>
 										<key>_historyCapacity</key>
 										<integer>0</integer>
 										<key>bookmark</key>
-										<string>FF5B22BB12F25C1900945461</string>
+										<string>FF20B7E61300BF060068D79B</string>
 										<key>history</key>
 										<array>
-											<string>FF7F69CF12E8E57900D507F7</string>
 											<string>FF7F6A4F12E8EAAF00D507F7</string>
-											<string>FF7F6A6912E8EAFE00D507F7</string>
-											<string>FF70812012ED7293007889AE</string>
 											<string>FF70837912EE2867007889AE</string>
 											<string>FF70840612EE2B5A007889AE</string>
-											<string>FF70842912EE3085007889AE</string>
 											<string>FF70845512EE32ED007889AE</string>
 											<string>FF70845712EE32ED007889AE</string>
 											<string>FF70845812EE32ED007889AE</string>
-											<string>FF70845912EE32ED007889AE</string>
 											<string>FF70845A12EE32ED007889AE</string>
 											<string>FF7084AD12EE3C53007889AE</string>
-											<string>FF7084AF12EE3C53007889AE</string>
-											<string>FF7085DA12EF5D05007889AE</string>
-											<string>FF7085DB12EF5D05007889AE</string>
 											<string>FF70866612EF6E00007889AE</string>
-											<string>FF70867F12EF6FFC007889AE</string>
-											<string>FF70870312EF77B9007889AE</string>
-											<string>FF70874F12EF935E007889AE</string>
-											<string>FF70875012EF935E007889AE</string>
 											<string>FF7087BC12EFA599007889AE</string>
 											<string>FF7087D312EFA8FF007889AE</string>
 											<string>FF7087D412EFA8FF007889AE</string>
-											<string>FF70885212EFC1E7007889AE</string>
-											<string>FF70888512EFC7AA007889AE</string>
-											<string>FF7088B112F0CA15007889AE</string>
-											<string>FF7088B212F0CA15007889AE</string>
-											<string>FF7088B312F0CA15007889AE</string>
 											<string>FF7088B412F0CA15007889AE</string>
 											<string>FF5B229512F258DF00945461</string>
 											<string>FF5B229712F258DF00945461</string>
-											<string>FF5B229912F258DF00945461</string>
-											<string>FF5B229A12F258DF00945461</string>
+											<string>FF5B231E12F3708D00945461</string>
+											<string>FF5B239212F6927E00945461</string>
+											<string>FF80C0F412F759A700240CE1</string>
+											<string>FF80C0F512F759A700240CE1</string>
+											<string>FF80C0F712F759A700240CE1</string>
+											<string>FF80C0F812F759A700240CE1</string>
+											<string>FF80C0FA12F759A700240CE1</string>
+											<string>FF80C0FC12F759A700240CE1</string>
+											<string>FF80C10C12F779C100240CE1</string>
+											<string>FF80C10D12F779C100240CE1</string>
+											<string>FF80C10E12F779C100240CE1</string>
+											<string>FF80C10F12F779C100240CE1</string>
+											<string>FF80C11012F779C100240CE1</string>
+											<string>FF80C11112F779C100240CE1</string>
+											<string>FF80C11212F779C100240CE1</string>
+											<string>FF80C11312F779C100240CE1</string>
+											<string>FF80C11412F779C100240CE1</string>
+											<string>FF80C11512F779C100240CE1</string>
+											<string>FF80C11712F779C100240CE1</string>
+											<string>FF213AEE12F77EA700F0DC15</string>
+											<string>FFC95C7412FA07D800F3ED1A</string>
+											<string>FFD2A54A12FFEE6400D66779</string>
+											<string>FFD2A54B12FFEE6400D66779</string>
+											<string>FF20B7061300B7220068D79B</string>
+											<string>FF20B7E11300BEF40068D79B</string>
+											<string>FF20B7071300B7220068D79B</string>
 										</array>
 									</dict>
 									<key>SplitCount</key>
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 0}, {1009, 596}}</string>
+								<string>{{0, 0}, {1006, 677}}</string>
 								<key>RubberWindowFrame</key>
-								<string>0 55 1280 723 0 0 1280 778 </string>
+								<string>-1490 -149 1276 723 -1920 -400 1920 1200 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXNavigatorGroup</string>
 							<key>Proportion</key>
-							<string>596pt</string>
+							<string>677pt</string>
 						</dict>
 						<dict>
 							<key>ContentConfiguration</key>
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 601}, {1009, 81}}</string>
+								<string>{{0, 682}, {1006, 0}}</string>
 								<key>RubberWindowFrame</key>
-								<string>0 55 1280 723 0 0 1280 778 </string>
+								<string>-1490 -149 1276 723 -1920 -400 1920 1200 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
 							<key>Proportion</key>
-							<string>81pt</string>
+							<string>0pt</string>
 						</dict>
 					</array>
 					<key>Proportion</key>
-					<string>1009pt</string>
+					<string>1006pt</string>
 				</dict>
 			</array>
 			<key>Name</key>
 			</array>
 			<key>TableOfContents</key>
 			<array>
-				<string>FF5B229C12F258DF00945461</string>
+				<string>FF20B7E31300BEF40068D79B</string>
 				<string>1CE0B1FE06471DED0097A5F4</string>
-				<string>FF5B229D12F258DF00945461</string>
+				<string>FF20B7E41300BEF40068D79B</string>
 				<string>1CE0B20306471E060097A5F4</string>
 				<string>1CE0B20506471E060097A5F4</string>
 			</array>
 	<integer>5</integer>
 	<key>WindowOrderList</key>
 	<array>
-		<string>FF5B22A912F258DF00945461</string>
-		<string>FF5B22AA12F258DF00945461</string>
-		<string>1C78EAAD065D492600B07095</string>
 		<string>FF86B18112E6C6F10091BCB9</string>
-		<string>FF5B22A612F258DF00945461</string>
-		<string>1CD10A99069EF8BA00B06720</string>
 		<string>/Users/evanlong/development/bitbucket/iphone-learning/FlickrFun2/FlickrFun2.xcodeproj</string>
 	</array>
 	<key>WindowString</key>
-	<string>0 55 1280 723 0 0 1280 778 </string>
+	<string>-1490 -149 1276 723 -1920 -400 1920 1200 </string>
 	<key>WindowToolsV3</key>
 	<array>
 		<dict>
 			<key>TableOfContents</key>
 			<array>
 				<string>FF86B18112E6C6F10091BCB9</string>
-				<string>FF5B229E12F258DF00945461</string>
+				<string>FF20B7E51300BEF40068D79B</string>
 				<string>1CD0528F0623707200166675</string>
 				<string>XCMainBuildResultsModuleGUID</string>
 			</array>
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {522, 505}}</string>
-											<string>{{522, 0}, {481, 505}}</string>
+											<string>{{0, 0}, {522, 489}}</string>
+											<string>{{522, 0}, {481, 489}}</string>
 										</array>
 									</dict>
 									<key>VerticalSplitView</key>
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {1003, 505}}</string>
-											<string>{{0, 505}, {1003, 455}}</string>
+											<string>{{0, 0}, {1003, 489}}</string>
+											<string>{{0, 489}, {1003, 471}}</string>
 										</array>
 									</dict>
 								</dict>
 										<real>185</real>
 									</array>
 									<key>Frame</key>
-									<string>{{522, 0}, {481, 505}}</string>
+									<string>{{522, 0}, {481, 489}}</string>
 									<key>RubberWindowFrame</key>
-									<string>-1048 -249 1003 1001 -1920 -400 1920 1200 </string>
+									<string>-1211 -309 1003 1001 -1920 -400 1920 1200 </string>
 								</dict>
 								<key>RubberWindowFrame</key>
-								<string>-1048 -249 1003 1001 -1920 -400 1920 1200 </string>
+								<string>-1211 -309 1003 1001 -1920 -400 1920 1200 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXDebugSessionModule</string>
 			<key>TableOfContents</key>
 			<array>
 				<string>1CD10A99069EF8BA00B06720</string>
-				<string>FF5B229F12F258DF00945461</string>
+				<string>FFC95EE612FB459500F3ED1A</string>
 				<string>1C162984064C10D400B95A72</string>
-				<string>FF5B22A012F258DF00945461</string>
-				<string>FF5B22A112F258DF00945461</string>
-				<string>FF5B22A212F258DF00945461</string>
-				<string>FF5B22A312F258DF00945461</string>
-				<string>FF5B22A412F258DF00945461</string>
+				<string>FFC95EE712FB459500F3ED1A</string>
+				<string>FFC95EE812FB459500F3ED1A</string>
+				<string>FFC95EE912FB459500F3ED1A</string>
+				<string>FFC95EEA12FB459500F3ED1A</string>
+				<string>FFC95EEB12FB459500F3ED1A</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.debugV3</string>
 			<key>WindowString</key>
-			<string>-1048 -249 1003 1001 -1920 -400 1920 1200 </string>
+			<string>-1211 -309 1003 1001 -1920 -400 1920 1200 </string>
 			<key>WindowToolGUID</key>
 			<string>1CD10A99069EF8BA00B06720</string>
 			<key>WindowToolIsVisible</key>
-			<true/>
+			<false/>
 		</dict>
 		<dict>
 			<key>Identifier</key>
 								<key>Frame</key>
 								<string>{{0, 0}, {1085, 681}}</string>
 								<key>RubberWindowFrame</key>
-								<string>67 56 1085 722 0 0 1280 778 </string>
+								<string>-1122 40 1085 722 -1920 -400 1920 1200 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXDebugCLIModule</string>
 			<key>TableOfContents</key>
 			<array>
 				<string>1C78EAAD065D492600B07095</string>
-				<string>FF5B22A512F258DF00945461</string>
+				<string>FFC95EEC12FB459500F3ED1A</string>
 				<string>1C78EAAC065D492600B07095</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.consoleV3</string>
 			<key>WindowString</key>
-			<string>67 56 1085 722 0 0 1280 778 </string>
+			<string>-1122 40 1085 722 -1920 -400 1920 1200 </string>
 			<key>WindowToolGUID</key>
 			<string>1C78EAAD065D492600B07095</string>
 			<key>WindowToolIsVisible</key>
 									<real>168</real>
 								</array>
 								<key>RubberWindowFrame</key>
-								<string>-1826 189 905 431 -1920 -400 1920 1200 </string>
+								<string>35 274 905 431 0 0 1280 778 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXSmartGroupTreeModule</string>
 								<key>Frame</key>
 								<string>{{190, 0}, {715, 390}}</string>
 								<key>RubberWindowFrame</key>
-								<string>-1826 189 905 431 -1920 -400 1920 1200 </string>
+								<string>35 274 905 431 0 0 1280 778 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.breakpointsV3</string>
 			<key>WindowString</key>
-			<string>-1826 189 905 431 -1920 -400 1920 1200 </string>
+			<string>35 274 905 431 0 0 1280 778 </string>
 			<key>WindowToolGUID</key>
 			<string>FF5B22A612F258DF00945461</string>
 			<key>WindowToolIsVisible</key>
-			<true/>
+			<false/>
 		</dict>
 		<dict>
 			<key>Identifier</key>

File FlickrFun2/FlickrFun2.xcodeproj/evanlong.pbxuser

 {
 	1D3623240D0F684500981E51 /* FlickrFun2AppDelegate.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 541}}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 558}}";
 			sepNavSelRange = "{0, 0}";
 			sepNavVisRange = "{0, 861}";
 		};
 	};
 	1D3623250D0F684500981E51 /* FlickrFun2AppDelegate.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {1965, 3416}}";
-			sepNavSelRange = "{2153, 0}";
-			sepNavVisRange = "{387, 1816}";
+			sepNavIntBoundsRect = "{{0, 0}, {1965, 3332}}";
+			sepNavSelRange = "{2345, 0}";
+			sepNavVisRange = "{1033, 2095}";
 		};
 	};
 	1D6058900D05DD3D006BFB54 /* FlickrFun2 */ = {
 			1D6058900D05DD3D006BFB54 /* FlickrFun2 */,
 		);
 		breakpoints = (
-			FF5B229212F258D900945461 /* kevent */,
 		);
 		codeSenseManager = FF86B0FD12E64D300091BCB9 /* Code sense */;
 		executables = (
 				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
 				PBXFileTableDataSourceColumnWidthsKey = (
 					20,
-					770,
+					767,
 					20,
 					48,
 					43,
 					PBXFileDataSource_Target_ColumnID,
 				);
 			};
-			PBXPerProjectTemplateStateSaveDate = 317869618;
-			PBXWorkspaceStateSaveDate = 317869618;
+			PBXPerProjectTemplateStateSaveDate = 318815981;
+			PBXWorkspaceStateSaveDate = 318815981;
 		};
 		perUserProjectItems = {
+			FF20B7061300B7220068D79B /* PBXTextBookmark */ = FF20B7061300B7220068D79B /* PBXTextBookmark */;
+			FF20B7071300B7220068D79B /* PBXTextBookmark */ = FF20B7071300B7220068D79B /* PBXTextBookmark */;
+			FF20B7E11300BEF40068D79B /* PBXTextBookmark */ = FF20B7E11300BEF40068D79B /* PBXTextBookmark */;
+			FF20B7E61300BF060068D79B /* PBXTextBookmark */ = FF20B7E61300BF060068D79B /* PBXTextBookmark */;
+			FF213AEE12F77EA700F0DC15 /* PBXTextBookmark */ = FF213AEE12F77EA700F0DC15 /* PBXTextBookmark */;
 			FF5B229512F258DF00945461 /* PBXTextBookmark */ = FF5B229512F258DF00945461 /* PBXTextBookmark */;
 			FF5B229712F258DF00945461 /* PBXTextBookmark */ = FF5B229712F258DF00945461 /* PBXTextBookmark */;
-			FF5B229912F258DF00945461 /* PBXTextBookmark */ = FF5B229912F258DF00945461 /* PBXTextBookmark */;
-			FF5B229A12F258DF00945461 /* PBXTextBookmark */ = FF5B229A12F258DF00945461 /* PBXTextBookmark */;
-			FF5B229B12F258DF00945461 /* PBXTextBookmark */ = FF5B229B12F258DF00945461 /* PBXTextBookmark */;
-			FF5B22AD12F2591600945461 /* PBXTextBookmark */ = FF5B22AD12F2591600945461 /* PBXTextBookmark */;
-			FF5B22AE12F2591F00945461 /* PBXTextBookmark */ = FF5B22AE12F2591F00945461 /* PBXTextBookmark */;
-			FF5B22AF12F2592C00945461 /* PBXTextBookmark */ = FF5B22AF12F2592C00945461 /* PBXTextBookmark */;
-			FF5B22B012F2593500945461 /* PBXTextBookmark */ = FF5B22B012F2593500945461 /* PBXTextBookmark */;
-			FF5B22BB12F25C1900945461 /* PBXTextBookmark */ = FF5B22BB12F25C1900945461 /* PBXTextBookmark */;
-			FF70812012ED7293007889AE = FF70812012ED7293007889AE /* PBXTextBookmark */;
-			FF70837912EE2867007889AE = FF70837912EE2867007889AE /* PBXTextBookmark */;
-			FF70840612EE2B5A007889AE = FF70840612EE2B5A007889AE /* PBXTextBookmark */;
-			FF70842912EE3085007889AE = FF70842912EE3085007889AE /* PBXTextBookmark */;
-			FF70845512EE32ED007889AE = FF70845512EE32ED007889AE /* PBXTextBookmark */;
-			FF70845712EE32ED007889AE = FF70845712EE32ED007889AE /* PBXTextBookmark */;
-			FF70845812EE32ED007889AE = FF70845812EE32ED007889AE /* PBXTextBookmark */;
-			FF70845912EE32ED007889AE = FF70845912EE32ED007889AE /* PBXTextBookmark */;
-			FF70845A12EE32ED007889AE = FF70845A12EE32ED007889AE /* XDModelBookmark */;
-			FF7084AD12EE3C53007889AE = FF7084AD12EE3C53007889AE /* PBXTextBookmark */;
-			FF7084AF12EE3C53007889AE = FF7084AF12EE3C53007889AE /* PBXTextBookmark */;
-			FF7085DA12EF5D05007889AE = FF7085DA12EF5D05007889AE /* PBXTextBookmark */;
-			FF7085DB12EF5D05007889AE = FF7085DB12EF5D05007889AE /* PBXTextBookmark */;
-			FF70866612EF6E00007889AE = FF70866612EF6E00007889AE /* PBXTextBookmark */;
-			FF70867F12EF6FFC007889AE = FF70867F12EF6FFC007889AE /* PBXTextBookmark */;
-			FF70870312EF77B9007889AE = FF70870312EF77B9007889AE /* PBXTextBookmark */;
-			FF70874F12EF935E007889AE = FF70874F12EF935E007889AE /* PBXTextBookmark */;
-			FF70875012EF935E007889AE = FF70875012EF935E007889AE /* PBXTextBookmark */;
-			FF7087BC12EFA599007889AE = FF7087BC12EFA599007889AE /* PBXTextBookmark */;
-			FF7087D312EFA8FF007889AE = FF7087D312EFA8FF007889AE /* PBXTextBookmark */;
-			FF7087D412EFA8FF007889AE = FF7087D412EFA8FF007889AE /* PBXTextBookmark */;
-			FF70885212EFC1E7007889AE = FF70885212EFC1E7007889AE /* PBXTextBookmark */;
-			FF70888512EFC7AA007889AE = FF70888512EFC7AA007889AE /* PBXTextBookmark */;
-			FF70888812EFC7AA007889AE = FF70888812EFC7AA007889AE /* PBXTextBookmark */;
-			FF70888D12EFC7AA007889AE = FF70888D12EFC7AA007889AE /* PBXTextBookmark */;
-			FF7088B112F0CA15007889AE = FF7088B112F0CA15007889AE /* PBXTextBookmark */;
-			FF7088B212F0CA15007889AE = FF7088B212F0CA15007889AE /* PBXTextBookmark */;
-			FF7088B312F0CA15007889AE = FF7088B312F0CA15007889AE /* PBXTextBookmark */;
-			FF7088B412F0CA15007889AE = FF7088B412F0CA15007889AE /* PBXTextBookmark */;
-			FF7088B512F0CA15007889AE = FF7088B512F0CA15007889AE /* PBXTextBookmark */;
-			FF7088BF12F0CDAB007889AE = FF7088BF12F0CDAB007889AE /* PBXBookmark */;
-			FF7088C412F0CFC5007889AE = FF7088C412F0CFC5007889AE /* PBXTextBookmark */;
-			FF7088E112F0DBD8007889AE = FF7088E112F0DBD8007889AE /* PBXTextBookmark */;
-			FF7088E212F0DBD8007889AE = FF7088E212F0DBD8007889AE /* PBXTextBookmark */;
-			FF7088E312F0DBD8007889AE = FF7088E312F0DBD8007889AE /* PBXTextBookmark */;
-			FF7088E412F0DBD8007889AE = FF7088E412F0DBD8007889AE /* PBXTextBookmark */;
-			FF7F69CF12E8E57900D507F7 = FF7F69CF12E8E57900D507F7 /* PBXTextBookmark */;
-			FF7F6A4F12E8EAAF00D507F7 = FF7F6A4F12E8EAAF00D507F7 /* PBXTextBookmark */;
-			FF7F6A6912E8EAFE00D507F7 = FF7F6A6912E8EAFE00D507F7 /* PBXTextBookmark */;
+			FF5B231E12F3708D00945461 /* PBXTextBookmark */ = FF5B231E12F3708D00945461 /* PBXTextBookmark */;
+			FF5B239212F6927E00945461 /* PBXTextBookmark */ = FF5B239212F6927E00945461 /* PBXTextBookmark */;
+			FF70837912EE2867007889AE /* PBXTextBookmark */ = FF70837912EE2867007889AE /* PBXTextBookmark */;
+			FF70840612EE2B5A007889AE /* PBXTextBookmark */ = FF70840612EE2B5A007889AE /* PBXTextBookmark */;
+			FF70845512EE32ED007889AE /* PBXTextBookmark */ = FF70845512EE32ED007889AE /* PBXTextBookmark */;
+			FF70845712EE32ED007889AE /* PBXTextBookmark */ = FF70845712EE32ED007889AE /* PBXTextBookmark */;
+			FF70845812EE32ED007889AE /* PBXTextBookmark */ = FF70845812EE32ED007889AE /* PBXTextBookmark */;
+			FF70845A12EE32ED007889AE /* XDModelBookmark */ = FF70845A12EE32ED007889AE /* XDModelBookmark */;
+			FF7084AD12EE3C53007889AE /* PBXTextBookmark */ = FF7084AD12EE3C53007889AE /* PBXTextBookmark */;
+			FF70866612EF6E00007889AE /* PBXTextBookmark */ = FF70866612EF6E00007889AE /* PBXTextBookmark */;
+			FF7087BC12EFA599007889AE /* PBXTextBookmark */ = FF7087BC12EFA599007889AE /* PBXTextBookmark */;
+			FF7087D312EFA8FF007889AE /* PBXTextBookmark */ = FF7087D312EFA8FF007889AE /* PBXTextBookmark */;
+			FF7087D412EFA8FF007889AE /* PBXTextBookmark */ = FF7087D412EFA8FF007889AE /* PBXTextBookmark */;
+			FF7088B412F0CA15007889AE /* PBXTextBookmark */ = FF7088B412F0CA15007889AE /* PBXTextBookmark */;
+			FF7F6A4F12E8EAAF00D507F7 /* PBXTextBookmark */ = FF7F6A4F12E8EAAF00D507F7 /* PBXTextBookmark */;
+			FF80C0F412F759A700240CE1 /* PBXTextBookmark */ = FF80C0F412F759A700240CE1 /* PBXTextBookmark */;
+			FF80C0F512F759A700240CE1 /* PBXTextBookmark */ = FF80C0F512F759A700240CE1 /* PBXTextBookmark */;
+			FF80C0F712F759A700240CE1 /* PBXTextBookmark */ = FF80C0F712F759A700240CE1 /* PBXTextBookmark */;
+			FF80C0F812F759A700240CE1 /* PBXTextBookmark */ = FF80C0F812F759A700240CE1 /* PBXTextBookmark */;
+			FF80C0FA12F759A700240CE1 /* PBXTextBookmark */ = FF80C0FA12F759A700240CE1 /* PBXTextBookmark */;
+			FF80C0FC12F759A700240CE1 /* PBXTextBookmark */ = FF80C0FC12F759A700240CE1 /* PBXTextBookmark */;
+			FF80C10C12F779C100240CE1 /* PBXTextBookmark */ = FF80C10C12F779C100240CE1 /* PBXTextBookmark */;
+			FF80C10D12F779C100240CE1 /* PBXTextBookmark */ = FF80C10D12F779C100240CE1 /* PBXTextBookmark */;
+			FF80C10E12F779C100240CE1 /* PBXTextBookmark */ = FF80C10E12F779C100240CE1 /* PBXTextBookmark */;
+			FF80C10F12F779C100240CE1 /* PBXTextBookmark */ = FF80C10F12F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11012F779C100240CE1 /* PBXTextBookmark */ = FF80C11012F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11112F779C100240CE1 /* PBXTextBookmark */ = FF80C11112F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11212F779C100240CE1 /* PBXTextBookmark */ = FF80C11212F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11312F779C100240CE1 /* PBXTextBookmark */ = FF80C11312F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11412F779C100240CE1 /* PBXTextBookmark */ = FF80C11412F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11512F779C100240CE1 /* PBXTextBookmark */ = FF80C11512F779C100240CE1 /* PBXTextBookmark */;
+			FF80C11712F779C100240CE1 /* PBXTextBookmark */ = FF80C11712F779C100240CE1 /* PBXTextBookmark */;
+			FFC95C7412FA07D800F3ED1A /* PBXTextBookmark */ = FFC95C7412FA07D800F3ED1A /* PBXTextBookmark */;
+			FFD2A54A12FFEE6400D66779 /* PBXTextBookmark */ = FFD2A54A12FFEE6400D66779 /* PBXTextBookmark */;
+			FFD2A54B12FFEE6400D66779 /* PBXTextBookmark */ = FFD2A54B12FFEE6400D66779 /* PBXTextBookmark */;
 		};
 		sourceControlManager = FF86B0FC12E64D300091BCB9 /* Source Control */;
 		userBuildSettings = {
 	};
 	29B97316FDCFA39411CA2CEA /* main.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {942, 515}}";
+			sepNavIntBoundsRect = "{{0, 0}, {942, 513}}";
 			sepNavSelRange = "{249, 0}";
 			sepNavVisRange = "{0, 348}";
 		};
 	};
-	FF5B229212F258D900945461 /* kevent */ = {
-		isa = PBXSymbolicBreakpoint;
-		actions = (
-		);
-		breakpointStyle = 1;
-		continueAfterActions = 0;
-		countType = 0;
-		delayBeforeContinue = 0;
-		hitCount = 20;
-		ignoreCount = 0;
-		location = libSystem.B.dylib;
-		modificationTime = 317873123.564912;
-		originalNumberOfMultipleMatches = 1;
-		state = 2;
-		symbolName = kevent;
+	FF20B7061300B7220068D79B /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B22612E6DD050091BCB9 /* Photo.m */;
+		name = "Photo.m: 118";
+		rLen = 0;
+		rLoc = 4144;
+		rType = 0;
+		vrLen = 1479;
+		vrLoc = 3213;
+	};
+	FF20B7071300B7220068D79B /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B14312E6B0CE0091BCB9 /* CoreDataTableViewController.m */;
+		name = "CoreDataTableViewController.m: 25";
+		rLen = 0;
+		rLoc = 807;
+		rType = 0;
+		vrLen = 1999;
+		vrLoc = 952;
+	};
+	FF20B7E11300BEF40068D79B /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B14212E6B0CD0091BCB9 /* CoreDataTableViewController.h */;
+		name = "CoreDataTableViewController.h: 40";
+		rLen = 0;
+		rLoc = 1703;
+		rType = 0;
+		vrLen = 2193;
+		vrLoc = 0;
+	};
+	FF20B7E61300BF060068D79B /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B14312E6B0CE0091BCB9 /* CoreDataTableViewController.m */;
+		name = "CoreDataTableViewController.m: 200";
+		rLen = 0;
+		rLoc = 7178;
+		rType = 0;
+		vrLen = 1723;
+		vrLoc = 6450;
+	};
+	FF213AEE12F77EA700F0DC15 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10012E6505E0091BCB9 /* FlickrFetcher.m */;
+		name = "FlickrFetcher.m: 24";
+		rLen = 0;
+		rLoc = 907;
+		rType = 0;
+		vrLen = 1451;
+		vrLoc = 0;
 	};
 	FF5B229512F258DF00945461 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 	};
 	FF5B229612F258DF00945461 /* source.h */ = {
 		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
 		name = source.h;
 		path = /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include/dispatch/source.h;
 		sourceTree = "<absolute>";
 	};
 	FF5B229812F258DF00945461 /* base.h */ = {
 		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
 		name = base.h;
 		path = /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include/dispatch/base.h;
 		sourceTree = "<absolute>";
 	};
-	FF5B229912F258DF00945461 /* PBXTextBookmark */ = {
+	FF5B231E12F3708D00945461 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		fRef = FF86B14512E6B14B0091BCB9 /* PictureAtPlaceViewController.h */;
-		name = "PictureAtPlaceViewController.h: 18";
-		rLen = 26;
-		rLoc = 389;
+		fRef = FF86B22512E6DD050091BCB9 /* Photo.h */;
+		name = "Photo.h: 19";
+		rLen = 0;
+		rLoc = 313;
 		rType = 0;
-		vrLen = 710;
+		vrLen = 996;
 		vrLoc = 0;
 	};
-	FF5B229A12F258DF00945461 /* PBXTextBookmark */ = {
+	FF5B239212F6927E00945461 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 21";
+		fRef = FF5B239312F6927E00945461 /* event-test.c */;
+		name = "event-test.c: 57";
 		rLen = 0;
-		rLoc = 440;
+		rLoc = 1063;
 		rType = 0;
-		vrLen = 999;
-		vrLoc = 0;
+		vrLen = 729;
+		vrLoc = 445;
 	};
-	FF5B229B12F258DF00945461 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 21";
-		rLen = 0;
-		rLoc = 440;
-		rType = 0;
-		vrLen = 965;
-		vrLoc = 0;
-	};
-	FF5B22AD12F2591600945461 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 21";
-		rLen = 0;
-		rLoc = 440;
-		rType = 0;
-		vrLen = 965;
-		vrLoc = 0;
-	};
-	FF5B22AE12F2591F00945461 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 21";
-		rLen = 0;
-		rLoc = 440;
-		rType = 0;
-		vrLen = 965;
-		vrLoc = 0;
-	};
-	FF5B22AF12F2592C00945461 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 21";
-		rLen = 0;
-		rLoc = 440;
-		rType = 0;
-		vrLen = 965;
-		vrLoc = 0;
-	};
-	FF5B22B012F2593500945461 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 21";
-		rLen = 0;
-		rLoc = 440;
-		rType = 0;
-		vrLen = 965;
-		vrLoc = 0;
-	};
-	FF5B22BB12F25C1900945461 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 15";
-		rLen = 0;
-		rLoc = 316;
-		rType = 0;
-		vrLen = 984;
-		vrLoc = 0;
+	FF5B239312F6927E00945461 /* event-test.c */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.c;
+		name = "event-test.c";
+		path = "/Users/evanlong/Downloads/event-test.c";
+		sourceTree = "<absolute>";
 	};
 	FF70806B12EA8CB1007889AE /* ShowPictureViewController2.h */ = {
 		uiCtxt = {
 	};
 	FF70806C12EA8CB1007889AE /* ShowPictureViewController2.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {1258, 1414}}";
-			sepNavSelRange = "{1065, 0}";
-			sepNavVisRange = "{228, 1460}";
+			sepNavIntBoundsRect = "{{0, 0}, {1258, 1456}}";
+			sepNavSelRange = "{1359, 0}";
+			sepNavVisRange = "{1356, 1161}";
+			sepNavWindowFrame = "{{-1901, 20}, {852, 775}}";
 		};
 	};
-	FF70812012ED7293007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 1D3623240D0F684500981E51 /* FlickrFun2AppDelegate.h */;
-		name = "FlickrFun2AppDelegate.h: 1";
-		rLen = 0;
-		rLoc = 0;
-		rType = 0;
-		vrLen = 861;
-		vrLoc = 0;
-	};
 	FF70816D12EE0741007889AE /* LoadingViewController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 541}}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 558}}";
 			sepNavSelRange = "{408, 0}";
 			sepNavVisRange = "{0, 415}";
 		};
 		uiCtxt = {
 			sepNavIntBoundsRect = "{{0, 0}, {948, 602}}";
 			sepNavSelRange = "{479, 0}";
-			sepNavVisRange = "{3, 744}";
+			sepNavVisRange = "{0, 747}";
 			sepNavWindowFrame = "{{-924, -327}, {828, 855}}";
 		};
 	};
 		vrLen = 1572;
 		vrLoc = 912;
 	};
-	FF70842912EE3085007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14212E6B0CD0091BCB9 /* CoreDataTableViewController.h */;
-		name = "CoreDataTableViewController.h: 40";
-		rLen = 0;
-		rLoc = 1703;
-		rType = 0;
-		vrLen = 1684;
-		vrLoc = 37;
-	};
 	FF70845512EE32ED007889AE /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF86B22B12E6DD050091BCB9 /* Favorite.h */;
 		vrLen = 1184;
 		vrLoc = 748;
 	};
-	FF70845912EE32ED007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B22512E6DD050091BCB9 /* Photo.h */;
-		name = "Photo.h: 28";
-		rLen = 0;
-		rLoc = 771;
-		rType = 0;
-		vrLen = 918;
-		vrLoc = 0;
-	};
 	FF70845A12EE32ED007889AE /* XDModelBookmark */ = {
 		isa = XDModelBookmark;
 		fRef = 28C3AD890F43EF2300507BA6 /* FlickrFun2.xcdatamodel */;
 		vrLen = 360;
 		vrLoc = 0;
 	};
-	FF7084AF12EE3C53007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF7F6ABE12E907E300D507F7 /* FavPhotosTableViewController.m */;
-		name = "FavPhotosTableViewController.m: 21";
-		rLen = 0;
-		rLoc = 769;
-		rType = 0;
-		vrLen = 1501;
-		vrLoc = 223;
-	};
-	FF7085DA12EF5D05007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B28B12E7A9720091BCB9 /* FavoriteTableViewController.m */;
-		name = "FavoriteTableViewController.m: 39";
-		rLen = 0;
-		rLoc = 1677;
-		rType = 0;
-		vrLen = 1687;
-		vrLoc = 223;
-	};
-	FF7085DB12EF5D05007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 1D3623250D0F684500981E51 /* FlickrFun2AppDelegate.m */;
-		name = "FlickrFun2AppDelegate.m: 53";
-		rLen = 0;
-		rLoc = 2153;
-		rType = 0;
-		vrLen = 1816;
-		vrLoc = 387;
-	};
 	FF70866612EF6E00007889AE /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF7F6ABD12E907E300D507F7 /* FavPhotosTableViewController.h */;
 		vrLen = 405;
 		vrLoc = 0;
 	};
-	FF70867F12EF6FFC007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF70816D12EE0741007889AE /* LoadingViewController.h */;
-		name = "LoadingViewController.h: 18";
-		rLen = 0;
-		rLoc = 408;
-		rType = 0;
-		vrLen = 415;
-		vrLoc = 0;
-	};
-	FF70870312EF77B9007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14312E6B0CE0091BCB9 /* CoreDataTableViewController.m */;
-		name = "CoreDataTableViewController.m: 112";
-		rLen = 0;
-		rLoc = 3981;
-		rType = 0;
-		vrLen = 1099;
-		vrLoc = 9053;
-	};
-	FF70874F12EF935E007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B10012E6505E0091BCB9 /* FlickrFetcher.m */;
-		name = "FlickrFetcher.m: 29";
-		rLen = 0;
-		rLoc = 961;
-		rType = 0;
-		vrLen = 1646;
-		vrLoc = 105;
-	};
-	FF70875012EF935E007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B0FF12E6505E0091BCB9 /* FlickrFetcher.h */;
-		name = "FlickrFetcher.h: 1";
-		rLen = 0;
-		rLoc = 0;
-		rType = 0;
-		vrLen = 1674;
-		vrLoc = 26;
-	};
 	FF7087BC12EFA599007889AE /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF86B28612E7A9570091BCB9 /* RecentTableViewController.m */;
 		vrLen = 1089;
 		vrLoc = 16;
 	};
-	FF70885212EFC1E7007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B12C12E651FA0091BCB9 /* ShowPictureViewController.h */;
-		name = "ShowPictureViewController.h: 13";
-		rLen = 20;
-		rLoc = 236;
-		rType = 0;
-		vrLen = 779;
-		vrLoc = 0;
-	};
-	FF70888512EFC7AA007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF70816E12EE0741007889AE /* LoadingViewController.m */;
-		name = "LoadingViewController.m: 21";
-		rLen = 0;
-		rLoc = 479;
-		rType = 0;
-		vrLen = 744;
-		vrLoc = 3;
-	};
-	FF70888812EFC7AA007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14512E6B14B0091BCB9 /* PictureAtPlaceViewController.h */;
-		name = "PictureAtPlaceViewController.h: 18";
-		rLen = 26;
-		rLoc = 389;
-		rType = 0;
-		vrLen = 710;
-		vrLoc = 0;
-	};
-	FF70888D12EFC7AA007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B10012E6505E0091BCB9 /* FlickrFetcher.m */;
-		name = "FlickrFetcher.m: 30";
-		rLen = 0;
-		rLoc = 1029;
-		rType = 0;
-		vrLen = 2087;
-		vrLoc = 102;
-	};
-	FF7088B112F0CA15007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF70806C12EA8CB1007889AE /* ShowPictureViewController2.m */;
-		name = "ShowPictureViewController2.m: 36";
-		rLen = 0;
-		rLoc = 1065;
-		rType = 0;
-		vrLen = 1460;
-		vrLoc = 228;
-	};
-	FF7088B212F0CA15007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14712E6B14B0091BCB9 /* PlacesTableViewController.h */;
-		name = "PlacesTableViewController.h: 22";
-		rLen = 0;
-		rLoc = 441;
-		rType = 0;
-		vrLen = 441;
-		vrLoc = 0;
-	};
-	FF7088B312F0CA15007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B22612E6DD050091BCB9 /* Photo.m */;
-		name = "Photo.m: 64";
-		rLen = 0;
-		rLoc = 2258;
-		rType = 0;
-		vrLen = 1689;
-		vrLoc = 199;
-	};
 	FF7088B412F0CA15007889AE /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF86B14812E6B14B0091BCB9 /* PlacesTableViewController.m */;
 		vrLen = 1593;
 		vrLoc = 4995;
 	};
-	FF7088B512F0CA15007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 127";
-		rLen = 0;
-		rLoc = 3514;
-		rType = 0;
-		vrLen = 1718;
-		vrLoc = 2365;
-	};
-	FF7088BF12F0CDAB007889AE /* PBXBookmark */ = {
-		isa = PBXBookmark;
-		fRef = FF86B22512E6DD050091BCB9 /* Photo.h */;
-	};
-	FF7088C412F0CFC5007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B22612E6DD050091BCB9 /* Photo.m */;
-		name = "Photo.m: 90";
-		rLen = 0;
-		rLoc = 3254;
-		rType = 0;
-		vrLen = 1863;
-		vrLoc = 1420;
-	};
-	FF7088E112F0DBD8007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
-		name = "PictureAtPlaceViewController.m: 99";
-		rLen = 0;
-		rLoc = 2272;
-		rType = 0;
-		vrLen = 984;
-		vrLoc = 0;
-	};
-	FF7088E212F0DBD8007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B22612E6DD050091BCB9 /* Photo.m */;
-		name = "Photo.m: 90";
-		rLen = 0;
-		rLoc = 3278;
-		rType = 0;
-		vrLen = 2165;
-		vrLoc = 783;
-	};
-	FF7088E312F0DBD8007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B22512E6DD050091BCB9 /* Photo.h */;
-		name = "Photo.h: 32";
-		rLen = 0;
-		rLoc = 910;
-		rType = 0;
-		vrLen = 919;
-		vrLoc = 0;
-	};
-	FF7088E412F0DBD8007889AE /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B10012E6505E0091BCB9 /* FlickrFetcher.m */;
-		name = "FlickrFetcher.m: 73";
-		rLen = 0;
-		rLoc = 2916;
-		rType = 0;
-		vrLen = 2209;
-		vrLoc = 1448;
-	};
-	FF7F69CF12E8E57900D507F7 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FF86B0FE12E6505E0091BCB9 /* FlickrAPIKey.h */;
-		name = "FlickrAPIKey.h: 10";
-		rLen = 0;
-		rLoc = 215;
-		rType = 0;
-		vrLen = 217;
-		vrLoc = 0;
-	};
 	FF7F6A4F12E8EAAF00D507F7 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF86B22912E6DD050091BCB9 /* Recent.h */;
 		vrLen = 429;
 		vrLoc = 0;
 	};
-	FF7F6A6912E8EAFE00D507F7 /* PBXTextBookmark */ = {
+	FF7F6ABD12E907E300D507F7 /* FavPhotosTableViewController.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 518}}";
+			sepNavSelRange = "{231, 0}";
+			sepNavVisRange = "{0, 405}";
+		};
+	};
+	FF7F6ABE12E907E300D507F7 /* FavPhotosTableViewController.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 798}}";
+			sepNavSelRange = "{769, 0}";
+			sepNavVisRange = "{449, 1454}";
+		};
+	};
+	FF80C0F412F759A700240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10612E6505E0091BCB9 /* NSString+SBJSON.m */;
+		name = "NSString+SBJSON.m: 34";
+		rLen = 0;
+		rLoc = 1617;
+		rType = 0;
+		vrLen = 1860;
+		vrLoc = 0;
+	};
+	FF80C0F512F759A700240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10212E6505E0091BCB9 /* JSON.h */;
+		name = "JSON.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1992;
+		vrLoc = 0;
+	};
+	FF80C0F712F759A700240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B0FE12E6505E0091BCB9 /* FlickrAPIKey.h */;
+		name = "FlickrAPIKey.h: 10";
+		rLen = 0;
+		rLoc = 215;
+		rType = 0;
+		vrLen = 217;
+		vrLoc = 0;
+	};
+	FF80C0F812F759A700240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B0FF12E6505E0091BCB9 /* FlickrFetcher.h */;
+		name = "FlickrFetcher.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1718;
+		vrLoc = 23;
+	};
+	FF80C0FA12F759A700240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B14712E6B14B0091BCB9 /* PlacesTableViewController.h */;
+		name = "PlacesTableViewController.h: 22";
+		rLen = 0;
+		rLoc = 441;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	FF80C0FC12F759A700240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B14512E6B14B0091BCB9 /* PictureAtPlaceViewController.h */;
+		name = "PictureAtPlaceViewController.h: 18";
+		rLen = 26;
+		rLoc = 389;
+		rType = 0;
+		vrLen = 710;
+		vrLoc = 0;
+	};
+	FF80C10C12F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF70806C12EA8CB1007889AE /* ShowPictureViewController2.m */;
+		name = "ShowPictureViewController2.m: 60";
+		rLen = 0;
+		rLoc = 2029;
+		rType = 0;
+		vrLen = 1165;
+		vrLoc = 1354;
+	};
+	FF80C10D12F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10412E6505E0091BCB9 /* NSObject+SBJSON.m */;
+		name = "NSObject+SBJSON.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1492;
+		vrLoc = 714;
+	};
+	FF80C10E12F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10812E6505E0091BCB9 /* SBJSON.m */;
+		name = "SBJSON.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 666;
+		vrLoc = 6178;
+	};
+	FF80C10F12F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10E12E6505E0091BCB9 /* SBJsonWriter.m */;
+		name = "SBJsonWriter.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1334;
+		vrLoc = 4749;
+	};
+	FF80C11012F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B10C12E6505E0091BCB9 /* SBJsonParser.m */;
+		name = "SBJsonParser.m: 105";
+		rLen = 0;
+		rLoc = 3247;
+		rType = 0;
+		vrLen = 939;
+		vrLoc = 2309;
+	};
+	FF80C11112F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF70816D12EE0741007889AE /* LoadingViewController.h */;
+		name = "LoadingViewController.h: 18";
+		rLen = 0;
+		rLoc = 408;
+		rType = 0;
+		vrLen = 415;
+		vrLoc = 0;
+	};
+	FF80C11212F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF70816E12EE0741007889AE /* LoadingViewController.m */;
+		name = "LoadingViewController.m: 21";
+		rLen = 0;
+		rLoc = 479;
+		rType = 0;
+		vrLen = 747;
+		vrLoc = 0;
+	};
+	FF80C11312F779C100240CE1 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF86B28A12E7A9720091BCB9 /* FavoriteTableViewController.h */;
 		name = "FavoriteTableViewController.h: 10";
 		vrLen = 364;
 		vrLoc = 0;
 	};
-	FF7F6ABD12E907E300D507F7 /* FavPhotosTableViewController.h */ = {
-		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 518}}";
-			sepNavSelRange = "{231, 0}";
-			sepNavVisRange = "{0, 405}";
-		};
+	FF80C11412F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B28B12E7A9720091BCB9 /* FavoriteTableViewController.m */;
+		name = "FavoriteTableViewController.m: 39";
+		rLen = 0;
+		rLoc = 1677;
+		rType = 0;
+		vrLen = 1774;
+		vrLoc = 142;
 	};
-	FF7F6ABE12E907E300D507F7 /* FavPhotosTableViewController.m */ = {
-		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 784}}";
-			sepNavSelRange = "{769, 0}";
-			sepNavVisRange = "{223, 1501}";
-		};
+	FF80C11512F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623240D0F684500981E51 /* FlickrFun2AppDelegate.h */;
+		name = "FlickrFun2AppDelegate.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 861;
+		vrLoc = 0;
+	};
+	FF80C11712F779C100240CE1 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B12C12E651FA0091BCB9 /* ShowPictureViewController.h */;
+		name = "ShowPictureViewController.h: 15";
+		rLen = 0;
+		rLoc = 310;
+		rType = 0;
+		vrLen = 779;
+		vrLoc = 0;
 	};
 	FF86B0F012E64D110091BCB9 /* FlickrFun2 */ = {
 		isa = PBXExecutable;
 	};
 	FF86B0FE12E6505E0091BCB9 /* FlickrAPIKey.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 572}}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 558}}";
 			sepNavSelRange = "{215, 0}";
 			sepNavVisRange = "{0, 217}";
 		};
 		uiCtxt = {
 			sepNavIntBoundsRect = "{{0, 0}, {957, 630}}";
 			sepNavSelRange = "{0, 0}";
-			sepNavVisRange = "{26, 1674}";
+			sepNavVisRange = "{23, 1718}";
 		};
 	};
 	FF86B10012E6505E0091BCB9 /* FlickrFetcher.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {1258, 1904}}";
-			sepNavSelRange = "{782, 0}";
-			sepNavVisRange = "{132, 1316}";
+			sepNavIntBoundsRect = "{{0, 0}, {1258, 1876}}";
+			sepNavSelRange = "{907, 0}";
+			sepNavVisRange = "{0, 1451}";
 			sepNavWindowFrame = "{{111, 0}, {828, 778}}";
 		};
 	};
+	FF86B10212E6505E0091BCB9 /* JSON.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 658}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1992}";
+		};
+	};
+	FF86B10412E6505E0091BCB9 /* NSObject+SBJSON.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 756}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{714, 1492}";
+		};
+	};
+	FF86B10612E6505E0091BCB9 /* NSString+SBJSON.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 784}}";
+			sepNavSelRange = "{1617, 0}";
+			sepNavVisRange = "{0, 1860}";
+		};
+	};
+	FF86B10812E6505E0091BCB9 /* SBJSON.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 2982}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{6178, 666}";
+		};
+	};
+	FF86B10C12E6505E0091BCB9 /* SBJsonParser.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {948, 6678}}";
+			sepNavSelRange = "{3247, 0}";
+			sepNavVisRange = "{2309, 939}";
+		};
+	};
+	FF86B10E12E6505E0091BCB9 /* SBJsonWriter.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1034, 3234}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{4749, 1334}";
+		};
+	};
 	FF86B12C12E651FA0091BCB9 /* ShowPictureViewController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 566}}";
-			sepNavSelRange = "{236, 20}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 558}}";
+			sepNavSelRange = "{310, 0}";
 			sepNavVisRange = "{0, 779}";
 		};
 	};
 	};
 	FF86B14212E6B0CD0091BCB9 /* CoreDataTableViewController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 714}}";
+			sepNavIntBoundsRect = "{{0, 0}, {945, 714}}";
 			sepNavSelRange = "{1703, 0}";
-			sepNavVisRange = "{37, 1684}";
+			sepNavVisRange = "{0, 2193}";
 		};
 	};
 	FF86B14312E6B0CE0091BCB9 /* CoreDataTableViewController.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {1279, 4032}}";
-			sepNavSelRange = "{3981, 0}";
-			sepNavVisRange = "{9053, 1099}";
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 3920}}";
+			sepNavSelRange = "{7178, 0}";
+			sepNavVisRange = "{6450, 1723}";
 		};
 	};
 	FF86B14512E6B14B0091BCB9 /* PictureAtPlaceViewController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 541}}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 535}}";
 			sepNavSelRange = "{389, 26}";
 			sepNavVisRange = "{0, 710}";
 			sepNavWindowFrame = "{{-1901, -60}, {828, 855}}";
 	};
 	FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {1069, 3430}}";
-			sepNavSelRange = "{316, 0}";
-			sepNavVisRange = "{0, 984}";
+			sepNavIntBoundsRect = "{{0, 0}, {1069, 3164}}";
+			sepNavSelRange = "{142, 0}";
+			sepNavVisRange = "{3175, 2191}";
 			sepNavWindowFrame = "{{-1456, -252}, {786, 778}}";
 		};
 	};
 	FF86B14712E6B14B0091BCB9 /* PlacesTableViewController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 566}}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 558}}";
 			sepNavSelRange = "{441, 0}";
 			sepNavVisRange = "{0, 441}";
 		};
 	};
 	FF86B22512E6DD050091BCB9 /* Photo.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {793, 703}}";
-			sepNavSelRange = "{840, 0}";
-			sepNavVisRange = "{0, 919}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 560}}";
+			sepNavSelRange = "{313, 0}";
+			sepNavVisRange = "{0, 996}";
 			sepNavWindowFrame = "{{-1796, -87}, {852, 775}}";
 		};
 	};
 	FF86B22612E6DD050091BCB9 /* Photo.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {936, 1358}}";
-			sepNavSelRange = "{3278, 0}";
-			sepNavVisRange = "{784, 2164}";
+			sepNavIntBoundsRect = "{{0, 0}, {945, 2086}}";
+			sepNavSelRange = "{4144, 0}";
+			sepNavVisRange = "{3213, 1479}";
 			sepNavWindowFrame = "{{-882, -180}, {828, 778}}";
 		};
 	};
 	};
 	FF86B28A12E7A9720091BCB9 /* FavoriteTableViewController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {948, 572}}";
+			sepNavIntBoundsRect = "{{0, 0}, {948, 558}}";
 			sepNavSelRange = "{215, 0}";
 			sepNavVisRange = "{0, 364}";
 		};
 		uiCtxt = {
 			sepNavIntBoundsRect = "{{0, 0}, {1048, 700}}";
 			sepNavSelRange = "{1677, 0}";
-			sepNavVisRange = "{223, 1687}";
+			sepNavVisRange = "{142, 1774}";
 		};
 	};
+	FFC95C7412FA07D800F3ED1A /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF7F6ABE12E907E300D507F7 /* FavPhotosTableViewController.m */;
+		name = "FavPhotosTableViewController.m: 21";
+		rLen = 0;
+		rLoc = 769;
+		rType = 0;
+		vrLen = 1454;
+		vrLoc = 449;
+	};
+	FFD2A54A12FFEE6400D66779 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* FlickrFun2AppDelegate.m */;
+		name = "FlickrFun2AppDelegate.m: 57";
+		rLen = 0;
+		rLoc = 2345;
+		rType = 0;
+		vrLen = 2095;
+		vrLoc = 1033;
+	};
+	FFD2A54B12FFEE6400D66779 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FF86B14612E6B14B0091BCB9 /* PictureAtPlaceViewController.m */;
+		name = "PictureAtPlaceViewController.m: 8";
+		rLen = 0;
+		rLoc = 142;
+		rType = 0;
+		vrLen = 2191;
+		vrLoc = 3175;
+	};
 }

File GraphingCalculator/GraphingCalculator.xcodeproj/evanlong.mode1v3

 							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
 							<array>
 								<array>
-									<integer>13</integer>
+									<integer>12</integer>
 									<integer>1</integer>
 									<integer>0</integer>
 								</array>
 								<key>PBXProjectModuleGUID</key>
 								<string>1CE0B20306471E060097A5F4</string>
 								<key>PBXProjectModuleLabel</key>
-								<string>GraphView.m</string>
+								<string>GraphView.h</string>
 								<key>PBXSplitModuleInNavigatorKey</key>
 								<dict>
 									<key>Split0</key>
 										<key>PBXProjectModuleGUID</key>
 										<string>1CE0B20406471E060097A5F4</string>
 										<key>PBXProjectModuleLabel</key>
-										<string>GraphView.m</string>
+										<string>GraphView.h</string>
 										<key>_historyCapacity</key>
 										<integer>0</integer>
 										<key>bookmark</key>
-										<string>FF7F698A12E8D13A00D507F7</string>
+										<string>FFDC4829130A4AFA006F5B14</string>
 										<key>history</key>
 										<array>
 											<string>FFB9160D12DBC6A10086E227</string>
 											<string>FFB919E112DEF4190086E227</string>
 											<string>FFB919E812DEF90A0086E227</string>
 											<string>FFB91A0412DEFD1F0086E227</string>
-											<string>FFB91A0912DEFD1F0086E227</string>
-											<string>FFB91A6812DF97830086E227</string>
 											<string>FFB91ABC12DFB5FB0086E227</string>
 											<string>FFB91B1A12DFD2730086E227</string>
 											<string>FFB91B1B12DFD2730086E227</string>
 											<string>FFB91B2212DFD6D90086E227</string>
 											<string>FF7F698712E8D13A00D507F7</string>
-											<string>FF7F698812E8D13A00D507F7</string>
-											<string>FF7F698912E8D13A00D507F7</string>
+											<string>FFDC4825130A4AFA006F5B14</string>
+											<string>FFDC4826130A4AFA006F5B14</string>
+											<string>FFDC4827130A4AFA006F5B14</string>
+											<string>FFDC4828130A4AFA006F5B14</string>
 										</array>
 									</dict>
 									<key>SplitCount</key>
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 0}, {989, 612}}</string>
+								<string>{{0, 0}, {989, 608}}</string>
 								<key>RubberWindowFrame</key>
 								<string>4 55 1276 723 0 0 1280 778 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXNavigatorGroup</string>
 							<key>Proportion</key>
-							<string>612pt</string>
+							<string>608pt</string>
 						</dict>
 						<dict>
 							<key>ContentConfiguration</key>
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 617}, {989, 65}}</string>
+								<string>{{0, 613}, {989, 69}}</string>
 								<key>RubberWindowFrame</key>
 								<string>4 55 1276 723 0 0 1280 778 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
 							<key>Proportion</key>
-							<string>65pt</string>
+							<string>69pt</string>
 						</dict>
 					</array>
 					<key>Proportion</key>
 			</array>
 			<key>TableOfContents</key>
 			<array>
-				<string>FF7F698B12E8D13A00D507F7</string>
+				<string>FFDC482A130A4AFA006F5B14</string>
 				<string>1CE0B1FE06471DED0097A5F4</string>
-				<string>FF7F698C12E8D13A00D507F7</string>
+				<string>FFDC482B130A4AFA006F5B14</string>
 				<string>1CE0B20306471E060097A5F4</string>
 				<string>1CE0B20506471E060097A5F4</string>
 			</array>
 	<integer>5</integer>
 	<key>WindowOrderList</key>
 	<array>
+		<string>1CD10A99069EF8BA00B06720</string>
 		<string>FF37C94412DBC19A00C653E0</string>
 		<string>/Users/evanlong/development/bitbucket/iphone-learning/GraphingCalculator/GraphingCalculator.xcodeproj</string>
 	</array>
 			<key>TableOfContents</key>
 			<array>
 				<string>FF37C94412DBC19A00C653E0</string>
-				<string>FF7F698D12E8D13A00D507F7</string>
+				<string>FFDC482C130A4AFA006F5B14</string>
 				<string>1CD0528F0623707200166675</string>
 				<string>XCMainBuildResultsModuleGUID</string>
 			</array>
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {488, 333}}</string>
-											<string>{{488, 0}, {584, 333}}</string>
+											<string>{{0, 0}, {489, 337}}</string>
+											<string>{{489, 0}, {583, 337}}</string>
 										</array>
 									</dict>
 									<key>VerticalSplitView</key>
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {1072, 333}}</string>
-											<string>{{0, 333}, {1072, 308}}</string>
+											<string>{{0, 0}, {1072, 337}}</string>
+											<string>{{0, 337}, {1072, 304}}</string>
 										</array>
 									</dict>
 								</dict>
 										<string>Value</string>
 										<real>85</real>
 										<string>Summary</string>
-										<real>354</real>
+										<real>353</real>
 									</array>
 									<key>Frame</key>
-									<string>{{488, 0}, {584, 333}}</string>
+									<string>{{489, 0}, {583, 337}}</string>
 									<key>RubberWindowFrame</key>
 									<string>186 64 1072 682 0 0 1280 778 </string>
 								</dict>
 			<key>TableOfContents</key>
 			<array>
 				<string>1CD10A99069EF8BA00B06720</string>
-				<string>FFB917BB12DD17270086E227</string>
+				<string>FFDC482D130A4AFA006F5B14</string>
 				<string>1C162984064C10D400B95A72</string>
-				<string>FFB917BC12DD17270086E227</string>
-				<string>FFB917BD12DD17270086E227</string>
-				<string>FFB917BE12DD17270086E227</string>
-				<string>FFB917BF12DD17270086E227</string>
-				<string>FFB917C012DD17270086E227</string>
+				<string>FFDC482E130A4AFA006F5B14</string>
+				<string>FFDC482F130A4AFA006F5B14</string>
+				<string>FFDC4830130A4AFA006F5B14</string>
+				<string>FFDC4831130A4AFA006F5B14</string>
+				<string>FFDC4832130A4AFA006F5B14</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.debugV3</string>

File GraphingCalculator/GraphingCalculator.xcodeproj/evanlong.pbxuser

 					PBXFileDataSource_Warnings_ColumnID,
 				);
 			};
-			PBXPerProjectTemplateStateSaveDate = 317203279;
-			PBXWorkspaceStateSaveDate = 317203279;
+			PBXPerProjectTemplateStateSaveDate = 319357131;
+			PBXWorkspaceStateSaveDate = 319357131;
 		};
 		perUserProjectItems = {
 			FF7F698712E8D13A00D507F7 /* PBXTextBookmark */ = FF7F698712E8D13A00D507F7 /* PBXTextBookmark */;
-			FF7F698812E8D13A00D507F7 /* PBXTextBookmark */ = FF7F698812E8D13A00D507F7 /* PBXTextBookmark */;
-			FF7F698912E8D13A00D507F7 /* PBXTextBookmark */ = FF7F698912E8D13A00D507F7 /* PBXTextBookmark */;
-			FF7F698A12E8D13A00D507F7 /* PBXTextBookmark */ = FF7F698A12E8D13A00D507F7 /* PBXTextBookmark */;
 			FFB9160D12DBC6A10086E227 /* PlistBookmark */ = FFB9160D12DBC6A10086E227 /* PlistBookmark */;
 			FFB9160E12DBC6A10086E227 /* PBXTextBookmark */ = FFB9160E12DBC6A10086E227 /* PBXTextBookmark */;
 			FFB9162012DBC70B0086E227 /* PBXTextBookmark */ = FFB9162012DBC70B0086E227 /* PBXTextBookmark */;
 			FFB919E112DEF4190086E227 /* PBXTextBookmark */ = FFB919E112DEF4190086E227 /* PBXTextBookmark */;
 			FFB919E812DEF90A0086E227 /* PBXTextBookmark */ = FFB919E812DEF90A0086E227 /* PBXTextBookmark */;
 			FFB91A0412DEFD1F0086E227 /* PBXTextBookmark */ = FFB91A0412DEFD1F0086E227 /* PBXTextBookmark */;
-			FFB91A0912DEFD1F0086E227 /* PBXTextBookmark */ = FFB91A0912DEFD1F0086E227 /* PBXTextBookmark */;
-			FFB91A6812DF97830086E227 /* PBXTextBookmark */ = FFB91A6812DF97830086E227 /* PBXTextBookmark */;
 			FFB91ABC12DFB5FB0086E227 /* PBXTextBookmark */ = FFB91ABC12DFB5FB0086E227 /* PBXTextBookmark */;
 			FFB91B1A12DFD2730086E227 /* PBXTextBookmark */ = FFB91B1A12DFD2730086E227 /* PBXTextBookmark */;
 			FFB91B1B12DFD2730086E227 /* PBXTextBookmark */ = FFB91B1B12DFD2730086E227 /* PBXTextBookmark */;
 			FFB91B2212DFD6D90086E227 /* PBXTextBookmark */ = FFB91B2212DFD6D90086E227 /* PBXTextBookmark */;
+			FFDC4825130A4AFA006F5B14 /* PBXTextBookmark */ = FFDC4825130A4AFA006F5B14 /* PBXTextBookmark */;
+			FFDC4826130A4AFA006F5B14 /* PBXTextBookmark */ = FFDC4826130A4AFA006F5B14 /* PBXTextBookmark */;
+			FFDC4827130A4AFA006F5B14 /* PBXTextBookmark */ = FFDC4827130A4AFA006F5B14 /* PBXTextBookmark */;
+			FFDC4828130A4AFA006F5B14 /* PBXTextBookmark */ = FFDC4828130A4AFA006F5B14 /* PBXTextBookmark */;
+			FFDC4829130A4AFA006F5B14 /* PBXTextBookmark */ = FFDC4829130A4AFA006F5B14 /* PBXTextBookmark */;
 		};
 		sourceControlManager = FF37C94612DBC19A00C653E0 /* Source Control */;
 		userBuildSettings = {
 		vrLen = 1599;
 		vrLoc = 1492;
 	};
-	FF7F698812E8D13A00D507F7 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FFB9165F12DBD08C0086E227 /* GraphView.h */;
-		name = "GraphView.h: 28";
-		rLen = 0;
-		rLoc = 515;
-		rType = 0;
-		vrLen = 538;
-		vrLoc = 0;
-	};
-	FF7F698912E8D13A00D507F7 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FFB9166012DBD08C0086E227 /* GraphView.m */;
-		name = "GraphView.m: 121";
-		rLen = 0;
-		rLoc = 2673;
-		rType = 0;
-		vrLen = 1215;
-		vrLoc = 2275;
-	};
-	FF7F698A12E8D13A00D507F7 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FFB9166012DBD08C0086E227 /* GraphView.m */;
-		name = "GraphView.m: 137";
-		rLen = 0;
-		rLoc = 3055;
-		rType = 0;
-		vrLen = 1215;
-		vrLoc = 2275;
-	};
 	FFB9160712DBC6870086E227 /* GraphViewController.h */ = {
 		uiCtxt = {
 			sepNavIntBoundsRect = "{{0, 0}, {931, 557}}";
 	};
 	FFB9165F12DBD08C0086E227 /* GraphView.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {928, 580}}";
-			sepNavSelRange = "{515, 0}";
+			sepNavIntBoundsRect = "{{0, 0}, {928, 576}}";
+			sepNavSelRange = "{301, 0}";
 			sepNavVisRange = "{0, 538}";
 		};
 	};
 	FFB9166012DBD08C0086E227 /* GraphView.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {928, 2156}}";
-			sepNavSelRange = "{3055, 0}";
-			sepNavVisRange = "{2275, 1215}";
+			sepNavIntBoundsRect = "{{0, 0}, {928, 2198}}";
+			sepNavSelRange = "{2246, 0}";
+			sepNavVisRange = "{499, 818}";
 			sepNavWindowFrame = "{{-1855, -25}, {786, 778}}";
 		};
 	};
 	};
 	FFB9168E12DBD4A40086E227 /* AxesDrawer.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {931, 557}}";
+			sepNavIntBoundsRect = "{{0, 0}, {928, 576}}";
 			sepNavSelRange = "{0, 0}";
 			sepNavVisRange = "{0, 943}";
 			sepNavWindowFrame = "{{446, 0}, {786, 778}}";
 	};
 	FFB9168F12DBD4A40086E227 /* AxesDrawer.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {1011, 2296}}";
-			sepNavSelRange = "{4000, 0}";
-			sepNavVisRange = "{3703, 1060}";
+			sepNavIntBoundsRect = "{{0, 0}, {928, 2436}}";
+			sepNavSelRange = "{156, 0}";
+			sepNavVisRange = "{104, 1276}";
 			sepNavWindowFrame = "{{-857, -48}, {786, 778}}";
 		};
 	};
 		vrLen = 1196;
 		vrLoc = 2701;
 	};
-	FFB91A0912DEFD1F0086E227 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FFB9168E12DBD4A40086E227 /* AxesDrawer.h */;
-		name = "AxesDrawer.h: 1";
-		rLen = 0;
-		rLoc = 0;
-		rType = 0;
-		vrLen = 943;
-		vrLoc = 0;
-	};
-	FFB91A6812DF97830086E227 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = FFB9168F12DBD4A40086E227 /* AxesDrawer.m */;
-		name = "AxesDrawer.m: 11";
-		rLen = 0;
-		rLoc = 156;
-		rType = 0;
-		vrLen = 1951;
-		vrLoc = 2591;
-	};
 	FFB91ABC12DFB5FB0086E227 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = FF37C94B12DBC1DF00C653E0 /* CalculatorViewController.m */;
 		vrLen = 1288;
 		vrLoc = 152;
 	};
+	FFDC4825130A4AFA006F5B14 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = FFB9168E12DBD4A40086E227 /* AxesDrawer.h */;
+		name = "AxesDrawer.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 943;
+		vrLoc = 0;