]> Dogcows Code - chaz/thecheat/commitdiff
The Cheat 1.2.4 v1.2.4
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 6 Aug 2009 18:00:00 +0000 (12:00 -0600)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 6 Aug 2009 18:00:00 +0000 (12:00 -0600)
Features:
- Universal binary.
Bug Fixes:
- Byte order issues on intel Macs for native processes and for processes
  running via rosetta.
Known bugs:
- Searching for doubles and 64 bit integers might be unreliable.

Contributed by nil.

22 files changed:
A few notes.txt
AppController.m
CheatData.m
CheatDocument.m
DocInterfaceActions.m
English.lproj/MainMenu.nib/classes.nib
English.lproj/MainMenu.nib/info.nib
English.lproj/MainMenu.nib/keyedobjects.nib
Info.plist
LocalCheater.m
Process.h
Process.m
SearchData.h
SearchData.m
Searching.m
The Cheat.xcode/chaz.mode1 [deleted file]
The Cheat.xcode/chaz.pbxuser [deleted file]
The Cheat.xcode/project.pbxproj [deleted file]
The Cheat.xcodeproj/project.pbxproj [new file with mode: 0644]
Variable.h
Variable.m
main.m

index 830c07a42ea1790c32145a164b8b2809e5ce0ef0..056d686da17dd77a34b8d06adc72463b08161c28 100644 (file)
@@ -1,7 +1,9 @@
 The authorization code is taken from iHaxGamez source.
 
-Memory reading and writing will not work as you would expect if you compile and run The Cheat natively on an intel machine. This is because there are byte ordering (endian) issues that need to be fixed that I haven't been able to (or too lazy to figure out how to get it to work correctly).
-
 The Xcode project provided is not guaranteed to work for Xcode versions below 3.1
 
+Build in Development mode if you want to test stuff... GBD may not attach correctly otherwise
+
+Searching for doubles and 64 bit integers is unreliable in my experience. I don't know how to fix it, so that's why I didn't fix it (also because the game I care about, Halo, doesn't really use those data types for anything).
+
 -nil
\ No newline at end of file
index 1adfbaf6c222055befad09cfea81c8bc358dd6fd..ea23602e4a7eb18be1370e27f4c61851d59f12eb 100644 (file)
        [super dealloc];
 }
 
-// http://vgable.com/blog/2008/10/05/restarting-your-cocoa-application/
-- (void)restartOurselves
-{
-       NSString *killArg1AndOpenArg2Script = @"kill -9 $1 \n open \"$2\"";
-       NSString *ourPID = [NSString stringWithFormat:@"%d", [[NSProcessInfo processInfo] processIdentifier]];
-       NSString *pathToUs = [[NSBundle mainBundle] bundlePath];
-       
-       NSArray *shArgs = [NSArray arrayWithObjects:@"-c", killArg1AndOpenArg2Script, @"", ourPID, pathToUs, nil];
-       NSTask *restartTask = [NSTask launchedTaskWithLaunchPath:@"/bin/sh" arguments:shArgs];
-       [restartTask waitUntilExit];
-       NSLog(@"*** ERROR: %@ should have been terminated, but we are still running", pathToUs);
-       assert(!"We should not be running!");
-}
-
-- (BOOL) checkExecutablePermissions {
-       NSDictionary    *applicationAttributes = [[NSFileManager defaultManager] fileAttributesAtPath:[[NSBundle mainBundle] executablePath] traverseLink: YES];
-       
-       // We expect 2755 as octal (1517 as decimal, -rwxr-sr-x as extended notation)
-       return ([applicationAttributes filePosixPermissions] == 1517 && [[applicationAttributes fileGroupOwnerAccountName] isEqualToString: @"procmod"]);
-}
-
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 #pragma mark NSApplication Delegate
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
index b02d9997c6120b04b6c904daa81beb8b4578e6d4..18351edf8d48cb148ce953c8404b39b12a2b0fd8 100644 (file)
@@ -69,7 +69,7 @@
                [self setWindowTitle:[coder decodeObject]];
                [self setCheatInfo:[coder decodeObject]];
                [self setProcess:[coder decodeObject]];
-               myVariables = [[coder decodeObject] retain];
+               myVariables = [[coder decodeObject] retain];    
                [coder decodeValueOfObjCType:@encode(BOOL) at:&myRepeats];
                [coder decodeValueOfObjCType:@encode(NSTimeInterval) at:&myRepeatInterval];
        }
index 1810c770125d01f00f4bc581bc215452707da123..5589fc8f2ebcf5ff6e9b22433150487ed15d57bf 100644 (file)
@@ -78,6 +78,7 @@ Process static *_tc_target = nil;
                
                _cheatData = [[CheatData alloc] init];
                _searchData = [[SearchData alloc] init];
+               [_searchData setProcess:_process];
                
                // show search mode when documents are first created
                _connectsOnOpen = YES;
@@ -191,7 +192,7 @@ Process static *_tc_target = nil;
 // #############################################################################
 
 - (NSData *)dataRepresentationOfType:(NSString *)type
-{
+{      
     return [NSArchiver archivedDataWithRootObject:_cheatData];
 }
 
index 2b4c8482b987a9dafe1fec06210ff80243857c25..c136f2cd6ff1d285c87b41db5aa3e9ac92316dc2 100644 (file)
                return;
        }
        
+       [_cheatData process];
        if ( [_searchData hasSearchedOnce] ) {
                NSBeginInformationalAlertSheet( @"Confirm target change.", @"OK", @"Cancel", nil, ibWindow, self, NULL,
                                                                                @selector(_confirmTargetChange:returnCode:context:), [[sender representedObject] retain],
        // do the search
        if ( [_searchData valueUsed] == TCGivenValue ) {
                variable = [[Variable alloc] initWithType:[_searchData variableType] integerSign:[_searchData integerSign]];
+               [variable setProcess:_process];
                [variable setStringValue:[ibSearchValueField stringValue]];
                if ( [variable isValueValid] && [variable valueSize] > 0 ) {
                        _status = TCSearchingStatus;
                        [ibStatusBar setIndeterminate:NO];
                        
                        [_searchData setSearchValue:variable];
+                       [_cheater searchForVariable:variable comparison:[_searchData searchOperator]];
+                       //[_cheater searchForVariable:[_searchData searchValue] comparison:[_searchData searchOperator]];
                        [variable release];
-                       [_cheater searchForVariable:[_searchData searchValue] comparison:[_searchData searchOperator]];
                }
                else {
                        NSBeginAlertSheet( @"Invalid Input", @"OK", nil, nil, ibWindow, nil, NULL, NULL, NULL,
 - (IBAction)ibAddCheatVariable:(id)sender
 {
        ChazLog( @"ibAddCheatVariable:" );
-
        Variable *var = [[Variable alloc] initWithType:[sender tag]];
        // add the new variable to the doc data
        [_cheatData addVariable:var];
index 73b790f1bcab61569ab90821e76e640dce881673..6fcccc7f8e90f458f5fb6acb9c28f2c49969aa9a 100644 (file)
-{
-    IBClasses = (
-        {
-            ACTIONS = {
-                checkForUpdate = id; 
-                launchEmailMenu = id; 
-                launchHelpFile = id; 
-                launchWebsiteMenu = id; 
-                newBlankCheatWindow = id; 
-                newSearchWindow = id; 
-                showAboutBoxWindow = id; 
-                showPreferenceWindow = id; 
-            }; 
-            CLASS = AppController; 
-            LANGUAGE = ObjC; 
-            SUPERCLASS = NSApplication; 
-        }, 
-        {
-            ACTIONS = {
-                ibAddCheatVariable = id; 
-                ibCancelSearch = id; 
-                ibClearSearch = id; 
-                ibDumpMemory = id; 
-                ibPauseTarget = id; 
-                ibRedo = id; 
-                ibRunEditVariablesSheet = id; 
-                ibRunPropertiesSheet = id; 
-                ibToggleSearchCheat = id; 
-                ibUndo = id; 
-            }; 
-            CLASS = FirstResponder; 
-            LANGUAGE = ObjC; 
-            SUPERCLASS = NSObject; 
-        }, 
-        {
-            ACTIONS = {
-                changeButton = id; 
-                disconnectButton = id; 
-                pauseButton = id; 
-                processMenuItem = id; 
-                searchButton = id; 
-                searchUnknownButton = id; 
-                serverMenuItem = id; 
-                serverMenuLocal = id; 
-                sizeMenu16bit = id; 
-                sizeMenu32bit = id; 
-                sizeMenu64bit = id; 
-                sizeMenu8bit = id; 
-                startButton = id; 
-                typeMenuFloat = id; 
-                typeMenuInteger = id; 
-                typeMenuString = id; 
-                typeMenuUnknown = id; 
-            }; 
-            CLASS = MyDocument; 
-            LANGUAGE = ObjC; 
-            OUTLETS = {
-                addressTable = id; 
-                changeButton = id; 
-                changeTextField = id; 
-                cheatWindow = id; 
-                processMenu = id; 
-                processPopup = id; 
-                searchButton = id; 
-                searchPopup = id; 
-                searchTextField = id; 
-                searchUnknownButton = id; 
-                serverMenu = id; 
-                serverPopup = id; 
-                sizeMenu = id; 
-                sizePopup = id; 
-                startButton = id; 
-                statusBar = id; 
-                statusText = id; 
-                typeMenu = id; 
-                typePopup = id; 
-                typeTabs = id; 
-                variableValueText = id; 
-            }; 
-            SUPERCLASS = NSDocument; 
-        }
-    ); 
-    IBVersion = 1; 
-}
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>IBClasses</key>
+       <array>
+               <dict>
+                       <key>ACTIONS</key>
+                       <dict>
+                               <key>ibAddCheatVariable</key>
+                               <string>id</string>
+                               <key>ibAddSearchVariable</key>
+                               <string>id</string>
+                               <key>ibCancelDump</key>
+                               <string>id</string>
+                               <key>ibCancelSearch</key>
+                               <string>id</string>
+                               <key>ibCheat</key>
+                               <string>id</string>
+                               <key>ibClearSearch</key>
+                               <string>id</string>
+                               <key>ibDumpMemory</key>
+                               <string>id</string>
+                               <key>ibEndCustomServerSheet</key>
+                               <string>id</string>
+                               <key>ibEndEditVariablesSheet</key>
+                               <string>id</string>
+                               <key>ibEndPasswordSheet</key>
+                               <string>id</string>
+                               <key>ibEndPropertiesSheet</key>
+                               <string>id</string>
+                               <key>ibPauseTarget</key>
+                               <string>id</string>
+                               <key>ibRedo</key>
+                               <string>id</string>
+                               <key>ibResumeTarget</key>
+                               <string>id</string>
+                               <key>ibRunCustomServerSheet</key>
+                               <string>id</string>
+                               <key>ibRunEditVariablesSheet</key>
+                               <string>id</string>
+                               <key>ibRunPasswordSheet</key>
+                               <string>id</string>
+                               <key>ibRunPropertiesSheet</key>
+                               <string>id</string>
+                               <key>ibSearch</key>
+                               <string>id</string>
+                               <key>ibSetCheatRepeats</key>
+                               <string>id</string>
+                               <key>ibSetCustomCheater</key>
+                               <string>id</string>
+                               <key>ibSetIntegerSign</key>
+                               <string>id</string>
+                               <key>ibSetLocalCheater</key>
+                               <string>id</string>
+                               <key>ibSetNoCheater</key>
+                               <string>id</string>
+                               <key>ibSetOperator</key>
+                               <string>id</string>
+                               <key>ibSetProcess</key>
+                               <string>id</string>
+                               <key>ibSetRemoteCheater</key>
+                               <string>id</string>
+                               <key>ibSetRepeatInterval</key>
+                               <string>id</string>
+                               <key>ibSetValueUsed</key>
+                               <string>id</string>
+                               <key>ibSetVariableEnabled</key>
+                               <string>id</string>
+                               <key>ibSetVariableType</key>
+                               <string>id</string>
+                               <key>ibStopCheat</key>
+                               <string>id</string>
+                               <key>ibToggleSearchCheat</key>
+                               <string>id</string>
+                               <key>ibUndo</key>
+                               <string>id</string>
+                       </dict>
+                       <key>CLASS</key>
+                       <string>CheatDocument</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>OUTLETS</key>
+                       <dict>
+                               <key>ibCheatButton</key>
+                               <string>NSButton</string>
+                               <key>ibCheatContentView</key>
+                               <string>NSView</string>
+                               <key>ibCheatInfoField</key>
+                               <string>NSTextField</string>
+                               <key>ibCheatInfoText</key>
+                               <string>NSTextField</string>
+                               <key>ibCheatRepeatAuxText</key>
+                               <string>NSTextField</string>
+                               <key>ibCheatRepeatButton</key>
+                               <string>NSButton</string>
+                               <key>ibCheatRepeatField</key>
+                               <string>NSTextField</string>
+                               <key>ibCheatVariableTable</key>
+                               <string>BetterTableView</string>
+                               <key>ibCustomServerSheet</key>
+                               <string>NSWindow</string>
+                               <key>ibEditVariablesSheet</key>
+                               <string>NSWindow</string>
+                               <key>ibNewValueField</key>
+                               <string>NSTextField</string>
+                               <key>ibPasswordField</key>
+                               <string>NSTextField</string>
+                               <key>ibPasswordSheet</key>
+                               <string>NSWindow</string>
+                               <key>ibPlaceView</key>
+                               <string>NSView</string>
+                               <key>ibPortField</key>
+                               <string>NSTextField</string>
+                               <key>ibProcessPopup</key>
+                               <string>NSPopUpButton</string>
+                               <key>ibPropertiesSheet</key>
+                               <string>NSWindow</string>
+                               <key>ibSearchButton</key>
+                               <string>NSButton</string>
+                               <key>ibSearchClearButton</key>
+                               <string>NSButton</string>
+                               <key>ibSearchContentView</key>
+                               <string>NSView</string>
+                               <key>ibSearchIntegerSignMatrix</key>
+                               <string>NSMatrix</string>
+                               <key>ibSearchOperatorPopup</key>
+                               <string>NSPopUpButton</string>
+                               <key>ibSearchTypePopup</key>
+                               <string>NSPopUpButton</string>
+                               <key>ibSearchValueField</key>
+                               <string>NSTextField</string>
+                               <key>ibSearchValueUsedMatrix</key>
+                               <string>NSMatrix</string>
+                               <key>ibSearchVariableButton</key>
+                               <string>NSButton</string>
+                               <key>ibSearchVariableTable</key>
+                               <string>VariableTable</string>
+                               <key>ibServerField</key>
+                               <string>NSTextField</string>
+                               <key>ibServerPopup</key>
+                               <string>NSPopUpButton</string>
+                               <key>ibStatusBar</key>
+                               <string>NSProgressIndicator</string>
+                               <key>ibStatusText</key>
+                               <string>StatusTextField</string>
+                               <key>ibWindow</key>
+                               <string>NSWindow</string>
+                               <key>ibWindowTitleField</key>
+                               <string>NSTextField</string>
+                       </dict>
+                       <key>SUPERCLASS</key>
+                       <string>NSDocument</string>
+               </dict>
+               <dict>
+                       <key>CLASS</key>
+                       <string>BetterTableView</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSTableView</string>
+               </dict>
+               <dict>
+                       <key>CLASS</key>
+                       <string>NSMenu</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSObject</string>
+               </dict>
+               <dict>
+                       <key>CLASS</key>
+                       <string>StatusTextField</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSTextField</string>
+               </dict>
+               <dict>
+                       <key>ACTIONS</key>
+                       <dict>
+                               <key>ibAddCheatVariable</key>
+                               <string>id</string>
+                               <key>ibCancelSearch</key>
+                               <string>id</string>
+                               <key>ibClearSearch</key>
+                               <string>id</string>
+                               <key>ibDumpMemory</key>
+                               <string>id</string>
+                               <key>ibPauseTarget</key>
+                               <string>id</string>
+                               <key>ibRedo</key>
+                               <string>id</string>
+                               <key>ibRunEditVariablesSheet</key>
+                               <string>id</string>
+                               <key>ibRunPropertiesSheet</key>
+                               <string>id</string>
+                               <key>ibToggleSearchCheat</key>
+                               <string>id</string>
+                               <key>ibUndo</key>
+                               <string>id</string>
+                       </dict>
+                       <key>CLASS</key>
+                       <string>FirstResponder</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSObject</string>
+               </dict>
+               <dict>
+                       <key>CLASS</key>
+                       <string>NSObject</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+               </dict>
+               <dict>
+                       <key>CLASS</key>
+                       <string>VariableTable</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>BetterTableView</string>
+               </dict>
+               <dict>
+                       <key>ACTIONS</key>
+                       <dict>
+                               <key>checkForUpdate</key>
+                               <string>id</string>
+                               <key>launchEmailMenu</key>
+                               <string>id</string>
+                               <key>launchHelpFile</key>
+                               <string>id</string>
+                               <key>launchWebsiteMenu</key>
+                               <string>id</string>
+                               <key>newBlankCheatWindow</key>
+                               <string>id</string>
+                               <key>newSearchWindow</key>
+                               <string>id</string>
+                               <key>showAboutBoxWindow</key>
+                               <string>id</string>
+                               <key>showPreferenceWindow</key>
+                               <string>id</string>
+                       </dict>
+                       <key>CLASS</key>
+                       <string>AppController</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSApplication</string>
+               </dict>
+       </array>
+       <key>IBVersion</key>
+       <string>1</string>
+</dict>
+</plist>
index f485bb8afb0d8597be811521079845a35c97b594..5056bddd05707bf28d0020dac52c14825e5d01ea 100644 (file)
@@ -1,21 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-       <key>IBDocumentLocation</key>
-       <string>485 122 356 240 0 0 1280 938 </string>
-       <key>IBEditorPositions</key>
-       <dict>
-               <key>29</key>
-               <string>179 806 349 44 0 0 1280 938 </string>
-       </dict>
        <key>IBFramework Version</key>
-       <string>364.0</string>
+       <string>677</string>
+       <key>IBLastKnownRelativeProjectPath</key>
+       <string>../The Cheat.xcodeproj</string>
+       <key>IBOldestOS</key>
+       <integer>5</integer>
        <key>IBOpenObjects</key>
        <array>
-               <integer>29</integer>
+               <integer>370</integer>
        </array>
        <key>IBSystem Version</key>
-       <string>7U16</string>
+       <string>9J61</string>
+       <key>targetFramework</key>
+       <string>IBCocoaFramework</string>
 </dict>
 </plist>
index 405da549a0c4cbbd6bff1b850f49b163e9ec55fa..d2e9b952cc38d80927c085d5e50ee6bde1315224 100644 (file)
Binary files a/English.lproj/MainMenu.nib/keyedobjects.nib and b/English.lproj/MainMenu.nib/keyedobjects.nib differ
index e46e7c602a1d3ab132dfde37ae9cc5c2984f689c..2da9baebc85c3b27ca7d7a0158f4cf951ab9ca0e 100644 (file)
@@ -30,7 +30,7 @@
        <key>CFBundleExecutable</key>
        <string>The Cheat</string>
        <key>CFBundleGetInfoString</key>
-       <string>The Cheat 1.2.3</string>
+       <string>The Cheat 1.2.4</string>
        <key>CFBundleIconFile</key>
        <string>icon.icns</string>
        <key>CFBundleIdentifier</key>
@@ -44,7 +44,7 @@
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.2.3</string>
+       <string>1.2.4</string>
        <key>CFBundleSignature</key>
        <string>chÅ“t</string>
        <key>CFBundleURLTypes</key>
@@ -59,7 +59,7 @@
                </dict>
        </array>
        <key>CFBundleVersion</key>
-       <string>1.2.3</string>
+       <string>1.2.4</string>
        <key>NSAppleScriptEnabled</key>
        <string>YES</string>
        <key>NSMainNibFile</key>
index 940380681724c4343c349efe6a84f8bed8241291..2f6d1364f2b4c17d7887d11ec39f226bc6e59a9f 100644 (file)
@@ -250,7 +250,13 @@ int _MemoryDumpTask( ThreadedTask *task, unsigned iteration );
        }
        
        function = [context iterationFunction];
-       if ( function ) {
+       if ( function ) {               
+               SearchContext *searchContext = context;
+               if (searchContext->value->_type != TCFloat && searchContext->value->_type != TCDouble)
+               {
+                       bigEndianValue(searchContext->value->_value, searchContext->value);
+               }
+               
                _searchTask = [[ThreadedTask alloc] initWithFunction:function
                                                                                                         context:context
                                                                                                        delegate:self];
@@ -489,8 +495,9 @@ int _MemoryDumpTask( ThreadedTask *task, unsigned iteration )
                        top = index + count;
                        for ( i = index; i < top; i++ ) {
                                Variable *var = [[Variable alloc] initWithType:[context variableType] integerSign:[context integerSign]];
+                               [var setProcess:_target];
                                [var setAddress:*(TCAddress *)TCArrayElementAtIndex( addresses, i )];
-                               [var setValue:TCArrayElementAtIndex( values, i ) size:TCArrayElementSize(values)];
+                               [var setValue:TCArrayElementAtIndex(values, i) size:TCArrayElementSize(values)];
                                [vars addObject:var];
                                [var release];
                        }
@@ -708,7 +715,17 @@ int _MemoryDumpTask( ThreadedTask *task, unsigned iteration )
        for ( i = 0; i < top; i++ ) {
                Variable *variable = [variables objectAtIndex:i];
                
-               if ( VMWriteBytes( [_target pid], [variable address], [variable value], [variable valueSize] ) ) {
+               if ([[variable process] pid] != [_target pid])
+               {
+                       [variable setProcess:_target];
+               }
+               
+               char buffer[variable->_size];
+               memcpy(buffer, variable->_value, variable->_size);
+               bigEndianValue(buffer, variable);
+               
+               if ( VMWriteBytes( [_target pid], [variable address], buffer, [variable valueSize] ) )
+               {
                        successes++;
                }
        }
@@ -734,8 +751,11 @@ int _MemoryDumpTask( ThreadedTask *task, unsigned iteration )
                
                size = [variable valueSize];
                if ( VMReadBytes( [_target pid], [variable address], value, &size ) ) {
+                       bigEndianValue(value, variable);
+                       
                        // check if memory changed
-                       if ( memcmp( value, [variable value], size ) != 0 ) {
+                       if (memcmp(value, variable->_value, size) != 0)
+                       {
                                [variable setValue:value];
                                // inform delegate of the change
                                [_delegate cheater:self variableAtIndex:_watchRange.location+i didChangeTo:variable];
index 47f73e9651710c329f0273fa4dbaf2db8846943e..a51698292cdcaccf317c63a33bb40bc55b3dd506 100644 (file)
--- a/Process.h
+++ b/Process.h
@@ -38,6 +38,7 @@
 - (BOOL)sameApplicationAs:(id)anObject;
 
 // accessors
+- (BOOL)isEmulated;
 - (NSString *)name;
 - (NSString *)version;
 - (NSImage *)icon;
index 3fe3a69d161c0e477a8b25369e6204a070d92dc9..61e00406cd26a22526edb88b7dfdf1459bb6cf25 100644 (file)
--- a/Process.m
+++ b/Process.m
 
 #import "Process.h"
 
+#ifdef __i386__
+       #import <sys/types.h>
+       #import <sys/sysctl.h>
+#endif
 
 @interface Process ( PrivateAPI )
 
        return NO;
 }
 
+#pragma mark Detecting Emulation
+
+#ifdef __i386__
+// http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_exec_a/universal_binary_exec_a.html
+static int sysctlbyname_with_pid (const char *name, pid_t pid,
+                                                                 void *oldp, size_t *oldlenp,
+                                                                 void *newp, size_t newlen)
+{
+    if (pid == 0) {
+        if (sysctlbyname(name, oldp, oldlenp, newp, newlen) == -1)  {
+            fprintf(stderr, "sysctlbyname_with_pid(0): sysctlbyname  failed:"
+                                       "%s\n", strerror(errno));
+            return -1;
+        }
+    } else {
+        int mib[CTL_MAXNAME+1];
+        size_t len = CTL_MAXNAME;
+        if (sysctlnametomib(name, mib, &len) == -1) {
+            fprintf(stderr, "sysctlbyname_with_pid: sysctlnametomib  failed:"
+                                       "%s\n", strerror(errno));
+            return -1;
+        }
+        mib[len] = pid;
+        len++;
+        if (sysctl(mib, len, oldp, oldlenp, newp, newlen) == -1)  {
+            fprintf(stderr, "sysctlbyname_with_pid: sysctl  failed:"
+                    "%s\n", strerror(errno));
+            return -1;
+        }
+    }
+    return 0;
+}
+
+// http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_exec_a/universal_binary_exec_a.html
+static int is_pid_native (pid_t pid)
+{
+    int ret = 0;
+    size_t sz = sizeof(ret);
+       
+    if (sysctlbyname_with_pid("sysctl.proc_native", pid,
+                                                         &ret, &sz, NULL, 0) == -1) {
+               if (errno == ENOENT) {
+            return 1;
+        }
+        fprintf(stderr, "is_pid_native: sysctlbyname_with_pid  failed:"
+                "%s\n", strerror(errno));
+        return -1;
+    }
+    return ret;
+}
+#endif
+
+- (BOOL)isEmulated
+{
+       BOOL isEmulated = NO;
+#ifdef __i386__
+       if (is_pid_native(_pid) == 0)
+       {
+               isEmulated = YES;
+       }
+#endif
+       
+       return isEmulated;
+}
 
 #pragma mark Accessors
 
index 10dd0c340fdd43913530b47eedbb45c35a311a39..7177e11c5f5eec37ae8f911e80ce3f0f04842189 100644 (file)
@@ -26,6 +26,7 @@
 #import "Cheater.h"
 #import "Variable.h"
 
+#import "Process.h"
 
 @interface SearchData : NSObject
 {
@@ -46,6 +47,8 @@
 }
 
 // ACCESSORS
+- (void)setProcess:(Process *)process;
+
 - (TCVariableType)variableType;
 - (void)setVariableType:(TCVariableType)varType;
 
index 5a88e50fc15220e1eb91975d1361f99eadc8f58d..4e2e6722504496a2bbf52e5cc05775680f6377c1 100644 (file)
 }
 
 
+- (void)setProcess:(Process *)process
+{
+       [process retain];
+       [_process release];
+       _process = process;
+}
+
+
 - (TCVariableType)variableType
 {
        return _variableType;
        if ( !_variableValue ) {
                // create a zero value if there is none
                _variableValue = [[Variable alloc] init];
+               [_variableValue setProcess:_process];
        }
        return _variableValue;
 }
                        TCArraySetElementAtIndex( _values, index, [value value] );
                }
        }
+       
 }
 
 - (BOOL)valuesLoaded
index 80ad0d620c8308ded91cbd5cb2669c8af6e87a5d..0297a84d273b1d275fd1a9f4c7e66ef4d40dc838 100644 (file)
@@ -98,7 +98,24 @@ int SearchIteration( ThreadedTask *task, unsigned iteration )
                offset = VMRegionAddress( region ) - (TCAddress)context->buffer;
                
                while ( ptr < top ) {
-                       if ( context->compareFunc(ptr,context->value->_value) ) {
+                       char firstValue[context->value->_size];
+                       memcpy(firstValue, ptr, context->value->_size);
+                       
+                       if (context->value->_isEmulated)
+                       {
+                               if (context->value->_type == TCFloat)
+                               {
+                                       CFSwappedFloat32 firstSwappedFloat = CFConvertFloat32HostToSwapped(*((float *)firstValue));
+                                       memcpy(firstValue, &firstSwappedFloat, context->value->_size);
+                               }
+                               else if (context->value->_type == TCDouble)
+                               {
+                                       CFSwappedFloat64 firstSwappedDouble = CFConvertDoubleHostToSwapped(*((double *)firstValue));
+                                       memcpy(firstValue, &firstSwappedDouble, context->value->_size);
+                               }
+                       }
+                       
+                       if ( context->compareFunc(firstValue,context->value->_value) ) {
                                if ( context->numberOfResults >= TCArrayElementCount(context->addresses) ) {
                                        TCArrayResize( context->addresses, TCArrayElementCount(context->addresses) + TC_BUFFER_SIZE / sizeof(TCAddress) );
                                        context->addressPtr = (TCAddress *)TCArrayBytes(context->addresses) + context->numberOfResults;
@@ -184,7 +201,24 @@ int SearchIterationAgain( ThreadedTask *task, unsigned iteration )
                        for ( i = 0; i < top; i++ ) {
                                ptr = context->buffer + *context->lastAddressPtr - VMRegionAddress(region);
                                
-                               if (ptr >= context->buffer && context->compareFunc(ptr,context->value->_value)) {
+                               char firstValue[context->value->_size];
+                               memcpy(firstValue, ptr, context->value->_size);
+                               
+                               if (context->value->_isEmulated)
+                               {
+                                       if (context->value->_type == TCFloat)
+                                       {
+                                               CFSwappedFloat32 firstSwappedFloat = CFConvertFloat32HostToSwapped(*((float *)firstValue));
+                                               memcpy(firstValue, &firstSwappedFloat, context->value->_size);
+                                       }
+                                       else if (context->value->_type == TCDouble)
+                                       {
+                                               CFSwappedFloat64 firstSwappedDouble = CFConvertDoubleHostToSwapped(*((double *)firstValue));
+                                               memcpy(firstValue, &firstSwappedDouble, context->value->_size);
+                                       }
+                               }
+                               
+                               if (ptr >= context->buffer && context->compareFunc(firstValue,context->value->_value)) {
                                        if ( context->numberOfResults >= TCArrayElementCount(context->addresses) ) {
                                                TCArrayResize( context->addresses, TCArrayElementCount(context->addresses) + TC_BUFFER_SIZE / sizeof(TCAddress) );
                                                context->addressPtr = (TCAddress *)TCArrayBytes(context->addresses) + context->numberOfResults;
diff --git a/The Cheat.xcode/chaz.mode1 b/The Cheat.xcode/chaz.mode1
deleted file mode 100644 (file)
index 391169b..0000000
+++ /dev/null
@@ -1,1478 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>ActivePerspectiveName</key>
-       <string>Project</string>
-       <key>AllowedModules</key>
-       <array>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXSmartGroupTreeModule</string>
-                       <key>Name</key>
-                       <string>Groups and Files Outline View</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXNavigatorGroup</string>
-                       <key>Name</key>
-                       <string>Editor</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCTaskListModule</string>
-                       <key>Name</key>
-                       <string>Task List</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCDetailModule</string>
-                       <key>Name</key>
-                       <string>File and Smart Group Detail Viewer</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXBuildResultsModule</string>
-                       <key>Name</key>
-                       <string>Detailed Build Results Viewer</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXProjectFindModule</string>
-                       <key>Name</key>
-                       <string>Project Batch Find Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXRunSessionModule</string>
-                       <key>Name</key>
-                       <string>Run Log</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXBookmarksModule</string>
-                       <key>Name</key>
-                       <string>Bookmarks Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXClassBrowserModule</string>
-                       <key>Name</key>
-                       <string>Class Browser</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXCVSModule</string>
-                       <key>Name</key>
-                       <string>Source Code Control Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXDebugBreakpointsModule</string>
-                       <key>Name</key>
-                       <string>Debug Breakpoints Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCDockableInspector</string>
-                       <key>Name</key>
-                       <string>Inspector</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXOpenQuicklyModule</string>
-                       <key>Name</key>
-                       <string>Open Quickly Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXDebugSessionModule</string>
-                       <key>Name</key>
-                       <string>Debugger</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXDebugCLIModule</string>
-                       <key>Name</key>
-                       <string>Debug Console</string>
-               </dict>
-       </array>
-       <key>Description</key>
-       <string>DefaultDescriptionKey</string>
-       <key>DockingSystemVisible</key>
-       <false/>
-       <key>Extension</key>
-       <string>mode1</string>
-       <key>FavBarConfig</key>
-       <dict>
-               <key>PBXProjectModuleGUID</key>
-               <string>6E6A7AF90822ED1E00D88515</string>
-               <key>XCBarModuleItemNames</key>
-               <dict/>
-               <key>XCBarModuleItems</key>
-               <array/>
-       </dict>
-       <key>FirstTimeWindowDisplayed</key>
-       <false/>
-       <key>Identifier</key>
-       <string>com.apple.perspectives.project.mode1</string>
-       <key>MajorVersion</key>
-       <integer>31</integer>
-       <key>MinorVersion</key>
-       <integer>1</integer>
-       <key>Name</key>
-       <string>Default</string>
-       <key>Notifications</key>
-       <array/>
-       <key>OpenEditors</key>
-       <array>
-               <dict>
-                       <key>Content</key>
-                       <dict>
-                               <key>PBXProjectModuleGUID</key>
-                               <string>6ED22BF6083446FE005F7A7E</string>
-                               <key>PBXProjectModuleLabel</key>
-                               <string>NSDocumentController.h</string>
-                               <key>PBXSplitModuleInNavigatorKey</key>
-                               <dict>
-                                       <key>Split0</key>
-                                       <dict>
-                                               <key>PBXProjectModuleGUID</key>
-                                               <string>6ED22BF7083446FE005F7A7E</string>
-                                               <key>PBXProjectModuleLabel</key>
-                                               <string>NSDocumentController.h</string>
-                                               <key>_historyCapacity</key>
-                                               <integer>0</integer>
-                                               <key>bookmark</key>
-                                               <string>6E7D2FBC08693D8A00429AC8</string>
-                                               <key>history</key>
-                                               <array>
-                                                       <string>6ED22BF9083446FE005F7A7E</string>
-                                               </array>
-                                       </dict>
-                                       <key>SplitCount</key>
-                                       <string>1</string>
-                               </dict>
-                               <key>StatusBarVisibility</key>
-                               <true/>
-                       </dict>
-                       <key>Geometry</key>
-                       <dict>
-                               <key>Frame</key>
-                               <string>{{0, 20}, {928, 441}}</string>
-                               <key>PBXModuleWindowStatusBarHidden2</key>
-                               <false/>
-                               <key>RubberWindowFrame</key>
-                               <string>416 456 928 482 0 0 1280 938 </string>
-                       </dict>
-               </dict>
-       </array>
-       <key>PerspectiveWidths</key>
-       <array>
-               <integer>-1</integer>
-               <integer>-1</integer>
-       </array>
-       <key>Perspectives</key>
-       <array>
-               <dict>
-                       <key>ChosenToolbarItems</key>
-                       <array>
-                               <string>active-target-popup</string>
-                               <string>active-buildstyle-popup</string>
-                               <string>action</string>
-                               <string>NSToolbarFlexibleSpaceItem</string>
-                               <string>buildOrClean</string>
-                               <string>build-and-runOrDebug</string>
-                               <string>debug</string>
-                               <string>clean</string>
-                               <string>com.apple.ide.PBXToolbarStopButton</string>
-                               <string>toggle-editor</string>
-                               <string>NSToolbarFlexibleSpaceItem</string>
-                               <string>com.apple.pbx.toolbar.searchfield</string>
-                       </array>
-                       <key>ControllerClassBaseName</key>
-                       <string></string>
-                       <key>IconName</key>
-                       <string>WindowOfProjectWithEditor</string>
-                       <key>Identifier</key>
-                       <string>perspective.project</string>
-                       <key>IsVertical</key>
-                       <false/>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>ContentConfiguration</key>
-                                       <dict>
-                                               <key>PBXBottomSmartGroupGIDs</key>
-                                               <array>
-                                                       <string>1C37FBAC04509CD000000102</string>
-                                                       <string>1C37FAAC04509CD000000102</string>
-                                                       <string>1C08E77C0454961000C914BD</string>
-                                                       <string>1C37FABC05509CD000000102</string>
-                                                       <string>1C37FABC05539CD112110102</string>
-                                                       <string>E2644B35053B69B200211256</string>
-                                                       <string>1C37FABC04509CD000100104</string>
-                                                       <string>1CC0EA4004350EF90044410B</string>
-                                                       <string>1CC0EA4004350EF90041110B</string>
-                                               </array>
-                                               <key>PBXProjectModuleGUID</key>
-                                               <string>1CE0B1FE06471DED0097A5F4</string>
-                                               <key>PBXProjectModuleLabel</key>
-                                               <string>Files</string>
-                                               <key>PBXProjectStructureProvided</key>
-                                               <string>yes</string>
-                                               <key>PBXSmartGroupTreeModuleColumnData</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
-                                                       <array>
-                                                               <real>224</real>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
-                                                       <array>
-                                                               <string>MainColumn</string>
-                                                       </array>
-                                               </dict>
-                                               <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
-                                                       <array>
-                                                               <string>29B97314FDCFA39411CA2CEA</string>
-                                                               <string>080E96DDFE201D6D7F000001</string>
-                                                               <string>6ED807190641EC6E002888F7</string>
-                                                               <string>6E98A54A06A73E37006A576D</string>
-                                                               <string>6E38D68006C9F98E003BA9B4</string>
-                                                               <string>6ED97B900645E2EE00CBF037</string>
-                                                               <string>6E7157BC0647004B00763517</string>
-                                                               <string>6ED806580641D343002888F7</string>
-                                                               <string>6ED806700641D3AC002888F7</string>
-                                                               <string>29B97315FDCFA39411CA2CEA</string>
-                                                               <string>29B97317FDCFA39411CA2CEA</string>
-                                                               <string>29B97323FDCFA39411CA2CEA</string>
-                                                               <string>19C28FACFE9D520D11CA2CBB</string>
-                                                               <string>1C37FBAC04509CD000000102</string>
-                                                               <string>1C37FAAC04509CD000000102</string>
-                                                               <string>1C37FABC05509CD000000102</string>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
-                                                       <array>
-                                                               <array>
-                                                                       <integer>76</integer>
-                                                                       <integer>73</integer>
-                                                                       <integer>0</integer>
-                                                               </array>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-                                                       <string>{{0, 662}, {224, 762}}</string>
-                                               </dict>
-                                               <key>PBXTopSmartGroupGIDs</key>
-                                               <array/>
-                                               <key>XCIncludePerspectivesSwitch</key>
-                                               <true/>
-                                               <key>XCSharingToken</key>
-                                               <string>com.apple.Xcode.GFSharingToken</string>
-                                       </dict>
-                                       <key>GeometryConfiguration</key>
-                                       <dict>
-                                               <key>Frame</key>
-                                               <string>{{0, 0}, {241, 780}}</string>
-                                               <key>GroupTreeTableConfiguration</key>
-                                               <array>
-                                                       <string>MainColumn</string>
-                                                       <real>224</real>
-                                               </array>
-                                               <key>RubberWindowFrame</key>
-                                               <string>0 117 1280 821 0 0 1280 938 </string>
-                                       </dict>
-                                       <key>Module</key>
-                                       <string>PBXSmartGroupTreeModule</string>
-                                       <key>Proportion</key>
-                                       <string>241pt</string>
-                               </dict>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <true/>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CE0B20306471E060097A5F4</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>cheat_global.m</string>
-                                                               <key>PBXSplitModuleInNavigatorKey</key>
-                                                               <dict>
-                                                                       <key>Split0</key>
-                                                                       <dict>
-                                                                               <key>PBXProjectModuleGUID</key>
-                                                                               <string>1CE0B20406471E060097A5F4</string>
-                                                                               <key>PBXProjectModuleLabel</key>
-                                                                               <string>cheat_global.m</string>
-                                                                               <key>_historyCapacity</key>
-                                                                               <integer>0</integer>
-                                                                               <key>bookmark</key>
-                                                                               <string>6E7D2FBB08693D8A00429AC8</string>
-                                                                               <key>history</key>
-                                                                               <array>
-                                                                                       <string>6E7D2F0E0869302500429AC8</string>
-                                                                                       <string>6E7D2F0F0869302500429AC8</string>
-                                                                                       <string>6E7D2F100869302500429AC8</string>
-                                                                                       <string>6E7D2F2408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F2F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F3F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F4F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F5F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6B08693D8A00429AC8</string>
-                                                                               </array>
-                                                                               <key>prevStack</key>
-                                                                               <array>
-                                                                                       <string>6E6A7B210822F12D00D88515</string>
-                                                                                       <string>6E6A7B220822F12D00D88515</string>
-                                                                                       <string>6E6A7B230822F12D00D88515</string>
-                                                                                       <string>6E5B695B0828175900F7B919</string>
-                                                                                       <string>6E5B695C0828175900F7B919</string>
-                                                                                       <string>6E5B695E0828175900F7B919</string>
-                                                                                       <string>6E5B6A9F0828262700F7B919</string>
-                                                                                       <string>6ED22BEB083446FE005F7A7E</string>
-                                                                                       <string>6ED22BEC083446FE005F7A7E</string>
-                                                                                       <string>6ED22BED083446FE005F7A7E</string>
-                                                                                       <string>6ED22BEE083446FE005F7A7E</string>
-                                                                                       <string>6ED22BEF083446FE005F7A7E</string>
-                                                                                       <string>6ED22BF0083446FE005F7A7E</string>
-                                                                                       <string>6E7D2F120869302500429AC8</string>
-                                                                                       <string>6E7D2F130869302500429AC8</string>
-                                                                                       <string>6E7D2F140869302500429AC8</string>
-                                                                                       <string>6E7D2F150869302500429AC8</string>
-                                                                                       <string>6E7D2F160869302500429AC8</string>
-                                                                                       <string>6E7D2F170869302500429AC8</string>
-                                                                                       <string>6E7D2F6C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F6F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F7F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F8F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9008693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9108693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9208693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9308693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9408693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9508693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9608693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9708693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9808693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9908693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9A08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9B08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9C08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9D08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9E08693D8A00429AC8</string>
-                                                                                       <string>6E7D2F9F08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA008693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA108693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA208693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA308693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA408693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA508693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA608693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA708693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA808693D8A00429AC8</string>
-                                                                                       <string>6E7D2FA908693D8A00429AC8</string>
-                                                                                       <string>6E7D2FAA08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FAB08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FAC08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FAD08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FAE08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FAF08693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB008693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB108693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB208693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB308693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB408693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB508693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB608693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB708693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB808693D8A00429AC8</string>
-                                                                                       <string>6E7D2FB908693D8A00429AC8</string>
-                                                                                       <string>6E7D2FBA08693D8A00429AC8</string>
-                                                                               </array>
-                                                                       </dict>
-                                                                       <key>SplitCount</key>
-                                                                       <string>1</string>
-                                                               </dict>
-                                                               <key>StatusBarVisibility</key>
-                                                               <true/>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {1034, 543}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>0 117 1280 821 0 0 1280 938 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>543pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CE0B20506471E060097A5F4</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Detail</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 548}, {1034, 233}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>0 117 1280 821 0 0 1280 938 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>XCDetailModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>233pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>1034pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Project</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCModuleDock</string>
-                               <string>PBXSmartGroupTreeModule</string>
-                               <string>XCModuleDock</string>
-                               <string>PBXNavigatorGroup</string>
-                               <string>XCDetailModule</string>
-                       </array>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>6E7D2F190869302500429AC8</string>
-                               <string>1CE0B1FE06471DED0097A5F4</string>
-                               <string>6E7D2F1A0869302500429AC8</string>
-                               <string>1CE0B20306471E060097A5F4</string>
-                               <string>1CE0B20506471E060097A5F4</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.default</string>
-               </dict>
-               <dict>
-                       <key>ControllerClassBaseName</key>
-                       <string></string>
-                       <key>IconName</key>
-                       <string>WindowOfProject</string>
-                       <key>Identifier</key>
-                       <string>perspective.morph</string>
-                       <key>IsVertical</key>
-                       <integer>0</integer>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>BecomeActive</key>
-                                       <integer>1</integer>
-                                       <key>ContentConfiguration</key>
-                                       <dict>
-                                               <key>PBXBottomSmartGroupGIDs</key>
-                                               <array>
-                                                       <string>1C37FBAC04509CD000000102</string>
-                                                       <string>1C37FAAC04509CD000000102</string>
-                                                       <string>1C08E77C0454961000C914BD</string>
-                                                       <string>1C37FABC05509CD000000102</string>
-                                                       <string>1C37FABC05539CD112110102</string>
-                                                       <string>E2644B35053B69B200211256</string>
-                                                       <string>1C37FABC04509CD000100104</string>
-                                                       <string>1CC0EA4004350EF90044410B</string>
-                                                       <string>1CC0EA4004350EF90041110B</string>
-                                               </array>
-                                               <key>PBXProjectModuleGUID</key>
-                                               <string>11E0B1FE06471DED0097A5F4</string>
-                                               <key>PBXProjectModuleLabel</key>
-                                               <string>Files</string>
-                                               <key>PBXProjectStructureProvided</key>
-                                               <string>yes</string>
-                                               <key>PBXSmartGroupTreeModuleColumnData</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
-                                                       <array>
-                                                               <real>186</real>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
-                                                       <array>
-                                                               <string>MainColumn</string>
-                                                       </array>
-                                               </dict>
-                                               <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
-                                                       <array>
-                                                               <string>29B97314FDCFA39411CA2CEA</string>
-                                                               <string>1C37FABC05509CD000000102</string>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
-                                                       <array>
-                                                               <array>
-                                                                       <integer>0</integer>
-                                                               </array>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-                                                       <string>{{0, 0}, {186, 337}}</string>
-                                               </dict>
-                                               <key>PBXTopSmartGroupGIDs</key>
-                                               <array/>
-                                               <key>XCIncludePerspectivesSwitch</key>
-                                               <integer>1</integer>
-                                               <key>XCSharingToken</key>
-                                               <string>com.apple.Xcode.GFSharingToken</string>
-                                       </dict>
-                                       <key>GeometryConfiguration</key>
-                                       <dict>
-                                               <key>Frame</key>
-                                               <string>{{0, 0}, {203, 355}}</string>
-                                               <key>GroupTreeTableConfiguration</key>
-                                               <array>
-                                                       <string>MainColumn</string>
-                                                       <real>186</real>
-                                               </array>
-                                               <key>RubberWindowFrame</key>
-                                               <string>373 269 690 397 0 0 1440 878 </string>
-                                       </dict>
-                                       <key>Module</key>
-                                       <string>PBXSmartGroupTreeModule</string>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Morph</string>
-                       <key>PreferredWidth</key>
-                       <integer>300</integer>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCModuleDock</string>
-                               <string>PBXSmartGroupTreeModule</string>
-                       </array>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>11E0B1FE06471DED0097A5F4</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.default.short</string>
-               </dict>
-       </array>
-       <key>PerspectivesBarVisible</key>
-       <false/>
-       <key>ShelfIsVisible</key>
-       <false/>
-       <key>SourceDescription</key>
-       <string>file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
-       <key>StatusbarIsVisible</key>
-       <true/>
-       <key>TimeStamp</key>
-       <real>0.0</real>
-       <key>ToolbarDisplayMode</key>
-       <integer>1</integer>
-       <key>ToolbarIsVisible</key>
-       <true/>
-       <key>ToolbarSizeMode</key>
-       <integer>1</integer>
-       <key>Type</key>
-       <string>Perspectives</string>
-       <key>UpdateMessage</key>
-       <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature).  You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature.  Do you wish to update to the latest Workspace defaults for project '%@'?</string>
-       <key>WindowJustification</key>
-       <integer>5</integer>
-       <key>WindowOrderList</key>
-       <array>
-               <string>6E7D2EFB08692DE700429AC8</string>
-               <string>1C0AD2B3069F1EA900FABCE6</string>
-               <string>6ED22BF6083446FE005F7A7E</string>
-               <string>/Users/chaz/The Cheat/The Cheat 1.2.1/The Cheat.xcode</string>
-       </array>
-       <key>WindowString</key>
-       <string>0 117 1280 821 0 0 1280 938 </string>
-       <key>WindowTools</key>
-       <array>
-               <dict>
-                       <key>FirstTimeWindowDisplayed</key>
-                       <false/>
-                       <key>Identifier</key>
-                       <string>windowTool.build</string>
-                       <key>IsVertical</key>
-                       <true/>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD0528F0623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>AppController.m</string>
-                                                               <key>StatusBarVisibility</key>
-                                                               <true/>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {500, 218}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>21 415 500 500 0 0 1280 938 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>218pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <true/>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>XCMainBuildResultsModuleGUID</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Build</string>
-                                                               <key>XCBuildResultsTrigger_Collapse</key>
-                                                               <integer>1021</integer>
-                                                               <key>XCBuildResultsTrigger_Open</key>
-                                                               <integer>1011</integer>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 223}, {500, 236}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>21 415 500 500 0 0 1280 938 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXBuildResultsModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>236pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>459pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Build Results</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXBuildResultsModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <true/>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>6E7D2EFB08692DE700429AC8</string>
-                               <string>6E7D2EFC08692DE700429AC8</string>
-                               <string>1CD0528F0623707200166675</string>
-                               <string>XCMainBuildResultsModuleGUID</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.build</string>
-                       <key>WindowString</key>
-                       <string>21 415 500 500 0 0 1280 938 </string>
-                       <key>WindowToolGUID</key>
-                       <string>6E7D2EFB08692DE700429AC8</string>
-                       <key>WindowToolIsVisible</key>
-                       <false/>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.debugger</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>Debugger</key>
-                                                               <dict>
-                                                                       <key>HorizontalSplitView</key>
-                                                                       <dict>
-                                                                               <key>_collapsingFrameDimension</key>
-                                                                               <real>0.0</real>
-                                                                               <key>_indexOfCollapsedView</key>
-                                                                               <integer>0</integer>
-                                                                               <key>_percentageOfCollapsedView</key>
-                                                                               <real>0.0</real>
-                                                                               <key>isCollapsed</key>
-                                                                               <string>yes</string>
-                                                                               <key>sizes</key>
-                                                                               <array>
-                                                                                       <string>{{0, 0}, {317, 164}}</string>
-                                                                                       <string>{{317, 0}, {377, 164}}</string>
-                                                                               </array>
-                                                                       </dict>
-                                                                       <key>VerticalSplitView</key>
-                                                                       <dict>
-                                                                               <key>_collapsingFrameDimension</key>
-                                                                               <real>0.0</real>
-                                                                               <key>_indexOfCollapsedView</key>
-                                                                               <integer>0</integer>
-                                                                               <key>_percentageOfCollapsedView</key>
-                                                                               <real>0.0</real>
-                                                                               <key>isCollapsed</key>
-                                                                               <string>yes</string>
-                                                                               <key>sizes</key>
-                                                                               <array>
-                                                                                       <string>{{0, 0}, {694, 164}}</string>
-                                                                                       <string>{{0, 164}, {694, 216}}</string>
-                                                                               </array>
-                                                                       </dict>
-                                                               </dict>
-                                                               <key>LauncherConfigVersion</key>
-                                                               <string>8</string>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1C162984064C10D400B95A72</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Debug - GLUTExamples (Underwater)</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>DebugConsoleDrawerSize</key>
-                                                               <string>{100, 120}</string>
-                                                               <key>DebugConsoleVisible</key>
-                                                               <string>None</string>
-                                                               <key>DebugConsoleWindowFrame</key>
-                                                               <string>{{200, 200}, {500, 300}}</string>
-                                                               <key>DebugSTDIOWindowFrame</key>
-                                                               <string>{{200, 200}, {500, 300}}</string>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {694, 380}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>321 238 694 422 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXDebugSessionModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Debugger</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXDebugSessionModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1CD10A99069EF8BA00B06720</string>
-                               <string>1C0AD2AB069F1E9B00FABCE6</string>
-                               <string>1C162984064C10D400B95A72</string>
-                               <string>1C0AD2AC069F1E9B00FABCE6</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.debug</string>
-                       <key>WindowString</key>
-                       <string>321 238 694 422 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1CD10A99069EF8BA00B06720</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.find</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Dock</key>
-                                                       <array>
-                                                               <dict>
-                                                                       <key>ContentConfiguration</key>
-                                                                       <dict>
-                                                                               <key>PBXProjectModuleGUID</key>
-                                                                               <string>1CDD528C0622207200134675</string>
-                                                                               <key>PBXProjectModuleLabel</key>
-                                                                               <string>&lt;No Editor&gt;</string>
-                                                                               <key>PBXSplitModuleInNavigatorKey</key>
-                                                                               <dict>
-                                                                                       <key>Split0</key>
-                                                                                       <dict>
-                                                                                               <key>PBXProjectModuleGUID</key>
-                                                                                               <string>1CD0528D0623707200166675</string>
-                                                                                       </dict>
-                                                                                       <key>SplitCount</key>
-                                                                                       <string>1</string>
-                                                                               </dict>
-                                                                               <key>StatusBarVisibility</key>
-                                                                               <integer>1</integer>
-                                                                       </dict>
-                                                                       <key>GeometryConfiguration</key>
-                                                                       <dict>
-                                                                               <key>Frame</key>
-                                                                               <string>{{0, 0}, {781, 167}}</string>
-                                                                               <key>RubberWindowFrame</key>
-                                                                               <string>62 385 781 470 0 0 1440 878 </string>
-                                                                       </dict>
-                                                                       <key>Module</key>
-                                                                       <string>PBXNavigatorGroup</string>
-                                                                       <key>Proportion</key>
-                                                                       <string>781pt</string>
-                                                               </dict>
-                                                       </array>
-                                                       <key>Proportion</key>
-                                                       <string>50%</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD0528E0623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Project Find</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{8, 0}, {773, 254}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>62 385 781 470 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXProjectFindModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>50%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>428pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Project Find</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXProjectFindModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C530D57069F1CE1000CFCEE</string>
-                               <string>1C530D58069F1CE1000CFCEE</string>
-                               <string>1C530D59069F1CE1000CFCEE</string>
-                               <string>1CDD528C0622207200134675</string>
-                               <string>1C530D5A069F1CE1000CFCEE</string>
-                               <string>1CE0B1FE06471DED0097A5F4</string>
-                               <string>1CD0528E0623707200166675</string>
-                       </array>
-                       <key>WindowString</key>
-                       <string>62 385 781 470 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C530D57069F1CE1000CFCEE</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>MENUSEPARATOR</string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.debuggerConsole</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1C78EAAC065D492600B07095</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Debugger Console</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {440, 358}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>650 41 440 400 0 0 1280 1002 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXDebugCLIModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>358pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>358pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Debugger Console</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXDebugCLIModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C78EAAD065D492600B07095</string>
-                               <string>1C78EAAE065D492600B07095</string>
-                               <string>1C78EAAC065D492600B07095</string>
-                       </array>
-                       <key>WindowString</key>
-                       <string>650 41 440 400 0 0 1280 1002 </string>
-               </dict>
-               <dict>
-                       <key>FirstTimeWindowDisplayed</key>
-                       <false/>
-                       <key>Identifier</key>
-                       <string>windowTool.run</string>
-                       <key>IsVertical</key>
-                       <true/>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>LauncherConfigVersion</key>
-                                                               <string>3</string>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD0528B0623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Run</string>
-                                                               <key>Runner</key>
-                                                               <dict>
-                                                                       <key>HorizontalSplitView</key>
-                                                                       <dict>
-                                                                               <key>_collapsingFrameDimension</key>
-                                                                               <real>0.0</real>
-                                                                               <key>_indexOfCollapsedView</key>
-                                                                               <integer>0</integer>
-                                                                               <key>_percentageOfCollapsedView</key>
-                                                                               <real>0.0</real>
-                                                                               <key>isCollapsed</key>
-                                                                               <string>yes</string>
-                                                                               <key>sizes</key>
-                                                                               <array>
-                                                                                       <string>{{0, 0}, {493, 168}}</string>
-                                                                                       <string>{{0, 173}, {493, 270}}</string>
-                                                                               </array>
-                                                                       </dict>
-                                                                       <key>VerticalSplitView</key>
-                                                                       <dict>
-                                                                               <key>_collapsingFrameDimension</key>
-                                                                               <real>0.0</real>
-                                                                               <key>_indexOfCollapsedView</key>
-                                                                               <integer>0</integer>
-                                                                               <key>_percentageOfCollapsedView</key>
-                                                                               <real>0.0</real>
-                                                                               <key>isCollapsed</key>
-                                                                               <string>yes</string>
-                                                                               <key>sizes</key>
-                                                                               <array>
-                                                                                       <string>{{0, 0}, {406, 443}}</string>
-                                                                                       <string>{{411, 0}, {517, 443}}</string>
-                                                                               </array>
-                                                                       </dict>
-                                                               </dict>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {459, 159}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>22 715 459 200 0 0 1280 938 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXRunSessionModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>159pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>159pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Run Log</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXRunSessionModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <true/>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C0AD2B3069F1EA900FABCE6</string>
-                               <string>6E7D2EFD08692DE700429AC8</string>
-                               <string>1CD0528B0623707200166675</string>
-                               <string>6E7D2EFE08692DE700429AC8</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.run</string>
-                       <key>WindowString</key>
-                       <string>22 715 459 200 0 0 1280 938 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C0AD2B3069F1EA900FABCE6</string>
-                       <key>WindowToolIsVisible</key>
-                       <false/>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.scm</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1C78EAB2065D492600B07095</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>&lt;No Editor&gt;</string>
-                                                               <key>PBXSplitModuleInNavigatorKey</key>
-                                                               <dict>
-                                                                       <key>Split0</key>
-                                                                       <dict>
-                                                                               <key>PBXProjectModuleGUID</key>
-                                                                               <string>1C78EAB3065D492600B07095</string>
-                                                                       </dict>
-                                                                       <key>SplitCount</key>
-                                                                       <string>1</string>
-                                                               </dict>
-                                                               <key>StatusBarVisibility</key>
-                                                               <integer>1</integer>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {452, 0}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>743 379 452 308 0 0 1280 1002 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>0pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD052920623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>SCM</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>ConsoleFrame</key>
-                                                               <string>{{0, 259}, {452, 0}}</string>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 7}, {452, 259}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>743 379 452 308 0 0 1280 1002 </string>
-                                                               <key>TableConfiguration</key>
-                                                               <array>
-                                                                       <string>Status</string>
-                                                                       <real>30</real>
-                                                                       <string>FileName</string>
-                                                                       <real>199</real>
-                                                                       <string>Path</string>
-                                                                       <real>197.09500122070312</real>
-                                                               </array>
-                                                               <key>TableFrame</key>
-                                                               <string>{{0, 0}, {452, 250}}</string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXCVSModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>262pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>266pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>SCM</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXCVSModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C78EAB4065D492600B07095</string>
-                               <string>1C78EAB5065D492600B07095</string>
-                               <string>1C78EAB2065D492600B07095</string>
-                               <string>1CD052920623707200166675</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.scm</string>
-                       <key>WindowString</key>
-                       <string>743 379 452 308 0 0 1280 1002 </string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.breakpoints</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD052930623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Breakpoints</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>BreakpointsTreeTableConfiguration</key>
-                                                               <array>
-                                                                       <string>enabledColumn</string>
-                                                                       <real>16</real>
-                                                                       <string>breakpointColumn</string>
-                                                                       <real>201.5830078125</real>
-                                                               </array>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {240, 195}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>342 421 240 216 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXDebugBreakpointsModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>195pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>195pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Breakpoints</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXDebugBreakpointsModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>0</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C0AD2AD069F1E9B00FABCE6</string>
-                               <string>1C0AD2AE069F1E9B00FABCE6</string>
-                               <string>1CD052930623707200166675</string>
-                       </array>
-                       <key>WindowString</key>
-                       <string>342 421 240 216 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C0AD2AD069F1E9B00FABCE6</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.bookmarks</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Module</key>
-                                                       <string>PBXBookmarksModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Bookmarks</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXBookmarksModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>0</integer>
-                       <key>WindowString</key>
-                       <string>538 42 401 187 0 0 1280 1002 </string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.classBrowser</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>OptionsSetName</key>
-                                                               <string>Hierarchy, all classes</string>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CA6456E063B45B4001379D8</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Class Browser - NSObject</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>ClassesFrame</key>
-                                                               <string>{{0, 0}, {374, 96}}</string>
-                                                               <key>ClassesTreeTableConfiguration</key>
-                                                               <array>
-                                                                       <string>PBXClassNameColumnIdentifier</string>
-                                                                       <real>208</real>
-                                                                       <string>PBXClassBookColumnIdentifier</string>
-                                                                       <real>22</real>
-                                                               </array>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {630, 331}}</string>
-                                                               <key>MembersFrame</key>
-                                                               <string>{{0, 105}, {374, 395}}</string>
-                                                               <key>MembersTreeTableConfiguration</key>
-                                                               <array>
-                                                                       <string>PBXMemberTypeIconColumnIdentifier</string>
-                                                                       <real>22</real>
-                                                                       <string>PBXMemberNameColumnIdentifier</string>
-                                                                       <real>216</real>
-                                                                       <string>PBXMemberTypeColumnIdentifier</string>
-                                                                       <real>97</real>
-                                                                       <string>PBXMemberBookColumnIdentifier</string>
-                                                                       <real>22</real>
-                                                               </array>
-                                                               <key>PBXModuleWindowStatusBarHidden2</key>
-                                                               <integer>1</integer>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>385 179 630 352 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXClassBrowserModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>332pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>332pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Class Browser</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXClassBrowserModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>0</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C0AD2AF069F1E9B00FABCE6</string>
-                               <string>1C0AD2B0069F1E9B00FABCE6</string>
-                               <string>1CA6456E063B45B4001379D8</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.classbrowser</string>
-                       <key>WindowString</key>
-                       <string>385 179 630 352 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C0AD2AF069F1E9B00FABCE6</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-       </array>
-</dict>
-</plist>
diff --git a/The Cheat.xcode/chaz.pbxuser b/The Cheat.xcode/chaz.pbxuser
deleted file mode 100644 (file)
index 8d2bd45..0000000
+++ /dev/null
@@ -1,4003 +0,0 @@
-// !$*UTF8*$!
-{
-       29B97313FDCFA39411CA2CEA = {
-               activeBuildStyle = 4A9504CDFFE6A4B311CA0CBA;
-               activeExecutable = 6ED806180641D21A002888F7;
-               activeTarget = 8D1107260486CEB800E47090;
-               addToTargets = (
-                       8D1107260486CEB800E47090,
-               );
-               breakpoints = (
-                       6EB35A0A07C9BEB0000347B9,
-               );
-               codeSenseManager = 6ED806220641D21D002888F7;
-               executables = (
-                       6ED806180641D21A002888F7,
-               );
-               perUserDictionary = {
-                       PBXConfiguration.PBXFileTableDataSource3.PBXErrorsWarningsDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXErrorsWarningsDataSource_LocationID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       20,
-                                       652,
-                                       348,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXErrorsWarningsDataSource_TypeID,
-                                       PBXErrorsWarningsDataSource_MessageID,
-                                       PBXErrorsWarningsDataSource_LocationID,
-                               );
-                       };
-                       PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       22,
-                                       1000,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXExecutablesDataSource_ActiveFlagID,
-                                       PBXExecutablesDataSource_NameID,
-                               );
-                       };
-                       PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       20,
-                                       715,
-                                       20,
-                                       128,
-                                       43,
-                                       43,
-                                       20,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXFileDataSource_FiletypeID,
-                                       PBXFileDataSource_Filename_ColumnID,
-                                       PBXFileDataSource_Built_ColumnID,
-                                       PBXFileDataSource_ObjectSize_ColumnID,
-                                       PBXFileDataSource_Errors_ColumnID,
-                                       PBXFileDataSource_Warnings_ColumnID,
-                                       PBXFileDataSource_Target_ColumnID,
-                               );
-                       };
-                       PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       504.2974,
-                                       506.2085,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXFindDataSource_MessageID,
-                                       PBXFindDataSource_LocationID,
-                               );
-                       };
-                       PBXConfiguration.PBXFileTableDataSource3.XCSCMDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       20,
-                                       20,
-                                       758,
-                                       20,
-                                       110,
-                                       43,
-                                       43,
-                                       20,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXFileDataSource_SCM_ColumnID,
-                                       PBXFileDataSource_FiletypeID,
-                                       PBXFileDataSource_Filename_ColumnID,
-                                       PBXFileDataSource_Built_ColumnID,
-                                       PBXFileDataSource_ObjectSize_ColumnID,
-                                       PBXFileDataSource_Errors_ColumnID,
-                                       PBXFileDataSource_Warnings_ColumnID,
-                                       PBXFileDataSource_Target_ColumnID,
-                               );
-                       };
-                       PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       20,
-                                       609,
-                                       77,
-                                       20,
-                                       129,
-                                       43,
-                                       43,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXFileDataSource_FiletypeID,
-                                       PBXFileDataSource_Filename_ColumnID,
-                                       PBXTargetDataSource_PrimaryAttribute,
-                                       PBXFileDataSource_Built_ColumnID,
-                                       PBXFileDataSource_ObjectSize_ColumnID,
-                                       PBXFileDataSource_Errors_ColumnID,
-                                       PBXFileDataSource_Warnings_ColumnID,
-                               );
-                       };
-                       PBXPerProjectTemplateStateSaveDate = 141110321;
-                       PBXPrepackagedSmartGroups_v2 = (
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       activationKey = OldTargetSmartGroup;
-                                       clz = PBXTargetSmartGroup;
-                                       description = "Displays all targets of the project.";
-                                       globalID = 1C37FABC04509CD000000102;
-                                       name = Targets;
-                                       preferences = {
-                                               image = Targets;
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXTargetSmartGroup2;
-                                       description = "Displays all targets of the project as well as nested build phases.";
-                                       globalID = 1C37FBAC04509CD000000102;
-                                       name = Targets;
-                                       preferences = {
-                                               image = Targets;
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXExecutablesSmartGroup;
-                                       description = "Displays all executables of the project.";
-                                       globalID = 1C37FAAC04509CD000000102;
-                                       name = Executables;
-                                       preferences = {
-                                               image = Executable;
-                                       };
-                               },
-                               {
-                                       " PBXTransientLocationAtTop " = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXErrorsWarningsSmartGroup;
-                                       description = "Displays files with errors or warnings.";
-                                       globalID = 1C08E77C0454961000C914BD;
-                                       name = "Errors and Warnings";
-                                       preferences = {
-                                               fnmatch = "";
-                                               image = WarningsErrors;
-                                               recursive = 1;
-                                               regex = "";
-                                               root = "<PROJECT>";
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXFilenameSmartGroup;
-                                       description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
-                                       globalID = 1CC0EA4004350EF90044410B;
-                                       name = "Implementation Files";
-                                       preferences = {
-                                               canSave = 1;
-                                               fnmatch = "";
-                                               image = SmartFolder;
-                                               isLeaf = 0;
-                                               recursive = 1;
-                                               regex = "?*\\.[mcMC]";
-                                               root = "<PROJECT>";
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXFilenameSmartGroup;
-                                       description = "This group displays Interface Builder NIB Files.";
-                                       globalID = 1CC0EA4004350EF90041110B;
-                                       name = "NIB Files";
-                                       preferences = {
-                                               canSave = 1;
-                                               fnmatch = "*.nib";
-                                               image = SmartFolder;
-                                               isLeaf = 0;
-                                               recursive = 1;
-                                               regex = "";
-                                               root = "<PROJECT>";
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = no;
-                                       absolutePathToBundle = "";
-                                       clz = PBXFindSmartGroup;
-                                       description = "Displays Find Results.";
-                                       globalID = 1C37FABC05509CD000000102;
-                                       name = "Find Results";
-                                       preferences = {
-                                               image = spyglass;
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = no;
-                                       absolutePathToBundle = "";
-                                       clz = PBXBookmarksSmartGroup;
-                                       description = "Displays Project Bookmarks.";
-                                       globalID = 1C37FABC05539CD112110102;
-                                       name = Bookmarks;
-                                       preferences = {
-                                               image = Bookmarks;
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = XCSCMSmartGroup;
-                                       description = "Displays files with interesting SCM status.";
-                                       globalID = E2644B35053B69B200211256;
-                                       name = SCM;
-                                       preferences = {
-                                               image = PBXRepository;
-                                               isLeaf = 0;
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXSymbolsSmartGroup;
-                                       description = "Displays all symbols for the project.";
-                                       globalID = 1C37FABC04509CD000100104;
-                                       name = "Project Symbols";
-                                       preferences = {
-                                               image = ProjectSymbols;
-                                               isLeaf = 1;
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXFilenameSmartGroup;
-                                       description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
-                                       globalID = PBXTemplateMarker;
-                                       name = "Simple Filter SmartGroup";
-                                       preferences = {
-                                               canSave = 1;
-                                               fnmatch = "*.nib";
-                                               image = SmartFolder;
-                                               isLeaf = 0;
-                                               recursive = 1;
-                                               regex = "";
-                                               root = "<PROJECT>";
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       absolutePathToBundle = "";
-                                       clz = PBXFilenameSmartGroup;
-                                       description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
-                                       globalID = PBXTemplateMarker;
-                                       name = "Simple Regular Expression SmartGroup";
-                                       preferences = {
-                                               canSave = 1;
-                                               fnmatch = "";
-                                               image = SmartFolder;
-                                               isLeaf = 0;
-                                               recursive = 1;
-                                               regex = "?*\\.[mcMC]";
-                                               root = "<PROJECT>";
-                                       };
-                               },
-                               {
-                                       PBXTransientLocationAtTop = bottom;
-                                       clz = XDDesignSmartGroup;
-                                       description = "Displays Xdesign models";
-                                       globalID = 2E4A936305E6979E00701470;
-                                       name = Design;
-                                       preferences = {
-                                               image = Design;
-                                               isLeaf = 0;
-                                       };
-                               },
-                       );
-                       PBXWorkspaceContents = (
-                               {
-                                       PBXProjectWorkspaceModule_StateKey_Rev39 = {
-                                               PBXProjectWorkspaceModule_DEGV_Geometry = {
-                                                       _collapsingFrameDimension = 0;
-                                                       _indexOfCollapsedView = 0;
-                                                       _percentageOfCollapsedView = 0;
-                                                       isCollapsed = yes;
-                                                       sizes = (
-                                                               "{{0, 0}, {1064, 159}}",
-                                                               "{{0, 159}, {1064, 652}}",
-                                                       );
-                                               };
-                                               PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = {
-                                                       BoundsStr = "{{0, 0}, {1049, 142}}";
-                                                       Rows = (
-                                                       );
-                                                       VisibleRectStr = "{{0, 0}, {1049, 142}}";
-                                               };
-                                               PBXProjectWorkspaceModule_EditorOpen = true;
-                                               PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = {
-                                                       PBXSplitModuleInNavigatorKey = {
-                                                               Split0 = {
-                                                                       bookmark = 6E138D8306C308BC001C688F;
-                                                                       history = (
-                                                                               6ED8074806423640002888F7,
-                                                                               6E63974C06434C0500BD3765,
-                                                                               6E63975006434C0500BD3765,
-                                                                               6ECDE0B5064452BF00B1DD8A,
-                                                                               6ED97BBD0646F82000CBF037,
-                                                                               6ED97BBE0646F82000CBF037,
-                                                                               6ED97BBF0646F82000CBF037,
-                                                                               6ED97BC00646F82000CBF037,
-                                                                               6ED97BC10646F82000CBF037,
-                                                                               6E71580C0648B7A800763517,
-                                                                               6E71580D0648B7A800763517,
-                                                                               6E71580E0648B7A800763517,
-                                                                               6E7158180648B7A800763517,
-                                                                               6EEA565C0673FEB1004A32F3,
-                                                                               6EB1D6A80674C02E00D17024,
-                                                                               6EB1D835067509C200D17024,
-                                                                               6EB1D836067509C200D17024,
-                                                                               6EB1D837067509C200D17024,
-                                                                               6E0E2A32068809AA00DA28BC,
-                                                                               6E0E2A33068809AA00DA28BC,
-                                                                               6E0E2A35068809AA00DA28BC,
-                                                                               6E0E2A38068809AA00DA28BC,
-                                                                               6EFFEF420691F9F100A30A6B,
-                                                                               6EFFEF4C0691F9F100A30A6B,
-                                                                               6EFFEF4E0691F9F100A30A6B,
-                                                                               6EFFEF530691F9F100A30A6B,
-                                                                               6EFFEFD906938D7B00A30A6B,
-                                                                               6EACCC980693D1F300A2F51D,
-                                                                               6E79C6F7069E17870072A42A,
-                                                                               6E79C6F8069E17870072A42A,
-                                                                               6E79C6FA069E17870072A42A,
-                                                                               6E79C6FB069E17870072A42A,
-                                                                               6E7614D106A6004A0051C301,
-                                                                               6E7614D306A6004A0051C301,
-                                                                               6E98A57006A7891F006A576D,
-                                                                               6EC3C2E006A9EAB2003E9C6A,
-                                                                               6EC3C2E306A9EAB2003E9C6A,
-                                                                               6EC3C2E406A9EAB2003E9C6A,
-                                                                               6EC3C2E806A9EAB2003E9C6A,
-                                                                               6EC3C2EF06A9EAB2003E9C6A,
-                                                                               6EC3C2F306A9EAB2003E9C6A,
-                                                                               6EC3C2F906A9EAB2003E9C6A,
-                                                                               6EC3C3B106AA1408003E9C6A,
-                                                                               6EC3C3B406AA1408003E9C6A,
-                                                                               6EC3C3B706AA1408003E9C6A,
-                                                                               6EEBBF2806B6F32D00519EA3,
-                                                                               6EEBBF2906B6F32D00519EA3,
-                                                                               6EEBBF2D06B6F32D00519EA3,
-                                                                               6EEBBF2F06B6F32D00519EA3,
-                                                                               6EEBBF3406B6F32D00519EA3,
-                                                                               6E31A17506B724D300E40AB3,
-                                                                               6E31A17606B724D300E40AB3,
-                                                                               6E31A17B06B724D300E40AB3,
-                                                                               6E31A18006B724D300E40AB3,
-                                                                               6E31A18106B724D300E40AB3,
-                                                                               6E31A1D206B74CBB00E40AB3,
-                                                                               6E795F6306B854DA0053C250,
-                                                                               6E795F6406B854DA0053C250,
-                                                                               6EEA097006BF83D300770544,
-                                                                               6EEA097406BF83D300770544,
-                                                                               6EEA097706BF83D300770544,
-                                                                               6EEA09E106BFDBED00770544,
-                                                                               6EEA09E206BFDBED00770544,
-                                                                               6EEA09E306BFDBED00770544,
-                                                                               6EEA09E406BFDBED00770544,
-                                                                               6EEA09E606BFDBED00770544,
-                                                                               6EEA09E706BFDBED00770544,
-                                                                               6EEA09E806BFDBED00770544,
-                                                                               6EEA09EA06BFDBED00770544,
-                                                                               6EEA09EC06BFDBED00770544,
-                                                                               6EEA09EE06BFDBED00770544,
-                                                                               6EEA09EF06BFDBED00770544,
-                                                                               6E138B0606C17081001C688F,
-                                                                               6E138B0706C17081001C688F,
-                                                                               6E138B0806C17081001C688F,
-                                                                               6E138B0A06C17081001C688F,
-                                                                               6E138B0C06C17081001C688F,
-                                                                               6E138B0D06C17081001C688F,
-                                                                               6E138B0F06C17081001C688F,
-                                                                               6E138B1606C17081001C688F,
-                                                                               6E138B1706C17081001C688F,
-                                                                               6E138B1806C17081001C688F,
-                                                                               6E138B1906C17081001C688F,
-                                                                               6E138B1A06C17081001C688F,
-                                                                               6E138BC006C1851D001C688F,
-                                                                               6E138BC206C1851D001C688F,
-                                                                               6E138BC406C1851D001C688F,
-                                                                               6E138C8006C2240E001C688F,
-                                                                               6E138C8106C2240E001C688F,
-                                                                               6E138C8206C2240E001C688F,
-                                                                               6E138C8406C2240E001C688F,
-                                                                               6E138C8506C2240E001C688F,
-                                                                               6E138C8606C2240E001C688F,
-                                                                               6E138C8706C2240E001C688F,
-                                                                               6E138C8806C2240E001C688F,
-                                                                               6E138C8A06C2240E001C688F,
-                                                                               6E138C8B06C2240E001C688F,
-                                                                               6E138C8C06C2240E001C688F,
-                                                                               6E138C8D06C2240E001C688F,
-                                                                               6E138C8F06C2240E001C688F,
-                                                                               6E138C9006C2240E001C688F,
-                                                                               6E138C9106C2240E001C688F,
-                                                                               6E138C9206C2240E001C688F,
-                                                                               6E138C9306C2240E001C688F,
-                                                                               6E138C9406C2240E001C688F,
-                                                                               6E138C9506C2240E001C688F,
-                                                                               6E138C9606C2240E001C688F,
-                                                                               6E138C9706C2240E001C688F,
-                                                                               6E138C9806C2240E001C688F,
-                                                                               6E138C9906C2240E001C688F,
-                                                                               6E138C9B06C2240E001C688F,
-                                                                               6E138C9D06C2240E001C688F,
-                                                                               6E138C9E06C2240E001C688F,
-                                                                               6E138C9F06C2240E001C688F,
-                                                                               6E138CA006C2240E001C688F,
-                                                                               6E138CA106C2240E001C688F,
-                                                                               6E138D4C06C308BC001C688F,
-                                                                               6E138D4D06C308BC001C688F,
-                                                                               6E138D4E06C308BC001C688F,
-                                                                               6E138D4F06C308BC001C688F,
-                                                                               6E138D5006C308BC001C688F,
-                                                                               6E138D5106C308BC001C688F,
-                                                                               6E138D5206C308BC001C688F,
-                                                                               6E138D5306C308BC001C688F,
-                                                                               6E138D5406C308BC001C688F,
-                                                                       );
-                                                                       prevStack = (
-                                                                               6ED806E50641DF2F002888F7,
-                                                                               6ED8074C06423640002888F7,
-                                                                               6ED8074D06423640002888F7,
-                                                                               6ED8074E06423640002888F7,
-                                                                               6ED8074F06423640002888F7,
-                                                                               6ED8075106423640002888F7,
-                                                                               6ED8075606423640002888F7,
-                                                                               6E63975706434C0500BD3765,
-                                                                               6E63975806434C0500BD3765,
-                                                                               6E63975906434C0500BD3765,
-                                                                               6E6397990643638300BD3765,
-                                                                               6ECDE0BA064452BF00B1DD8A,
-                                                                               6ED97BD40646F82000CBF037,
-                                                                               6ED97BD50646F82000CBF037,
-                                                                               6ED97BD90646F82000CBF037,
-                                                                               6ED97BDA0646F82000CBF037,
-                                                                               6ED97BDB0646F82000CBF037,
-                                                                               6ED97BDC0646F82000CBF037,
-                                                                               6ED97BDD0646F82000CBF037,
-                                                                               6ED97BDE0646F82000CBF037,
-                                                                               6ED97BEA0646F82000CBF037,
-                                                                               6E7158380648B7A800763517,
-                                                                               6EEA56700673FEB1004A32F3,
-                                                                               6EEA56710673FEB1004A32F3,
-                                                                               6EEA56750673FEB1004A32F3,
-                                                                               6EB1D6F20674C02E00D17024,
-                                                                               6E0E2A3B068809AA00DA28BC,
-                                                                               6EFFEF550691F9F100A30A6B,
-                                                                               6EFFEF850691F9F100A30A6B,
-                                                                               6EFFEFA00691F9F100A30A6B,
-                                                                               6EFFEFB80691F9F100A30A6B,
-                                                                               6EFFEFEE06938D7B00A30A6B,
-                                                                               6EB94A030693AB32009B1DA8,
-                                                                               6EACCC9C0693D1F300A2F51D,
-                                                                               6E79C709069E17870072A42A,
-                                                                               6E79C70C069E17870072A42A,
-                                                                               6E79C70D069E17870072A42A,
-                                                                               6E7614DA06A6004A0051C301,
-                                                                               6E98A55D06A744A7006A576D,
-                                                                               6E98A58006A7891F006A576D,
-                                                                               6EC3C2FD06A9EAB2003E9C6A,
-                                                                               6EC3C30406A9EAB2003E9C6A,
-                                                                               6EC3C30606A9EAB2003E9C6A,
-                                                                               6EC3C33A06A9EAB2003E9C6A,
-                                                                               6EC3C36306A9EAB2003E9C6A,
-                                                                               6EC3C3CA06AA1408003E9C6A,
-                                                                               6E72B25106ACBAC600951D50,
-                                                                               6E72B25A06ACBAC600951D50,
-                                                                               6EEBBF5706B6F32D00519EA3,
-                                                                               6EEBBF5806B6F32D00519EA3,
-                                                                               6EEBBF6006B6F32D00519EA3,
-                                                                               6EEBBF6506B6F32D00519EA3,
-                                                                               6E31A18606B724D300E40AB3,
-                                                                               6E31A18A06B724D300E40AB3,
-                                                                               6E31A19006B724D300E40AB3,
-                                                                               6E31A19C06B724D300E40AB3,
-                                                                               6E31A1A306B724D300E40AB3,
-                                                                               6E31A1AA06B724D300E40AB3,
-                                                                               6E31A1E406B74CBB00E40AB3,
-                                                                               6E795F6806B854DA0053C250,
-                                                                               6E795F6906B854DA0053C250,
-                                                                               6EEA098406BF83D300770544,
-                                                                               6EEA098506BF83D300770544,
-                                                                               6EEA098606BF83D300770544,
-                                                                               6EEA098906BF83D300770544,
-                                                                               6EEA0A0206BFDBED00770544,
-                                                                               6EEA0A0706BFDBED00770544,
-                                                                               6EEA0A2B06BFDBED00770544,
-                                                                               6E138AD006C0913C001C688F,
-                                                                               6E138AD306C0913C001C688F,
-                                                                               6E138AD706C0913C001C688F,
-                                                                               6E138ADA06C0913C001C688F,
-                                                                               6E138B1E06C17081001C688F,
-                                                                               6E138B1F06C17081001C688F,
-                                                                               6E138B2006C17081001C688F,
-                                                                               6E138B2106C17081001C688F,
-                                                                               6E138B2206C17081001C688F,
-                                                                               6E138B2406C17081001C688F,
-                                                                               6E138B2606C17081001C688F,
-                                                                               6E138B2E06C17081001C688F,
-                                                                               6E138B2F06C17081001C688F,
-                                                                               6E138B3006C17081001C688F,
-                                                                               6E138B3106C17081001C688F,
-                                                                               6E138B3206C17081001C688F,
-                                                                               6E138B3306C17081001C688F,
-                                                                               6E138B3406C17081001C688F,
-                                                                               6E138B3506C17081001C688F,
-                                                                               6E138B3606C17081001C688F,
-                                                                               6E138B3706C17081001C688F,
-                                                                               6E138B3806C17081001C688F,
-                                                                               6E138B3906C17081001C688F,
-                                                                               6E138B3A06C17081001C688F,
-                                                                               6E138B3B06C17081001C688F,
-                                                                               6E138B3C06C17081001C688F,
-                                                                               6E138B3D06C17081001C688F,
-                                                                               6E138B3E06C17081001C688F,
-                                                                               6E138B3F06C17081001C688F,
-                                                                               6E138B4006C17081001C688F,
-                                                                               6E138B4106C17081001C688F,
-                                                                               6E138B4206C17081001C688F,
-                                                                               6E138B4306C17081001C688F,
-                                                                               6E138B4506C17081001C688F,
-                                                                               6E138B4906C17081001C688F,
-                                                                               6E138B5006C17081001C688F,
-                                                                               6E138B5206C17081001C688F,
-                                                                               6E138B5306C17081001C688F,
-                                                                               6E138B5406C17081001C688F,
-                                                                               6E138B5B06C17081001C688F,
-                                                                               6E138B5D06C17081001C688F,
-                                                                               6E138B6006C17081001C688F,
-                                                                               6E138B6A06C17081001C688F,
-                                                                               6E138B6D06C17081001C688F,
-                                                                               6E138B6F06C17081001C688F,
-                                                                               6E138B7106C17081001C688F,
-                                                                               6E138B7306C17081001C688F,
-                                                                               6E138B7506C17081001C688F,
-                                                                               6E138B7706C17081001C688F,
-                                                                               6E138B7906C17081001C688F,
-                                                                               6E138B7D06C17081001C688F,
-                                                                               6E138B8206C17081001C688F,
-                                                                               6E138B8306C17081001C688F,
-                                                                               6E138B8406C17081001C688F,
-                                                                               6E138B8506C17081001C688F,
-                                                                               6E138B8606C17081001C688F,
-                                                                               6E138B8706C17081001C688F,
-                                                                               6E138B8806C17081001C688F,
-                                                                               6E138B8906C17081001C688F,
-                                                                               6E138B8A06C17081001C688F,
-                                                                               6E138B8B06C17081001C688F,
-                                                                               6E138B8C06C17081001C688F,
-                                                                               6E138B8D06C17081001C688F,
-                                                                               6E138BCC06C1851D001C688F,
-                                                                               6E138BCF06C1851D001C688F,
-                                                                               6E138BD006C1851D001C688F,
-                                                                               6E138BD306C1851D001C688F,
-                                                                               6E138BD406C1851D001C688F,
-                                                                               6E138BDA06C1851D001C688F,
-                                                                               6E138BDE06C1851D001C688F,
-                                                                               6E138BE006C1851D001C688F,
-                                                                               6E138BE206C1851D001C688F,
-                                                                               6E138BE506C1851D001C688F,
-                                                                               6E138BE706C1851D001C688F,
-                                                                               6E138BE906C1851D001C688F,
-                                                                               6E138BEB06C1851D001C688F,
-                                                                               6E138BEE06C1851D001C688F,
-                                                                               6E138CA306C2240E001C688F,
-                                                                               6E138CA406C2240E001C688F,
-                                                                               6E138CA506C2240E001C688F,
-                                                                               6E138CA606C2240E001C688F,
-                                                                               6E138CA706C2240E001C688F,
-                                                                               6E138CA806C2240E001C688F,
-                                                                               6E138CA906C2240E001C688F,
-                                                                               6E138CAA06C2240E001C688F,
-                                                                               6E138CAB06C2240E001C688F,
-                                                                               6E138CAC06C2240E001C688F,
-                                                                               6E138CAD06C2240E001C688F,
-                                                                               6E138CAE06C2240E001C688F,
-                                                                               6E138CAF06C2240E001C688F,
-                                                                               6E138CB006C2240E001C688F,
-                                                                               6E138CB106C2240E001C688F,
-                                                                               6E138CB206C2240E001C688F,
-                                                                               6E138CB306C2240E001C688F,
-                                                                               6E138CB406C2240E001C688F,
-                                                                               6E138CB506C2240E001C688F,
-                                                                               6E138CB606C2240E001C688F,
-                                                                               6E138CB706C2240E001C688F,
-                                                                               6E138CB806C2240E001C688F,
-                                                                               6E138CB906C2240E001C688F,
-                                                                               6E138CBA06C2240E001C688F,
-                                                                               6E138CBB06C2240E001C688F,
-                                                                               6E138CBC06C2240E001C688F,
-                                                                               6E138CBD06C2240E001C688F,
-                                                                               6E138CBE06C2240E001C688F,
-                                                                               6E138CBF06C2240E001C688F,
-                                                                               6E138CC006C2240E001C688F,
-                                                                               6E138CC106C2240E001C688F,
-                                                                               6E138CC206C2240E001C688F,
-                                                                               6E138CC306C2240E001C688F,
-                                                                               6E138CC406C2240E001C688F,
-                                                                               6E138CC506C2240E001C688F,
-                                                                               6E138CC606C2240E001C688F,
-                                                                               6E138CC706C2240E001C688F,
-                                                                               6E138CC806C2240E001C688F,
-                                                                               6E138CC906C2240E001C688F,
-                                                                               6E138CCA06C2240E001C688F,
-                                                                               6E138CCB06C2240E001C688F,
-                                                                               6E138CCC06C2240E001C688F,
-                                                                               6E138CCD06C2240E001C688F,
-                                                                               6E138CCE06C2240E001C688F,
-                                                                               6E138CCF06C2240E001C688F,
-                                                                               6E138CD006C2240E001C688F,
-                                                                               6E138CD106C2240E001C688F,
-                                                                               6E138CD206C2240E001C688F,
-                                                                               6E138CD406C2240E001C688F,
-                                                                               6E138CD506C2240E001C688F,
-                                                                               6E138CD606C2240E001C688F,
-                                                                               6E138CD706C2240E001C688F,
-                                                                               6E138CD806C2240E001C688F,
-                                                                               6E138CD906C2240E001C688F,
-                                                                               6E138CDA06C2240E001C688F,
-                                                                               6E138CDB06C2240E001C688F,
-                                                                               6E138CDC06C2240E001C688F,
-                                                                               6E138CDD06C2240E001C688F,
-                                                                               6E138CDE06C2240E001C688F,
-                                                                               6E138CDF06C2240E001C688F,
-                                                                               6E138CE106C2240E001C688F,
-                                                                               6E138CE206C2240E001C688F,
-                                                                               6E138CE406C2240E001C688F,
-                                                                               6E138CE506C2240E001C688F,
-                                                                               6E138CE606C2240E001C688F,
-                                                                               6E138CE806C2240E001C688F,
-                                                                               6E138CEA06C2240E001C688F,
-                                                                               6E138CEB06C2240E001C688F,
-                                                                               6E138CED06C2240E001C688F,
-                                                                               6E138CEE06C2240E001C688F,
-                                                                               6E138CEF06C2240E001C688F,
-                                                                               6E138CF006C2240E001C688F,
-                                                                               6E138CF106C2240E001C688F,
-                                                                               6E138CF306C2240E001C688F,
-                                                                               6E138CF406C2240E001C688F,
-                                                                               6E138CF506C2240E001C688F,
-                                                                               6E138CFA06C2240E001C688F,
-                                                                               6E138CFB06C2240E001C688F,
-                                                                               6E138CFC06C2240E001C688F,
-                                                                               6E138CFD06C2240E001C688F,
-                                                                               6E138CFE06C2240E001C688F,
-                                                                               6E138CFF06C2240E001C688F,
-                                                                               6E138D0006C2240E001C688F,
-                                                                               6E138D0106C2240E001C688F,
-                                                                               6E138D0206C2240E001C688F,
-                                                                               6E138D0306C2240E001C688F,
-                                                                               6E138D0406C2240E001C688F,
-                                                                               6E138D0506C2240E001C688F,
-                                                                               6E138D0606C2240E001C688F,
-                                                                               6E138D0706C2240E001C688F,
-                                                                               6E138D0806C2240E001C688F,
-                                                                               6E138D0906C2240E001C688F,
-                                                                               6E138D0A06C2240E001C688F,
-                                                                               6E138D0C06C2240E001C688F,
-                                                                               6E138D0D06C2240E001C688F,
-                                                                               6E138D0E06C2240E001C688F,
-                                                                               6E138D0F06C2240E001C688F,
-                                                                               6E138D1006C2240E001C688F,
-                                                                               6E138D1106C2240E001C688F,
-                                                                               6E138D1206C2240E001C688F,
-                                                                               6E138D1306C2240E001C688F,
-                                                                               6E138D1406C2240E001C688F,
-                                                                               6E138D1606C2240E001C688F,
-                                                                               6E138D1706C2240E001C688F,
-                                                                               6E138D1806C2240E001C688F,
-                                                                               6E138D1906C2240E001C688F,
-                                                                               6E138D1B06C2240E001C688F,
-                                                                               6E138D1E06C2240E001C688F,
-                                                                               6E138D1F06C2240E001C688F,
-                                                                               6E138D2006C2240E001C688F,
-                                                                               6E138D2106C2240E001C688F,
-                                                                               6E138D2206C2240E001C688F,
-                                                                               6E138D2306C2240E001C688F,
-                                                                               6E138D2406C2240E001C688F,
-                                                                               6E138D2506C2240E001C688F,
-                                                                               6E138D2606C2240E001C688F,
-                                                                               6E138D2706C2240E001C688F,
-                                                                               6E138D2A06C2240E001C688F,
-                                                                               6E138D2C06C2240E001C688F,
-                                                                               6E138D2D06C2240E001C688F,
-                                                                               6E138D2F06C2240E001C688F,
-                                                                               6E138D3006C2240E001C688F,
-                                                                               6E138D3106C2240E001C688F,
-                                                                               6E138D5506C308BC001C688F,
-                                                                               6E138D5606C308BC001C688F,
-                                                                               6E138D5706C308BC001C688F,
-                                                                               6E138D5806C308BC001C688F,
-                                                                               6E138D5906C308BC001C688F,
-                                                                               6E138D5A06C308BC001C688F,
-                                                                               6E138D5B06C308BC001C688F,
-                                                                               6E138D5C06C308BC001C688F,
-                                                                               6E138D5D06C308BC001C688F,
-                                                                               6E138D5E06C308BC001C688F,
-                                                                               6E138D5F06C308BC001C688F,
-                                                                               6E138D6006C308BC001C688F,
-                                                                               6E138D6106C308BC001C688F,
-                                                                               6E138D6206C308BC001C688F,
-                                                                               6E138D6306C308BC001C688F,
-                                                                               6E138D6406C308BC001C688F,
-                                                                               6E138D6506C308BC001C688F,
-                                                                               6E138D6606C308BC001C688F,
-                                                                               6E138D6706C308BC001C688F,
-                                                                               6E138D6806C308BC001C688F,
-                                                                               6E138D6906C308BC001C688F,
-                                                                               6E138D6A06C308BC001C688F,
-                                                                               6E138D6B06C308BC001C688F,
-                                                                               6E138D6C06C308BC001C688F,
-                                                                               6E138D6D06C308BC001C688F,
-                                                                               6E138D6E06C308BC001C688F,
-                                                                               6E138D6F06C308BC001C688F,
-                                                                               6E138D7006C308BC001C688F,
-                                                                               6E138D7106C308BC001C688F,
-                                                                               6E138D7206C308BC001C688F,
-                                                                               6E138D7306C308BC001C688F,
-                                                                               6E138D7406C308BC001C688F,
-                                                                               6E138D7506C308BC001C688F,
-                                                                               6E138D7606C308BC001C688F,
-                                                                               6E138D7706C308BC001C688F,
-                                                                               6E138D7806C308BC001C688F,
-                                                                               6E138D7906C308BC001C688F,
-                                                                               6E138D7A06C308BC001C688F,
-                                                                               6E138D7B06C308BC001C688F,
-                                                                               6E138D7C06C308BC001C688F,
-                                                                               6E138D7D06C308BC001C688F,
-                                                                               6E138D7E06C308BC001C688F,
-                                                                               6E138D7F06C308BC001C688F,
-                                                                               6E138D8006C308BC001C688F,
-                                                                               6E138D8106C308BC001C688F,
-                                                                               6E138D8206C308BC001C688F,
-                                                                       );
-                                                               };
-                                                               SplitCount = 1;
-                                                       };
-                                               };
-                                               PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
-                                                       PBXProjectWorkspaceModule_SGTM_Geometry = {
-                                                               _collapsingFrameDimension = 0;
-                                                               _indexOfCollapsedView = 0;
-                                                               _percentageOfCollapsedView = 0;
-                                                               sizes = (
-                                                                       "{{0, 0}, {216, 811}}",
-                                                                       "{{216, 0}, {1064, 811}}",
-                                                               );
-                                                       };
-                                               };
-                                               PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {1064, 159}}";
-                                               PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 159}, {1064, 652}}";
-                                               PBXProjectWorkspaceModule_OldSuperviewFrame = "{{216, 0}, {1064, 811}}";
-                                               PBXProjectWorkspaceModule_SGTM = {
-                                                       PBXBottomSmartGroupGIDs = (
-                                                               1C37FBAC04509CD000000102,
-                                                               1C37FAAC04509CD000000102,
-                                                               1C08E77C0454961000C914BD,
-                                                               1CC0EA4004350EF90044410B,
-                                                               1CC0EA4004350EF90041110B,
-                                                               1C37FABC05509CD000000102,
-                                                               1C37FABC05539CD112110102,
-                                                               E2644B35053B69B200211256,
-                                                               1C37FABC04509CD000100104,
-                                                       );
-                                                       PBXSmartGroupTreeModuleColumnData = {
-                                                               PBXSmartGroupTreeModuleColumnWidthsKey = (
-                                                                       199,
-                                                               );
-                                                               PBXSmartGroupTreeModuleColumnsKey_v4 = (
-                                                                       MainColumn,
-                                                               );
-                                                       };
-                                                       PBXSmartGroupTreeModuleOutlineStateKey_v7 = {
-                                                               PBXSmartGroupTreeModuleOutlineStateExpansionKey = (
-                                                                       29B97314FDCFA39411CA2CEA,
-                                                                       080E96DDFE201D6D7F000001,
-                                                                       6E98A54A06A73E37006A576D,
-                                                                       6ED806580641D343002888F7,
-                                                                       6ED806700641D3AC002888F7,
-                                                                       29B97315FDCFA39411CA2CEA,
-                                                                       29B97317FDCFA39411CA2CEA,
-                                                                       1C37FBAC04509CD000000102,
-                                                               );
-                                                               PBXSmartGroupTreeModuleOutlineStateSelectionKey = (
-                                                                       (
-                                                                               56,
-                                                                       ),
-                                                               );
-                                                               PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 278}, {199, 793}}";
-                                                       };
-                                                       PBXTopSmartGroupGIDs = (
-                                                       );
-                                               };
-                                       };
-                               },
-                       );
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXBuildResultsModule" = {
-                       };
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugCLIModule" = {
-                       };
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugSessionModule" = {
-                               Debugger = {
-                                       HorizontalSplitView = {
-                                               _collapsingFrameDimension = 0;
-                                               _indexOfCollapsedView = 0;
-                                               _percentageOfCollapsedView = 0;
-                                               isCollapsed = yes;
-                                               sizes = (
-                                                       "{{0, 0}, {287, 502}}",
-                                                       "{{0, 502}, {287, 163}}",
-                                               );
-                                       };
-                                       VerticalSplitView = {
-                                               _collapsingFrameDimension = 0;
-                                               _indexOfCollapsedView = 0;
-                                               _percentageOfCollapsedView = 0;
-                                               isCollapsed = yes;
-                                               sizes = (
-                                                       "{{0, 0}, {287, 665}}",
-                                                       "{{287, 0}, {993, 665}}",
-                                               );
-                                       };
-                               };
-                               LauncherConfigVersion = 8;
-                       };
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXNavigatorGroup" = {
-                               PBXSplitModuleInNavigatorKey = {
-                                       SplitCount = 1;
-                               };
-                       };
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectFindModule" = {
-                       };
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = {
-                               PBXProjectWorkspaceModule_StateKey_Rev39 = {
-                                       PBXProjectWorkspaceModule_DEGV_Geometry = {
-                                               _collapsingFrameDimension = 0;
-                                               _indexOfCollapsedView = 0;
-                                               _percentageOfCollapsedView = 0;
-                                               isCollapsed = yes;
-                                               sizes = (
-                                                       "{{0, 0}, {1064, 159}}",
-                                                       "{{0, 159}, {1064, 652}}",
-                                               );
-                                       };
-                                       PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = {
-                                               BoundsStr = "{{0, 0}, {1049, 142}}";
-                                               Rows = (
-                                                       0,
-                                               );
-                                               VisibleRectStr = "{{0, 0}, {1049, 142}}";
-                                       };
-                                       PBXProjectWorkspaceModule_EditorOpen = true;
-                                       PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = {
-                                               PBXSplitModuleInNavigatorKey = {
-                                                       Split0 = {
-                                                               bookmark = 6E138D3906C22413001C688F;
-                                                               history = (
-                                                                       6ED8074806423640002888F7,
-                                                                       6E63974C06434C0500BD3765,
-                                                                       6E63975006434C0500BD3765,
-                                                                       6ECDE0B5064452BF00B1DD8A,
-                                                                       6ED97BBD0646F82000CBF037,
-                                                                       6ED97BBE0646F82000CBF037,
-                                                                       6ED97BBF0646F82000CBF037,
-                                                                       6ED97BC00646F82000CBF037,
-                                                                       6ED97BC10646F82000CBF037,
-                                                                       6E71580C0648B7A800763517,
-                                                                       6E71580D0648B7A800763517,
-                                                                       6E71580E0648B7A800763517,
-                                                                       6E7158180648B7A800763517,
-                                                                       6EEA565C0673FEB1004A32F3,
-                                                                       6EB1D6A80674C02E00D17024,
-                                                                       6EB1D835067509C200D17024,
-                                                                       6EB1D836067509C200D17024,
-                                                                       6EB1D837067509C200D17024,
-                                                                       6E0E2A32068809AA00DA28BC,
-                                                                       6E0E2A33068809AA00DA28BC,
-                                                                       6E0E2A35068809AA00DA28BC,
-                                                                       6E0E2A38068809AA00DA28BC,
-                                                                       6EFFEF420691F9F100A30A6B,
-                                                                       6EFFEF4C0691F9F100A30A6B,
-                                                                       6EFFEF4E0691F9F100A30A6B,
-                                                                       6EFFEF530691F9F100A30A6B,
-                                                                       6EFFEFD906938D7B00A30A6B,
-                                                                       6EACCC980693D1F300A2F51D,
-                                                                       6E79C6F7069E17870072A42A,
-                                                                       6E79C6F8069E17870072A42A,
-                                                                       6E79C6FA069E17870072A42A,
-                                                                       6E79C6FB069E17870072A42A,
-                                                                       6E7614D106A6004A0051C301,
-                                                                       6E7614D306A6004A0051C301,
-                                                                       6E98A57006A7891F006A576D,
-                                                                       6EC3C2E006A9EAB2003E9C6A,
-                                                                       6EC3C2E306A9EAB2003E9C6A,
-                                                                       6EC3C2E406A9EAB2003E9C6A,
-                                                                       6EC3C2E806A9EAB2003E9C6A,
-                                                                       6EC3C2EF06A9EAB2003E9C6A,
-                                                                       6EC3C2F306A9EAB2003E9C6A,
-                                                                       6EC3C2F406A9EAB2003E9C6A,
-                                                                       6EC3C2F906A9EAB2003E9C6A,
-                                                                       6EC3C3B106AA1408003E9C6A,
-                                                                       6EC3C3B406AA1408003E9C6A,
-                                                                       6EC3C3B706AA1408003E9C6A,
-                                                                       6EEBBF2806B6F32D00519EA3,
-                                                                       6EEBBF2906B6F32D00519EA3,
-                                                                       6EEBBF2D06B6F32D00519EA3,
-                                                                       6EEBBF2F06B6F32D00519EA3,
-                                                                       6EEBBF3406B6F32D00519EA3,
-                                                                       6E31A17506B724D300E40AB3,
-                                                                       6E31A17606B724D300E40AB3,
-                                                                       6E31A17B06B724D300E40AB3,
-                                                                       6E31A18006B724D300E40AB3,
-                                                                       6E31A18106B724D300E40AB3,
-                                                                       6E31A1D206B74CBB00E40AB3,
-                                                                       6E795F6306B854DA0053C250,
-                                                                       6E795F6406B854DA0053C250,
-                                                                       6EEA097006BF83D300770544,
-                                                                       6EEA097406BF83D300770544,
-                                                                       6EEA097706BF83D300770544,
-                                                                       6EEA09E106BFDBED00770544,
-                                                                       6EEA09E206BFDBED00770544,
-                                                                       6EEA09E306BFDBED00770544,
-                                                                       6EEA09E406BFDBED00770544,
-                                                                       6EEA09E606BFDBED00770544,
-                                                                       6EEA09E706BFDBED00770544,
-                                                                       6EEA09E806BFDBED00770544,
-                                                                       6EEA09EA06BFDBED00770544,
-                                                                       6EEA09EC06BFDBED00770544,
-                                                                       6EEA09EE06BFDBED00770544,
-                                                                       6EEA09EF06BFDBED00770544,
-                                                                       6E138B0606C17081001C688F,
-                                                                       6E138B0706C17081001C688F,
-                                                                       6E138B0806C17081001C688F,
-                                                                       6E138B0A06C17081001C688F,
-                                                                       6E138B0C06C17081001C688F,
-                                                                       6E138B0D06C17081001C688F,
-                                                                       6E138B0F06C17081001C688F,
-                                                                       6E138B1206C17081001C688F,
-                                                                       6E138B1606C17081001C688F,
-                                                                       6E138B1706C17081001C688F,
-                                                                       6E138B1806C17081001C688F,
-                                                                       6E138B1906C17081001C688F,
-                                                                       6E138B1A06C17081001C688F,
-                                                                       6E138BBE06C1851D001C688F,
-                                                                       6E138BC006C1851D001C688F,
-                                                                       6E138BC206C1851D001C688F,
-                                                                       6E138BC406C1851D001C688F,
-                                                                       6E138C8006C2240E001C688F,
-                                                                       6E138C8106C2240E001C688F,
-                                                                       6E138C8206C2240E001C688F,
-                                                                       6E138C8306C2240E001C688F,
-                                                                       6E138C8406C2240E001C688F,
-                                                                       6E138C8506C2240E001C688F,
-                                                                       6E138C8606C2240E001C688F,
-                                                                       6E138C8706C2240E001C688F,
-                                                                       6E138C8806C2240E001C688F,
-                                                                       6E138C8906C2240E001C688F,
-                                                                       6E138C8A06C2240E001C688F,
-                                                                       6E138C8B06C2240E001C688F,
-                                                                       6E138C8C06C2240E001C688F,
-                                                                       6E138C8D06C2240E001C688F,
-                                                                       6E138C8E06C2240E001C688F,
-                                                                       6E138C8F06C2240E001C688F,
-                                                                       6E138C9006C2240E001C688F,
-                                                                       6E138C9106C2240E001C688F,
-                                                                       6E138C9206C2240E001C688F,
-                                                                       6E138C9306C2240E001C688F,
-                                                                       6E138C9406C2240E001C688F,
-                                                                       6E138C9506C2240E001C688F,
-                                                                       6E138C9606C2240E001C688F,
-                                                                       6E138C9706C2240E001C688F,
-                                                                       6E138C9806C2240E001C688F,
-                                                                       6E138C9906C2240E001C688F,
-                                                                       6E138C9A06C2240E001C688F,
-                                                                       6E138C9B06C2240E001C688F,
-                                                                       6E138C9C06C2240E001C688F,
-                                                                       6E138C9D06C2240E001C688F,
-                                                                       6E138C9E06C2240E001C688F,
-                                                                       6E138C9F06C2240E001C688F,
-                                                                       6E138CA006C2240E001C688F,
-                                                                       6E138CA106C2240E001C688F,
-                                                                       6E138CA206C2240E001C688F,
-                                                               );
-                                                               nextStack = (
-                                                                       6E138D3206C2240E001C688F,
-                                                               );
-                                                               prevStack = (
-                                                                       6ED806E50641DF2F002888F7,
-                                                                       6ED8074C06423640002888F7,
-                                                                       6ED8074D06423640002888F7,
-                                                                       6ED8074E06423640002888F7,
-                                                                       6ED8074F06423640002888F7,
-                                                                       6ED8075106423640002888F7,
-                                                                       6ED8075606423640002888F7,
-                                                                       6E63975706434C0500BD3765,
-                                                                       6E63975806434C0500BD3765,
-                                                                       6E63975906434C0500BD3765,
-                                                                       6E6397990643638300BD3765,
-                                                                       6ECDE0BA064452BF00B1DD8A,
-                                                                       6ED97BD40646F82000CBF037,
-                                                                       6ED97BD50646F82000CBF037,
-                                                                       6ED97BD90646F82000CBF037,
-                                                                       6ED97BDA0646F82000CBF037,
-                                                                       6ED97BDB0646F82000CBF037,
-                                                                       6ED97BDC0646F82000CBF037,
-                                                                       6ED97BDD0646F82000CBF037,
-                                                                       6ED97BDE0646F82000CBF037,
-                                                                       6ED97BEA0646F82000CBF037,
-                                                                       6E7158380648B7A800763517,
-                                                                       6EEA56700673FEB1004A32F3,
-                                                                       6EEA56710673FEB1004A32F3,
-                                                                       6EEA56750673FEB1004A32F3,
-                                                                       6EB1D6F20674C02E00D17024,
-                                                                       6E0E2A3B068809AA00DA28BC,
-                                                                       6EFFEF550691F9F100A30A6B,
-                                                                       6EFFEF850691F9F100A30A6B,
-                                                                       6EFFEFA00691F9F100A30A6B,
-                                                                       6EFFEFB80691F9F100A30A6B,
-                                                                       6EFFEFEE06938D7B00A30A6B,
-                                                                       6EB94A030693AB32009B1DA8,
-                                                                       6EACCC9C0693D1F300A2F51D,
-                                                                       6E79C709069E17870072A42A,
-                                                                       6E79C70C069E17870072A42A,
-                                                                       6E79C70D069E17870072A42A,
-                                                                       6E7614DA06A6004A0051C301,
-                                                                       6E98A55D06A744A7006A576D,
-                                                                       6E98A58006A7891F006A576D,
-                                                                       6EC3C2FD06A9EAB2003E9C6A,
-                                                                       6EC3C30406A9EAB2003E9C6A,
-                                                                       6EC3C30606A9EAB2003E9C6A,
-                                                                       6EC3C33A06A9EAB2003E9C6A,
-                                                                       6EC3C36306A9EAB2003E9C6A,
-                                                                       6EC3C3CA06AA1408003E9C6A,
-                                                                       6EC3C3CD06AA1408003E9C6A,
-                                                                       6E72B25106ACBAC600951D50,
-                                                                       6E72B25A06ACBAC600951D50,
-                                                                       6EEBBF5706B6F32D00519EA3,
-                                                                       6EEBBF5806B6F32D00519EA3,
-                                                                       6EEBBF6006B6F32D00519EA3,
-                                                                       6EEBBF6506B6F32D00519EA3,
-                                                                       6E31A18606B724D300E40AB3,
-                                                                       6E31A18A06B724D300E40AB3,
-                                                                       6E31A19006B724D300E40AB3,
-                                                                       6E31A19C06B724D300E40AB3,
-                                                                       6E31A1A306B724D300E40AB3,
-                                                                       6E31A1AA06B724D300E40AB3,
-                                                                       6E31A1E406B74CBB00E40AB3,
-                                                                       6E795F6806B854DA0053C250,
-                                                                       6E795F6906B854DA0053C250,
-                                                                       6EEA098406BF83D300770544,
-                                                                       6EEA098506BF83D300770544,
-                                                                       6EEA098606BF83D300770544,
-                                                                       6EEA098906BF83D300770544,
-                                                                       6EEA0A0206BFDBED00770544,
-                                                                       6EEA0A0706BFDBED00770544,
-                                                                       6EEA0A2B06BFDBED00770544,
-                                                                       6E138AD006C0913C001C688F,
-                                                                       6E138AD306C0913C001C688F,
-                                                                       6E138AD706C0913C001C688F,
-                                                                       6E138ADA06C0913C001C688F,
-                                                                       6E138B1E06C17081001C688F,
-                                                                       6E138B1F06C17081001C688F,
-                                                                       6E138B2006C17081001C688F,
-                                                                       6E138B2106C17081001C688F,
-                                                                       6E138B2206C17081001C688F,
-                                                                       6E138B2406C17081001C688F,
-                                                                       6E138B2606C17081001C688F,
-                                                                       6E138B2E06C17081001C688F,
-                                                                       6E138B2F06C17081001C688F,
-                                                                       6E138B3006C17081001C688F,
-                                                                       6E138B3106C17081001C688F,
-                                                                       6E138B3206C17081001C688F,
-                                                                       6E138B3306C17081001C688F,
-                                                                       6E138B3406C17081001C688F,
-                                                                       6E138B3506C17081001C688F,
-                                                                       6E138B3606C17081001C688F,
-                                                                       6E138B3706C17081001C688F,
-                                                                       6E138B3806C17081001C688F,
-                                                                       6E138B3906C17081001C688F,
-                                                                       6E138B3A06C17081001C688F,
-                                                                       6E138B3B06C17081001C688F,
-                                                                       6E138B3C06C17081001C688F,
-                                                                       6E138B3D06C17081001C688F,
-                                                                       6E138B3E06C17081001C688F,
-                                                                       6E138B3F06C17081001C688F,
-                                                                       6E138B4006C17081001C688F,
-                                                                       6E138B4106C17081001C688F,
-                                                                       6E138B4206C17081001C688F,
-                                                                       6E138B4306C17081001C688F,
-                                                                       6E138B4506C17081001C688F,
-                                                                       6E138B4906C17081001C688F,
-                                                                       6E138B5006C17081001C688F,
-                                                                       6E138B5206C17081001C688F,
-                                                                       6E138B5306C17081001C688F,
-                                                                       6E138B5406C17081001C688F,
-                                                                       6E138B5B06C17081001C688F,
-                                                                       6E138B5D06C17081001C688F,
-                                                                       6E138B6006C17081001C688F,
-                                                                       6E138B6A06C17081001C688F,
-                                                                       6E138B6D06C17081001C688F,
-                                                                       6E138B6F06C17081001C688F,
-                                                                       6E138B7106C17081001C688F,
-                                                                       6E138B7306C17081001C688F,
-                                                                       6E138B7506C17081001C688F,
-                                                                       6E138B7706C17081001C688F,
-                                                                       6E138B7906C17081001C688F,
-                                                                       6E138B7D06C17081001C688F,
-                                                                       6E138B7E06C17081001C688F,
-                                                                       6E138B8006C17081001C688F,
-                                                                       6E138B8206C17081001C688F,
-                                                                       6E138B8306C17081001C688F,
-                                                                       6E138B8406C17081001C688F,
-                                                                       6E138B8506C17081001C688F,
-                                                                       6E138B8606C17081001C688F,
-                                                                       6E138B8706C17081001C688F,
-                                                                       6E138B8806C17081001C688F,
-                                                                       6E138B8906C17081001C688F,
-                                                                       6E138B8A06C17081001C688F,
-                                                                       6E138B8B06C17081001C688F,
-                                                                       6E138B8C06C17081001C688F,
-                                                                       6E138B8D06C17081001C688F,
-                                                                       6E138BCC06C1851D001C688F,
-                                                                       6E138BCF06C1851D001C688F,
-                                                                       6E138BD006C1851D001C688F,
-                                                                       6E138BD306C1851D001C688F,
-                                                                       6E138BD406C1851D001C688F,
-                                                                       6E138BDA06C1851D001C688F,
-                                                                       6E138BDE06C1851D001C688F,
-                                                                       6E138BE006C1851D001C688F,
-                                                                       6E138BE206C1851D001C688F,
-                                                                       6E138BE506C1851D001C688F,
-                                                                       6E138BE706C1851D001C688F,
-                                                                       6E138BE906C1851D001C688F,
-                                                                       6E138BEB06C1851D001C688F,
-                                                                       6E138BEE06C1851D001C688F,
-                                                                       6E138CA306C2240E001C688F,
-                                                                       6E138CA406C2240E001C688F,
-                                                                       6E138CA506C2240E001C688F,
-                                                                       6E138CA606C2240E001C688F,
-                                                                       6E138CA706C2240E001C688F,
-                                                                       6E138CA806C2240E001C688F,
-                                                                       6E138CA906C2240E001C688F,
-                                                                       6E138CAA06C2240E001C688F,
-                                                                       6E138CAB06C2240E001C688F,
-                                                                       6E138CAC06C2240E001C688F,
-                                                                       6E138CAD06C2240E001C688F,
-                                                                       6E138CAE06C2240E001C688F,
-                                                                       6E138CAF06C2240E001C688F,
-                                                                       6E138CB006C2240E001C688F,
-                                                                       6E138CB106C2240E001C688F,
-                                                                       6E138CB206C2240E001C688F,
-                                                                       6E138CB306C2240E001C688F,
-                                                                       6E138CB406C2240E001C688F,
-                                                                       6E138CB506C2240E001C688F,
-                                                                       6E138CB606C2240E001C688F,
-                                                                       6E138CB706C2240E001C688F,
-                                                                       6E138CB806C2240E001C688F,
-                                                                       6E138CB906C2240E001C688F,
-                                                                       6E138CBA06C2240E001C688F,
-                                                                       6E138CBB06C2240E001C688F,
-                                                                       6E138CBC06C2240E001C688F,
-                                                                       6E138CBD06C2240E001C688F,
-                                                                       6E138CBE06C2240E001C688F,
-                                                                       6E138CBF06C2240E001C688F,
-                                                                       6E138CC006C2240E001C688F,
-                                                                       6E138CC106C2240E001C688F,
-                                                                       6E138CC206C2240E001C688F,
-                                                                       6E138CC306C2240E001C688F,
-                                                                       6E138CC406C2240E001C688F,
-                                                                       6E138CC506C2240E001C688F,
-                                                                       6E138CC606C2240E001C688F,
-                                                                       6E138CC706C2240E001C688F,
-                                                                       6E138CC806C2240E001C688F,
-                                                                       6E138CC906C2240E001C688F,
-                                                                       6E138CCA06C2240E001C688F,
-                                                                       6E138CCB06C2240E001C688F,
-                                                                       6E138CCC06C2240E001C688F,
-                                                                       6E138CCD06C2240E001C688F,
-                                                                       6E138CCE06C2240E001C688F,
-                                                                       6E138CCF06C2240E001C688F,
-                                                                       6E138CD006C2240E001C688F,
-                                                                       6E138CD106C2240E001C688F,
-                                                                       6E138CD206C2240E001C688F,
-                                                                       6E138CD306C2240E001C688F,
-                                                                       6E138CD406C2240E001C688F,
-                                                                       6E138CD506C2240E001C688F,
-                                                                       6E138CD606C2240E001C688F,
-                                                                       6E138CD706C2240E001C688F,
-                                                                       6E138CD806C2240E001C688F,
-                                                                       6E138CD906C2240E001C688F,
-                                                                       6E138CDA06C2240E001C688F,
-                                                                       6E138CDB06C2240E001C688F,
-                                                                       6E138CDC06C2240E001C688F,
-                                                                       6E138CDD06C2240E001C688F,
-                                                                       6E138CDE06C2240E001C688F,
-                                                                       6E138CDF06C2240E001C688F,
-                                                                       6E138CE006C2240E001C688F,
-                                                                       6E138CE106C2240E001C688F,
-                                                                       6E138CE206C2240E001C688F,
-                                                                       6E138CE306C2240E001C688F,
-                                                                       6E138CE406C2240E001C688F,
-                                                                       6E138CE506C2240E001C688F,
-                                                                       6E138CE606C2240E001C688F,
-                                                                       6E138CE706C2240E001C688F,
-                                                                       6E138CE806C2240E001C688F,
-                                                                       6E138CE906C2240E001C688F,
-                                                                       6E138CEA06C2240E001C688F,
-                                                                       6E138CEB06C2240E001C688F,
-                                                                       6E138CEC06C2240E001C688F,
-                                                                       6E138CED06C2240E001C688F,
-                                                                       6E138CEE06C2240E001C688F,
-                                                                       6E138CEF06C2240E001C688F,
-                                                                       6E138CF006C2240E001C688F,
-                                                                       6E138CF106C2240E001C688F,
-                                                                       6E138CF206C2240E001C688F,
-                                                                       6E138CF306C2240E001C688F,
-                                                                       6E138CF406C2240E001C688F,
-                                                                       6E138CF506C2240E001C688F,
-                                                                       6E138CF606C2240E001C688F,
-                                                                       6E138CF706C2240E001C688F,
-                                                                       6E138CF806C2240E001C688F,
-                                                                       6E138CF906C2240E001C688F,
-                                                                       6E138CFA06C2240E001C688F,
-                                                                       6E138CFB06C2240E001C688F,
-                                                                       6E138CFC06C2240E001C688F,
-                                                                       6E138CFD06C2240E001C688F,
-                                                                       6E138CFE06C2240E001C688F,
-                                                                       6E138CFF06C2240E001C688F,
-                                                                       6E138D0006C2240E001C688F,
-                                                                       6E138D0106C2240E001C688F,
-                                                                       6E138D0206C2240E001C688F,
-                                                                       6E138D0306C2240E001C688F,
-                                                                       6E138D0406C2240E001C688F,
-                                                                       6E138D0506C2240E001C688F,
-                                                                       6E138D0606C2240E001C688F,
-                                                                       6E138D0706C2240E001C688F,
-                                                                       6E138D0806C2240E001C688F,
-                                                                       6E138D0906C2240E001C688F,
-                                                                       6E138D0A06C2240E001C688F,
-                                                                       6E138D0B06C2240E001C688F,
-                                                                       6E138D0C06C2240E001C688F,
-                                                                       6E138D0D06C2240E001C688F,
-                                                                       6E138D0E06C2240E001C688F,
-                                                                       6E138D0F06C2240E001C688F,
-                                                                       6E138D1006C2240E001C688F,
-                                                                       6E138D1106C2240E001C688F,
-                                                                       6E138D1206C2240E001C688F,
-                                                                       6E138D1306C2240E001C688F,
-                                                                       6E138D1406C2240E001C688F,
-                                                                       6E138D1506C2240E001C688F,
-                                                                       6E138D1606C2240E001C688F,
-                                                                       6E138D1706C2240E001C688F,
-                                                                       6E138D1806C2240E001C688F,
-                                                                       6E138D1906C2240E001C688F,
-                                                                       6E138D1A06C2240E001C688F,
-                                                                       6E138D1B06C2240E001C688F,
-                                                                       6E138D1C06C2240E001C688F,
-                                                                       6E138D1D06C2240E001C688F,
-                                                                       6E138D1E06C2240E001C688F,
-                                                                       6E138D1F06C2240E001C688F,
-                                                                       6E138D2006C2240E001C688F,
-                                                                       6E138D2106C2240E001C688F,
-                                                                       6E138D2206C2240E001C688F,
-                                                                       6E138D2306C2240E001C688F,
-                                                                       6E138D2406C2240E001C688F,
-                                                                       6E138D2506C2240E001C688F,
-                                                                       6E138D2606C2240E001C688F,
-                                                                       6E138D2706C2240E001C688F,
-                                                                       6E138D2806C2240E001C688F,
-                                                                       6E138D2906C2240E001C688F,
-                                                                       6E138D2A06C2240E001C688F,
-                                                                       6E138D2B06C2240E001C688F,
-                                                                       6E138D2C06C2240E001C688F,
-                                                                       6E138D2D06C2240E001C688F,
-                                                                       6E138D2E06C2240E001C688F,
-                                                                       6E138D2F06C2240E001C688F,
-                                                                       6E138D3006C2240E001C688F,
-                                                                       6E138D3106C2240E001C688F,
-                                                               );
-                                                       };
-                                                       SplitCount = 1;
-                                               };
-                                       };
-                                       PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
-                                               PBXProjectWorkspaceModule_SGTM_Geometry = {
-                                                       _collapsingFrameDimension = 0;
-                                                       _indexOfCollapsedView = 0;
-                                                       _percentageOfCollapsedView = 0;
-                                                       sizes = (
-                                                               "{{0, 0}, {216, 811}}",
-                                                               "{{216, 0}, {1064, 811}}",
-                                                       );
-                                               };
-                                       };
-                                       PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {1064, 159}}";
-                                       PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 159}, {1064, 652}}";
-                                       PBXProjectWorkspaceModule_OldSuperviewFrame = "{{216, 0}, {1064, 811}}";
-                                       PBXProjectWorkspaceModule_SGTM = {
-                                               PBXBottomSmartGroupGIDs = (
-                                                       1C37FBAC04509CD000000102,
-                                                       1C37FAAC04509CD000000102,
-                                                       1C08E77C0454961000C914BD,
-                                                       1CC0EA4004350EF90044410B,
-                                                       1CC0EA4004350EF90041110B,
-                                                       1C37FABC05509CD000000102,
-                                                       1C37FABC05539CD112110102,
-                                                       E2644B35053B69B200211256,
-                                                       1C37FABC04509CD000100104,
-                                               );
-                                               PBXSmartGroupTreeModuleColumnData = {
-                                                       PBXSmartGroupTreeModuleColumnWidthsKey = (
-                                                               199,
-                                                       );
-                                                       PBXSmartGroupTreeModuleColumnsKey_v4 = (
-                                                               MainColumn,
-                                                       );
-                                               };
-                                               PBXSmartGroupTreeModuleOutlineStateKey_v7 = {
-                                                       PBXSmartGroupTreeModuleOutlineStateExpansionKey = (
-                                                               29B97314FDCFA39411CA2CEA,
-                                                               080E96DDFE201D6D7F000001,
-                                                               6E98A54A06A73E37006A576D,
-                                                               6E7157BC0647004B00763517,
-                                                               6ED806580641D343002888F7,
-                                                               6ED806700641D3AC002888F7,
-                                                               29B97315FDCFA39411CA2CEA,
-                                                               29B97317FDCFA39411CA2CEA,
-                                                               1C37FBAC04509CD000000102,
-                                                       );
-                                                       PBXSmartGroupTreeModuleOutlineStateSelectionKey = (
-                                                               (
-                                                                       14,
-                                                                       9,
-                                                                       0,
-                                                               ),
-                                                       );
-                                                       PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 0}, {199, 793}}";
-                                               };
-                                               PBXTopSmartGroupGIDs = (
-                                               );
-                                       };
-                               };
-                       };
-                       "PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXRunSessionModule" = {
-                               LauncherConfigVersion = 3;
-                               Runner = {
-                                       HorizontalSplitView = {
-                                               _collapsingFrameDimension = 0;
-                                               _indexOfCollapsedView = 0;
-                                               _percentageOfCollapsedView = 0;
-                                               isCollapsed = yes;
-                                               sizes = (
-                                                       "{{0, 0}, {491, 167}}",
-                                                       "{{0, 176}, {491, 267}}",
-                                               );
-                                       };
-                                       VerticalSplitView = {
-                                               _collapsingFrameDimension = 0;
-                                               _indexOfCollapsedView = 0;
-                                               _percentageOfCollapsedView = 0;
-                                               isCollapsed = yes;
-                                               sizes = (
-                                                       "{{0, 0}, {405, 443}}",
-                                                       "{{414, 0}, {514, 443}}",
-                                               );
-                                       };
-                               };
-                       };
-                       PBXWorkspaceGeometries = (
-                               {
-                                       Frame = "{{0, 0}, {1280, 811}}";
-                                       PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
-                                               PBXProjectWorkspaceModule_RunWindowVisible = true;
-                                       };
-                                       RubberWindowFrame = "0 85 1280 853 0 0 1280 938 ";
-                               },
-                       );
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXBuildResultsModule" = {
-                               Frame = "{{0, 0}, {480, 217}}";
-                               PBXModuleWindowStatusBarHidden = YES;
-                               RubberWindowFrame = "400 543 480 238 0 0 1280 938 ";
-                       };
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugCLIModule" = {
-                               Frame = "{{0, 0}, {400, 201}}";
-                               PBXModuleWindowStatusBarHidden = YES;
-                               RubberWindowFrame = "50 910 400 222 0 0 1280 938 ";
-                       };
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugSessionModule" = {
-                               DebugConsoleDrawerSize = "{100, 120}";
-                               DebugConsoleVisible = Drawer;
-                               DebugConsoleWindowFrame = "{{200, 200}, {500, 300}}";
-                               DebugSTDIOWindowFrame = "{{200, 200}, {500, 300}}";
-                               Frame = "{{0, 0}, {1280, 665}}";
-                               RubberWindowFrame = "0 231 1280 707 0 0 1280 938 ";
-                       };
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXNavigatorGroup" = {
-                               Frame = "{{0, 0}, {750, 481}}";
-                               PBXModuleWindowStatusBarHidden = YES;
-                               RubberWindowFrame = "15 431 750 502 0 0 1280 938 ";
-                       };
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectFindModule" = {
-                               Frame = "{{0, 0}, {1280, 851}}";
-                               RubberWindowFrame = "0 45 1280 893 0 0 1280 938 ";
-                       };
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = {
-                               Frame = "{{0, 0}, {1280, 811}}";
-                               PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
-                                       PBXProjectWorkspaceModule_RunWindowVisible = true;
-                               };
-                               RubberWindowFrame = "0 85 1280 853 0 0 1280 938 ";
-                       };
-                       "PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXRunSessionModule" = {
-                               Frame = "{{0, 0}, {745, 443}}";
-                               PBXModuleWindowStatusBarHidden = YES;
-                               RubberWindowFrame = "607 121 745 464 0 0 1280 938 ";
-                       };
-                       PBXWorkspaceStateSaveDate = 141110321;
-               };
-               perUserProjectItems = {
-                       6E5B695B0828175900F7B919 = 6E5B695B0828175900F7B919;
-                       6E5B695C0828175900F7B919 = 6E5B695C0828175900F7B919;
-                       6E5B695E0828175900F7B919 = 6E5B695E0828175900F7B919;
-                       6E5B6A9F0828262700F7B919 = 6E5B6A9F0828262700F7B919;
-                       6E6A7B210822F12D00D88515 = 6E6A7B210822F12D00D88515;
-                       6E6A7B220822F12D00D88515 = 6E6A7B220822F12D00D88515;
-                       6E6A7B230822F12D00D88515 = 6E6A7B230822F12D00D88515;
-                       6E7D2F0E0869302500429AC8 = 6E7D2F0E0869302500429AC8;
-                       6E7D2F0F0869302500429AC8 = 6E7D2F0F0869302500429AC8;
-                       6E7D2F100869302500429AC8 = 6E7D2F100869302500429AC8;
-                       6E7D2F120869302500429AC8 = 6E7D2F120869302500429AC8;
-                       6E7D2F130869302500429AC8 = 6E7D2F130869302500429AC8;
-                       6E7D2F140869302500429AC8 = 6E7D2F140869302500429AC8;
-                       6E7D2F150869302500429AC8 = 6E7D2F150869302500429AC8;
-                       6E7D2F160869302500429AC8 = 6E7D2F160869302500429AC8;
-                       6E7D2F170869302500429AC8 = 6E7D2F170869302500429AC8;
-                       6E7D2F2408693D8A00429AC8 = 6E7D2F2408693D8A00429AC8;
-                       6E7D2F2508693D8A00429AC8 = 6E7D2F2508693D8A00429AC8;
-                       6E7D2F2608693D8A00429AC8 = 6E7D2F2608693D8A00429AC8;
-                       6E7D2F2708693D8A00429AC8 = 6E7D2F2708693D8A00429AC8;
-                       6E7D2F2808693D8A00429AC8 = 6E7D2F2808693D8A00429AC8;
-                       6E7D2F2908693D8A00429AC8 = 6E7D2F2908693D8A00429AC8;
-                       6E7D2F2A08693D8A00429AC8 = 6E7D2F2A08693D8A00429AC8;
-                       6E7D2F2B08693D8A00429AC8 = 6E7D2F2B08693D8A00429AC8;
-                       6E7D2F2C08693D8A00429AC8 = 6E7D2F2C08693D8A00429AC8;
-                       6E7D2F2D08693D8A00429AC8 = 6E7D2F2D08693D8A00429AC8;
-                       6E7D2F2E08693D8A00429AC8 = 6E7D2F2E08693D8A00429AC8;
-                       6E7D2F2F08693D8A00429AC8 = 6E7D2F2F08693D8A00429AC8;
-                       6E7D2F3008693D8A00429AC8 = 6E7D2F3008693D8A00429AC8;
-                       6E7D2F3108693D8A00429AC8 = 6E7D2F3108693D8A00429AC8;
-                       6E7D2F3208693D8A00429AC8 = 6E7D2F3208693D8A00429AC8;
-                       6E7D2F3308693D8A00429AC8 = 6E7D2F3308693D8A00429AC8;
-                       6E7D2F3408693D8A00429AC8 = 6E7D2F3408693D8A00429AC8;
-                       6E7D2F3508693D8A00429AC8 = 6E7D2F3508693D8A00429AC8;
-                       6E7D2F3608693D8A00429AC8 = 6E7D2F3608693D8A00429AC8;
-                       6E7D2F3708693D8A00429AC8 = 6E7D2F3708693D8A00429AC8;
-                       6E7D2F3808693D8A00429AC8 = 6E7D2F3808693D8A00429AC8;
-                       6E7D2F3908693D8A00429AC8 = 6E7D2F3908693D8A00429AC8;
-                       6E7D2F3A08693D8A00429AC8 = 6E7D2F3A08693D8A00429AC8;
-                       6E7D2F3B08693D8A00429AC8 = 6E7D2F3B08693D8A00429AC8;
-                       6E7D2F3C08693D8A00429AC8 = 6E7D2F3C08693D8A00429AC8;
-                       6E7D2F3D08693D8A00429AC8 = 6E7D2F3D08693D8A00429AC8;
-                       6E7D2F3E08693D8A00429AC8 = 6E7D2F3E08693D8A00429AC8;
-                       6E7D2F3F08693D8A00429AC8 = 6E7D2F3F08693D8A00429AC8;
-                       6E7D2F4008693D8A00429AC8 = 6E7D2F4008693D8A00429AC8;
-                       6E7D2F4108693D8A00429AC8 = 6E7D2F4108693D8A00429AC8;
-                       6E7D2F4208693D8A00429AC8 = 6E7D2F4208693D8A00429AC8;
-                       6E7D2F4308693D8A00429AC8 = 6E7D2F4308693D8A00429AC8;
-                       6E7D2F4408693D8A00429AC8 = 6E7D2F4408693D8A00429AC8;
-                       6E7D2F4508693D8A00429AC8 = 6E7D2F4508693D8A00429AC8;
-                       6E7D2F4608693D8A00429AC8 = 6E7D2F4608693D8A00429AC8;
-                       6E7D2F4708693D8A00429AC8 = 6E7D2F4708693D8A00429AC8;
-                       6E7D2F4808693D8A00429AC8 = 6E7D2F4808693D8A00429AC8;
-                       6E7D2F4908693D8A00429AC8 = 6E7D2F4908693D8A00429AC8;
-                       6E7D2F4A08693D8A00429AC8 = 6E7D2F4A08693D8A00429AC8;
-                       6E7D2F4B08693D8A00429AC8 = 6E7D2F4B08693D8A00429AC8;
-                       6E7D2F4C08693D8A00429AC8 = 6E7D2F4C08693D8A00429AC8;
-                       6E7D2F4D08693D8A00429AC8 = 6E7D2F4D08693D8A00429AC8;
-                       6E7D2F4E08693D8A00429AC8 = 6E7D2F4E08693D8A00429AC8;
-                       6E7D2F4F08693D8A00429AC8 = 6E7D2F4F08693D8A00429AC8;
-                       6E7D2F5008693D8A00429AC8 = 6E7D2F5008693D8A00429AC8;
-                       6E7D2F5108693D8A00429AC8 = 6E7D2F5108693D8A00429AC8;
-                       6E7D2F5208693D8A00429AC8 = 6E7D2F5208693D8A00429AC8;
-                       6E7D2F5308693D8A00429AC8 = 6E7D2F5308693D8A00429AC8;
-                       6E7D2F5408693D8A00429AC8 = 6E7D2F5408693D8A00429AC8;
-                       6E7D2F5508693D8A00429AC8 = 6E7D2F5508693D8A00429AC8;
-                       6E7D2F5608693D8A00429AC8 = 6E7D2F5608693D8A00429AC8;
-                       6E7D2F5708693D8A00429AC8 = 6E7D2F5708693D8A00429AC8;
-                       6E7D2F5808693D8A00429AC8 = 6E7D2F5808693D8A00429AC8;
-                       6E7D2F5908693D8A00429AC8 = 6E7D2F5908693D8A00429AC8;
-                       6E7D2F5A08693D8A00429AC8 = 6E7D2F5A08693D8A00429AC8;
-                       6E7D2F5B08693D8A00429AC8 = 6E7D2F5B08693D8A00429AC8;
-                       6E7D2F5C08693D8A00429AC8 = 6E7D2F5C08693D8A00429AC8;
-                       6E7D2F5D08693D8A00429AC8 = 6E7D2F5D08693D8A00429AC8;
-                       6E7D2F5E08693D8A00429AC8 = 6E7D2F5E08693D8A00429AC8;
-                       6E7D2F5F08693D8A00429AC8 = 6E7D2F5F08693D8A00429AC8;
-                       6E7D2F6008693D8A00429AC8 = 6E7D2F6008693D8A00429AC8;
-                       6E7D2F6108693D8A00429AC8 = 6E7D2F6108693D8A00429AC8;
-                       6E7D2F6208693D8A00429AC8 = 6E7D2F6208693D8A00429AC8;
-                       6E7D2F6308693D8A00429AC8 = 6E7D2F6308693D8A00429AC8;
-                       6E7D2F6408693D8A00429AC8 = 6E7D2F6408693D8A00429AC8;
-                       6E7D2F6508693D8A00429AC8 = 6E7D2F6508693D8A00429AC8;
-                       6E7D2F6608693D8A00429AC8 = 6E7D2F6608693D8A00429AC8;
-                       6E7D2F6708693D8A00429AC8 = 6E7D2F6708693D8A00429AC8;
-                       6E7D2F6808693D8A00429AC8 = 6E7D2F6808693D8A00429AC8;
-                       6E7D2F6908693D8A00429AC8 = 6E7D2F6908693D8A00429AC8;
-                       6E7D2F6A08693D8A00429AC8 = 6E7D2F6A08693D8A00429AC8;
-                       6E7D2F6B08693D8A00429AC8 = 6E7D2F6B08693D8A00429AC8;
-                       6E7D2F6C08693D8A00429AC8 = 6E7D2F6C08693D8A00429AC8;
-                       6E7D2F6D08693D8A00429AC8 = 6E7D2F6D08693D8A00429AC8;
-                       6E7D2F6E08693D8A00429AC8 = 6E7D2F6E08693D8A00429AC8;
-                       6E7D2F6F08693D8A00429AC8 = 6E7D2F6F08693D8A00429AC8;
-                       6E7D2F7008693D8A00429AC8 = 6E7D2F7008693D8A00429AC8;
-                       6E7D2F7108693D8A00429AC8 = 6E7D2F7108693D8A00429AC8;
-                       6E7D2F7208693D8A00429AC8 = 6E7D2F7208693D8A00429AC8;
-                       6E7D2F7308693D8A00429AC8 = 6E7D2F7308693D8A00429AC8;
-                       6E7D2F7408693D8A00429AC8 = 6E7D2F7408693D8A00429AC8;
-                       6E7D2F7508693D8A00429AC8 = 6E7D2F7508693D8A00429AC8;
-                       6E7D2F7608693D8A00429AC8 = 6E7D2F7608693D8A00429AC8;
-                       6E7D2F7708693D8A00429AC8 = 6E7D2F7708693D8A00429AC8;
-                       6E7D2F7808693D8A00429AC8 = 6E7D2F7808693D8A00429AC8;
-                       6E7D2F7908693D8A00429AC8 = 6E7D2F7908693D8A00429AC8;
-                       6E7D2F7A08693D8A00429AC8 = 6E7D2F7A08693D8A00429AC8;
-                       6E7D2F7B08693D8A00429AC8 = 6E7D2F7B08693D8A00429AC8;
-                       6E7D2F7C08693D8A00429AC8 = 6E7D2F7C08693D8A00429AC8;
-                       6E7D2F7D08693D8A00429AC8 = 6E7D2F7D08693D8A00429AC8;
-                       6E7D2F7E08693D8A00429AC8 = 6E7D2F7E08693D8A00429AC8;
-                       6E7D2F7F08693D8A00429AC8 = 6E7D2F7F08693D8A00429AC8;
-                       6E7D2F8008693D8A00429AC8 = 6E7D2F8008693D8A00429AC8;
-                       6E7D2F8108693D8A00429AC8 = 6E7D2F8108693D8A00429AC8;
-                       6E7D2F8208693D8A00429AC8 = 6E7D2F8208693D8A00429AC8;
-                       6E7D2F8308693D8A00429AC8 = 6E7D2F8308693D8A00429AC8;
-                       6E7D2F8408693D8A00429AC8 = 6E7D2F8408693D8A00429AC8;
-                       6E7D2F8508693D8A00429AC8 = 6E7D2F8508693D8A00429AC8;
-                       6E7D2F8608693D8A00429AC8 = 6E7D2F8608693D8A00429AC8;
-                       6E7D2F8708693D8A00429AC8 = 6E7D2F8708693D8A00429AC8;
-                       6E7D2F8808693D8A00429AC8 = 6E7D2F8808693D8A00429AC8;
-                       6E7D2F8908693D8A00429AC8 = 6E7D2F8908693D8A00429AC8;
-                       6E7D2F8A08693D8A00429AC8 = 6E7D2F8A08693D8A00429AC8;
-                       6E7D2F8B08693D8A00429AC8 = 6E7D2F8B08693D8A00429AC8;
-                       6E7D2F8C08693D8A00429AC8 = 6E7D2F8C08693D8A00429AC8;
-                       6E7D2F8D08693D8A00429AC8 = 6E7D2F8D08693D8A00429AC8;
-                       6E7D2F8E08693D8A00429AC8 = 6E7D2F8E08693D8A00429AC8;
-                       6E7D2F8F08693D8A00429AC8 = 6E7D2F8F08693D8A00429AC8;
-                       6E7D2F9008693D8A00429AC8 = 6E7D2F9008693D8A00429AC8;
-                       6E7D2F9108693D8A00429AC8 = 6E7D2F9108693D8A00429AC8;
-                       6E7D2F9208693D8A00429AC8 = 6E7D2F9208693D8A00429AC8;
-                       6E7D2F9308693D8A00429AC8 = 6E7D2F9308693D8A00429AC8;
-                       6E7D2F9408693D8A00429AC8 = 6E7D2F9408693D8A00429AC8;
-                       6E7D2F9508693D8A00429AC8 = 6E7D2F9508693D8A00429AC8;
-                       6E7D2F9608693D8A00429AC8 = 6E7D2F9608693D8A00429AC8;
-                       6E7D2F9708693D8A00429AC8 = 6E7D2F9708693D8A00429AC8;
-                       6E7D2F9808693D8A00429AC8 = 6E7D2F9808693D8A00429AC8;
-                       6E7D2F9908693D8A00429AC8 = 6E7D2F9908693D8A00429AC8;
-                       6E7D2F9A08693D8A00429AC8 = 6E7D2F9A08693D8A00429AC8;
-                       6E7D2F9B08693D8A00429AC8 = 6E7D2F9B08693D8A00429AC8;
-                       6E7D2F9C08693D8A00429AC8 = 6E7D2F9C08693D8A00429AC8;
-                       6E7D2F9D08693D8A00429AC8 = 6E7D2F9D08693D8A00429AC8;
-                       6E7D2F9E08693D8A00429AC8 = 6E7D2F9E08693D8A00429AC8;
-                       6E7D2F9F08693D8A00429AC8 = 6E7D2F9F08693D8A00429AC8;
-                       6E7D2FA008693D8A00429AC8 = 6E7D2FA008693D8A00429AC8;
-                       6E7D2FA108693D8A00429AC8 = 6E7D2FA108693D8A00429AC8;
-                       6E7D2FA208693D8A00429AC8 = 6E7D2FA208693D8A00429AC8;
-                       6E7D2FA308693D8A00429AC8 = 6E7D2FA308693D8A00429AC8;
-                       6E7D2FA408693D8A00429AC8 = 6E7D2FA408693D8A00429AC8;
-                       6E7D2FA508693D8A00429AC8 = 6E7D2FA508693D8A00429AC8;
-                       6E7D2FA608693D8A00429AC8 = 6E7D2FA608693D8A00429AC8;
-                       6E7D2FA708693D8A00429AC8 = 6E7D2FA708693D8A00429AC8;
-                       6E7D2FA808693D8A00429AC8 = 6E7D2FA808693D8A00429AC8;
-                       6E7D2FA908693D8A00429AC8 = 6E7D2FA908693D8A00429AC8;
-                       6E7D2FAA08693D8A00429AC8 = 6E7D2FAA08693D8A00429AC8;
-                       6E7D2FAB08693D8A00429AC8 = 6E7D2FAB08693D8A00429AC8;
-                       6E7D2FAC08693D8A00429AC8 = 6E7D2FAC08693D8A00429AC8;
-                       6E7D2FAD08693D8A00429AC8 = 6E7D2FAD08693D8A00429AC8;
-                       6E7D2FAE08693D8A00429AC8 = 6E7D2FAE08693D8A00429AC8;
-                       6E7D2FAF08693D8A00429AC8 = 6E7D2FAF08693D8A00429AC8;
-                       6E7D2FB008693D8A00429AC8 = 6E7D2FB008693D8A00429AC8;
-                       6E7D2FB108693D8A00429AC8 = 6E7D2FB108693D8A00429AC8;
-                       6E7D2FB208693D8A00429AC8 = 6E7D2FB208693D8A00429AC8;
-                       6E7D2FB308693D8A00429AC8 = 6E7D2FB308693D8A00429AC8;
-                       6E7D2FB408693D8A00429AC8 = 6E7D2FB408693D8A00429AC8;
-                       6E7D2FB508693D8A00429AC8 = 6E7D2FB508693D8A00429AC8;
-                       6E7D2FB608693D8A00429AC8 = 6E7D2FB608693D8A00429AC8;
-                       6E7D2FB708693D8A00429AC8 = 6E7D2FB708693D8A00429AC8;
-                       6E7D2FB808693D8A00429AC8 = 6E7D2FB808693D8A00429AC8;
-                       6E7D2FB908693D8A00429AC8 = 6E7D2FB908693D8A00429AC8;
-                       6E7D2FBA08693D8A00429AC8 = 6E7D2FBA08693D8A00429AC8;
-                       6E7D2FBB08693D8A00429AC8 = 6E7D2FBB08693D8A00429AC8;
-                       6E7D2FBC08693D8A00429AC8 = 6E7D2FBC08693D8A00429AC8;
-                       6ED22BEB083446FE005F7A7E = 6ED22BEB083446FE005F7A7E;
-                       6ED22BEC083446FE005F7A7E = 6ED22BEC083446FE005F7A7E;
-                       6ED22BED083446FE005F7A7E = 6ED22BED083446FE005F7A7E;
-                       6ED22BEE083446FE005F7A7E = 6ED22BEE083446FE005F7A7E;
-                       6ED22BEF083446FE005F7A7E = 6ED22BEF083446FE005F7A7E;
-                       6ED22BF0083446FE005F7A7E = 6ED22BF0083446FE005F7A7E;
-                       6ED22BF9083446FE005F7A7E = 6ED22BF9083446FE005F7A7E;
-               };
-               sourceControlManager = 6ED806210641D21D002888F7;
-               userBuildSettings = {
-               };
-       };
-       32CA4F630368D1EE00C91783 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 511}}";
-                       sepNavSelRange = "{149, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E138BF606C18765001C688F = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 658}}";
-                       sepNavSelRange = "{1435, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E138BF706C18765001C688F = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2730}}";
-                       sepNavSelRange = "{2767, 29}";
-                       sepNavVisRect = "{{0, 1239}, {987, 511}}";
-               };
-       };
-       6E138C3006C1C140001C688F = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 574}}";
-                       sepNavSelRange = "{865, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E138C3106C1C140001C688F = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1862}}";
-                       sepNavSelRange = "{1865, 47}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E31A14306B71EBA00E40AB3 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 938}}";
-                       sepNavSelRange = "{1097, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E31A14406B71EBA00E40AB3 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 6608}}";
-                       sepNavSelRange = "{3683, 0}";
-                       sepNavVisRect = "{{0, 1561}, {987, 511}}";
-               };
-       };
-       6E31A16B06B723CB00E40AB3 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 966}}";
-                       sepNavSelRange = "{1065, 10}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E31A16C06B723CB00E40AB3 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 10556}}";
-                       sepNavSelRange = "{17666, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E31A1B806B7286300E40AB3 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 588}}";
-                       sepNavSelRange = "{1113, 0}";
-                       sepNavVisRect = "{{0, 67}, {987, 511}}";
-                       sepNavWindowFrame = "{{38, 354}, {750, 558}}";
-               };
-       };
-       6E31A1B906B7286300E40AB3 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 5278}}";
-                       sepNavSelRange = "{2035, 0}";
-                       sepNavVisRect = "{{0, 872}, {987, 511}}";
-               };
-       };
-       6E38D3FD06C9B71F003BA9B4 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 798}}";
-                       sepNavSelRange = "{1676, 60}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E38D3FE06C9B71F003BA9B4 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3472}}";
-                       sepNavSelRange = "{4844, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E38D61706C9F7A8003BA9B4 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2072}}";
-                       sepNavSelRange = "{2375, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-                       sepNavWindowFrame = "{{15, 375}, {750, 558}}";
-               };
-       };
-       6E38D61806C9F7A8003BA9B4 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3262}}";
-                       sepNavSelRange = "{1647, 0}";
-                       sepNavVisRect = "{{0, 595}, {987, 511}}";
-               };
-       };
-       6E3D7D3C06C44CFE00A73B29 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1316}}";
-                       sepNavSelRange = "{2534, 11}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E3D7D3D06C44CFE00A73B29 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 5026}}";
-                       sepNavSelRange = "{6630, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E5B695B0828175900F7B919 = {
-               fRef = 6ED806D00641D5F2002888F7;
-               isa = PBXTextBookmark;
-               name = "Info.plist: 39";
-               rLen = 0;
-               rLoc = 994;
-               rType = 0;
-               vrLen = 1074;
-               vrLoc = 700;
-       };
-       6E5B695C0828175900F7B919 = {
-               fRef = 6ED806940641D498002888F7;
-               isa = PBXTextBookmark;
-               name = "English: 5";
-               rLen = 0;
-               rLoc = 130;
-               rType = 0;
-               vrLen = 130;
-               vrLoc = 0;
-       };
-       6E5B695E0828175900F7B919 = {
-               fRef = 6EC06600078BFBE900591D61;
-               isa = PBXTextBookmark;
-               name = "Help.html: 112";
-               rLen = 0;
-               rLoc = 3102;
-               rType = 0;
-               vrLen = 2366;
-               vrLoc = 1242;
-       };
-       6E5B6A9F0828262700F7B919 = {
-               fRef = 6E7614A306A47A790051C301;
-               isa = PBXTextBookmark;
-               name = unarchiveObjectWithData;
-               rLen = 23;
-               rLoc = 5924;
-               rType = 0;
-               vrLen = 1228;
-               vrLoc = 5210;
-       };
-       6E6A7B210822F12D00D88515 = {
-               fRef = 6E3D7D3D06C44CFE00A73B29;
-               isa = PBXTextBookmark;
-               name = "Variable.m: 272";
-               rLen = 0;
-               rLoc = 6630;
-               rType = 0;
-               vrLen = 790;
-               vrLoc = 6223;
-       };
-       6E6A7B220822F12D00D88515 = {
-               fRef = 6E6FD69C0762B626004FD845;
-               isa = PBXTextBookmark;
-               name = "ThreadedTask.m: 183";
-               rLen = 0;
-               rLoc = 4939;
-               rType = 0;
-               vrLen = 572;
-               vrLoc = 4655;
-       };
-       6E6A7B230822F12D00D88515 = {
-               fRef = 6E6FD69B0762B626004FD845;
-               isa = PBXTextBookmark;
-               name = "ThreadedTask.h: initWithFunction:delegate:";
-               rLen = 0;
-               rLoc = 2709;
-               rType = 0;
-               vrLen = 1776;
-               vrLoc = 4037;
-       };
-       6E6FD69B0762B626004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3486}}";
-                       sepNavSelRange = "{2709, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FD69C0762B626004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 5558}}";
-                       sepNavSelRange = "{3530, 108}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FD6B10762B965004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1442}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FD6B20762B965004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 4326}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FD9FE0764EDE4004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 826}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FD9FF0764EDE4004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2226}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FDC240765858A004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 630}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E6FDC250765858A004FD845 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 658}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E72B20D06AA5B0E00951D50 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1232}}";
-                       sepNavSelRange = "{574, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E72B20E06AA5B0E00951D50 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3500}}";
-                       sepNavSelRange = "{668, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E7614A206A47A790051C301 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3528}}";
-                       sepNavSelRange = "{2977, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E7614A306A47A790051C301 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1172, 18032}}";
-                       sepNavSelRange = "{22649, 49}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E7D2F0E0869302500429AC8 = {
-               fRef = 6ED806940641D498002888F7;
-               isa = PBXTextBookmark;
-               name = "English: 5";
-               rLen = 0;
-               rLoc = 130;
-               rType = 0;
-               vrLen = 130;
-               vrLoc = 0;
-       };
-       6E7D2F0F0869302500429AC8 = {
-               fRef = 6ED806D00641D5F2002888F7;
-               isa = PBXTextBookmark;
-               name = "Info.plist: 21";
-               rLen = 0;
-               rLoc = 599;
-               rType = 0;
-               vrLen = 1043;
-               vrLoc = 0;
-       };
-       6E7D2F100869302500429AC8 = {
-               fRef = 6EC06600078BFBE900591D61;
-               isa = PBXTextBookmark;
-               name = "Help.html: 66";
-               rLen = 0;
-               rLoc = 845;
-               rType = 0;
-               vrLen = 614;
-               vrLoc = 491;
-       };
-       6E7D2F120869302500429AC8 = {
-               fRef = 6ED806320641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AppController.m: 128";
-               rLen = 0;
-               rLoc = 4932;
-               rType = 0;
-               vrLen = 1634;
-               vrLoc = 4047;
-       };
-       6E7D2F130869302500429AC8 = {
-               fRef = 6E7614A206A47A790051C301;
-               isa = PBXTextBookmark;
-               name = "CheatDocument.h: ibNewValueField";
-               rLen = 0;
-               rLoc = 2977;
-               rType = 0;
-               vrLen = 1471;
-               vrLoc = 5891;
-       };
-       6E7D2F140869302500429AC8 = {
-               fRef = 6EA39693077F4025002B0E69;
-               isa = PBXTextBookmark;
-               name = "DocInterfaceActions.m: 438";
-               rLen = 0;
-               rLoc = 12438;
-               rType = 0;
-               vrLen = 1284;
-               vrLoc = 11100;
-       };
-       6E7D2F150869302500429AC8 = {
-               fRef = 6ED806940641D498002888F7;
-               isa = PBXTextBookmark;
-               name = "English: 5";
-               rLen = 0;
-               rLoc = 130;
-               rType = 0;
-               vrLen = 130;
-               vrLoc = 0;
-       };
-       6E7D2F160869302500429AC8 = {
-               fRef = 6ED806D00641D5F2002888F7;
-               isa = PBXTextBookmark;
-               name = "Info.plist: 21";
-               rLen = 0;
-               rLoc = 599;
-               rType = 0;
-               vrLen = 1043;
-               vrLoc = 0;
-       };
-       6E7D2F170869302500429AC8 = {
-               fRef = 6EC06600078BFBE900591D61;
-               isa = PBXTextBookmark;
-               name = "Help.html: 66";
-               rLen = 0;
-               rLoc = 845;
-               rType = 0;
-               vrLen = 614;
-               vrLoc = 491;
-       };
-       6E7D2F2408693D8A00429AC8 = {
-               fRef = 6ED806310641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = _preferenceController;
-               rLen = 21;
-               rLoc = 1235;
-               rType = 0;
-               vrLen = 1135;
-               vrLoc = 0;
-       };
-       6E7D2F2508693D8A00429AC8 = {
-               fRef = 6ED806320641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AppController.m: 128";
-               rLen = 0;
-               rLoc = 4932;
-               rType = 0;
-               vrLen = 1340;
-               vrLoc = 0;
-       };
-       6E7D2F2608693D8A00429AC8 = {
-               fRef = 6ED8062F0641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AboutBoxController.h: 25";
-               rLen = 0;
-               rLoc = 935;
-               rType = 0;
-               vrLen = 1209;
-               vrLoc = 0;
-       };
-       6E7D2F2708693D8A00429AC8 = {
-               fRef = 6ED806300641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AboutBoxController.m: 1";
-               rLen = 866;
-               rLoc = 0;
-               rType = 0;
-               vrLen = 1113;
-               vrLoc = 0;
-       };
-       6E7D2F2808693D8A00429AC8 = {
-               fRef = 6ED806430641D305002888F7;
-               isa = PBXTextBookmark;
-               name = "HelpController.h: 19";
-               rLen = 0;
-               rLoc = 865;
-               rType = 0;
-               vrLen = 1058;
-               vrLoc = 0;
-       };
-       6E7D2F2908693D8A00429AC8 = {
-               fRef = 6ED806440641D305002888F7;
-               isa = PBXTextBookmark;
-               name = "HelpController.m: 57";
-               rLen = 0;
-               rLoc = 1808;
-               rType = 0;
-               vrLen = 1141;
-               vrLoc = 0;
-       };
-       6E7D2F2A08693D8A00429AC8 = {
-               fRef = 6EB3579A07C83C60000347B9;
-               isa = PBXTextBookmark;
-               name = "CheatURLCommand.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 997;
-               vrLoc = 0;
-       };
-       6E7D2F2B08693D8A00429AC8 = {
-               fRef = 6EB3579B07C83C60000347B9;
-               isa = PBXTextBookmark;
-               name = "CheatURLCommand.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1302;
-               vrLoc = 0;
-       };
-       6E7D2F2C08693D8A00429AC8 = {
-               fRef = 6ED806350641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "PreferenceController.h: chooseUpdate:";
-               rLen = 0;
-               rLoc = 1237;
-               rType = 0;
-               vrLen = 1002;
-               vrLoc = 322;
-       };
-       6E7D2F2D08693D8A00429AC8 = {
-               fRef = 6ED806360641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "PreferenceController.m: 138";
-               rLen = 0;
-               rLoc = 3607;
-               rType = 0;
-               vrLen = 1121;
-               vrLoc = 0;
-       };
-       6E7D2F2E08693D8A00429AC8 = {
-               fRef = 6ED8072006421B05002888F7;
-               isa = PBXTextBookmark;
-               name = "GeneralPrefs.h: ibFadeSmoothlyButton";
-               rLen = 0;
-               rLoc = 1078;
-               rType = 0;
-               vrLen = 1351;
-               vrLoc = 0;
-       };
-       6E7D2F2F08693D8A00429AC8 = {
-               fRef = 6ED8072106421B05002888F7;
-               isa = PBXTextBookmark;
-               name = "GeneralPrefs.m: 43";
-               rLen = 224;
-               rLoc = 1761;
-               rType = 0;
-               vrLen = 1367;
-               vrLoc = 0;
-       };
-       6E7D2F3008693D8A00429AC8 = {
-               fRef = 6EB35B3607CA6BCC000347B9;
-               isa = PBXTextBookmark;
-               name = "UpdatePrefs.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1225;
-               vrLoc = 0;
-       };
-       6E7D2F3108693D8A00429AC8 = {
-               fRef = 6EB35B3507CA6BCC000347B9;
-               isa = PBXTextBookmark;
-               name = "UpdatePrefs.h: ibAutoCheckButton:";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1110;
-               vrLoc = 0;
-       };
-       6E7D2F3208693D8A00429AC8 = {
-               fRef = 6ED8072606421B10002888F7;
-               isa = PBXTextBookmark;
-               name = "ServerPrefs.h: ibStatusField";
-               rLen = 0;
-               rLoc = 1031;
-               rType = 0;
-               vrLen = 1237;
-               vrLoc = 0;
-       };
-       6E7D2F3308693D8A00429AC8 = {
-               fRef = 6ED8072706421B10002888F7;
-               isa = PBXTextBookmark;
-               name = "ServerPrefs.m: 181";
-               rLen = 0;
-               rLoc = 5065;
-               rType = 0;
-               vrLen = 1086;
-               vrLoc = 128;
-       };
-       6E7D2F3408693D8A00429AC8 = {
-               fRef = 6E7614A206A47A790051C301;
-               isa = PBXTextBookmark;
-               name = "CheatDocument.h: ibNewValueField";
-               rLen = 0;
-               rLoc = 2977;
-               rType = 0;
-               vrLen = 1182;
-               vrLoc = 0;
-       };
-       6E7D2F3508693D8A00429AC8 = {
-               fRef = 6E7614A306A47A790051C301;
-               isa = PBXTextBookmark;
-               name = "CheatDocument.m: displayName";
-               rLen = 49;
-               rLoc = 22649;
-               rType = 0;
-               vrLen = 1282;
-               vrLoc = 0;
-       };
-       6E7D2F3608693D8A00429AC8 = {
-               fRef = 6EA39693077F4025002B0E69;
-               isa = PBXTextBookmark;
-               name = "DocInterfaceActions.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1193;
-               vrLoc = 0;
-       };
-       6E7D2F3708693D8A00429AC8 = {
-               fRef = 6EA3969B077F419A002B0E69;
-               isa = PBXTextBookmark;
-               name = "DocCheaterDelegate.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1197;
-               vrLoc = 0;
-       };
-       6E7D2F3808693D8A00429AC8 = {
-               fRef = 6E72B20D06AA5B0E00951D50;
-               isa = PBXTextBookmark;
-               name = "CheatData.h: 13";
-               rLen = 0;
-               rLoc = 574;
-               rType = 0;
-               vrLen = 1140;
-               vrLoc = 0;
-       };
-       6E7D2F3908693D8A00429AC8 = {
-               fRef = 6E72B20E06AA5B0E00951D50;
-               isa = PBXTextBookmark;
-               name = "CheatData.m: 15";
-               rLen = 0;
-               rLoc = 668;
-               rType = 0;
-               vrLen = 1228;
-               vrLoc = 0;
-       };
-       6E7D2F3A08693D8A00429AC8 = {
-               fRef = 6E8181D1076E475200A5FBEB;
-               isa = PBXTextBookmark;
-               name = "SearchData.h: _integerSign";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1137;
-               vrLoc = 0;
-       };
-       6E7D2F3B08693D8A00429AC8 = {
-               fRef = 6E8181D2076E475200A5FBEB;
-               isa = PBXTextBookmark;
-               name = "SearchData.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1139;
-               vrLoc = 0;
-       };
-       6E7D2F3C08693D8A00429AC8 = {
-               fRef = 6EF2F0BF077B424000C8B55A;
-               isa = PBXTextBookmark;
-               name = "CheaterTypes.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1131;
-               vrLoc = 0;
-       };
-       6E7D2F3D08693D8A00429AC8 = {
-               fRef = 6E9BF5030782926E008F0139;
-               isa = PBXTextBookmark;
-               name = "CheaterTypes.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1190;
-               vrLoc = 0;
-       };
-       6E7D2F3E08693D8A00429AC8 = {
-               fRef = 6E31A16B06B723CB00E40AB3;
-               isa = PBXTextBookmark;
-               name = _processes;
-               rLen = 10;
-               rLoc = 1065;
-               rType = 0;
-               vrLen = 1121;
-               vrLoc = 0;
-       };
-       6E7D2F3F08693D8A00429AC8 = {
-               fRef = 6E31A16C06B723CB00E40AB3;
-               isa = PBXTextBookmark;
-               name = "LocalCheater.m: 662";
-               rLen = 0;
-               rLoc = 17666;
-               rType = 0;
-               vrLen = 1319;
-               vrLoc = 0;
-       };
-       6E7D2F4008693D8A00429AC8 = {
-               fRef = 6E31A1B806B7286300E40AB3;
-               isa = PBXTextBookmark;
-               name = "RemoteCheater.h: connectToHostWithData:";
-               rLen = 0;
-               rLoc = 1113;
-               rType = 0;
-               vrLen = 1026;
-               vrLoc = 174;
-       };
-       6E7D2F4108693D8A00429AC8 = {
-               fRef = 6E31A1B906B7286300E40AB3;
-               isa = PBXTextBookmark;
-               name = "RemoteCheater.m: 81";
-               rLen = 0;
-               rLoc = 2035;
-               rType = 0;
-               vrLen = 1106;
-               vrLoc = 1442;
-       };
-       6E7D2F4208693D8A00429AC8 = {
-               fRef = 6E38D61706C9F7A8003BA9B4;
-               isa = PBXTextBookmark;
-               name = "Cheater.h: limitReturnedResults:";
-               rLen = 0;
-               rLoc = 2375;
-               rType = 0;
-               vrLen = 1294;
-               vrLoc = 0;
-       };
-       6E7D2F4308693D8A00429AC8 = {
-               fRef = 6E38D61806C9F7A8003BA9B4;
-               isa = PBXTextBookmark;
-               name = "Cheater.m: 60";
-               rLen = 0;
-               rLoc = 1647;
-               rType = 0;
-               vrLen = 493;
-               vrLoc = 1308;
-       };
-       6E7D2F4408693D8A00429AC8 = {
-               fRef = 6E6FD6B10762B965004FD845;
-               isa = PBXTextBookmark;
-               name = "SearchContext.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1248;
-               vrLoc = 0;
-       };
-       6E7D2F4508693D8A00429AC8 = {
-               fRef = 6E6FD6B20762B965004FD845;
-               isa = PBXTextBookmark;
-               name = "SearchContext.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1196;
-               vrLoc = 0;
-       };
-       6E7D2F4608693D8A00429AC8 = {
-               fRef = 6E9BF4B0078287DF008F0139;
-               isa = PBXTextBookmark;
-               name = "Searching.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1192;
-               vrLoc = 0;
-       };
-       6E7D2F4708693D8A00429AC8 = {
-               fRef = 6E9BF4B1078287DF008F0139;
-               isa = PBXTextBookmark;
-               name = "Searching.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1252;
-               vrLoc = 0;
-       };
-       6E7D2F4808693D8A00429AC8 = {
-               fRef = 6E6FDC240765858A004FD845;
-               isa = PBXTextBookmark;
-               name = "DumpContext.h: regionCount";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1110;
-               vrLoc = 0;
-       };
-       6E7D2F4908693D8A00429AC8 = {
-               fRef = 6E6FDC250765858A004FD845;
-               isa = PBXTextBookmark;
-               name = "DumpContext.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1133;
-               vrLoc = 0;
-       };
-       6E7D2F4A08693D8A00429AC8 = {
-               fRef = 6E138BF606C18765001C688F;
-               isa = PBXTextBookmark;
-               name = "Process.h: pid";
-               rLen = 0;
-               rLoc = 1435;
-               rType = 0;
-               vrLen = 1306;
-               vrLoc = 0;
-       };
-       6E7D2F4B08693D8A00429AC8 = {
-               fRef = 6E138BF706C18765001C688F;
-               isa = PBXTextBookmark;
-               name = "- (BOOL)isEqual:(id)anObject";
-               rLen = 29;
-               rLoc = 2767;
-               rType = 0;
-               vrLen = 804;
-               vrLoc = 2422;
-       };
-       6E7D2F4C08693D8A00429AC8 = {
-               fRef = 6E3D7D3C06C44CFE00A73B29;
-               isa = PBXTextBookmark;
-               name = stringValue;
-               rLen = 11;
-               rLoc = 2534;
-               rType = 0;
-               vrLen = 1089;
-               vrLoc = 0;
-       };
-       6E7D2F4D08693D8A00429AC8 = {
-               fRef = 6E3D7D3D06C44CFE00A73B29;
-               isa = PBXTextBookmark;
-               name = "Variable.m: 272";
-               rLen = 0;
-               rLoc = 6630;
-               rType = 0;
-               vrLen = 1116;
-               vrLoc = 0;
-       };
-       6E7D2F4E08693D8A00429AC8 = {
-               fRef = 6ED97B9D0645E85700CBF037;
-               isa = PBXTextBookmark;
-               name = isListening;
-               rLen = 11;
-               rLoc = 1794;
-               rType = 0;
-               vrLen = 1278;
-               vrLoc = 0;
-       };
-       6E7D2F4F08693D8A00429AC8 = {
-               fRef = 6ED97B9E0645E85700CBF037;
-               isa = PBXTextBookmark;
-               name = "CheatServer.m: 233";
-               rLen = 0;
-               rLoc = 6294;
-               rType = 0;
-               vrLen = 653;
-               vrLoc = 5815;
-       };
-       6E7D2F5008693D8A00429AC8 = {
-               fRef = 6E31A14306B71EBA00E40AB3;
-               isa = PBXTextBookmark;
-               name = "ServerChild.h: _client";
-               rLen = 0;
-               rLoc = 1097;
-               rType = 0;
-               vrLen = 1125;
-               vrLoc = 0;
-       };
-       6E7D2F5108693D8A00429AC8 = {
-               fRef = 6E31A14406B71EBA00E40AB3;
-               isa = PBXTextBookmark;
-               name = "ServerChild.m: 129";
-               rLen = 0;
-               rLoc = 3683;
-               rType = 0;
-               vrLen = 937;
-               vrLoc = 3147;
-       };
-       6E7D2F5208693D8A00429AC8 = {
-               fRef = 6E83F53107B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.m: kMySocketIsListener";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1100;
-               vrLoc = 0;
-       };
-       6E7D2F5308693D8A00429AC8 = {
-               fRef = 6E83F53007B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.h: 39";
-               rLen = 0;
-               rLoc = 1823;
-               rType = 0;
-               vrLen = 1271;
-               vrLoc = 801;
-       };
-       6E7D2F5408693D8A00429AC8 = {
-               fRef = 6E6FD69B0762B626004FD845;
-               isa = PBXTextBookmark;
-               name = "ThreadedTask.h: initWithFunction:context:delegate:";
-               rLen = 0;
-               rLoc = 2709;
-               rType = 0;
-               vrLen = 1731;
-               vrLoc = 0;
-       };
-       6E7D2F5508693D8A00429AC8 = {
-               fRef = 6E6FD69C0762B626004FD845;
-               isa = PBXTextBookmark;
-               name = "- (id)initWithFunction:(int (*)(ThreadedTask *, unsigned))function context:(id)context delegate:(id)delegate";
-               rLen = 108;
-               rLoc = 3530;
-               rType = 0;
-               vrLen = 1731;
-               vrLoc = 0;
-       };
-       6E7D2F5608693D8A00429AC8 = {
-               fRef = 6EAB490B06CC4FEA00A4ABF0;
-               isa = PBXTextBookmark;
-               name = "VMRegion.h: VMRegionAddress";
-               rLen = 0;
-               rLoc = 4691;
-               rType = 0;
-               vrLen = 1691;
-               vrLoc = 0;
-       };
-       6E7D2F5708693D8A00429AC8 = {
-               fRef = 6EAB490C06CC4FEA00A4ABF0;
-               isa = PBXTextBookmark;
-               name = "VMRegion.m: 70";
-               rLen = 91;
-               rLoc = 2386;
-               rType = 0;
-               vrLen = 813;
-               vrLoc = 6745;
-       };
-       6E7D2F5808693D8A00429AC8 = {
-               fRef = 6E38D3FD06C9B71F003BA9B4;
-               isa = PBXTextBookmark;
-               name = "- (BOOL)tableViewDidReceiveSpaceKey:(NSTableView *)tableView";
-               rLen = 60;
-               rLoc = 1676;
-               rType = 0;
-               vrLen = 1152;
-               vrLoc = 0;
-       };
-       6E7D2F5908693D8A00429AC8 = {
-               fRef = 6E38D3FE06C9B71F003BA9B4;
-               isa = PBXTextBookmark;
-               name = "BetterTableView.m: 172";
-               rLen = 0;
-               rLoc = 4844;
-               rType = 0;
-               vrLen = 1127;
-               vrLoc = 0;
-       };
-       6E7D2F5A08693D8A00429AC8 = {
-               fRef = 6E9BF3BA07820415008F0139;
-               isa = PBXTextBookmark;
-               name = "VariableTable.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1181;
-               vrLoc = 0;
-       };
-       6E7D2F5B08693D8A00429AC8 = {
-               fRef = 6E9BF3BB07820415008F0139;
-               isa = PBXTextBookmark;
-               name = "VariableTable.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1127;
-               vrLoc = 0;
-       };
-       6E7D2F5C08693D8A00429AC8 = {
-               fRef = 6E9BF31F0781EEC3008F0139;
-               isa = PBXTextBookmark;
-               name = "TrackerScroller.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1061;
-               vrLoc = 0;
-       };
-       6E7D2F5D08693D8A00429AC8 = {
-               fRef = 6E9BF3200781EEC3008F0139;
-               isa = PBXTextBookmark;
-               name = "TrackerScroller.m: delegate";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1032;
-               vrLoc = 0;
-       };
-       6E7D2F5E08693D8A00429AC8 = {
-               fRef = 6E6FD9FE0764EDE4004FD845;
-               isa = PBXTextBookmark;
-               name = "FadeView.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1093;
-               vrLoc = 0;
-       };
-       6E7D2F5F08693D8A00429AC8 = {
-               fRef = 6E6FD9FF0764EDE4004FD845;
-               isa = PBXTextBookmark;
-               name = "FadeView.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1042;
-               vrLoc = 0;
-       };
-       6E7D2F6008693D8A00429AC8 = {
-               fRef = 6E138C3006C1C140001C688F;
-               isa = PBXTextBookmark;
-               name = "StatusTextField.h: 19";
-               rLen = 0;
-               rLoc = 865;
-               rType = 0;
-               vrLen = 1398;
-               vrLoc = 0;
-       };
-       6E7D2F6108693D8A00429AC8 = {
-               fRef = 6E138C3106C1C140001C688F;
-               isa = PBXTextBookmark;
-               name = "- (void)setTemporaryStatus:(NSString *)message";
-               rLen = 47;
-               rLoc = 1865;
-               rType = 0;
-               vrLen = 1073;
-               vrLoc = 0;
-       };
-       6E7D2F6208693D8A00429AC8 = {
-               fRef = 6ED806710641D3CC002888F7;
-               isa = PBXTextBookmark;
-               name = "MenuExtras.h: 23";
-               rLen = 0;
-               rLoc = 892;
-               rType = 0;
-               vrLen = 1193;
-               vrLoc = 0;
-       };
-       6E7D2F6308693D8A00429AC8 = {
-               fRef = 6ED806720641D3CC002888F7;
-               isa = PBXTextBookmark;
-               name = "MenuExtras.m: 89";
-               rLen = 0;
-               rLoc = 1961;
-               rType = 0;
-               vrLen = 1162;
-               vrLoc = 0;
-       };
-       6E7D2F6408693D8A00429AC8 = {
-               fRef = 6ED806830641D434002888F7;
-               isa = PBXTextBookmark;
-               name = "main.m: 29";
-               rLen = 0;
-               rLoc = 1038;
-               rType = 0;
-               vrLen = 1165;
-               vrLoc = 0;
-       };
-       6E7D2F6508693D8A00429AC8 = {
-               fRef = 6EA253F60786249800C839D1;
-               isa = PBXTextBookmark;
-               name = "ChazLog.h: ChazLogEnable";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1152;
-               vrLoc = 0;
-       };
-       6E7D2F6608693D8A00429AC8 = {
-               fRef = 6EA253F70786249800C839D1;
-               isa = PBXTextBookmark;
-               name = "ChazLog.m: _gLogEnabled";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1136;
-               vrLoc = 0;
-       };
-       6E7D2F6708693D8A00429AC8 = {
-               fRef = 6EC06556078BE68300591D61;
-               isa = PBXTextBookmark;
-               name = "ChazUpdate.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1654;
-               vrLoc = 0;
-       };
-       6E7D2F6808693D8A00429AC8 = {
-               fRef = 6EC06557078BE68300591D61;
-               isa = PBXTextBookmark;
-               name = "ChazUpdate.m: localizedDescription";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1266;
-               vrLoc = 0;
-       };
-       6E7D2F6908693D8A00429AC8 = {
-               fRef = 32CA4F630368D1EE00C91783;
-               isa = PBXTextBookmark;
-               name = "The_Cheat_Prefix.pch: 8";
-               rLen = 0;
-               rLoc = 149;
-               rType = 0;
-               vrLen = 149;
-               vrLoc = 0;
-       };
-       6E7D2F6A08693D8A00429AC8 = {
-               fRef = 6E6FD8FA0764D1B0004FD845;
-               isa = PBXBookmark;
-       };
-       6E7D2F6B08693D8A00429AC8 = {
-               fRef = 6ED8067A0641D41B002888F7;
-               isa = PBXTextBookmark;
-               name = "cheat_global.m: TCAutoStartEditingVarsPref";
-               rLen = 0;
-               rLoc = 1709;
-               rType = 0;
-               vrLen = 1452;
-               vrLoc = 920;
-       };
-       6E7D2F6C08693D8A00429AC8 = {
-               fRef = 6ED806300641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AboutBoxController.m: 1";
-               rLen = 866;
-               rLoc = 0;
-               rType = 0;
-               vrLen = 1113;
-               vrLoc = 0;
-       };
-       6E7D2F6D08693D8A00429AC8 = {
-               fRef = 6ED806310641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = _preferenceController;
-               rLen = 21;
-               rLoc = 1235;
-               rType = 0;
-               vrLen = 1135;
-               vrLoc = 0;
-       };
-       6E7D2F6E08693D8A00429AC8 = {
-               fRef = 6ED806320641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AppController.m: 128";
-               rLen = 0;
-               rLoc = 4932;
-               rType = 0;
-               vrLen = 1340;
-               vrLoc = 0;
-       };
-       6E7D2F6F08693D8A00429AC8 = {
-               fRef = 6ED8062F0641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AboutBoxController.h: 25";
-               rLen = 0;
-               rLoc = 935;
-               rType = 0;
-               vrLen = 1209;
-               vrLoc = 0;
-       };
-       6E7D2F7008693D8A00429AC8 = {
-               fRef = 6ED806300641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "AboutBoxController.m: 1";
-               rLen = 866;
-               rLoc = 0;
-               rType = 0;
-               vrLen = 1113;
-               vrLoc = 0;
-       };
-       6E7D2F7108693D8A00429AC8 = {
-               fRef = 6ED806430641D305002888F7;
-               isa = PBXTextBookmark;
-               name = "HelpController.h: 19";
-               rLen = 0;
-               rLoc = 865;
-               rType = 0;
-               vrLen = 1058;
-               vrLoc = 0;
-       };
-       6E7D2F7208693D8A00429AC8 = {
-               fRef = 6ED806440641D305002888F7;
-               isa = PBXTextBookmark;
-               name = "HelpController.m: 57";
-               rLen = 0;
-               rLoc = 1808;
-               rType = 0;
-               vrLen = 1141;
-               vrLoc = 0;
-       };
-       6E7D2F7308693D8A00429AC8 = {
-               fRef = 6EB3579A07C83C60000347B9;
-               isa = PBXTextBookmark;
-               name = "CheatURLCommand.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 997;
-               vrLoc = 0;
-       };
-       6E7D2F7408693D8A00429AC8 = {
-               fRef = 6EB3579B07C83C60000347B9;
-               isa = PBXTextBookmark;
-               name = "CheatURLCommand.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1302;
-               vrLoc = 0;
-       };
-       6E7D2F7508693D8A00429AC8 = {
-               fRef = 6E7614A206A47A790051C301;
-               isa = PBXTextBookmark;
-               name = "CheatDocument.h: ibNewValueField";
-               rLen = 0;
-               rLoc = 2977;
-               rType = 0;
-               vrLen = 1078;
-               vrLoc = 5891;
-       };
-       6E7D2F7608693D8A00429AC8 = {
-               fRef = 6ED806350641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "PreferenceController.h: chooseUpdate:";
-               rLen = 0;
-               rLoc = 1237;
-               rType = 0;
-               vrLen = 1002;
-               vrLoc = 322;
-       };
-       6E7D2F7708693D8A00429AC8 = {
-               fRef = 6ED806360641D2E9002888F7;
-               isa = PBXTextBookmark;
-               name = "PreferenceController.m: 138";
-               rLen = 0;
-               rLoc = 3607;
-               rType = 0;
-               vrLen = 1121;
-               vrLoc = 0;
-       };
-       6E7D2F7808693D8A00429AC8 = {
-               fRef = 6ED8072006421B05002888F7;
-               isa = PBXTextBookmark;
-               name = "GeneralPrefs.h: ibFadeSmoothlyButton";
-               rLen = 0;
-               rLoc = 1078;
-               rType = 0;
-               vrLen = 1351;
-               vrLoc = 0;
-       };
-       6E7D2F7908693D8A00429AC8 = {
-               fRef = 6ED8072106421B05002888F7;
-               isa = PBXTextBookmark;
-               name = "GeneralPrefs.m: 43";
-               rLen = 224;
-               rLoc = 1761;
-               rType = 0;
-               vrLen = 1367;
-               vrLoc = 0;
-       };
-       6E7D2F7A08693D8A00429AC8 = {
-               fRef = 6EB35B3607CA6BCC000347B9;
-               isa = PBXTextBookmark;
-               name = "UpdatePrefs.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1225;
-               vrLoc = 0;
-       };
-       6E7D2F7B08693D8A00429AC8 = {
-               fRef = 6EB35B3507CA6BCC000347B9;
-               isa = PBXTextBookmark;
-               name = "UpdatePrefs.h: ibAutoCheckButton:";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1110;
-               vrLoc = 0;
-       };
-       6E7D2F7C08693D8A00429AC8 = {
-               fRef = 6ED8072606421B10002888F7;
-               isa = PBXTextBookmark;
-               name = "ServerPrefs.h: ibStatusField";
-               rLen = 0;
-               rLoc = 1031;
-               rType = 0;
-               vrLen = 1237;
-               vrLoc = 0;
-       };
-       6E7D2F7D08693D8A00429AC8 = {
-               fRef = 6ED8072706421B10002888F7;
-               isa = PBXTextBookmark;
-               name = "ServerPrefs.m: 181";
-               rLen = 0;
-               rLoc = 5065;
-               rType = 0;
-               vrLen = 1086;
-               vrLoc = 128;
-       };
-       6E7D2F7E08693D8A00429AC8 = {
-               fRef = 6E7614A206A47A790051C301;
-               isa = PBXTextBookmark;
-               name = "CheatDocument.h: ibNewValueField";
-               rLen = 0;
-               rLoc = 2977;
-               rType = 0;
-               vrLen = 1182;
-               vrLoc = 0;
-       };
-       6E7D2F7F08693D8A00429AC8 = {
-               fRef = 6E7614A306A47A790051C301;
-               isa = PBXTextBookmark;
-               name = "CheatDocument.m: displayName";
-               rLen = 49;
-               rLoc = 22649;
-               rType = 0;
-               vrLen = 1282;
-               vrLoc = 0;
-       };
-       6E7D2F8008693D8A00429AC8 = {
-               fRef = 6EA39693077F4025002B0E69;
-               isa = PBXTextBookmark;
-               name = "DocInterfaceActions.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1193;
-               vrLoc = 0;
-       };
-       6E7D2F8108693D8A00429AC8 = {
-               fRef = 6EA3969B077F419A002B0E69;
-               isa = PBXTextBookmark;
-               name = "DocCheaterDelegate.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1197;
-               vrLoc = 0;
-       };
-       6E7D2F8208693D8A00429AC8 = {
-               fRef = 6E72B20E06AA5B0E00951D50;
-               isa = PBXTextBookmark;
-               name = "CheatData.m: 15";
-               rLen = 0;
-               rLoc = 668;
-               rType = 0;
-               vrLen = 1228;
-               vrLoc = 0;
-       };
-       6E7D2F8308693D8A00429AC8 = {
-               fRef = 6E72B20D06AA5B0E00951D50;
-               isa = PBXTextBookmark;
-               name = "CheatData.h: 13";
-               rLen = 0;
-               rLoc = 574;
-               rType = 0;
-               vrLen = 1140;
-               vrLoc = 0;
-       };
-       6E7D2F8408693D8A00429AC8 = {
-               fRef = 6E72B20E06AA5B0E00951D50;
-               isa = PBXTextBookmark;
-               name = "CheatData.m: 15";
-               rLen = 0;
-               rLoc = 668;
-               rType = 0;
-               vrLen = 1228;
-               vrLoc = 0;
-       };
-       6E7D2F8508693D8A00429AC8 = {
-               fRef = 6E8181D1076E475200A5FBEB;
-               isa = PBXTextBookmark;
-               name = "SearchData.h: _integerSign";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1137;
-               vrLoc = 0;
-       };
-       6E7D2F8608693D8A00429AC8 = {
-               fRef = 6E8181D2076E475200A5FBEB;
-               isa = PBXTextBookmark;
-               name = "SearchData.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1139;
-               vrLoc = 0;
-       };
-       6E7D2F8708693D8A00429AC8 = {
-               fRef = 6EF2F0BF077B424000C8B55A;
-               isa = PBXTextBookmark;
-               name = "CheaterTypes.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1131;
-               vrLoc = 0;
-       };
-       6E7D2F8808693D8A00429AC8 = {
-               fRef = 6E9BF5030782926E008F0139;
-               isa = PBXTextBookmark;
-               name = "CheaterTypes.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1190;
-               vrLoc = 0;
-       };
-       6E7D2F8908693D8A00429AC8 = {
-               fRef = 6E31A16B06B723CB00E40AB3;
-               isa = PBXTextBookmark;
-               name = _processes;
-               rLen = 10;
-               rLoc = 1065;
-               rType = 0;
-               vrLen = 1121;
-               vrLoc = 0;
-       };
-       6E7D2F8A08693D8A00429AC8 = {
-               fRef = 6E31A16C06B723CB00E40AB3;
-               isa = PBXTextBookmark;
-               name = "LocalCheater.m: 662";
-               rLen = 0;
-               rLoc = 17666;
-               rType = 0;
-               vrLen = 1511;
-               vrLoc = 16980;
-       };
-       6E7D2F8B08693D8A00429AC8 = {
-               fRef = 6E31A1B806B7286300E40AB3;
-               isa = PBXTextBookmark;
-               name = "RemoteCheater.h: connectToHostWithData:";
-               rLen = 0;
-               rLoc = 1113;
-               rType = 0;
-               vrLen = 1022;
-               vrLoc = 178;
-       };
-       6E7D2F8C08693D8A00429AC8 = {
-               fRef = 6E31A16C06B723CB00E40AB3;
-               isa = PBXTextBookmark;
-               name = "LocalCheater.m: 662";
-               rLen = 0;
-               rLoc = 17666;
-               rType = 0;
-               vrLen = 1319;
-               vrLoc = 0;
-       };
-       6E7D2F8D08693D8A00429AC8 = {
-               fRef = 6E31A1B806B7286300E40AB3;
-               isa = PBXTextBookmark;
-               name = "RemoteCheater.h: connectToHostWithData:";
-               rLen = 0;
-               rLoc = 1113;
-               rType = 0;
-               vrLen = 1026;
-               vrLoc = 174;
-       };
-       6E7D2F8E08693D8A00429AC8 = {
-               fRef = 6E31A1B906B7286300E40AB3;
-               isa = PBXTextBookmark;
-               name = "RemoteCheater.m: 81";
-               rLen = 0;
-               rLoc = 2035;
-               rType = 0;
-               vrLen = 1106;
-               vrLoc = 1442;
-       };
-       6E7D2F8F08693D8A00429AC8 = {
-               fRef = 6E38D61706C9F7A8003BA9B4;
-               isa = PBXTextBookmark;
-               name = "Cheater.h: limitReturnedResults:";
-               rLen = 0;
-               rLoc = 2375;
-               rType = 0;
-               vrLen = 1294;
-               vrLoc = 0;
-       };
-       6E7D2F9008693D8A00429AC8 = {
-               fRef = 6E38D61806C9F7A8003BA9B4;
-               isa = PBXTextBookmark;
-               name = "Cheater.m: 60";
-               rLen = 0;
-               rLoc = 1647;
-               rType = 0;
-               vrLen = 493;
-               vrLoc = 1308;
-       };
-       6E7D2F9108693D8A00429AC8 = {
-               fRef = 6E6FD6B10762B965004FD845;
-               isa = PBXTextBookmark;
-               name = "SearchContext.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1248;
-               vrLoc = 0;
-       };
-       6E7D2F9208693D8A00429AC8 = {
-               fRef = 6E6FD6B20762B965004FD845;
-               isa = PBXTextBookmark;
-               name = "SearchContext.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1196;
-               vrLoc = 0;
-       };
-       6E7D2F9308693D8A00429AC8 = {
-               fRef = 6E9BF4B0078287DF008F0139;
-               isa = PBXTextBookmark;
-               name = "Searching.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1192;
-               vrLoc = 0;
-       };
-       6E7D2F9408693D8A00429AC8 = {
-               fRef = 6E9BF4B1078287DF008F0139;
-               isa = PBXTextBookmark;
-               name = "Searching.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1252;
-               vrLoc = 0;
-       };
-       6E7D2F9508693D8A00429AC8 = {
-               fRef = 6E6FDC240765858A004FD845;
-               isa = PBXTextBookmark;
-               name = "DumpContext.h: regionCount";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1110;
-               vrLoc = 0;
-       };
-       6E7D2F9608693D8A00429AC8 = {
-               fRef = 6E138BF606C18765001C688F;
-               isa = PBXTextBookmark;
-               name = "Process.h: pid";
-               rLen = 0;
-               rLoc = 1435;
-               rType = 0;
-               vrLen = 1027;
-               vrLoc = 415;
-       };
-       6E7D2F9708693D8A00429AC8 = {
-               fRef = 6E6FDC250765858A004FD845;
-               isa = PBXTextBookmark;
-               name = "DumpContext.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1133;
-               vrLoc = 0;
-       };
-       6E7D2F9808693D8A00429AC8 = {
-               fRef = 6E138BF606C18765001C688F;
-               isa = PBXTextBookmark;
-               name = "Process.h: pid";
-               rLen = 0;
-               rLoc = 1435;
-               rType = 0;
-               vrLen = 1306;
-               vrLoc = 0;
-       };
-       6E7D2F9908693D8A00429AC8 = {
-               fRef = 6E138BF706C18765001C688F;
-               isa = PBXTextBookmark;
-               name = "- (BOOL)isEqual:(id)anObject";
-               rLen = 29;
-               rLoc = 2767;
-               rType = 0;
-               vrLen = 804;
-               vrLoc = 2422;
-       };
-       6E7D2F9A08693D8A00429AC8 = {
-               fRef = 6E3D7D3C06C44CFE00A73B29;
-               isa = PBXTextBookmark;
-               name = stringValue;
-               rLen = 11;
-               rLoc = 2534;
-               rType = 0;
-               vrLen = 1089;
-               vrLoc = 0;
-       };
-       6E7D2F9B08693D8A00429AC8 = {
-               fRef = 6E3D7D3D06C44CFE00A73B29;
-               isa = PBXTextBookmark;
-               name = "Variable.m: 272";
-               rLen = 0;
-               rLoc = 6630;
-               rType = 0;
-               vrLen = 1116;
-               vrLoc = 0;
-       };
-       6E7D2F9C08693D8A00429AC8 = {
-               fRef = 6ED97B9D0645E85700CBF037;
-               isa = PBXTextBookmark;
-               name = isListening;
-               rLen = 11;
-               rLoc = 1794;
-               rType = 0;
-               vrLen = 1278;
-               vrLoc = 0;
-       };
-       6E7D2F9D08693D8A00429AC8 = {
-               fRef = 6ED97B9E0645E85700CBF037;
-               isa = PBXTextBookmark;
-               name = "CheatServer.m: 233";
-               rLen = 0;
-               rLoc = 6294;
-               rType = 0;
-               vrLen = 653;
-               vrLoc = 5815;
-       };
-       6E7D2F9E08693D8A00429AC8 = {
-               fRef = 6E31A14306B71EBA00E40AB3;
-               isa = PBXTextBookmark;
-               name = "ServerChild.h: _client";
-               rLen = 0;
-               rLoc = 1097;
-               rType = 0;
-               vrLen = 1125;
-               vrLoc = 0;
-       };
-       6E7D2F9F08693D8A00429AC8 = {
-               fRef = 6E31A14406B71EBA00E40AB3;
-               isa = PBXTextBookmark;
-               name = "ServerChild.m: 129";
-               rLen = 0;
-               rLoc = 3683;
-               rType = 0;
-               vrLen = 937;
-               vrLoc = 3147;
-       };
-       6E7D2FA008693D8A00429AC8 = {
-               fRef = 6E83F53007B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1594;
-               vrLoc = 0;
-       };
-       6E7D2FA108693D8A00429AC8 = {
-               fRef = 6E83F53107B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.m: kMySocketIsListener";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1100;
-               vrLoc = 0;
-       };
-       6E7D2FA208693D8A00429AC8 = {
-               fRef = 6E83F53007B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.h: 39";
-               rLen = 0;
-               rLoc = 1823;
-               rType = 0;
-               vrLen = 1271;
-               vrLoc = 801;
-       };
-       6E7D2FA308693D8A00429AC8 = {
-               fRef = 6E6FD69B0762B626004FD845;
-               isa = PBXTextBookmark;
-               name = "ThreadedTask.h: initWithFunction:context:delegate:";
-               rLen = 0;
-               rLoc = 2709;
-               rType = 0;
-               vrLen = 1731;
-               vrLoc = 0;
-       };
-       6E7D2FA408693D8A00429AC8 = {
-               fRef = 6E6FD69C0762B626004FD845;
-               isa = PBXTextBookmark;
-               name = "- (id)initWithFunction:(int (*)(ThreadedTask *, unsigned))function context:(id)context delegate:(id)delegate";
-               rLen = 108;
-               rLoc = 3530;
-               rType = 0;
-               vrLen = 1731;
-               vrLoc = 0;
-       };
-       6E7D2FA508693D8A00429AC8 = {
-               fRef = 6EAB490B06CC4FEA00A4ABF0;
-               isa = PBXTextBookmark;
-               name = "VMRegion.h: VMRegionAddress";
-               rLen = 0;
-               rLoc = 4691;
-               rType = 0;
-               vrLen = 1691;
-               vrLoc = 0;
-       };
-       6E7D2FA608693D8A00429AC8 = {
-               fRef = 6EAB490C06CC4FEA00A4ABF0;
-               isa = PBXTextBookmark;
-               name = "VMRegion.m: 70";
-               rLen = 91;
-               rLoc = 2386;
-               rType = 0;
-               vrLen = 813;
-               vrLoc = 6745;
-       };
-       6E7D2FA708693D8A00429AC8 = {
-               fRef = 6E38D3FD06C9B71F003BA9B4;
-               isa = PBXTextBookmark;
-               name = "- (BOOL)tableViewDidReceiveSpaceKey:(NSTableView *)tableView";
-               rLen = 60;
-               rLoc = 1676;
-               rType = 0;
-               vrLen = 1152;
-               vrLoc = 0;
-       };
-       6E7D2FA808693D8A00429AC8 = {
-               fRef = 6E38D3FE06C9B71F003BA9B4;
-               isa = PBXTextBookmark;
-               name = "BetterTableView.m: 172";
-               rLen = 0;
-               rLoc = 4844;
-               rType = 0;
-               vrLen = 1127;
-               vrLoc = 0;
-       };
-       6E7D2FA908693D8A00429AC8 = {
-               fRef = 6E9BF3BA07820415008F0139;
-               isa = PBXTextBookmark;
-               name = "VariableTable.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1181;
-               vrLoc = 0;
-       };
-       6E7D2FAA08693D8A00429AC8 = {
-               fRef = 6E9BF3BB07820415008F0139;
-               isa = PBXTextBookmark;
-               name = "VariableTable.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1127;
-               vrLoc = 0;
-       };
-       6E7D2FAB08693D8A00429AC8 = {
-               fRef = 6E9BF31F0781EEC3008F0139;
-               isa = PBXTextBookmark;
-               name = "TrackerScroller.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1061;
-               vrLoc = 0;
-       };
-       6E7D2FAC08693D8A00429AC8 = {
-               fRef = 6E9BF3200781EEC3008F0139;
-               isa = PBXTextBookmark;
-               name = "TrackerScroller.m: delegate";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1032;
-               vrLoc = 0;
-       };
-       6E7D2FAD08693D8A00429AC8 = {
-               fRef = 6E6FD9FE0764EDE4004FD845;
-               isa = PBXTextBookmark;
-               name = "FadeView.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1093;
-               vrLoc = 0;
-       };
-       6E7D2FAE08693D8A00429AC8 = {
-               fRef = 6E6FD9FF0764EDE4004FD845;
-               isa = PBXTextBookmark;
-               name = "FadeView.m: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1042;
-               vrLoc = 0;
-       };
-       6E7D2FAF08693D8A00429AC8 = {
-               fRef = 6E138C3006C1C140001C688F;
-               isa = PBXTextBookmark;
-               name = "StatusTextField.h: 19";
-               rLen = 0;
-               rLoc = 865;
-               rType = 0;
-               vrLen = 1398;
-               vrLoc = 0;
-       };
-       6E7D2FB008693D8A00429AC8 = {
-               fRef = 6E138C3106C1C140001C688F;
-               isa = PBXTextBookmark;
-               name = "- (void)setTemporaryStatus:(NSString *)message";
-               rLen = 47;
-               rLoc = 1865;
-               rType = 0;
-               vrLen = 1073;
-               vrLoc = 0;
-       };
-       6E7D2FB108693D8A00429AC8 = {
-               fRef = 6ED806710641D3CC002888F7;
-               isa = PBXTextBookmark;
-               name = "MenuExtras.h: 23";
-               rLen = 0;
-               rLoc = 892;
-               rType = 0;
-               vrLen = 1193;
-               vrLoc = 0;
-       };
-       6E7D2FB208693D8A00429AC8 = {
-               fRef = 6ED806720641D3CC002888F7;
-               isa = PBXTextBookmark;
-               name = "MenuExtras.m: 89";
-               rLen = 0;
-               rLoc = 1961;
-               rType = 0;
-               vrLen = 1162;
-               vrLoc = 0;
-       };
-       6E7D2FB308693D8A00429AC8 = {
-               fRef = 6ED806830641D434002888F7;
-               isa = PBXTextBookmark;
-               name = "main.m: 29";
-               rLen = 0;
-               rLoc = 1038;
-               rType = 0;
-               vrLen = 1165;
-               vrLoc = 0;
-       };
-       6E7D2FB408693D8A00429AC8 = {
-               fRef = 6EA253F60786249800C839D1;
-               isa = PBXTextBookmark;
-               name = "ChazLog.h: ChazLogEnable";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1152;
-               vrLoc = 0;
-       };
-       6E7D2FB508693D8A00429AC8 = {
-               fRef = 6EA253F70786249800C839D1;
-               isa = PBXTextBookmark;
-               name = "ChazLog.m: _gLogEnabled";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1136;
-               vrLoc = 0;
-       };
-       6E7D2FB608693D8A00429AC8 = {
-               fRef = 6EC06556078BE68300591D61;
-               isa = PBXTextBookmark;
-               name = "ChazUpdate.h: 20";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1654;
-               vrLoc = 0;
-       };
-       6E7D2FB708693D8A00429AC8 = {
-               fRef = 32CA4F630368D1EE00C91783;
-               isa = PBXTextBookmark;
-               name = "The_Cheat_Prefix.pch: 8";
-               rLen = 0;
-               rLoc = 149;
-               rType = 0;
-               vrLen = 149;
-               vrLoc = 0;
-       };
-       6E7D2FB808693D8A00429AC8 = {
-               fRef = 6EC06557078BE68300591D61;
-               isa = PBXTextBookmark;
-               name = "ChazUpdate.m: localizedDescription";
-               rLen = 0;
-               rLoc = 866;
-               rType = 0;
-               vrLen = 1266;
-               vrLoc = 0;
-       };
-       6E7D2FB908693D8A00429AC8 = {
-               fRef = 32CA4F630368D1EE00C91783;
-               isa = PBXTextBookmark;
-               name = "The_Cheat_Prefix.pch: 8";
-               rLen = 0;
-               rLoc = 149;
-               rType = 0;
-               vrLen = 149;
-               vrLoc = 0;
-       };
-       6E7D2FBA08693D8A00429AC8 = {
-               fRef = 6E6FD8FA0764D1B0004FD845;
-               isa = PBXBookmark;
-       };
-       6E7D2FBB08693D8A00429AC8 = {
-               fRef = 6ED8067A0641D41B002888F7;
-               isa = PBXTextBookmark;
-               name = "cheat_global.m: LaunchEmail";
-               rLen = 0;
-               rLoc = 2390;
-               rType = 0;
-               vrLen = 1241;
-               vrLoc = 1640;
-       };
-       6E7D2FBC08693D8A00429AC8 = {
-               fRef = 6E7D2FBD08693D8A00429AC8;
-               isa = PBXTextBookmark;
-               name = "@interface NSDocumentController : NSObject<NSCoding> {";
-               rLen = 55;
-               rLoc = 326;
-               rType = 0;
-               vrLen = 1477;
-               vrLoc = 18664;
-       };
-       6E7D2FBD08693D8A00429AC8 = {
-               isa = PBXFileReference;
-               name = NSDocumentController.h;
-               path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSDocumentController.h;
-               refType = 0;
-               sourceTree = "<absolute>";
-       };
-       6E8181D1076E475200A5FBEB = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1260}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E8181D2076E475200A5FBEB = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3598}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E83F53007B048BD00D9DACB = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2072}}";
-                       sepNavSelRange = "{1823, 0}";
-                       sepNavVisRect = "{{0, 249}, {987, 511}}";
-               };
-       };
-       6E83F53107B048BD00D9DACB = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 15680}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF31F0781EEC3008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 574}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF3200781EEC3008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 728}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF3BA07820415008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 714}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF3BB07820415008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2044}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF4B0078287DF008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1400}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF4B1078287DF008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 10276}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6E9BF5030782926E008F0139 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1204}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EA253F60786249800C839D1 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 896}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EA253F70786249800C839D1 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2366}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EA39693077F4025002B0E69 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 8722}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EA3969B077F419A002B0E69 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 6412}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-                       sepNavWindowFrame = "{{15, 375}, {750, 558}}";
-               };
-       };
-       6EAB490B06CC4FEA00A4ABF0 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2730}}";
-                       sepNavSelRange = "{4691, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EAB490C06CC4FEA00A4ABF0 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3920}}";
-                       sepNavSelRange = "{2386, 91}";
-                       sepNavVisRect = "{{0, 3409}, {987, 511}}";
-               };
-       };
-       6EB3578E07C83B99000347B9 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {990, 678}}";
-                       sepNavSelRange = "{100, 0}";
-                       sepNavVisRect = "{{0, 0}, {990, 678}}";
-               };
-       };
-       6EB3578F07C83B99000347B9 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {990, 678}}";
-                       sepNavSelRange = "{116, 0}";
-                       sepNavVisRect = "{{0, 0}, {990, 678}}";
-               };
-       };
-       6EB3579A07C83C60000347B9 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 511}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EB3579B07C83C60000347B9 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 616}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EB35A0A07C9BEB0000347B9 = {
-               fileReference = 6E9BF4B1078287DF008F0139;
-               functionName = "SearchStringIterationLastValue()";
-               isa = PBXFileBreakpoint;
-               lineNumber = 539;
-               state = 1;
-       };
-       6EB35B3507CA6BCC000347B9 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 518}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EB35B3607CA6BCC000347B9 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 658}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EC06556078BE68300591D61 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 644}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EC06557078BE68300591D61 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1064, 4718}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6EC06600078BFBE900591D61 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {4796, 5754}}";
-                       sepNavSelRange = "{3105, 0}";
-                       sepNavVisRect = "{{0, 1083}, {1042, 601}}";
-               };
-       };
-       6ED229330830611B005F7A7E = {
-               isa = PBXFileReference;
-               lastKnownFileType = sourcecode.c.h;
-               name = NSDocumentController.h;
-               path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSDocumentController.h;
-               refType = 0;
-               sourceTree = "<absolute>";
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {5150, 3822}}";
-                       sepNavSelRange = "{326, 55}";
-                       sepNavVisRect = "{{0, 3388}, {883, 409}}";
-                       sepNavWindowFrame = "{{416, 400}, {928, 538}}";
-               };
-       };
-       6ED22BEB083446FE005F7A7E = {
-               fRef = 6E83F53007B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.h: addressWithHost:port:";
-               rLen = 0;
-               rLoc = 4316;
-               rType = 0;
-               vrLen = 1324;
-               vrLoc = 2434;
-       };
-       6ED22BEC083446FE005F7A7E = {
-               fRef = 6E83F53107B048BD00D9DACB;
-               isa = PBXTextBookmark;
-               name = "MySocket.m: 30";
-               rLen = 0;
-               rLoc = 1243;
-               rType = 0;
-               vrLen = 759;
-               vrLoc = 653;
-       };
-       6ED22BED083446FE005F7A7E = {
-               fRef = 6EC06557078BE68300591D61;
-               isa = PBXTextBookmark;
-               name = ChazAppVersion;
-               rLen = 14;
-               rLoc = 8403;
-               rType = 0;
-               vrLen = 1297;
-               vrLoc = 5711;
-       };
-       6ED22BEE083446FE005F7A7E = {
-               fRef = 6EA253F70786249800C839D1;
-               isa = PBXTextBookmark;
-               name = "void ChazLogDisable()";
-               rLen = 22;
-               rLoc = 1263;
-               rType = 0;
-               vrLen = 633;
-               vrLoc = 0;
-       };
-       6ED22BEF083446FE005F7A7E = {
-               fRef = 6EC06556078BE68300591D61;
-               isa = PBXTextBookmark;
-               name = "ChazUpdate.h: 23";
-               rLen = 0;
-               rLoc = 1571;
-               rType = 0;
-               vrLen = 1290;
-               vrLoc = 0;
-       };
-       6ED22BF0083446FE005F7A7E = {
-               fRef = 6EA253F60786249800C839D1;
-               isa = PBXTextBookmark;
-               name = "ChazLog.h: 19";
-               rLen = 286;
-               rLoc = 981;
-               rType = 0;
-               vrLen = 1015;
-               vrLoc = 0;
-       };
-       6ED22BF9083446FE005F7A7E = {
-               fRef = 6ED229330830611B005F7A7E;
-               isa = PBXTextBookmark;
-               name = "@interface NSDocumentController : NSObject<NSCoding> {";
-               rLen = 55;
-               rLoc = 326;
-               rType = 0;
-               vrLen = 1477;
-               vrLoc = 18664;
-       };
-       6ED806180641D21A002888F7 = {
-               activeArgIndex = 2147483647;
-               activeArgIndices = (
-               );
-               argumentStrings = (
-               );
-               configStateDict = {
-               };
-               cppStopOnCatchEnabled = 0;
-               cppStopOnThrowEnabled = 0;
-               customDataFormattersEnabled = 1;
-               debuggerPlugin = GDBDebugging;
-               disassemblyDisplayState = 0;
-               dylibVariantSuffix = "";
-               enableDebugStr = 1;
-               environmentEntries = (
-               );
-               executableSystemSymbolLevel = 0;
-               executableUserSymbolLevel = 0;
-               isa = PBXExecutable;
-               libgmallocEnabled = 0;
-               name = "The Cheat";
-               savedGlobals = {
-               };
-               shlibInfoDictList = (
-               );
-               shlibInfoDictList_v2 = (
-               );
-               sourceDirectories = (
-               );
-       };
-       6ED806210641D21D002888F7 = {
-               fallbackIsa = XCSourceControlManager;
-               isSCMEnabled = 0;
-               isa = PBXSourceControlManager;
-               scmConfiguration = {
-               };
-               scmType = scm.cvs;
-       };
-       6ED806220641D21D002888F7 = {
-               indexTemplatePath = "";
-               isa = PBXCodeSenseManager;
-       };
-       6ED8062F0641D2E9002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 574}}";
-                       sepNavSelRange = "{935, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806300641D2E9002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1134}}";
-                       sepNavSelRange = "{0, 866}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806310641D2E9002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 910}}";
-                       sepNavSelRange = "{1235, 21}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806320641D2E9002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1190, 3598}}";
-                       sepNavSelRange = "{4932, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-                       sepNavWindowFrame = "{{15, 375}, {750, 558}}";
-               };
-       };
-       6ED806350641D2E9002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 616}}";
-                       sepNavSelRange = "{1237, 0}";
-                       sepNavVisRect = "{{0, 105}, {987, 511}}";
-               };
-       };
-       6ED806360641D2E9002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2058}}";
-                       sepNavSelRange = "{3607, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806430641D305002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 511}}";
-                       sepNavSelRange = "{865, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806440641D305002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1292, 896}}";
-                       sepNavSelRange = "{1808, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806710641D3CC002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 511}}";
-                       sepNavSelRange = "{892, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806720641D3CC002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1610}}";
-                       sepNavSelRange = "{1961, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806790641D41B002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {991, 1104}}";
-                       sepNavSelRange = "{1645, 0}";
-                       sepNavVisRect = "{{0, 269}, {991, 678}}";
-               };
-       };
-       6ED8067A0641D41B002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1022, 1932}}";
-                       sepNavSelRange = "{2390, 0}";
-                       sepNavVisRect = "{{0, 588}, {987, 511}}";
-                       sepNavWindowFrame = "{{15, 375}, {750, 558}}";
-               };
-       };
-       6ED806830641D434002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 546}}";
-                       sepNavSelRange = "{1038, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED806940641D498002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 743}}";
-                       sepNavSelRange = "{130, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 743}}";
-               };
-       };
-       6ED806D00641D5F2002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 966}}";
-                       sepNavSelRange = "{599, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED8072006421B05002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 658}}";
-                       sepNavSelRange = "{1078, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED8072106421B05002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1946}}";
-                       sepNavSelRange = "{1761, 224}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED8072606421B10002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 658}}";
-                       sepNavSelRange = "{1031, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED8072706421B10002888F7 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2926}}";
-                       sepNavSelRange = "{5065, 0}";
-                       sepNavVisRect = "{{0, 44}, {987, 511}}";
-               };
-       };
-       6ED97B9D0645E85700CBF037 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 1162}}";
-                       sepNavSelRange = "{1794, 11}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       6ED97B9E0645E85700CBF037 = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 3612}}";
-                       sepNavSelRange = "{6294, 0}";
-                       sepNavVisRect = "{{0, 3017}, {987, 511}}";
-               };
-       };
-       6EF2F0BF077B424000C8B55A = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {987, 2576}}";
-                       sepNavSelRange = "{866, 0}";
-                       sepNavVisRect = "{{0, 0}, {987, 511}}";
-               };
-       };
-       8D1107260486CEB800E47090 = {
-               activeExec = 0;
-               executables = (
-                       6ED806180641D21A002888F7,
-               );
-       };
-}
diff --git a/The Cheat.xcode/project.pbxproj b/The Cheat.xcode/project.pbxproj
deleted file mode 100644 (file)
index d2a5644..0000000
+++ /dev/null
@@ -1,1874 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 39;
-       objects = {
-               080E96DDFE201D6D7F000001 = {
-                       children = (
-                               6ED806310641D2E9002888F7,
-                               6ED806320641D2E9002888F7,
-                               6ED8062F0641D2E9002888F7,
-                               6ED806300641D2E9002888F7,
-                               6ED806430641D305002888F7,
-                               6ED806440641D305002888F7,
-                               6EB3579A07C83C60000347B9,
-                               6EB3579B07C83C60000347B9,
-                               6ED807190641EC6E002888F7,
-                       );
-                       isa = PBXGroup;
-                       name = Controllers;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-//080
-//081
-//082
-//083
-//084
-//100
-//101
-//102
-//103
-//104
-               1058C7A0FEA54F0111CA2CBB = {
-                       children = (
-                               6E63969806423AFE00BD3765,
-                               1058C7A1FEA54F0111CA2CBB,
-                               6ED806FA0641E70F002888F7,
-                       );
-                       isa = PBXGroup;
-                       name = "Linked Frameworks";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               1058C7A1FEA54F0111CA2CBB = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.framework;
-                       name = Cocoa.framework;
-                       path = /System/Library/Frameworks/Cocoa.framework;
-                       refType = 0;
-                       sourceTree = "<absolute>";
-               };
-               1058C7A2FEA54F0111CA2CBB = {
-                       children = (
-                               29B97325FDCFA39411CA2CEA,
-                               29B97324FDCFA39411CA2CEA,
-                       );
-                       isa = PBXGroup;
-                       name = "Other Frameworks";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-//100
-//101
-//102
-//103
-//104
-//190
-//191
-//192
-//193
-//194
-               19C28FACFE9D520D11CA2CBB = {
-                       children = (
-                               8D1107320486CEB800E47090,
-                       );
-                       isa = PBXGroup;
-                       name = Products;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-//190
-//191
-//192
-//193
-//194
-//290
-//291
-//292
-//293
-//294
-               29B97313FDCFA39411CA2CEA = {
-                       buildSettings = {
-                       };
-                       buildStyles = (
-                               4A9504CCFFE6A4B311CA0CBA,
-                               4A9504CDFFE6A4B311CA0CBA,
-                       );
-                       hasScannedForEncodings = 1;
-                       isa = PBXProject;
-                       mainGroup = 29B97314FDCFA39411CA2CEA;
-                       projectDirPath = "";
-                       targets = (
-                               8D1107260486CEB800E47090,
-                       );
-               };
-               29B97314FDCFA39411CA2CEA = {
-                       children = (
-                               080E96DDFE201D6D7F000001,
-                               6E98A54A06A73E37006A576D,
-                               6E38D68006C9F98E003BA9B4,
-                               6ED97B900645E2EE00CBF037,
-                               6E7157BC0647004B00763517,
-                               6ED806580641D343002888F7,
-                               6ED806700641D3AC002888F7,
-                               29B97315FDCFA39411CA2CEA,
-                               29B97317FDCFA39411CA2CEA,
-                               29B97323FDCFA39411CA2CEA,
-                               19C28FACFE9D520D11CA2CBB,
-                       );
-                       isa = PBXGroup;
-                       name = "The Cheat";
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               29B97315FDCFA39411CA2CEA = {
-                       children = (
-                               6ED806830641D434002888F7,
-                               6ED806790641D41B002888F7,
-                               6ED8067A0641D41B002888F7,
-                               6EA253F60786249800C839D1,
-                               6EA253F70786249800C839D1,
-                               6EC06556078BE68300591D61,
-                               6EC06557078BE68300591D61,
-                               32CA4F630368D1EE00C91783,
-                       );
-                       isa = PBXGroup;
-                       name = "Other Sources";
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               29B97317FDCFA39411CA2CEA = {
-                       children = (
-                               6ED806950641D498002888F7,
-                               6ED8068F0641D498002888F7,
-                               6ED806910641D498002888F7,
-                               6ED806990641D498002888F7,
-                               6E98A54B06A740EE006A576D,
-                               6EF2F08B077A7BFC00C8B55A,
-                               6EB357C907C83E9D000347B9,
-                               6EC06600078BFBE900591D61,
-                               6ED806930641D498002888F7,
-                               6ED806D00641D5F2002888F7,
-                       );
-                       isa = PBXGroup;
-                       name = Resources;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               29B97323FDCFA39411CA2CEA = {
-                       children = (
-                               1058C7A0FEA54F0111CA2CBB,
-                               1058C7A2FEA54F0111CA2CBB,
-                       );
-                       isa = PBXGroup;
-                       name = Frameworks;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               29B97324FDCFA39411CA2CEA = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.framework;
-                       name = AppKit.framework;
-                       path = /System/Library/Frameworks/AppKit.framework;
-                       refType = 0;
-                       sourceTree = "<absolute>";
-               };
-               29B97325FDCFA39411CA2CEA = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.framework;
-                       name = Foundation.framework;
-                       path = /System/Library/Frameworks/Foundation.framework;
-                       refType = 0;
-                       sourceTree = "<absolute>";
-               };
-//290
-//291
-//292
-//293
-//294
-//320
-//321
-//322
-//323
-//324
-               32CA4F630368D1EE00C91783 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = The_Cheat_Prefix.pch;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-//320
-//321
-//322
-//323
-//324
-//4A0
-//4A1
-//4A2
-//4A3
-//4A4
-               4A9504CCFFE6A4B311CA0CBA = {
-                       buildSettings = {
-                               COPY_PHASE_STRIP = NO;
-                               DEBUGGING_SYMBOLS = YES;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
-                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               OPTIMIZATION_CFLAGS = "-O0";
-                               ZERO_LINK = YES;
-                       };
-                       isa = PBXBuildStyle;
-                       name = Development;
-               };
-               4A9504CDFFE6A4B311CA0CBA = {
-                       buildSettings = {
-                               COPY_PHASE_STRIP = YES;
-                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
-                               ZERO_LINK = NO;
-                       };
-                       isa = PBXBuildStyle;
-                       name = Deployment;
-               };
-//4A0
-//4A1
-//4A2
-//4A3
-//4A4
-//6E0
-//6E1
-//6E2
-//6E3
-//6E4
-               6E138BF606C18765001C688F = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = Process.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E138BF706C18765001C688F = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = Process.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E138BF806C18765001C688F = {
-                       fileRef = 6E138BF606C18765001C688F;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E138BF906C18765001C688F = {
-                       fileRef = 6E138BF706C18765001C688F;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E138C3006C1C140001C688F = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = StatusTextField.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E138C3106C1C140001C688F = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = StatusTextField.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E138C3206C1C140001C688F = {
-                       fileRef = 6E138C3006C1C140001C688F;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E138C3306C1C140001C688F = {
-                       fileRef = 6E138C3106C1C140001C688F;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E31A14306B71EBA00E40AB3 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ServerChild.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E31A14406B71EBA00E40AB3 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = ServerChild.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E31A14506B71EBA00E40AB3 = {
-                       fileRef = 6E31A14306B71EBA00E40AB3;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E31A14606B71EBA00E40AB3 = {
-                       fileRef = 6E31A14406B71EBA00E40AB3;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E31A16B06B723CB00E40AB3 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = LocalCheater.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E31A16C06B723CB00E40AB3 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = LocalCheater.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E31A16D06B723CB00E40AB3 = {
-                       fileRef = 6E31A16B06B723CB00E40AB3;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E31A16E06B723CB00E40AB3 = {
-                       fileRef = 6E31A16C06B723CB00E40AB3;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E31A1B806B7286300E40AB3 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = RemoteCheater.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E31A1B906B7286300E40AB3 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = RemoteCheater.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E31A1BA06B7286300E40AB3 = {
-                       fileRef = 6E31A1B806B7286300E40AB3;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E31A1BB06B7286300E40AB3 = {
-                       fileRef = 6E31A1B906B7286300E40AB3;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E38D3FD06C9B71F003BA9B4 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = BetterTableView.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E38D3FE06C9B71F003BA9B4 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = BetterTableView.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E38D3FF06C9B71F003BA9B4 = {
-                       fileRef = 6E38D3FD06C9B71F003BA9B4;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E38D40006C9B71F003BA9B4 = {
-                       fileRef = 6E38D3FE06C9B71F003BA9B4;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E38D61706C9F7A8003BA9B4 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = Cheater.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E38D61806C9F7A8003BA9B4 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = Cheater.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E38D61906C9F7A8003BA9B4 = {
-                       fileRef = 6E38D61706C9F7A8003BA9B4;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E38D61A06C9F7A8003BA9B4 = {
-                       fileRef = 6E38D61806C9F7A8003BA9B4;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E38D68006C9F98E003BA9B4 = {
-                       children = (
-                               6EF2F0BF077B424000C8B55A,
-                               6E9BF5030782926E008F0139,
-                               6E31A16B06B723CB00E40AB3,
-                               6E31A16C06B723CB00E40AB3,
-                               6E31A1B806B7286300E40AB3,
-                               6E31A1B906B7286300E40AB3,
-                               6E38D61706C9F7A8003BA9B4,
-                               6E38D61806C9F7A8003BA9B4,
-                               6E6FD6B10762B965004FD845,
-                               6E6FD6B20762B965004FD845,
-                               6E9BF4B0078287DF008F0139,
-                               6E9BF4B1078287DF008F0139,
-                               6E6FDC240765858A004FD845,
-                               6E6FDC250765858A004FD845,
-                               6E138BF606C18765001C688F,
-                               6E138BF706C18765001C688F,
-                               6E3D7D3C06C44CFE00A73B29,
-                               6E3D7D3D06C44CFE00A73B29,
-                       );
-                       isa = PBXGroup;
-                       name = Cheating;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E3D7D3C06C44CFE00A73B29 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = Variable.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E3D7D3D06C44CFE00A73B29 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = Variable.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E3D7D3E06C44CFE00A73B29 = {
-                       fileRef = 6E3D7D3C06C44CFE00A73B29;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E3D7D3F06C44CFE00A73B29 = {
-                       fileRef = 6E3D7D3D06C44CFE00A73B29;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E63969806423AFE00BD3765 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.framework;
-                       name = Carbon.framework;
-                       path = /System/Library/Frameworks/Carbon.framework;
-                       refType = 0;
-                       sourceTree = "<absolute>";
-               };
-               6E63969906423AFE00BD3765 = {
-                       fileRef = 6E63969806423AFE00BD3765;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FD69B0762B626004FD845 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ThreadedTask.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FD69C0762B626004FD845 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = ThreadedTask.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FD69D0762B626004FD845 = {
-                       fileRef = 6E6FD69B0762B626004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FD69E0762B626004FD845 = {
-                       fileRef = 6E6FD69C0762B626004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FD6B10762B965004FD845 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = SearchContext.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FD6B20762B965004FD845 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = SearchContext.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FD6B30762B965004FD845 = {
-                       fileRef = 6E6FD6B10762B965004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FD6B40762B965004FD845 = {
-                       fileRef = 6E6FD6B20762B965004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FD8FA0764D1B0004FD845 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.tiff;
-                       path = Lock.tif;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FD9FE0764EDE4004FD845 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = FadeView.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FD9FF0764EDE4004FD845 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = FadeView.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FDA000764EDE4004FD845 = {
-                       fileRef = 6E6FD9FE0764EDE4004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FDA010764EDE4004FD845 = {
-                       fileRef = 6E6FD9FF0764EDE4004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FDC240765858A004FD845 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = DumpContext.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FDC250765858A004FD845 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = DumpContext.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E6FDC260765858A004FD845 = {
-                       fileRef = 6E6FDC240765858A004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E6FDC270765858A004FD845 = {
-                       fileRef = 6E6FDC250765858A004FD845;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E7157BC0647004B00763517 = {
-                       children = (
-                               6E6FD69B0762B626004FD845,
-                               6E6FD69C0762B626004FD845,
-                               6EAB490B06CC4FEA00A4ABF0,
-                               6EAB490C06CC4FEA00A4ABF0,
-                       );
-                       isa = PBXGroup;
-                       name = "The Core";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E72B20D06AA5B0E00951D50 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = CheatData.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E72B20E06AA5B0E00951D50 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = CheatData.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E72B20F06AA5B0E00951D50 = {
-                       fileRef = 6E72B20D06AA5B0E00951D50;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E72B21006AA5B0E00951D50 = {
-                       fileRef = 6E72B20E06AA5B0E00951D50;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E7614A206A47A790051C301 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = CheatDocument.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E7614A306A47A790051C301 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = CheatDocument.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E7614A406A47A790051C301 = {
-                       fileRef = 6E7614A206A47A790051C301;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E7614A506A47A790051C301 = {
-                       fileRef = 6E7614A306A47A790051C301;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E8181D1076E475200A5FBEB = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = SearchData.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E8181D2076E475200A5FBEB = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = SearchData.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E8181D3076E475200A5FBEB = {
-                       fileRef = 6E8181D1076E475200A5FBEB;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E8181D4076E475200A5FBEB = {
-                       fileRef = 6E8181D2076E475200A5FBEB;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E83F53007B048BD00D9DACB = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = MySocket.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E83F53107B048BD00D9DACB = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = MySocket.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E83F53207B048BD00D9DACB = {
-                       fileRef = 6E83F53007B048BD00D9DACB;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E83F53307B048BD00D9DACB = {
-                       fileRef = 6E83F53107B048BD00D9DACB;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E98A54A06A73E37006A576D = {
-                       children = (
-                               6E7614A206A47A790051C301,
-                               6E7614A306A47A790051C301,
-                               6EA39693077F4025002B0E69,
-                               6EA3969B077F419A002B0E69,
-                               6E72B20D06AA5B0E00951D50,
-                               6E72B20E06AA5B0E00951D50,
-                               6E8181D1076E475200A5FBEB,
-                               6E8181D2076E475200A5FBEB,
-                       );
-                       isa = PBXGroup;
-                       name = Document;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E98A54B06A740EE006A576D = {
-                       children = (
-                               6E98A54C06A740EE006A576D,
-                       );
-                       isa = PBXVariantGroup;
-                       name = CheatDocument.nib;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E98A54C06A740EE006A576D = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.nib;
-                       name = English;
-                       path = English.lproj/CheatDocument.nib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E98A54D06A740EE006A576D = {
-                       fileRef = 6E98A54B06A740EE006A576D;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF31F0781EEC3008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = TrackerScroller.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF3200781EEC3008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = TrackerScroller.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF3210781EEC3008F0139 = {
-                       fileRef = 6E9BF31F0781EEC3008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF3220781EEC3008F0139 = {
-                       fileRef = 6E9BF3200781EEC3008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF3BA07820415008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = VariableTable.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF3BB07820415008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = VariableTable.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF3BC07820415008F0139 = {
-                       fileRef = 6E9BF3BA07820415008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF3BD07820415008F0139 = {
-                       fileRef = 6E9BF3BB07820415008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF4B0078287DF008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = Searching.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF4B1078287DF008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = Searching.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF4B2078287DF008F0139 = {
-                       fileRef = 6E9BF4B0078287DF008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF4B3078287DF008F0139 = {
-                       fileRef = 6E9BF4B1078287DF008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6E9BF5030782926E008F0139 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = CheaterTypes.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6E9BF5040782926E008F0139 = {
-                       fileRef = 6E9BF5030782926E008F0139;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EA253F60786249800C839D1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ChazLog.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EA253F70786249800C839D1 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = ChazLog.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EA253F80786249800C839D1 = {
-                       fileRef = 6EA253F60786249800C839D1;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EA253F90786249800C839D1 = {
-                       fileRef = 6EA253F70786249800C839D1;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EA39693077F4025002B0E69 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = DocInterfaceActions.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EA39694077F4025002B0E69 = {
-                       fileRef = 6EA39693077F4025002B0E69;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EA3969B077F419A002B0E69 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = DocCheaterDelegate.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EA3969C077F419A002B0E69 = {
-                       fileRef = 6EA3969B077F419A002B0E69;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EAB490B06CC4FEA00A4ABF0 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = VMRegion.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EAB490C06CC4FEA00A4ABF0 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = VMRegion.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EAB490D06CC4FEA00A4ABF0 = {
-                       fileRef = 6EAB490B06CC4FEA00A4ABF0;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EAB490E06CC4FEA00A4ABF0 = {
-                       fileRef = 6EAB490C06CC4FEA00A4ABF0;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB3528707C56771000347B9 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.icns;
-                       path = icon.icns;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB3528807C56771000347B9 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.icns;
-                       path = icondoc.icns;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB3528907C56771000347B9 = {
-                       fileRef = 6EB3528707C56771000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB3528A07C56771000347B9 = {
-                       fileRef = 6EB3528807C56771000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB3578E07C83B99000347B9 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.scriptTerminology;
-                       path = CheatURLHandler.scriptTerminology;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB3578F07C83B99000347B9 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.scriptSuite;
-                       path = CheatURLHandler.scriptSuite;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB3579007C83B99000347B9 = {
-                       fileRef = 6EB3578E07C83B99000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB3579107C83B99000347B9 = {
-                       fileRef = 6EB3578F07C83B99000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB3579A07C83C60000347B9 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = CheatURLCommand.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB3579B07C83C60000347B9 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = CheatURLCommand.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB3579C07C83C60000347B9 = {
-                       fileRef = 6EB3579A07C83C60000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB3579D07C83C60000347B9 = {
-                       fileRef = 6EB3579B07C83C60000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB357C907C83E9D000347B9 = {
-                       children = (
-                               6EB3578F07C83B99000347B9,
-                               6EB3578E07C83B99000347B9,
-                       );
-                       isa = PBXGroup;
-                       name = AppleScript;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB35AA107CA5FE0000347B9 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.png;
-                       path = Update.png;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB35AA207CA5FE0000347B9 = {
-                       fileRef = 6EB35AA107CA5FE0000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB35B3507CA6BCC000347B9 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = UpdatePrefs.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB35B3607CA6BCC000347B9 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = UpdatePrefs.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EB35B3707CA6BCC000347B9 = {
-                       fileRef = 6EB35B3507CA6BCC000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EB35B3807CA6BCC000347B9 = {
-                       fileRef = 6EB35B3607CA6BCC000347B9;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EC06556078BE68300591D61 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ChazUpdate.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EC06557078BE68300591D61 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = ChazUpdate.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EC06558078BE68300591D61 = {
-                       fileRef = 6EC06556078BE68300591D61;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EC06559078BE68300591D61 = {
-                       fileRef = 6EC06557078BE68300591D61;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EC06600078BFBE900591D61 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.html;
-                       path = Help.html;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EC06601078BFBE900591D61 = {
-                       fileRef = 6EC06600078BFBE900591D61;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ECDE0990643984400B1DD8A = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.png;
-                       path = Server.png;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ECDE09A0643984400B1DD8A = {
-                       fileRef = 6ECDE0990643984400B1DD8A;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ECDE09D0643985000B1DD8A = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = image.png;
-                       path = General.png;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ECDE09E0643985000B1DD8A = {
-                       fileRef = 6ECDE09D0643985000B1DD8A;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8062F0641D2E9002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = AboutBoxController.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806300641D2E9002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = AboutBoxController.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806310641D2E9002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = AppController.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806320641D2E9002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = AppController.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806350641D2E9002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = PreferenceController.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806360641D2E9002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = PreferenceController.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806390641D2E9002888F7 = {
-                       fileRef = 6ED8062F0641D2E9002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8063A0641D2E9002888F7 = {
-                       fileRef = 6ED806300641D2E9002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8063B0641D2E9002888F7 = {
-                       fileRef = 6ED806310641D2E9002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8063C0641D2E9002888F7 = {
-                       fileRef = 6ED806320641D2E9002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8063F0641D2E9002888F7 = {
-                       fileRef = 6ED806350641D2E9002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806400641D2E9002888F7 = {
-                       fileRef = 6ED806360641D2E9002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806430641D305002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = HelpController.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806440641D305002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = HelpController.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806450641D305002888F7 = {
-                       fileRef = 6ED806430641D305002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806460641D305002888F7 = {
-                       fileRef = 6ED806440641D305002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806580641D343002888F7 = {
-                       children = (
-                               6E38D3FD06C9B71F003BA9B4,
-                               6E38D3FE06C9B71F003BA9B4,
-                               6E9BF3BA07820415008F0139,
-                               6E9BF3BB07820415008F0139,
-                               6E9BF31F0781EEC3008F0139,
-                               6E9BF3200781EEC3008F0139,
-                               6E6FD9FE0764EDE4004FD845,
-                               6E6FD9FF0764EDE4004FD845,
-                               6E138C3006C1C140001C688F,
-                               6E138C3106C1C140001C688F,
-                       );
-                       isa = PBXGroup;
-                       name = Interface;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806700641D3AC002888F7 = {
-                       children = (
-                               6ED806710641D3CC002888F7,
-                               6ED806720641D3CC002888F7,
-                       );
-                       isa = PBXGroup;
-                       name = Categories;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806710641D3CC002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = MenuExtras.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806720641D3CC002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = MenuExtras.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806730641D3CC002888F7 = {
-                       fileRef = 6ED806710641D3CC002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806740641D3CC002888F7 = {
-                       fileRef = 6ED806720641D3CC002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806790641D41B002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = cheat_global.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8067A0641D41B002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = cheat_global.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806800641D41B002888F7 = {
-                       fileRef = 6ED806790641D41B002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806810641D41B002888F7 = {
-                       fileRef = 6ED8067A0641D41B002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806830641D434002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = main.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806840641D434002888F7 = {
-                       fileRef = 6ED806830641D434002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8068F0641D498002888F7 = {
-                       children = (
-                               6ED806900641D498002888F7,
-                       );
-                       isa = PBXVariantGroup;
-                       name = AboutBox.nib;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806900641D498002888F7 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.nib;
-                       name = English;
-                       path = English.lproj/AboutBox.nib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806910641D498002888F7 = {
-                       children = (
-                               6ED806920641D498002888F7,
-                       );
-                       isa = PBXVariantGroup;
-                       name = Help.nib;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806920641D498002888F7 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.nib;
-                       name = English;
-                       path = English.lproj/Help.nib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806930641D498002888F7 = {
-                       children = (
-                               6ED806940641D498002888F7,
-                       );
-                       isa = PBXVariantGroup;
-                       name = InfoPlist.strings;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806940641D498002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.plist.strings;
-                       name = English;
-                       path = English.lproj/InfoPlist.strings;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806950641D498002888F7 = {
-                       children = (
-                               6ED806960641D498002888F7,
-                       );
-                       isa = PBXVariantGroup;
-                       name = MainMenu.nib;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806960641D498002888F7 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.nib;
-                       name = English;
-                       path = English.lproj/MainMenu.nib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806990641D498002888F7 = {
-                       children = (
-                               6ED8069A0641D498002888F7,
-                       );
-                       isa = PBXVariantGroup;
-                       name = Preferences.nib;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8069A0641D498002888F7 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.nib;
-                       name = English;
-                       path = English.lproj/Preferences.nib;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8069F0641D498002888F7 = {
-                       fileRef = 6ED8068F0641D498002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806A00641D498002888F7 = {
-                       fileRef = 6ED806910641D498002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806A10641D498002888F7 = {
-                       fileRef = 6ED806930641D498002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806A20641D498002888F7 = {
-                       fileRef = 6ED806950641D498002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806A40641D498002888F7 = {
-                       fileRef = 6ED806990641D498002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED806D00641D5F2002888F7 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = text.xml;
-                       path = Info.plist;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED806FA0641E70F002888F7 = {
-                       isa = PBXFileReference;
-                       lastKnownFileType = wrapper.framework;
-                       name = WebKit.framework;
-                       path = /System/Library/Frameworks/WebKit.framework;
-                       refType = 0;
-                       sourceTree = "<absolute>";
-               };
-               6ED806FB0641E70F002888F7 = {
-                       fileRef = 6ED806FA0641E70F002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED807190641EC6E002888F7 = {
-                       children = (
-                               6ED806350641D2E9002888F7,
-                               6ED806360641D2E9002888F7,
-                               6ED8072006421B05002888F7,
-                               6ED8072106421B05002888F7,
-                               6EB35B3507CA6BCC000347B9,
-                               6EB35B3607CA6BCC000347B9,
-                               6ED8072606421B10002888F7,
-                               6ED8072706421B10002888F7,
-                       );
-                       isa = PBXGroup;
-                       name = Preferences;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8072006421B05002888F7 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = GeneralPrefs.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8072106421B05002888F7 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = GeneralPrefs.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8072206421B05002888F7 = {
-                       fileRef = 6ED8072006421B05002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8072306421B05002888F7 = {
-                       fileRef = 6ED8072106421B05002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8072606421B10002888F7 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = ServerPrefs.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8072706421B10002888F7 = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = ServerPrefs.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED8072806421B10002888F7 = {
-                       fileRef = 6ED8072606421B10002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED8072906421B10002888F7 = {
-                       fileRef = 6ED8072706421B10002888F7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED97B900645E2EE00CBF037 = {
-                       children = (
-                               6ED97B9D0645E85700CBF037,
-                               6ED97B9E0645E85700CBF037,
-                               6E31A14306B71EBA00E40AB3,
-                               6E31A14406B71EBA00E40AB3,
-                               6E83F53007B048BD00D9DACB,
-                               6E83F53107B048BD00D9DACB,
-                       );
-                       isa = PBXGroup;
-                       name = Networking;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED97B9D0645E85700CBF037 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = CheatServer.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED97B9E0645E85700CBF037 = {
-                       fileEncoding = 30;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.objc;
-                       path = CheatServer.m;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6ED97B9F0645E85700CBF037 = {
-                       fileRef = 6ED97B9D0645E85700CBF037;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6ED97BA00645E85700CBF037 = {
-                       fileRef = 6ED97B9E0645E85700CBF037;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               6EF2F08B077A7BFC00C8B55A = {
-                       children = (
-                               6ECDE09D0643985000B1DD8A,
-                               6ECDE0990643984400B1DD8A,
-                               6EB35AA107CA5FE0000347B9,
-                               6E6FD8FA0764D1B0004FD845,
-                               6EB3528707C56771000347B9,
-                               6EB3528807C56771000347B9,
-                       );
-                       isa = PBXGroup;
-                       name = Images;
-                       path = "";
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EF2F0BF077B424000C8B55A = {
-                       fileEncoding = 4;
-                       isa = PBXFileReference;
-                       lastKnownFileType = sourcecode.c.h;
-                       path = CheaterTypes.h;
-                       refType = 4;
-                       sourceTree = "<group>";
-               };
-               6EF2F0C0077B424000C8B55A = {
-                       fileRef = 6EF2F0BF077B424000C8B55A;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-//6E0
-//6E1
-//6E2
-//6E3
-//6E4
-//8D0
-//8D1
-//8D2
-//8D3
-//8D4
-               8D1107260486CEB800E47090 = {
-                       buildPhases = (
-                               8D1107270486CEB800E47090,
-                               8D1107290486CEB800E47090,
-                               8D11072C0486CEB800E47090,
-                               8D11072E0486CEB800E47090,
-                       );
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               COPY_PHASE_STRIP = YES;
-                               DEAD_CODE_STRIPPING = YES;
-                               FRAMEWORK_SEARCH_PATHS = "";
-                               GCC_AUTO_VECTORIZATION = YES;
-                               GCC_DYNAMIC_NO_PIC = YES;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = NO;
-                               GCC_ENABLE_TRIGRAPHS = NO;
-                               GCC_FAST_OBJC_DISPATCH = YES;
-                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = The_Cheat_Prefix.pch;
-                               GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
-                               GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
-                               GCC_WARN_UNKNOWN_PRAGMAS = NO;
-                               HEADER_SEARCH_PATHS = "";
-                               INFOPLIST_FILE = Info.plist;
-                               INSTALL_PATH = "$(HOME)/Applications";
-                               LIBRARY_SEARCH_PATHS = "";
-                               MACOSX_DEPLOYMENT_TARGET = 10.2;
-                               OTHER_CFLAGS = "";
-                               OTHER_LDFLAGS = "";
-                               PRODUCT_NAME = "The Cheat";
-                               SECTORDER_FLAGS = "";
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
-                               WRAPPER_EXTENSION = app;
-                       };
-                       dependencies = (
-                       );
-                       isa = PBXNativeTarget;
-                       name = "The Cheat";
-                       productInstallPath = "$(HOME)/Applications";
-                       productName = "The Cheat";
-                       productReference = 8D1107320486CEB800E47090;
-                       productType = "com.apple.product-type.application";
-               };
-               8D1107270486CEB800E47090 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               8D1107280486CEB800E47090,
-                               6ED806390641D2E9002888F7,
-                               6ED8063B0641D2E9002888F7,
-                               6ED8063F0641D2E9002888F7,
-                               6ED806450641D305002888F7,
-                               6ED806730641D3CC002888F7,
-                               6ED806800641D41B002888F7,
-                               6ED8072206421B05002888F7,
-                               6ED8072806421B10002888F7,
-                               6ED97B9F0645E85700CBF037,
-                               6E7614A406A47A790051C301,
-                               6E72B20F06AA5B0E00951D50,
-                               6E31A14506B71EBA00E40AB3,
-                               6E31A16D06B723CB00E40AB3,
-                               6E31A1BA06B7286300E40AB3,
-                               6E138BF806C18765001C688F,
-                               6E138C3206C1C140001C688F,
-                               6E3D7D3E06C44CFE00A73B29,
-                               6E38D3FF06C9B71F003BA9B4,
-                               6E38D61906C9F7A8003BA9B4,
-                               6EAB490D06CC4FEA00A4ABF0,
-                               6E6FD69D0762B626004FD845,
-                               6E6FD6B30762B965004FD845,
-                               6E6FDA000764EDE4004FD845,
-                               6E6FDC260765858A004FD845,
-                               6E8181D3076E475200A5FBEB,
-                               6EF2F0C0077B424000C8B55A,
-                               6E9BF3210781EEC3008F0139,
-                               6E9BF3BC07820415008F0139,
-                               6E9BF4B2078287DF008F0139,
-                               6EA253F80786249800C839D1,
-                               6EC06558078BE68300591D61,
-                               6E83F53207B048BD00D9DACB,
-                               6EB3579C07C83C60000347B9,
-                               6EB35B3707CA6BCC000347B9,
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8D1107280486CEB800E47090 = {
-                       fileRef = 32CA4F630368D1EE00C91783;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               8D1107290486CEB800E47090 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               6ED8069F0641D498002888F7,
-                               6ED806A00641D498002888F7,
-                               6ED806A10641D498002888F7,
-                               6ED806A20641D498002888F7,
-                               6ED806A40641D498002888F7,
-                               6ECDE09A0643984400B1DD8A,
-                               6ECDE09E0643985000B1DD8A,
-                               6E98A54D06A740EE006A576D,
-                               6EC06601078BFBE900591D61,
-                               6EB3528907C56771000347B9,
-                               6EB3528A07C56771000347B9,
-                               6EB3579007C83B99000347B9,
-                               6EB3579107C83B99000347B9,
-                               6EB35AA207CA5FE0000347B9,
-                       );
-                       isa = PBXResourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8D11072C0486CEB800E47090 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               6ED8063A0641D2E9002888F7,
-                               6ED8063C0641D2E9002888F7,
-                               6ED806400641D2E9002888F7,
-                               6ED806460641D305002888F7,
-                               6ED806740641D3CC002888F7,
-                               6ED806810641D41B002888F7,
-                               6ED806840641D434002888F7,
-                               6ED8072306421B05002888F7,
-                               6ED8072906421B10002888F7,
-                               6ED97BA00645E85700CBF037,
-                               6E7614A506A47A790051C301,
-                               6E72B21006AA5B0E00951D50,
-                               6E31A14606B71EBA00E40AB3,
-                               6E31A16E06B723CB00E40AB3,
-                               6E31A1BB06B7286300E40AB3,
-                               6E138BF906C18765001C688F,
-                               6E138C3306C1C140001C688F,
-                               6E3D7D3F06C44CFE00A73B29,
-                               6E38D40006C9B71F003BA9B4,
-                               6E38D61A06C9F7A8003BA9B4,
-                               6EAB490E06CC4FEA00A4ABF0,
-                               6E6FD69E0762B626004FD845,
-                               6E6FD6B40762B965004FD845,
-                               6E6FDA010764EDE4004FD845,
-                               6E6FDC270765858A004FD845,
-                               6E8181D4076E475200A5FBEB,
-                               6EA39694077F4025002B0E69,
-                               6EA3969C077F419A002B0E69,
-                               6E9BF3220781EEC3008F0139,
-                               6E9BF3BD07820415008F0139,
-                               6E9BF4B3078287DF008F0139,
-                               6E9BF5040782926E008F0139,
-                               6EA253F90786249800C839D1,
-                               6EC06559078BE68300591D61,
-                               6E83F53307B048BD00D9DACB,
-                               6EB3579D07C83C60000347B9,
-                               6EB35B3807CA6BCC000347B9,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8D11072E0486CEB800E47090 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               8D11072F0486CEB800E47090,
-                               6ED806FB0641E70F002888F7,
-                               6E63969906423AFE00BD3765,
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               8D11072F0486CEB800E47090 = {
-                       fileRef = 1058C7A1FEA54F0111CA2CBB;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               8D1107320486CEB800E47090 = {
-                       explicitFileType = wrapper.application;
-                       includeInIndex = 0;
-                       isa = PBXFileReference;
-                       path = "The Cheat.app";
-                       refType = 3;
-                       sourceTree = BUILT_PRODUCTS_DIR;
-               };
-       };
-       rootObject = 29B97313FDCFA39411CA2CEA;
-}
diff --git a/The Cheat.xcodeproj/project.pbxproj b/The Cheat.xcodeproj/project.pbxproj
new file mode 100644 (file)
index 0000000..d982b9f
--- /dev/null
@@ -0,0 +1,823 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 45;
+       objects = {
+
+/* Begin PBXBuildFile section */
+               6E138BF806C18765001C688F /* Process.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E138BF606C18765001C688F /* Process.h */; };
+               6E138BF906C18765001C688F /* Process.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E138BF706C18765001C688F /* Process.m */; };
+               6E138C3206C1C140001C688F /* StatusTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E138C3006C1C140001C688F /* StatusTextField.h */; };
+               6E138C3306C1C140001C688F /* StatusTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E138C3106C1C140001C688F /* StatusTextField.m */; };
+               6E31A14506B71EBA00E40AB3 /* ServerChild.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E31A14306B71EBA00E40AB3 /* ServerChild.h */; };
+               6E31A14606B71EBA00E40AB3 /* ServerChild.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E31A14406B71EBA00E40AB3 /* ServerChild.m */; };
+               6E31A16D06B723CB00E40AB3 /* LocalCheater.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E31A16B06B723CB00E40AB3 /* LocalCheater.h */; };
+               6E31A16E06B723CB00E40AB3 /* LocalCheater.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E31A16C06B723CB00E40AB3 /* LocalCheater.m */; };
+               6E31A1BA06B7286300E40AB3 /* RemoteCheater.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E31A1B806B7286300E40AB3 /* RemoteCheater.h */; };
+               6E31A1BB06B7286300E40AB3 /* RemoteCheater.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E31A1B906B7286300E40AB3 /* RemoteCheater.m */; };
+               6E38D3FF06C9B71F003BA9B4 /* BetterTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E38D3FD06C9B71F003BA9B4 /* BetterTableView.h */; };
+               6E38D40006C9B71F003BA9B4 /* BetterTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E38D3FE06C9B71F003BA9B4 /* BetterTableView.m */; };
+               6E38D61906C9F7A8003BA9B4 /* Cheater.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E38D61706C9F7A8003BA9B4 /* Cheater.h */; };
+               6E38D61A06C9F7A8003BA9B4 /* Cheater.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E38D61806C9F7A8003BA9B4 /* Cheater.m */; };
+               6E3D7D3E06C44CFE00A73B29 /* Variable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E3D7D3C06C44CFE00A73B29 /* Variable.h */; };
+               6E3D7D3F06C44CFE00A73B29 /* Variable.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E3D7D3D06C44CFE00A73B29 /* Variable.m */; };
+               6E63969906423AFE00BD3765 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E63969806423AFE00BD3765 /* Carbon.framework */; };
+               6E6FD69D0762B626004FD845 /* ThreadedTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E6FD69B0762B626004FD845 /* ThreadedTask.h */; };
+               6E6FD69E0762B626004FD845 /* ThreadedTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E6FD69C0762B626004FD845 /* ThreadedTask.m */; };
+               6E6FD6B30762B965004FD845 /* SearchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E6FD6B10762B965004FD845 /* SearchContext.h */; };
+               6E6FD6B40762B965004FD845 /* SearchContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E6FD6B20762B965004FD845 /* SearchContext.m */; };
+               6E6FDA000764EDE4004FD845 /* FadeView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E6FD9FE0764EDE4004FD845 /* FadeView.h */; };
+               6E6FDA010764EDE4004FD845 /* FadeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E6FD9FF0764EDE4004FD845 /* FadeView.m */; };
+               6E6FDC260765858A004FD845 /* DumpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E6FDC240765858A004FD845 /* DumpContext.h */; };
+               6E6FDC270765858A004FD845 /* DumpContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E6FDC250765858A004FD845 /* DumpContext.m */; };
+               6E72B20F06AA5B0E00951D50 /* CheatData.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E72B20D06AA5B0E00951D50 /* CheatData.h */; };
+               6E72B21006AA5B0E00951D50 /* CheatData.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E72B20E06AA5B0E00951D50 /* CheatData.m */; };
+               6E7614A406A47A790051C301 /* CheatDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E7614A206A47A790051C301 /* CheatDocument.h */; };
+               6E7614A506A47A790051C301 /* CheatDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7614A306A47A790051C301 /* CheatDocument.m */; };
+               6E8181D3076E475200A5FBEB /* SearchData.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8181D1076E475200A5FBEB /* SearchData.h */; };
+               6E8181D4076E475200A5FBEB /* SearchData.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E8181D2076E475200A5FBEB /* SearchData.m */; };
+               6E83F53207B048BD00D9DACB /* MySocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E83F53007B048BD00D9DACB /* MySocket.h */; };
+               6E83F53307B048BD00D9DACB /* MySocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E83F53107B048BD00D9DACB /* MySocket.m */; };
+               6E98A54D06A740EE006A576D /* CheatDocument.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6E98A54B06A740EE006A576D /* CheatDocument.nib */; };
+               6E9BF3210781EEC3008F0139 /* TrackerScroller.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E9BF31F0781EEC3008F0139 /* TrackerScroller.h */; };
+               6E9BF3220781EEC3008F0139 /* TrackerScroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E9BF3200781EEC3008F0139 /* TrackerScroller.m */; };
+               6E9BF3BC07820415008F0139 /* VariableTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E9BF3BA07820415008F0139 /* VariableTable.h */; };
+               6E9BF3BD07820415008F0139 /* VariableTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E9BF3BB07820415008F0139 /* VariableTable.m */; };
+               6E9BF4B2078287DF008F0139 /* Searching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E9BF4B0078287DF008F0139 /* Searching.h */; };
+               6E9BF4B3078287DF008F0139 /* Searching.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E9BF4B1078287DF008F0139 /* Searching.m */; };
+               6E9BF5040782926E008F0139 /* CheaterTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E9BF5030782926E008F0139 /* CheaterTypes.m */; };
+               6EA253F80786249800C839D1 /* ChazLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EA253F60786249800C839D1 /* ChazLog.h */; };
+               6EA253F90786249800C839D1 /* ChazLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA253F70786249800C839D1 /* ChazLog.m */; };
+               6EA39694077F4025002B0E69 /* DocInterfaceActions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA39693077F4025002B0E69 /* DocInterfaceActions.m */; };
+               6EA3969C077F419A002B0E69 /* DocCheaterDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA3969B077F419A002B0E69 /* DocCheaterDelegate.m */; };
+               6EAB490D06CC4FEA00A4ABF0 /* VMRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EAB490B06CC4FEA00A4ABF0 /* VMRegion.h */; };
+               6EAB490E06CC4FEA00A4ABF0 /* VMRegion.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EAB490C06CC4FEA00A4ABF0 /* VMRegion.m */; };
+               6EB3528907C56771000347B9 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 6EB3528707C56771000347B9 /* icon.icns */; };
+               6EB3528A07C56771000347B9 /* icondoc.icns in Resources */ = {isa = PBXBuildFile; fileRef = 6EB3528807C56771000347B9 /* icondoc.icns */; };
+               6EB3579007C83B99000347B9 /* CheatURLHandler.scriptTerminology in Resources */ = {isa = PBXBuildFile; fileRef = 6EB3578E07C83B99000347B9 /* CheatURLHandler.scriptTerminology */; };
+               6EB3579107C83B99000347B9 /* CheatURLHandler.scriptSuite in Resources */ = {isa = PBXBuildFile; fileRef = 6EB3578F07C83B99000347B9 /* CheatURLHandler.scriptSuite */; };
+               6EB3579C07C83C60000347B9 /* CheatURLCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EB3579A07C83C60000347B9 /* CheatURLCommand.h */; };
+               6EB3579D07C83C60000347B9 /* CheatURLCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EB3579B07C83C60000347B9 /* CheatURLCommand.m */; };
+               6EB35AA207CA5FE0000347B9 /* Update.png in Resources */ = {isa = PBXBuildFile; fileRef = 6EB35AA107CA5FE0000347B9 /* Update.png */; };
+               6EB35B3707CA6BCC000347B9 /* UpdatePrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EB35B3507CA6BCC000347B9 /* UpdatePrefs.h */; };
+               6EB35B3807CA6BCC000347B9 /* UpdatePrefs.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EB35B3607CA6BCC000347B9 /* UpdatePrefs.m */; };
+               6EC06558078BE68300591D61 /* ChazUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EC06556078BE68300591D61 /* ChazUpdate.h */; };
+               6EC06559078BE68300591D61 /* ChazUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EC06557078BE68300591D61 /* ChazUpdate.m */; };
+               6EC06601078BFBE900591D61 /* Help.html in Resources */ = {isa = PBXBuildFile; fileRef = 6EC06600078BFBE900591D61 /* Help.html */; };
+               6ECDE09A0643984400B1DD8A /* Server.png in Resources */ = {isa = PBXBuildFile; fileRef = 6ECDE0990643984400B1DD8A /* Server.png */; };
+               6ECDE09E0643985000B1DD8A /* General.png in Resources */ = {isa = PBXBuildFile; fileRef = 6ECDE09D0643985000B1DD8A /* General.png */; };
+               6ED806390641D2E9002888F7 /* AboutBoxController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED8062F0641D2E9002888F7 /* AboutBoxController.h */; };
+               6ED8063A0641D2E9002888F7 /* AboutBoxController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED806300641D2E9002888F7 /* AboutBoxController.m */; };
+               6ED8063B0641D2E9002888F7 /* AppController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED806310641D2E9002888F7 /* AppController.h */; };
+               6ED8063C0641D2E9002888F7 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED806320641D2E9002888F7 /* AppController.m */; };
+               6ED8063F0641D2E9002888F7 /* PreferenceController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED806350641D2E9002888F7 /* PreferenceController.h */; };
+               6ED806400641D2E9002888F7 /* PreferenceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED806360641D2E9002888F7 /* PreferenceController.m */; };
+               6ED806450641D305002888F7 /* HelpController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED806430641D305002888F7 /* HelpController.h */; };
+               6ED806460641D305002888F7 /* HelpController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED806440641D305002888F7 /* HelpController.m */; };
+               6ED806730641D3CC002888F7 /* MenuExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED806710641D3CC002888F7 /* MenuExtras.h */; };
+               6ED806740641D3CC002888F7 /* MenuExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED806720641D3CC002888F7 /* MenuExtras.m */; };
+               6ED806800641D41B002888F7 /* cheat_global.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED806790641D41B002888F7 /* cheat_global.h */; };
+               6ED806810641D41B002888F7 /* cheat_global.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED8067A0641D41B002888F7 /* cheat_global.m */; };
+               6ED806840641D434002888F7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED806830641D434002888F7 /* main.m */; };
+               6ED8069F0641D498002888F7 /* AboutBox.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6ED8068F0641D498002888F7 /* AboutBox.nib */; };
+               6ED806A00641D498002888F7 /* Help.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6ED806910641D498002888F7 /* Help.nib */; };
+               6ED806A10641D498002888F7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6ED806930641D498002888F7 /* InfoPlist.strings */; };
+               6ED806A20641D498002888F7 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6ED806950641D498002888F7 /* MainMenu.nib */; };
+               6ED806A40641D498002888F7 /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6ED806990641D498002888F7 /* Preferences.nib */; };
+               6ED806FB0641E70F002888F7 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6ED806FA0641E70F002888F7 /* WebKit.framework */; };
+               6ED8072206421B05002888F7 /* GeneralPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED8072006421B05002888F7 /* GeneralPrefs.h */; };
+               6ED8072306421B05002888F7 /* GeneralPrefs.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED8072106421B05002888F7 /* GeneralPrefs.m */; };
+               6ED8072806421B10002888F7 /* ServerPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED8072606421B10002888F7 /* ServerPrefs.h */; };
+               6ED8072906421B10002888F7 /* ServerPrefs.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED8072706421B10002888F7 /* ServerPrefs.m */; };
+               6ED97B9F0645E85700CBF037 /* CheatServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED97B9D0645E85700CBF037 /* CheatServer.h */; };
+               6ED97BA00645E85700CBF037 /* CheatServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ED97B9E0645E85700CBF037 /* CheatServer.m */; };
+               6EF2F0C0077B424000C8B55A /* CheaterTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF2F0BF077B424000C8B55A /* CheaterTypes.h */; };
+               7761C5010EBEBE6A00BEE6DF /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7761C5000EBEBE6A00BEE6DF /* Security.framework */; };
+               8D1107280486CEB800E47090 /* The_Cheat_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32CA4F630368D1EE00C91783 /* The_Cheat_Prefix.pch */; };
+               8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+               1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+               29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+               29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+               32CA4F630368D1EE00C91783 /* The_Cheat_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = The_Cheat_Prefix.pch; sourceTree = "<group>"; };
+               6E138BF606C18765001C688F /* Process.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Process.h; sourceTree = "<group>"; };
+               6E138BF706C18765001C688F /* Process.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Process.m; sourceTree = "<group>"; };
+               6E138C3006C1C140001C688F /* StatusTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatusTextField.h; sourceTree = "<group>"; };
+               6E138C3106C1C140001C688F /* StatusTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatusTextField.m; sourceTree = "<group>"; };
+               6E31A14306B71EBA00E40AB3 /* ServerChild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerChild.h; sourceTree = "<group>"; };
+               6E31A14406B71EBA00E40AB3 /* ServerChild.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerChild.m; sourceTree = "<group>"; };
+               6E31A16B06B723CB00E40AB3 /* LocalCheater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalCheater.h; sourceTree = "<group>"; };
+               6E31A16C06B723CB00E40AB3 /* LocalCheater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocalCheater.m; sourceTree = "<group>"; };
+               6E31A1B806B7286300E40AB3 /* RemoteCheater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteCheater.h; sourceTree = "<group>"; };
+               6E31A1B906B7286300E40AB3 /* RemoteCheater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RemoteCheater.m; sourceTree = "<group>"; };
+               6E38D3FD06C9B71F003BA9B4 /* BetterTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BetterTableView.h; sourceTree = "<group>"; };
+               6E38D3FE06C9B71F003BA9B4 /* BetterTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BetterTableView.m; sourceTree = "<group>"; };
+               6E38D61706C9F7A8003BA9B4 /* Cheater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cheater.h; sourceTree = "<group>"; };
+               6E38D61806C9F7A8003BA9B4 /* Cheater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cheater.m; sourceTree = "<group>"; };
+               6E3D7D3C06C44CFE00A73B29 /* Variable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Variable.h; sourceTree = "<group>"; };
+               6E3D7D3D06C44CFE00A73B29 /* Variable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Variable.m; sourceTree = "<group>"; };
+               6E63969806423AFE00BD3765 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
+               6E6FD69B0762B626004FD845 /* ThreadedTask.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ThreadedTask.h; sourceTree = "<group>"; };
+               6E6FD69C0762B626004FD845 /* ThreadedTask.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ThreadedTask.m; sourceTree = "<group>"; };
+               6E6FD6B10762B965004FD845 /* SearchContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchContext.h; sourceTree = "<group>"; };
+               6E6FD6B20762B965004FD845 /* SearchContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchContext.m; sourceTree = "<group>"; };
+               6E6FD8FA0764D1B0004FD845 /* Lock.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = Lock.tif; sourceTree = "<group>"; };
+               6E6FD9FE0764EDE4004FD845 /* FadeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FadeView.h; sourceTree = "<group>"; };
+               6E6FD9FF0764EDE4004FD845 /* FadeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FadeView.m; sourceTree = "<group>"; };
+               6E6FDC240765858A004FD845 /* DumpContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DumpContext.h; sourceTree = "<group>"; };
+               6E6FDC250765858A004FD845 /* DumpContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DumpContext.m; sourceTree = "<group>"; };
+               6E72B20D06AA5B0E00951D50 /* CheatData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheatData.h; sourceTree = "<group>"; };
+               6E72B20E06AA5B0E00951D50 /* CheatData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheatData.m; sourceTree = "<group>"; };
+               6E7614A206A47A790051C301 /* CheatDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheatDocument.h; sourceTree = "<group>"; };
+               6E7614A306A47A790051C301 /* CheatDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheatDocument.m; sourceTree = "<group>"; };
+               6E8181D1076E475200A5FBEB /* SearchData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchData.h; sourceTree = "<group>"; };
+               6E8181D2076E475200A5FBEB /* SearchData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchData.m; sourceTree = "<group>"; };
+               6E83F53007B048BD00D9DACB /* MySocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MySocket.h; sourceTree = "<group>"; };
+               6E83F53107B048BD00D9DACB /* MySocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MySocket.m; sourceTree = "<group>"; };
+               6E98A54C06A740EE006A576D /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/CheatDocument.nib; sourceTree = "<group>"; };
+               6E9BF31F0781EEC3008F0139 /* TrackerScroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrackerScroller.h; sourceTree = "<group>"; };
+               6E9BF3200781EEC3008F0139 /* TrackerScroller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TrackerScroller.m; sourceTree = "<group>"; };
+               6E9BF3BA07820415008F0139 /* VariableTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VariableTable.h; sourceTree = "<group>"; };
+               6E9BF3BB07820415008F0139 /* VariableTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VariableTable.m; sourceTree = "<group>"; };
+               6E9BF4B0078287DF008F0139 /* Searching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Searching.h; sourceTree = "<group>"; };
+               6E9BF4B1078287DF008F0139 /* Searching.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Searching.m; sourceTree = "<group>"; };
+               6E9BF5030782926E008F0139 /* CheaterTypes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheaterTypes.m; sourceTree = "<group>"; };
+               6EA253F60786249800C839D1 /* ChazLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChazLog.h; sourceTree = "<group>"; };
+               6EA253F70786249800C839D1 /* ChazLog.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ChazLog.m; sourceTree = "<group>"; };
+               6EA39693077F4025002B0E69 /* DocInterfaceActions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DocInterfaceActions.m; sourceTree = "<group>"; };
+               6EA3969B077F419A002B0E69 /* DocCheaterDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DocCheaterDelegate.m; sourceTree = "<group>"; };
+               6EAB490B06CC4FEA00A4ABF0 /* VMRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMRegion.h; sourceTree = "<group>"; };
+               6EAB490C06CC4FEA00A4ABF0 /* VMRegion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VMRegion.m; sourceTree = "<group>"; };
+               6EB3528707C56771000347B9 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icon.icns; sourceTree = "<group>"; };
+               6EB3528807C56771000347B9 /* icondoc.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icondoc.icns; sourceTree = "<group>"; };
+               6EB3578E07C83B99000347B9 /* CheatURLHandler.scriptTerminology */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.scriptTerminology; path = CheatURLHandler.scriptTerminology; sourceTree = "<group>"; };
+               6EB3578F07C83B99000347B9 /* CheatURLHandler.scriptSuite */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.scriptSuite; path = CheatURLHandler.scriptSuite; sourceTree = "<group>"; };
+               6EB3579A07C83C60000347B9 /* CheatURLCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheatURLCommand.h; sourceTree = "<group>"; };
+               6EB3579B07C83C60000347B9 /* CheatURLCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheatURLCommand.m; sourceTree = "<group>"; };
+               6EB35AA107CA5FE0000347B9 /* Update.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Update.png; sourceTree = "<group>"; };
+               6EB35B3507CA6BCC000347B9 /* UpdatePrefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdatePrefs.h; sourceTree = "<group>"; };
+               6EB35B3607CA6BCC000347B9 /* UpdatePrefs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UpdatePrefs.m; sourceTree = "<group>"; };
+               6EC06556078BE68300591D61 /* ChazUpdate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChazUpdate.h; sourceTree = "<group>"; };
+               6EC06557078BE68300591D61 /* ChazUpdate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChazUpdate.m; sourceTree = "<group>"; };
+               6EC06600078BFBE900591D61 /* Help.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = Help.html; sourceTree = "<group>"; };
+               6ECDE0990643984400B1DD8A /* Server.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Server.png; sourceTree = "<group>"; };
+               6ECDE09D0643985000B1DD8A /* General.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = General.png; sourceTree = "<group>"; };
+               6ED8062F0641D2E9002888F7 /* AboutBoxController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AboutBoxController.h; sourceTree = "<group>"; };
+               6ED806300641D2E9002888F7 /* AboutBoxController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AboutBoxController.m; sourceTree = "<group>"; };
+               6ED806310641D2E9002888F7 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
+               6ED806320641D2E9002888F7 /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
+               6ED806350641D2E9002888F7 /* PreferenceController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PreferenceController.h; sourceTree = "<group>"; };
+               6ED806360641D2E9002888F7 /* PreferenceController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PreferenceController.m; sourceTree = "<group>"; };
+               6ED806430641D305002888F7 /* HelpController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HelpController.h; sourceTree = "<group>"; };
+               6ED806440641D305002888F7 /* HelpController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = HelpController.m; sourceTree = "<group>"; };
+               6ED806710641D3CC002888F7 /* MenuExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MenuExtras.h; sourceTree = "<group>"; };
+               6ED806720641D3CC002888F7 /* MenuExtras.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MenuExtras.m; sourceTree = "<group>"; };
+               6ED806790641D41B002888F7 /* cheat_global.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cheat_global.h; sourceTree = "<group>"; };
+               6ED8067A0641D41B002888F7 /* cheat_global.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cheat_global.m; sourceTree = "<group>"; };
+               6ED806830641D434002888F7 /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+               6ED806900641D498002888F7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/AboutBox.nib; sourceTree = "<group>"; };
+               6ED806920641D498002888F7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Help.nib; sourceTree = "<group>"; };
+               6ED806940641D498002888F7 /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+               6ED806960641D498002888F7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
+               6ED8069A0641D498002888F7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Preferences.nib; sourceTree = "<group>"; };
+               6ED806D00641D5F2002888F7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+               6ED806FA0641E70F002888F7 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; };
+               6ED8072006421B05002888F7 /* GeneralPrefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeneralPrefs.h; sourceTree = "<group>"; };
+               6ED8072106421B05002888F7 /* GeneralPrefs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneralPrefs.m; sourceTree = "<group>"; };
+               6ED8072606421B10002888F7 /* ServerPrefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerPrefs.h; sourceTree = "<group>"; };
+               6ED8072706421B10002888F7 /* ServerPrefs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerPrefs.m; sourceTree = "<group>"; };
+               6ED97B9D0645E85700CBF037 /* CheatServer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CheatServer.h; sourceTree = "<group>"; };
+               6ED97B9E0645E85700CBF037 /* CheatServer.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = CheatServer.m; sourceTree = "<group>"; };
+               6EF2F0BF077B424000C8B55A /* CheaterTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheaterTypes.h; sourceTree = "<group>"; };
+               7761C5000EBEBE6A00BEE6DF /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
+               8D1107320486CEB800E47090 /* The Cheat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "The Cheat.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               8D11072E0486CEB800E47090 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+                               6ED806FB0641E70F002888F7 /* WebKit.framework in Frameworks */,
+                               6E63969906423AFE00BD3765 /* Carbon.framework in Frameworks */,
+                               7761C5010EBEBE6A00BEE6DF /* Security.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               080E96DDFE201D6D7F000001 /* Controllers */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ED806310641D2E9002888F7 /* AppController.h */,
+                               6ED806320641D2E9002888F7 /* AppController.m */,
+                               6ED8062F0641D2E9002888F7 /* AboutBoxController.h */,
+                               6ED806300641D2E9002888F7 /* AboutBoxController.m */,
+                               6ED806430641D305002888F7 /* HelpController.h */,
+                               6ED806440641D305002888F7 /* HelpController.m */,
+                               6EB3579A07C83C60000347B9 /* CheatURLCommand.h */,
+                               6EB3579B07C83C60000347B9 /* CheatURLCommand.m */,
+                               6ED807190641EC6E002888F7 /* Preferences */,
+                       );
+                       name = Controllers;
+                       sourceTree = "<group>";
+               };
+               1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               7761C5000EBEBE6A00BEE6DF /* Security.framework */,
+                               6E63969806423AFE00BD3765 /* Carbon.framework */,
+                               1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+                               6ED806FA0641E70F002888F7 /* WebKit.framework */,
+                       );
+                       name = "Linked Frameworks";
+                       sourceTree = "<group>";
+               };
+               1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+                               29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+                       );
+                       name = "Other Frameworks";
+                       sourceTree = "<group>";
+               };
+               19C28FACFE9D520D11CA2CBB /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               8D1107320486CEB800E47090 /* The Cheat.app */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               29B97314FDCFA39411CA2CEA /* The Cheat */ = {
+                       isa = PBXGroup;
+                       children = (
+                               080E96DDFE201D6D7F000001 /* Controllers */,
+                               6E98A54A06A73E37006A576D /* Document */,
+                               6E38D68006C9F98E003BA9B4 /* Cheating */,
+                               6ED97B900645E2EE00CBF037 /* Networking */,
+                               6E7157BC0647004B00763517 /* The Core */,
+                               6ED806580641D343002888F7 /* Interface */,
+                               6ED806700641D3AC002888F7 /* Categories */,
+                               29B97315FDCFA39411CA2CEA /* Other Sources */,
+                               29B97317FDCFA39411CA2CEA /* Resources */,
+                               29B97323FDCFA39411CA2CEA /* Frameworks */,
+                               19C28FACFE9D520D11CA2CBB /* Products */,
+                       );
+                       name = "The Cheat";
+                       sourceTree = "<group>";
+               };
+               29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ED806830641D434002888F7 /* main.m */,
+                               6ED806790641D41B002888F7 /* cheat_global.h */,
+                               6ED8067A0641D41B002888F7 /* cheat_global.m */,
+                               6EA253F60786249800C839D1 /* ChazLog.h */,
+                               6EA253F70786249800C839D1 /* ChazLog.m */,
+                               6EC06556078BE68300591D61 /* ChazUpdate.h */,
+                               6EC06557078BE68300591D61 /* ChazUpdate.m */,
+                               32CA4F630368D1EE00C91783 /* The_Cheat_Prefix.pch */,
+                       );
+                       name = "Other Sources";
+                       sourceTree = "<group>";
+               };
+               29B97317FDCFA39411CA2CEA /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ED806950641D498002888F7 /* MainMenu.nib */,
+                               6ED8068F0641D498002888F7 /* AboutBox.nib */,
+                               6ED806910641D498002888F7 /* Help.nib */,
+                               6ED806990641D498002888F7 /* Preferences.nib */,
+                               6E98A54B06A740EE006A576D /* CheatDocument.nib */,
+                               6EF2F08B077A7BFC00C8B55A /* Images */,
+                               6EB357C907C83E9D000347B9 /* AppleScript */,
+                               6EC06600078BFBE900591D61 /* Help.html */,
+                               6ED806930641D498002888F7 /* InfoPlist.strings */,
+                               6ED806D00641D5F2002888F7 /* Info.plist */,
+                       );
+                       name = Resources;
+                       sourceTree = "<group>";
+               };
+               29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+                               1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               6E38D68006C9F98E003BA9B4 /* Cheating */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6EF2F0BF077B424000C8B55A /* CheaterTypes.h */,
+                               6E9BF5030782926E008F0139 /* CheaterTypes.m */,
+                               6E31A16B06B723CB00E40AB3 /* LocalCheater.h */,
+                               6E31A16C06B723CB00E40AB3 /* LocalCheater.m */,
+                               6E31A1B806B7286300E40AB3 /* RemoteCheater.h */,
+                               6E31A1B906B7286300E40AB3 /* RemoteCheater.m */,
+                               6E38D61706C9F7A8003BA9B4 /* Cheater.h */,
+                               6E38D61806C9F7A8003BA9B4 /* Cheater.m */,
+                               6E6FD6B10762B965004FD845 /* SearchContext.h */,
+                               6E6FD6B20762B965004FD845 /* SearchContext.m */,
+                               6E9BF4B0078287DF008F0139 /* Searching.h */,
+                               6E9BF4B1078287DF008F0139 /* Searching.m */,
+                               6E6FDC240765858A004FD845 /* DumpContext.h */,
+                               6E6FDC250765858A004FD845 /* DumpContext.m */,
+                               6E138BF606C18765001C688F /* Process.h */,
+                               6E138BF706C18765001C688F /* Process.m */,
+                               6E3D7D3C06C44CFE00A73B29 /* Variable.h */,
+                               6E3D7D3D06C44CFE00A73B29 /* Variable.m */,
+                       );
+                       name = Cheating;
+                       sourceTree = "<group>";
+               };
+               6E7157BC0647004B00763517 /* The Core */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6E6FD69B0762B626004FD845 /* ThreadedTask.h */,
+                               6E6FD69C0762B626004FD845 /* ThreadedTask.m */,
+                               6EAB490B06CC4FEA00A4ABF0 /* VMRegion.h */,
+                               6EAB490C06CC4FEA00A4ABF0 /* VMRegion.m */,
+                       );
+                       name = "The Core";
+                       sourceTree = "<group>";
+               };
+               6E98A54A06A73E37006A576D /* Document */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6E7614A206A47A790051C301 /* CheatDocument.h */,
+                               6E7614A306A47A790051C301 /* CheatDocument.m */,
+                               6EA39693077F4025002B0E69 /* DocInterfaceActions.m */,
+                               6EA3969B077F419A002B0E69 /* DocCheaterDelegate.m */,
+                               6E72B20D06AA5B0E00951D50 /* CheatData.h */,
+                               6E72B20E06AA5B0E00951D50 /* CheatData.m */,
+                               6E8181D1076E475200A5FBEB /* SearchData.h */,
+                               6E8181D2076E475200A5FBEB /* SearchData.m */,
+                       );
+                       name = Document;
+                       sourceTree = "<group>";
+               };
+               6EB357C907C83E9D000347B9 /* AppleScript */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6EB3578F07C83B99000347B9 /* CheatURLHandler.scriptSuite */,
+                               6EB3578E07C83B99000347B9 /* CheatURLHandler.scriptTerminology */,
+                       );
+                       name = AppleScript;
+                       sourceTree = "<group>";
+               };
+               6ED806580641D343002888F7 /* Interface */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6E38D3FD06C9B71F003BA9B4 /* BetterTableView.h */,
+                               6E38D3FE06C9B71F003BA9B4 /* BetterTableView.m */,
+                               6E9BF3BA07820415008F0139 /* VariableTable.h */,
+                               6E9BF3BB07820415008F0139 /* VariableTable.m */,
+                               6E9BF31F0781EEC3008F0139 /* TrackerScroller.h */,
+                               6E9BF3200781EEC3008F0139 /* TrackerScroller.m */,
+                               6E6FD9FE0764EDE4004FD845 /* FadeView.h */,
+                               6E6FD9FF0764EDE4004FD845 /* FadeView.m */,
+                               6E138C3006C1C140001C688F /* StatusTextField.h */,
+                               6E138C3106C1C140001C688F /* StatusTextField.m */,
+                       );
+                       name = Interface;
+                       sourceTree = "<group>";
+               };
+               6ED806700641D3AC002888F7 /* Categories */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ED806710641D3CC002888F7 /* MenuExtras.h */,
+                               6ED806720641D3CC002888F7 /* MenuExtras.m */,
+                       );
+                       name = Categories;
+                       sourceTree = "<group>";
+               };
+               6ED807190641EC6E002888F7 /* Preferences */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ED806350641D2E9002888F7 /* PreferenceController.h */,
+                               6ED806360641D2E9002888F7 /* PreferenceController.m */,
+                               6ED8072006421B05002888F7 /* GeneralPrefs.h */,
+                               6ED8072106421B05002888F7 /* GeneralPrefs.m */,
+                               6EB35B3507CA6BCC000347B9 /* UpdatePrefs.h */,
+                               6EB35B3607CA6BCC000347B9 /* UpdatePrefs.m */,
+                               6ED8072606421B10002888F7 /* ServerPrefs.h */,
+                               6ED8072706421B10002888F7 /* ServerPrefs.m */,
+                       );
+                       name = Preferences;
+                       sourceTree = "<group>";
+               };
+               6ED97B900645E2EE00CBF037 /* Networking */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ED97B9D0645E85700CBF037 /* CheatServer.h */,
+                               6ED97B9E0645E85700CBF037 /* CheatServer.m */,
+                               6E31A14306B71EBA00E40AB3 /* ServerChild.h */,
+                               6E31A14406B71EBA00E40AB3 /* ServerChild.m */,
+                               6E83F53007B048BD00D9DACB /* MySocket.h */,
+                               6E83F53107B048BD00D9DACB /* MySocket.m */,
+                       );
+                       name = Networking;
+                       sourceTree = "<group>";
+               };
+               6EF2F08B077A7BFC00C8B55A /* Images */ = {
+                       isa = PBXGroup;
+                       children = (
+                               6ECDE09D0643985000B1DD8A /* General.png */,
+                               6ECDE0990643984400B1DD8A /* Server.png */,
+                               6EB35AA107CA5FE0000347B9 /* Update.png */,
+                               6E6FD8FA0764D1B0004FD845 /* Lock.tif */,
+                               6EB3528707C56771000347B9 /* icon.icns */,
+                               6EB3528807C56771000347B9 /* icondoc.icns */,
+                       );
+                       name = Images;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+               8D1107270486CEB800E47090 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               8D1107280486CEB800E47090 /* The_Cheat_Prefix.pch in Headers */,
+                               6ED806390641D2E9002888F7 /* AboutBoxController.h in Headers */,
+                               6ED8063B0641D2E9002888F7 /* AppController.h in Headers */,
+                               6ED8063F0641D2E9002888F7 /* PreferenceController.h in Headers */,
+                               6ED806450641D305002888F7 /* HelpController.h in Headers */,
+                               6ED806730641D3CC002888F7 /* MenuExtras.h in Headers */,
+                               6ED806800641D41B002888F7 /* cheat_global.h in Headers */,
+                               6ED8072206421B05002888F7 /* GeneralPrefs.h in Headers */,
+                               6ED8072806421B10002888F7 /* ServerPrefs.h in Headers */,
+                               6ED97B9F0645E85700CBF037 /* CheatServer.h in Headers */,
+                               6E7614A406A47A790051C301 /* CheatDocument.h in Headers */,
+                               6E72B20F06AA5B0E00951D50 /* CheatData.h in Headers */,
+                               6E31A14506B71EBA00E40AB3 /* ServerChild.h in Headers */,
+                               6E31A16D06B723CB00E40AB3 /* LocalCheater.h in Headers */,
+                               6E31A1BA06B7286300E40AB3 /* RemoteCheater.h in Headers */,
+                               6E138BF806C18765001C688F /* Process.h in Headers */,
+                               6E138C3206C1C140001C688F /* StatusTextField.h in Headers */,
+                               6E3D7D3E06C44CFE00A73B29 /* Variable.h in Headers */,
+                               6E38D3FF06C9B71F003BA9B4 /* BetterTableView.h in Headers */,
+                               6E38D61906C9F7A8003BA9B4 /* Cheater.h in Headers */,
+                               6EAB490D06CC4FEA00A4ABF0 /* VMRegion.h in Headers */,
+                               6E6FD69D0762B626004FD845 /* ThreadedTask.h in Headers */,
+                               6E6FD6B30762B965004FD845 /* SearchContext.h in Headers */,
+                               6E6FDA000764EDE4004FD845 /* FadeView.h in Headers */,
+                               6E6FDC260765858A004FD845 /* DumpContext.h in Headers */,
+                               6E8181D3076E475200A5FBEB /* SearchData.h in Headers */,
+                               6EF2F0C0077B424000C8B55A /* CheaterTypes.h in Headers */,
+                               6E9BF3210781EEC3008F0139 /* TrackerScroller.h in Headers */,
+                               6E9BF3BC07820415008F0139 /* VariableTable.h in Headers */,
+                               6E9BF4B2078287DF008F0139 /* Searching.h in Headers */,
+                               6EA253F80786249800C839D1 /* ChazLog.h in Headers */,
+                               6EC06558078BE68300591D61 /* ChazUpdate.h in Headers */,
+                               6E83F53207B048BD00D9DACB /* MySocket.h in Headers */,
+                               6EB3579C07C83C60000347B9 /* CheatURLCommand.h in Headers */,
+                               6EB35B3707CA6BCC000347B9 /* UpdatePrefs.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+               8D1107260486CEB800E47090 /* The Cheat */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 779E59850EB52C64000C6482 /* Build configuration list for PBXNativeTarget "The Cheat" */;
+                       buildPhases = (
+                               8D1107270486CEB800E47090 /* Headers */,
+                               8D1107290486CEB800E47090 /* Resources */,
+                               8D11072C0486CEB800E47090 /* Sources */,
+                               8D11072E0486CEB800E47090 /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = "The Cheat";
+                       productInstallPath = "$(HOME)/Applications";
+                       productName = "The Cheat";
+                       productReference = 8D1107320486CEB800E47090 /* The Cheat.app */;
+                       productType = "com.apple.product-type.application";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               29B97313FDCFA39411CA2CEA /* Project object */ = {
+                       isa = PBXProject;
+                       buildConfigurationList = 779E59840EB52C64000C6482 /* Build configuration list for PBXProject "The Cheat" */;
+                       compatibilityVersion = "Xcode 3.1";
+                       hasScannedForEncodings = 1;
+                       mainGroup = 29B97314FDCFA39411CA2CEA /* The Cheat */;
+                       projectDirPath = "";
+                       projectRoot = "";
+                       targets = (
+                               8D1107260486CEB800E47090 /* The Cheat */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+               8D1107290486CEB800E47090 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               6ED8069F0641D498002888F7 /* AboutBox.nib in Resources */,
+                               6ED806A00641D498002888F7 /* Help.nib in Resources */,
+                               6ED806A10641D498002888F7 /* InfoPlist.strings in Resources */,
+                               6ED806A20641D498002888F7 /* MainMenu.nib in Resources */,
+                               6ED806A40641D498002888F7 /* Preferences.nib in Resources */,
+                               6ECDE09A0643984400B1DD8A /* Server.png in Resources */,
+                               6ECDE09E0643985000B1DD8A /* General.png in Resources */,
+                               6E98A54D06A740EE006A576D /* CheatDocument.nib in Resources */,
+                               6EC06601078BFBE900591D61 /* Help.html in Resources */,
+                               6EB3528907C56771000347B9 /* icon.icns in Resources */,
+                               6EB3528A07C56771000347B9 /* icondoc.icns in Resources */,
+                               6EB3579007C83B99000347B9 /* CheatURLHandler.scriptTerminology in Resources */,
+                               6EB3579107C83B99000347B9 /* CheatURLHandler.scriptSuite in Resources */,
+                               6EB35AA207CA5FE0000347B9 /* Update.png in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               8D11072C0486CEB800E47090 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               6ED8063A0641D2E9002888F7 /* AboutBoxController.m in Sources */,
+                               6ED8063C0641D2E9002888F7 /* AppController.m in Sources */,
+                               6ED806400641D2E9002888F7 /* PreferenceController.m in Sources */,
+                               6ED806460641D305002888F7 /* HelpController.m in Sources */,
+                               6ED806740641D3CC002888F7 /* MenuExtras.m in Sources */,
+                               6ED806810641D41B002888F7 /* cheat_global.m in Sources */,
+                               6ED806840641D434002888F7 /* main.m in Sources */,
+                               6ED8072306421B05002888F7 /* GeneralPrefs.m in Sources */,
+                               6ED8072906421B10002888F7 /* ServerPrefs.m in Sources */,
+                               6ED97BA00645E85700CBF037 /* CheatServer.m in Sources */,
+                               6E7614A506A47A790051C301 /* CheatDocument.m in Sources */,
+                               6E72B21006AA5B0E00951D50 /* CheatData.m in Sources */,
+                               6E31A14606B71EBA00E40AB3 /* ServerChild.m in Sources */,
+                               6E31A16E06B723CB00E40AB3 /* LocalCheater.m in Sources */,
+                               6E31A1BB06B7286300E40AB3 /* RemoteCheater.m in Sources */,
+                               6E138BF906C18765001C688F /* Process.m in Sources */,
+                               6E138C3306C1C140001C688F /* StatusTextField.m in Sources */,
+                               6E3D7D3F06C44CFE00A73B29 /* Variable.m in Sources */,
+                               6E38D40006C9B71F003BA9B4 /* BetterTableView.m in Sources */,
+                               6E38D61A06C9F7A8003BA9B4 /* Cheater.m in Sources */,
+                               6EAB490E06CC4FEA00A4ABF0 /* VMRegion.m in Sources */,
+                               6E6FD69E0762B626004FD845 /* ThreadedTask.m in Sources */,
+                               6E6FD6B40762B965004FD845 /* SearchContext.m in Sources */,
+                               6E6FDA010764EDE4004FD845 /* FadeView.m in Sources */,
+                               6E6FDC270765858A004FD845 /* DumpContext.m in Sources */,
+                               6E8181D4076E475200A5FBEB /* SearchData.m in Sources */,
+                               6EA39694077F4025002B0E69 /* DocInterfaceActions.m in Sources */,
+                               6EA3969C077F419A002B0E69 /* DocCheaterDelegate.m in Sources */,
+                               6E9BF3220781EEC3008F0139 /* TrackerScroller.m in Sources */,
+                               6E9BF3BD07820415008F0139 /* VariableTable.m in Sources */,
+                               6E9BF4B3078287DF008F0139 /* Searching.m in Sources */,
+                               6E9BF5040782926E008F0139 /* CheaterTypes.m in Sources */,
+                               6EA253F90786249800C839D1 /* ChazLog.m in Sources */,
+                               6EC06559078BE68300591D61 /* ChazUpdate.m in Sources */,
+                               6E83F53307B048BD00D9DACB /* MySocket.m in Sources */,
+                               6EB3579D07C83C60000347B9 /* CheatURLCommand.m in Sources */,
+                               6EB35B3807CA6BCC000347B9 /* UpdatePrefs.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+               6E98A54B06A740EE006A576D /* CheatDocument.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               6E98A54C06A740EE006A576D /* English */,
+                       );
+                       name = CheatDocument.nib;
+                       sourceTree = "<group>";
+               };
+               6ED8068F0641D498002888F7 /* AboutBox.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               6ED806900641D498002888F7 /* English */,
+                       );
+                       name = AboutBox.nib;
+                       sourceTree = "<group>";
+               };
+               6ED806910641D498002888F7 /* Help.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               6ED806920641D498002888F7 /* English */,
+                       );
+                       name = Help.nib;
+                       sourceTree = "<group>";
+               };
+               6ED806930641D498002888F7 /* InfoPlist.strings */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               6ED806940641D498002888F7 /* English */,
+                       );
+                       name = InfoPlist.strings;
+                       sourceTree = "<group>";
+               };
+               6ED806950641D498002888F7 /* MainMenu.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               6ED806960641D498002888F7 /* English */,
+                       );
+                       name = MainMenu.nib;
+                       sourceTree = "<group>";
+               };
+               6ED806990641D498002888F7 /* Preferences.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               6ED8069A0641D498002888F7 /* English */,
+                       );
+                       name = Preferences.nib;
+                       sourceTree = "<group>";
+               };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+               779E597E0EB52C64000C6482 /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Development;
+               };
+               779E597F0EB52C64000C6482 /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Deployment;
+               };
+               779E59800EB52C64000C6482 /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                       };
+                       name = Default;
+               };
+               779E59810EB52C64000C6482 /* Development */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               DEAD_CODE_STRIPPING = YES;
+                               DEBUGGING_SYMBOLS = YES;
+                               FRAMEWORK_SEARCH_PATHS = "";
+                               GCC_AUTO_VECTORIZATION = YES;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_ENABLE_OBJC_EXCEPTIONS = NO;
+                               GCC_ENABLE_TRIGRAPHS = NO;
+                               GCC_FAST_OBJC_DISPATCH = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = The_Cheat_Prefix.pch;
+                               GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+                               GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
+                               GCC_WARN_UNKNOWN_PRAGMAS = NO;
+                               HEADER_SEARCH_PATHS = "";
+                               INFOPLIST_FILE = Info.plist;
+                               INSTALL_PATH = "$(HOME)/Applications";
+                               LIBRARY_SEARCH_PATHS = "";
+                               MACOSX_DEPLOYMENT_TARGET = 10.2;
+                               OTHER_CFLAGS = "-D_DEBUG";
+                               OTHER_LDFLAGS = (
+                                       "-sectcreate",
+                                       __TEXT,
+                                       __info_plist,
+                                       Info.plist,
+                               );
+                               PRODUCT_NAME = "The Cheat";
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                               ZERO_LINK = YES;
+                       };
+                       name = Development;
+               };
+               779E59820EB52C64000C6482 /* Deployment */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+                               CODE_SIGN_IDENTITY = "";
+                               COPY_PHASE_STRIP = YES;
+                               DEAD_CODE_STRIPPING = YES;
+                               FRAMEWORK_SEARCH_PATHS = "";
+                               GCC_AUTO_VECTORIZATION = YES;
+                               GCC_DYNAMIC_NO_PIC = YES;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_ENABLE_OBJC_EXCEPTIONS = NO;
+                               GCC_ENABLE_TRIGRAPHS = NO;
+                               GCC_FAST_OBJC_DISPATCH = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = The_Cheat_Prefix.pch;
+                               GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+                               GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
+                               GCC_WARN_UNKNOWN_PRAGMAS = NO;
+                               HEADER_SEARCH_PATHS = "";
+                               INFOPLIST_FILE = Info.plist;
+                               INSTALL_PATH = "$(HOME)/Applications";
+                               LIBRARY_SEARCH_PATHS = "";
+                               MACOSX_DEPLOYMENT_TARGET = 10.2;
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = (
+                                       "-sectcreate",
+                                       __TEXT,
+                                       __info_plist,
+                                       Info.plist,
+                               );
+                               PRODUCT_NAME = "The Cheat";
+                               PROVISIONING_PROFILE = "";
+                               SDKROOT = macosx10.3.9;
+                               "SDKROOT[arch=i386]" = macosx10.4;
+                               "SDKROOT[arch=ppc]" = macosx10.3.9;
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                               ZERO_LINK = NO;
+                       };
+                       name = Deployment;
+               };
+               779E59830EB52C64000C6482 /* Default */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = YES;
+                               DEAD_CODE_STRIPPING = YES;
+                               FRAMEWORK_SEARCH_PATHS = "";
+                               GCC_AUTO_VECTORIZATION = YES;
+                               GCC_DYNAMIC_NO_PIC = YES;
+                               GCC_ENABLE_OBJC_EXCEPTIONS = NO;
+                               GCC_ENABLE_TRIGRAPHS = NO;
+                               GCC_FAST_OBJC_DISPATCH = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = The_Cheat_Prefix.pch;
+                               GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
+                               GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
+                               GCC_WARN_UNKNOWN_PRAGMAS = NO;
+                               HEADER_SEARCH_PATHS = "";
+                               INFOPLIST_FILE = Info.plist;
+                               INSTALL_PATH = "$(HOME)/Applications";
+                               LIBRARY_SEARCH_PATHS = "";
+                               MACOSX_DEPLOYMENT_TARGET = 10.2;
+                               OTHER_CFLAGS = "";
+                               OTHER_LDFLAGS = "";
+                               PRODUCT_NAME = "The Cheat";
+                               SECTORDER_FLAGS = "";
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = Default;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               779E59840EB52C64000C6482 /* Build configuration list for PBXProject "The Cheat" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               779E597E0EB52C64000C6482 /* Development */,
+                               779E597F0EB52C64000C6482 /* Deployment */,
+                               779E59800EB52C64000C6482 /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+               779E59850EB52C64000C6482 /* Build configuration list for PBXNativeTarget "The Cheat" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               779E59810EB52C64000C6482 /* Development */,
+                               779E59820EB52C64000C6482 /* Deployment */,
+                               779E59830EB52C64000C6482 /* Default */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Default;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
index fc3d83b9b73b449b94d44102d95ef3320256bb37..57c8e67cb7f4b1303a281a06b0a457b84db393f2 100644 (file)
 #import <Cocoa/Cocoa.h>
 
 #import "CheaterTypes.h"
+#import "Process.h"
 
 #include <string.h>
 
 
 #define TC_MAX_VAR_SIZE (256)
 
-
 @interface Variable : NSObject < NSCoding >
 {
        TCAddress _address;
@@ -36,6 +36,8 @@
        
        int _tag;
        
+       Process *process;
+       
        @public;
        // use the accessor methods unless you need fast access
        // do not change these variables directly or things will be screwed.
@@ -43,6 +45,7 @@
        TCIntegerSign _integerSign;
        unsigned _size;
        void *_value;
+       BOOL _isEmulated;
 }
 
 // #############################################################################
 - (id)initWithType:(TCVariableType)type; // default: TCSigned
 - (id)initWithType:(TCVariableType)type integerSign:(TCIntegerSign)sign;
 
+- (void)setProcess:(Process *)process;
+- (Process *)process;
+
+- (BOOL)isEmulated;
+
 // #############################################################################
 #pragma mark NSCoding
 // #############################################################################
@@ -81,6 +89,8 @@
 - (NSString *)stringValue;
 - (BOOL)setStringValue:(NSString *)value;
 
+void bigEndianValue(void *buffer, Variable *variable);
+
 - (unsigned)valueSize;
 - (BOOL)isValueValid;
 
index bb3c59e90542e0da750acdbba8649277b36f7bf7..7aa371cf6e54b720da8e30320a69535a348a467b 100644 (file)
@@ -20,7 +20,6 @@
 
 #import "Variable.h"
 
-
 @interface Variable ( PrivateAPI )
 
 - (void)_setType:(TCVariableType)type;
        return self;
 }
 
+- (void)setProcess:(Process *)newProcess
+{
+       if (process != newProcess && [newProcess pid] > 0)
+       {
+               _isEmulated = [newProcess isEmulated];
+               
+               [newProcess retain];
+               [process release];
+               process = newProcess;
+       }
+}
+
+- (Process *)process
+{
+       return process;
+}
+
+- (BOOL)isEmulated
+{
+       return _isEmulated;
+}
 
 - (void)dealloc
 {
                [coder decodeValueOfObjCType:@encode(TCVariableType) at:&_type];
                [coder decodeValueOfObjCType:@encode(TCIntegerSign) at:&_integerSign];
                [coder decodeValueOfObjCType:@encode(TCAddress) at:&_address];
-               [self setValue:[coder decodeBytesWithReturnedLength:&_size]];
+               
+               void *value = [coder decodeBytesWithReturnedLength:&_size];
+               
+               if (_type == TCString || _type == TCInt8)
+               {
+                       [self setValue:value];
+               }
+               else if (_type == TCInt16)
+               {
+                       int16_t newVariable = CFSwapInt16BigToHost(*((int16_t *)value));
+                       [self setValue:&newVariable];
+               }
+               else if (_type == TCInt32)
+               {
+                       int32_t newVariable = CFSwapInt32BigToHost(*((int32_t *)value));
+                       [self setValue:&newVariable];
+               }
+               else if (_type == TCInt64)
+               {
+                       int64_t newVariable = CFSwapInt64BigToHost(*((int64_t *)value));
+                       [self setValue:&newVariable];
+               }
+               else if (_type == TCFloat)
+               {
+#ifdef __LITTLE_ENDIAN__
+                       CFSwappedFloat32 newVariable = CFConvertFloat32HostToSwapped(*((float *)value));
+                       [self setValue:&(newVariable.v)];
+                       
+#else
+                       [self setValue:value];
+#endif
+               }
+               else if (_type == TCDouble)
+               {
+#ifdef __LITTLE_ENDIAN__
+                       CFSwappedFloat64 newVariable = CFConvertDoubleHostToSwapped(*((double *)value));
+                       [self setValue:&(newVariable.v)];
+#else
+                       [self setValue:value];
+#endif
+               }
+               
                [coder decodeValueOfObjCType:@encode(BOOL) at:&_isValueValid];
                [coder decodeValueOfObjCType:@encode(BOOL) at:&_enabled];
                [coder decodeValueOfObjCType:@encode(int) at:&_tag];
        [coder encodeValueOfObjCType:@encode(TCVariableType) at:&_type];
        [coder encodeValueOfObjCType:@encode(TCIntegerSign) at:&_integerSign];
        [coder encodeValueOfObjCType:@encode(TCAddress) at:&_address];
-       [coder encodeBytes:_value length:_size];
+       
+       if (_type == TCString || _type == TCInt8)
+       {
+               [coder encodeBytes:_value length:_size];
+       }
+       else if (_type == TCInt16)
+       {
+               int16_t newVariable = CFSwapInt16HostToBig(*((int16_t *)_value));
+               [coder encodeBytes:&newVariable length:_size];
+       }
+       else if (_type == TCInt32)
+       {
+               int32_t newVariable = CFSwapInt32HostToBig(*((int32_t *)_value));
+               [coder encodeBytes:&newVariable length:_size];
+       }
+       else if (_type == TCInt64)
+       {
+               int64_t newVariable = CFSwapInt64HostToBig(*((int64_t *)_value));
+               [coder encodeBytes:&newVariable length:_size];
+       }
+       else if (_type == TCFloat)
+       {
+#ifdef __LITTLE_ENDIAN__
+               CFSwappedFloat32 newVariable = CFConvertFloat32HostToSwapped(*((float *)_value));
+               [coder encodeBytes:&newVariable length:_size];
+#else
+               [coder encodeBytes:&_value length:_size];
+#endif
+       }
+       else if (_type == TCDouble)
+       {
+#ifdef __LITTLE_ENDIAN__
+               CFSwappedFloat64 newVariable = CFConvertDoubleHostToSwapped(*((double *)_value));
+               [coder encodeBytes:&newVariable length:_size];
+#else
+               [coder encodeBytes:_value length:_size];
+#endif
+       }
+       
        [coder encodeValueOfObjCType:@encode(BOOL) at:&_isValueValid];
        [coder encodeValueOfObjCType:@encode(BOOL) at:&_enabled];
        [coder encodeValueOfObjCType:@encode(int) at:&_tag];
        return [self isValueValid];
 }
 
+// this only converts the byte order of the value at buffer if the process is running under rosetta on an intel mac
+// floats and double's byte ordering should not be changed when searching for values because they may be swapped to '0.0'
+void bigEndianValue(void *buffer, Variable *variable)
+{
+       if (variable->_isEmulated)
+       {
+               if (variable->_type == TCInt16)
+               {
+                       int16_t newValue = CFSwapInt16HostToBig(*((int16_t *)buffer));
+                       memcpy(buffer, &newValue, sizeof(int16_t));
+               }
+               else if (variable->_type == TCInt32)
+               {
+                       int32_t newValue = CFSwapInt32HostToBig(*((int32_t *)buffer));
+                       memcpy(buffer, &newValue, sizeof(int32_t));
+               }
+               else if (variable->_type == TCInt64)
+               {
+                       int64_t newValue = CFSwapInt64HostToBig(*((int64_t *)buffer));
+                       memcpy(buffer, &newValue, sizeof(int64_t));
+               }
+               else if (variable->_type == TCFloat)
+               {
+                       CFSwappedFloat32 newValue = CFConvertFloat32HostToSwapped(*((float *)buffer));
+                       memcpy(buffer, &(newValue.v), sizeof(float));
+               }
+               else if (variable->_type == TCDouble)
+               {
+                       CFSwappedFloat64 newValue = CFConvertDoubleHostToSwapped(*((double *)buffer));
+                       memcpy(buffer, &(newValue.v), sizeof(double));
+               }
+       }
+}
 
 - (unsigned)valueSize
 {
diff --git a/main.m b/main.m
index 7075d5dff800dfcd9b569558a32c3f2185b07d99..444451b79e3400b9a69613a58a81e74759122ff5 100644 (file)
--- a/main.m
+++ b/main.m
@@ -23,6 +23,9 @@
 #import <SecurityFoundation/SFAuthorization.h>
 #import <Security/AuthorizationTags.h>
 #include "ChazLog.h"
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <unistd.h>
 
 void authMe(char * FullPathToMe)
 {
@@ -74,13 +77,21 @@ void authMe(char * FullPathToMe)
        }
 }
 
+bool checkExecutablePermissions(void)
+{
+       NSDictionary    *applicationAttributes = [[NSFileManager defaultManager] fileAttributesAtPath:[[NSBundle mainBundle] executablePath] traverseLink: YES];
+       
+       // We expect 2755 as octal (1517 as decimal, -rwxr-sr-x as extended notation)
+       return ([applicationAttributes filePosixPermissions] == 1517 && [[applicationAttributes fileGroupOwnerAccountName] isEqualToString: @"procmod"]);
+}
+
 bool amIWorthy(void)
 {
        // running as root?
        AuthorizationRef myAuthRef;
        OSStatus stat = AuthorizationCopyPrivilegedReference(&myAuthRef,kAuthorizationFlagDefaults);
        
-       return stat == errAuthorizationSuccess;
+       return stat == errAuthorizationSuccess || checkExecutablePermissions();
 }
 
 int main( int argc, char *argv[] )
@@ -92,18 +103,31 @@ int main( int argc, char *argv[] )
        ChazDebugSetup();
        ChazMapLogToDebug();
        
-       [pool release];
+#ifdef __ppc__
+       // PPC machines whose operating system is below leopard do not need authorization
+       SInt32 osxMajorVersion;
+       Gestalt(gestaltSystemVersionMinor, &osxMajorVersion);
+       if (osxMajorVersion < 5)
+       {
+               [pool release];
+               return NSApplicationMain(argc,  (const char **) argv);
+       }
+#endif
        
        if (amIWorthy())
        {
-               printf("Don't forget to flush! ;-) "); // signal back to close caller           
+#ifndef _DEBUG
+               printf("Don't forget to flush! ;-) "); // signal back to close caller
+#endif
                fflush(stdout);
                
+               [pool release];
                return NSApplicationMain(argc,  (const char **) argv);
        }
        else
        {
                authMe(argv[0]);
+               [pool release];
                return 0;
        }
        
This page took 0.274367 seconds and 4 git commands to generate.