diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..ab23e6a Binary files /dev/null and b/.DS_Store differ diff --git a/DNA-project-3/.DS_Store b/DNA-project-3/.DS_Store new file mode 100644 index 0000000..f9c9273 Binary files /dev/null and b/DNA-project-3/.DS_Store differ diff --git a/DNA-project-3/DNA-project-3.xcodeproj/project.pbxproj b/DNA-project-3/DNA-project-3.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ff1e65c --- /dev/null +++ b/DNA-project-3/DNA-project-3.xcodeproj/project.pbxproj @@ -0,0 +1,325 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + A52619CB1685A568001951F2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A52619CA1685A568001951F2 /* Cocoa.framework */; }; + A52619D51685A568001951F2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A52619D31685A568001951F2 /* InfoPlist.strings */; }; + A52619D71685A568001951F2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A52619D61685A568001951F2 /* main.m */; }; + A52619DB1685A568001951F2 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = A52619D91685A568001951F2 /* Credits.rtf */; }; + A52619DE1685A568001951F2 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A52619DD1685A568001951F2 /* AppDelegate.m */; }; + A52619E11685A568001951F2 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = A52619DF1685A568001951F2 /* MainMenu.xib */; }; + A5A0891F1698485800B01C96 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A5A089211698485800B01C96 /* Localizable.strings */; }; + A5F06F4A168729BD005B9EA4 /* Cell.m in Sources */ = {isa = PBXBuildFile; fileRef = A5F06F49168729BD005B9EA4 /* Cell.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + A52619C61685A568001951F2 /* DNA-project-3.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DNA-project-3.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + A52619CA1685A568001951F2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + A52619CD1685A568001951F2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + A52619CE1685A568001951F2 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + A52619CF1685A568001951F2 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + A52619D21685A568001951F2 /* DNA-project-3-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DNA-project-3-Info.plist"; sourceTree = ""; }; + A52619D41685A568001951F2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + A52619D61685A568001951F2 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + A52619D81685A568001951F2 /* DNA-project-3-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DNA-project-3-Prefix.pch"; sourceTree = ""; }; + A52619DA1685A568001951F2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + A52619DC1685A568001951F2 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + A52619DD1685A568001951F2 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + A52619E01685A568001951F2 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; + A52619E71685B78C001951F2 /* Cell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cell.h; sourceTree = ""; }; + A576F4F9168DB5CD00B21327 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ru.lproj/MainMenu.xib; sourceTree = ""; }; + A576F4FA168DB5CD00B21327 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + A576F4FB168DB5CD00B21327 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = ru; path = ru.lproj/Credits.rtf; sourceTree = ""; }; + A5A089201698485800B01C96 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + A5A089221698486600B01C96 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + A5F06F49168729BD005B9EA4 /* Cell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cell.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + A52619C31685A568001951F2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A52619CB1685A568001951F2 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + A52619BB1685A568001951F2 = { + isa = PBXGroup; + children = ( + A52619D01685A568001951F2 /* DNA-project-3 */, + A52619C91685A568001951F2 /* Frameworks */, + A52619C71685A568001951F2 /* Products */, + ); + sourceTree = ""; + }; + A52619C71685A568001951F2 /* Products */ = { + isa = PBXGroup; + children = ( + A52619C61685A568001951F2 /* DNA-project-3.app */, + ); + name = Products; + sourceTree = ""; + }; + A52619C91685A568001951F2 /* Frameworks */ = { + isa = PBXGroup; + children = ( + A52619CA1685A568001951F2 /* Cocoa.framework */, + A52619CC1685A568001951F2 /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + A52619CC1685A568001951F2 /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + A52619CD1685A568001951F2 /* AppKit.framework */, + A52619CE1685A568001951F2 /* CoreData.framework */, + A52619CF1685A568001951F2 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + A52619D01685A568001951F2 /* DNA-project-3 */ = { + isa = PBXGroup; + children = ( + A52619DC1685A568001951F2 /* AppDelegate.h */, + A52619DD1685A568001951F2 /* AppDelegate.m */, + A5A089211698485800B01C96 /* Localizable.strings */, + A52619E71685B78C001951F2 /* Cell.h */, + A5F06F49168729BD005B9EA4 /* Cell.m */, + A52619DF1685A568001951F2 /* MainMenu.xib */, + A52619D11685A568001951F2 /* Supporting Files */, + ); + path = "DNA-project-3"; + sourceTree = ""; + }; + A52619D11685A568001951F2 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + A52619D21685A568001951F2 /* DNA-project-3-Info.plist */, + A52619D31685A568001951F2 /* InfoPlist.strings */, + A52619D61685A568001951F2 /* main.m */, + A52619D81685A568001951F2 /* DNA-project-3-Prefix.pch */, + A52619D91685A568001951F2 /* Credits.rtf */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + A52619C51685A568001951F2 /* DNA-project-3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = A52619E41685A568001951F2 /* Build configuration list for PBXNativeTarget "DNA-project-3" */; + buildPhases = ( + A52619C21685A568001951F2 /* Sources */, + A52619C31685A568001951F2 /* Frameworks */, + A52619C41685A568001951F2 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "DNA-project-3"; + productName = "DNA-project-3"; + productReference = A52619C61685A568001951F2 /* DNA-project-3.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + A52619BD1685A568001951F2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + }; + buildConfigurationList = A52619C01685A568001951F2 /* Build configuration list for PBXProject "DNA-project-3" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ru, + ); + mainGroup = A52619BB1685A568001951F2; + productRefGroup = A52619C71685A568001951F2 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + A52619C51685A568001951F2 /* DNA-project-3 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + A52619C41685A568001951F2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A52619D51685A568001951F2 /* InfoPlist.strings in Resources */, + A52619DB1685A568001951F2 /* Credits.rtf in Resources */, + A52619E11685A568001951F2 /* MainMenu.xib in Resources */, + A5A0891F1698485800B01C96 /* Localizable.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + A52619C21685A568001951F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A52619D71685A568001951F2 /* main.m in Sources */, + A52619DE1685A568001951F2 /* AppDelegate.m in Sources */, + A5F06F4A168729BD005B9EA4 /* Cell.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + A52619D31685A568001951F2 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + A52619D41685A568001951F2 /* en */, + A576F4FA168DB5CD00B21327 /* ru */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + A52619D91685A568001951F2 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + A52619DA1685A568001951F2 /* en */, + A576F4FB168DB5CD00B21327 /* ru */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + A52619DF1685A568001951F2 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + A52619E01685A568001951F2 /* en */, + A576F4F9168DB5CD00B21327 /* ru */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; + A5A089211698485800B01C96 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + A5A089201698485800B01C96 /* ru */, + A5A089221698486600B01C96 /* en */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + A52619E21685A568001951F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + A52619E31685A568001951F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + A52619E51685A568001951F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "DNA-project-3/DNA-project-3-Prefix.pch"; + INFOPLIST_FILE = "DNA-project-3/DNA-project-3-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + A52619E61685A568001951F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "DNA-project-3/DNA-project-3-Prefix.pch"; + INFOPLIST_FILE = "DNA-project-3/DNA-project-3-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + A52619C01685A568001951F2 /* Build configuration list for PBXProject "DNA-project-3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A52619E21685A568001951F2 /* Debug */, + A52619E31685A568001951F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A52619E41685A568001951F2 /* Build configuration list for PBXNativeTarget "DNA-project-3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A52619E51685A568001951F2 /* Debug */, + A52619E61685A568001951F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = A52619BD1685A568001951F2 /* Project object */; +} diff --git a/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..eca45d0 --- /dev/null +++ b/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/xcuserdata/sergey.xcuserdatad/UserInterfaceState.xcuserstate b/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/xcuserdata/sergey.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..7b6edd4 Binary files /dev/null and b/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/xcuserdata/sergey.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/xcuserdata/sergey.xcuserdatad/WorkspaceSettings.xcsettings b/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/xcuserdata/sergey.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..bfffcfe --- /dev/null +++ b/DNA-project-3/DNA-project-3.xcodeproj/project.xcworkspace/xcuserdata/sergey.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..05301bc --- /dev/null +++ b/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcschemes/DNA-project-3.xcscheme b/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcschemes/DNA-project-3.xcscheme new file mode 100644 index 0000000..2306ad4 --- /dev/null +++ b/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcschemes/DNA-project-3.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcschemes/xcschememanagement.plist b/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..921b32b --- /dev/null +++ b/DNA-project-3/DNA-project-3.xcodeproj/xcuserdata/sergey.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + DNA-project-3.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + A52619C51685A568001951F2 + + primary + + + + + diff --git a/DNA-project-3/DNA-project-3/.DS_Store b/DNA-project-3/DNA-project-3/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/DNA-project-3/DNA-project-3/.DS_Store differ diff --git a/DNA-project-3/DNA-project-3/AppDelegate.h b/DNA-project-3/DNA-project-3/AppDelegate.h new file mode 100644 index 0000000..64f40bf --- /dev/null +++ b/DNA-project-3/DNA-project-3/AppDelegate.h @@ -0,0 +1,58 @@ +// +// AppDelegate.h +// DNA-project-3 +// +// Created by Sergey on 22.12.12. +// Copyright (c) 2012 __MyCompanyName__. All rights reserved. +// + +#import +#import "Cell.h" + +#define DEFAULTPOPULATIONSIZE 100; +#define DEFAULTDNALENGTH 50; +#define MAXDNALENGTH 300; +#define DEFAULTMUTATIONRATE 1; + + +@interface AppDelegate : NSObject { + NSInteger populationSize; + NSInteger dnaLength; + NSInteger mutationRate; + NSInteger bestHammingDistance; + NSMutableArray* population; + NSUndoManager* undoManager; + BOOL evolution; + int generation; + Cell* goalDNA; +} + +@property (assign) IBOutlet NSWindow *window; +@property (weak) IBOutlet NSTextField *goalDNATextField; + +@property (weak) IBOutlet NSButton *pauseButton; +@property (weak) IBOutlet NSButton *startButton; +@property (weak) IBOutlet NSButton *loadButton; + +@property (weak) IBOutlet NSTextField *populationSizeTextField; +@property (weak) IBOutlet NSTextField *dnaLengthTextField; +@property (weak) IBOutlet NSTextField *mutationRateTextField; + +@property (weak) IBOutlet NSSlider *populationSizeSlider; +@property (weak) IBOutlet NSSlider *dnaLengthSlider; +@property (weak) IBOutlet NSSlider *mutationRateSlider; + +- (IBAction)startEvolution:(id)sender; +- (IBAction)pauseEvolution:(id)sender; +- (IBAction)loadGoalDNA:(id)sender; +- (IBAction)savePopulation:(id)sender; +- (IBAction)loadPopulation:(id)sender; + + +@property (weak) IBOutlet NSTextField *bestMatchTextField; +@property (weak) IBOutlet NSTextField *generationTextField; +@property (weak) IBOutlet NSProgressIndicator *progressIndicator; + +-(void)setVisible:(BOOL) v; + +@end diff --git a/DNA-project-3/DNA-project-3/AppDelegate.m b/DNA-project-3/DNA-project-3/AppDelegate.m new file mode 100644 index 0000000..68c5b42 --- /dev/null +++ b/DNA-project-3/DNA-project-3/AppDelegate.m @@ -0,0 +1,353 @@ +// +// AppDelegate.m +// DNA-project-3 +// +// Created by Sergey on 22.12.12. +// Copyright (c) 2012 __MyCompanyName__. All rights reserved. +// + +#import "AppDelegate.h" +#import "Cell.h" + +@implementation AppDelegate + +@synthesize window = _window; +@synthesize goalDNATextField; +@synthesize pauseButton; +@synthesize startButton; +@synthesize loadButton; +@synthesize populationSizeTextField; +@synthesize dnaLengthTextField; +@synthesize mutationRateTextField; +@synthesize populationSizeSlider; +@synthesize dnaLengthSlider; +@synthesize mutationRateSlider; + +@synthesize generationTextField; +@synthesize bestMatchTextField; + +static void *RMDocumentKVOContext; + +- (NSUndoManager*) windowWillReturnUndoManager: (NSWindow*) window { + return undoManager; +} + +-(void) changeKeyPath:(NSString*)keyPath ofObject:(id)obj toValue:(id)newValue { + [obj setValue:newValue forKeyPath:keyPath]; +} + +-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { + if (context != &RMDocumentKVOContext) { + [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; + return; + } + id oldValue = [change objectForKey:NSKeyValueChangeOldKey]; + if (oldValue == [NSNull null]) + oldValue = nil; + [[undoManager prepareWithInvocationTarget:self] changeKeyPath:keyPath ofObject:object toValue:oldValue]; + [undoManager setActionName:@"Edit"]; +} + +-(void)dealloc { + [self removeObserver:self forKeyPath:@"populationSize"]; + [self removeObserver:self forKeyPath:@"dnaLength"]; + [self removeObserver:self forKeyPath:@"mutationRate"]; +} + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { + [goalDNATextField setStringValue:[goalDNA stringDNA]]; +} + +-(void)setPopulationSize:(NSInteger) x { + /*1. создать случайную популяцию ДНК. Размер популяции = значение первого text field'а. + Размер каждого ДНК = значение второго text field'а.*/ + NSInteger i; + if (x > populationSize) { + for (i=populationSize; i=x; i--) + [population removeObjectAtIndex:i]; // удаляем лишние элементы + } + populationSize = x; +} + +-(NSInteger)populationSize { + return populationSize; +} + +-(void)setDnaLength:(NSInteger) x { + dnaLength = x; + // обновляем goalDNA + [goalDNA fillDNALenght:dnaLength]; + [goalDNATextField setStringValue:[goalDNA stringDNA]]; + //обновляем DNA в популяции + for (int i=0; i [obj2 integerValue]) { + return (NSComparisonResult)NSOrderedDescending; + } + if ([obj1 integerValue] < [obj2 integerValue]) { + return (NSComparisonResult)NSOrderedAscending; + } + return (NSComparisonResult)NSOrderedSame; + }]; + // непостредственно сортируем массив, используя ранее созданные десктрипторы + NSMutableArray* sortedArray = [NSMutableArray arrayWithArray:[population sortedArrayUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]] ]; + [population removeAllObjects]; + [population addObjectsFromArray:sortedArray]; + + //4.2 Остановить эволюцию если есть ДНК полностью совпадающее с Goal DNA (hamming distance = 0) + // вычисляем различия hammingDistance чтобы по нему отсортировать + [self willChangeValueForKey:@"bestHammingDistance"]; + bestHammingDistance = 100 - [[population objectAtIndex:0] hammingDistance]; + [self didChangeValueForKey:@"bestHammingDistance"]; + + if (bestHammingDistance == 100) { + [self setVisible:evolution=NO]; + return; + } + //4.3 Скрестить кандидатов из топ 50% и заменить результатом оставшиеся 50%. + //4.3.1 Взять два случайных ДНК + for (int i=populationSize/2; imaxDNAlenght) { + [message appendFormat:NSLocalizedString(@"MESSAGE3",@""), maxDNAlenght]; + NSAlert *alert = [[NSAlert alloc] init]; + [alert addButtonWithTitle:@"OK"]; + [alert setMessageText:message]; + [alert setInformativeText:NSLocalizedString(@"MESSAGE4",@"")]; + [alert setAlertStyle:NSWarningAlertStyle]; + [alert runModal]; + return; + } + NSString *s = [goalDNA fillDNAString:fileContents]; + if (s == @"") { + [goalDNATextField setStringValue:fileContents]; + } + else { + [message appendFormat:NSLocalizedString(@"MESSAGE5",@""), s]; + NSAlert *alert = [[NSAlert alloc] init]; + [alert addButtonWithTitle:@"OK"]; + [alert setMessageText:message]; + [alert setInformativeText:NSLocalizedString(@"MESSAGE6",@"")]; + [alert setAlertStyle:NSWarningAlertStyle]; + [alert runModal]; + } + } + } +} + +-(id)init { + self = [super init]; + if (self) { + population = [[NSMutableArray alloc] init]; + undoManager = [[NSUndoManager alloc] init]; + evolution = NO; + + [self willChangeValueForKey:@"populationSize"]; + populationSize = DEFAULTPOPULATIONSIZE; + [self didChangeValueForKey:@"populationSize"]; + + [self willChangeValueForKey:@"dnaLength"]; + dnaLength = DEFAULTDNALENGTH; + [self didChangeValueForKey:@"dnaLength"]; + + [self willChangeValueForKey:@"mutationRate"]; + mutationRate = DEFAULTMUTATIONRATE; + [self didChangeValueForKey:@"mutationRate"]; + + [self willChangeValueForKey:@"generation"]; + generation = 0; + [self didChangeValueForKey:@"generation"]; + + goalDNA = [[Cell alloc] init ]; + [goalDNA fillDNALenght:dnaLength]; + + // заполняем новыми популяциями + for (int i=0; i + +//static NSArray* arrayATGCQ; + +@interface Cell : NSObject { + NSArray* arrayATGC; + NSInteger dnaLenght; +} + +@property (nonatomic, retain) NSMutableArray* DNA; +@property (nonatomic) NSInteger hammingDistance; + +-(void)fillDNALenght:(NSInteger) d; +-(NSString*)fillDNAString:(NSString*) s; +-(void)calculateHammingDistance:(Cell*) c; +-(void)mutate:(NSInteger) percent; +-(NSString*)stringDNA; +-(NSMutableArray*)crossing:(Cell*) c; + + +@end diff --git a/DNA-project-3/DNA-project-3/Cell.m b/DNA-project-3/DNA-project-3/Cell.m new file mode 100644 index 0000000..0dc1d79 --- /dev/null +++ b/DNA-project-3/DNA-project-3/Cell.m @@ -0,0 +1,165 @@ +// +// Cell.m +// Project1DNK +// +// Created by Sergey on 02.11.12. +// Copyright (c) 2012 Sergey. All rights reserved. +// + +#import "Cell.h" +//#define kSizeLarge @["A", "T", "G", "C"] + +@implementation Cell + +@synthesize hammingDistance; +@synthesize DNA = _DNA; + +/* +static NSArray* arrayATGCQ = nil; +static dispatch_once_t onceToken; + + + +dispatch_once(&onceToken, ^{ + arrayATGCQ = @[kSizeLarge]; +}); + +dispatch_once () + +dispatch_once(&onceToken, ^{ + arrayATGCQ = [NSArray initWithObjects:@"A", @"T", @"G", @"C",nil]; +}); +*/ + +-(id) init { + self = [super init]; + if (self) { + arrayATGC = [[NSArray alloc] initWithObjects:@"A", @"T", @"G", @"C",nil]; + _DNA = [[NSMutableArray alloc] init]; + dnaLenght = 0; + } + return self; +} + +-(void)fillDNALenght:(NSInteger) d { + NSInteger i; + if (d > dnaLenght) { + for (i=dnaLenght; i=d; i--) + [_DNA removeObjectAtIndex:i]; // удаляем лишние элементы + } + dnaLenght = d; + if ([_DNA count] != dnaLenght) // дополнительная проверка + NSLog(@"длина ДНК различна %lu <> %lu",[_DNA count], dnaLenght ); +} + +-(NSString*)fillDNAString:(NSString*) s { + NSInteger n = [s length]; + // перебираем переданную строку и ищем запрещенные символы + for (NSInteger i=0; i(dnaLenght-halfdnaLenght)) + [NewDNA addObject:[_DNA objectAtIndex:i]]; + else + [NewDNA addObject:[c.DNA objectAtIndex:i]]; + } + } + return NewDNA; +} + +-(void)encodeWithCoder:(NSCoder *)aCoder { + [aCoder encodeObject:_DNA forKey:@"DNAKey"]; +} + +- (id)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self) { + _DNA = [aDecoder decodeObjectForKey:@"DNAKey"]; + dnaLenght = [_DNA count]; + hammingDistance = 0; + arrayATGC = [[NSArray alloc] initWithObjects:@"A", @"T", @"G", @"C",nil]; + } + return self; +} + +@end diff --git a/DNA-project-3/DNA-project-3/DNA-project-3-Info.plist b/DNA-project-3/DNA-project-3/DNA-project-3-Info.plist new file mode 100644 index 0000000..96f79d1 --- /dev/null +++ b/DNA-project-3/DNA-project-3/DNA-project-3-Info.plist @@ -0,0 +1,34 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + ShSergey.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSHumanReadableCopyright + Copyright © 2012 __MyCompanyName__. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/DNA-project-3/DNA-project-3/DNA-project-3-Prefix.pch b/DNA-project-3/DNA-project-3/DNA-project-3-Prefix.pch new file mode 100644 index 0000000..556930c --- /dev/null +++ b/DNA-project-3/DNA-project-3/DNA-project-3-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'DNA-project-3' target in the 'DNA-project-3' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/DNA-project-3/DNA-project-3/en.lproj/Credits.rtf b/DNA-project-3/DNA-project-3/en.lproj/Credits.rtf new file mode 100644 index 0000000..46576ef --- /dev/null +++ b/DNA-project-3/DNA-project-3/en.lproj/Credits.rtf @@ -0,0 +1,29 @@ +{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw9840\paperh8400 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf0 Engineering: +\b0 \ + Some people\ +\ + +\b Human Interface Design: +\b0 \ + Some other people\ +\ + +\b Testing: +\b0 \ + Hopefully not nobody\ +\ + +\b Documentation: +\b0 \ + Whoever\ +\ + +\b With special thanks to: +\b0 \ + Mom\ +} diff --git a/DNA-project-3/DNA-project-3/en.lproj/InfoPlist.strings b/DNA-project-3/DNA-project-3/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/DNA-project-3/DNA-project-3/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/DNA-project-3/DNA-project-3/en.lproj/Localizable.strings b/DNA-project-3/DNA-project-3/en.lproj/Localizable.strings new file mode 100644 index 0000000..7517032 --- /dev/null +++ b/DNA-project-3/DNA-project-3/en.lproj/Localizable.strings @@ -0,0 +1,14 @@ +/* + Localizable.strings + DNA-project-3 + + Created by Sergey on 05.01.13. + +*/ + +"MESSAGE1" = "The length of the goal DNA %lu and the population DNA %lu are not equal !"; +"MESSAGE2" = "Change the size of the DNA population or download another goal DNA"; +"MESSAGE3" = "The downloadable file exceeds maximum length of DNA = %lu !"; +"MESSAGE4" = "Select the file with the correct structure of DNA"; +"MESSAGE5" = "The downloadable file is invalid character = %@ !"; +"MESSAGE6" = "Select the file with the correct structure of DNA"; \ No newline at end of file diff --git a/DNA-project-3/DNA-project-3/en.lproj/MainMenu.xib b/DNA-project-3/DNA-project-3/en.lproj/MainMenu.xib new file mode 100644 index 0000000..7a8d272 --- /dev/null +++ b/DNA-project-3/DNA-project-3/en.lproj/MainMenu.xib @@ -0,0 +1,4429 @@ + + + + 1070 + 11G63 + 2844 + 1138.51 + 569.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + NSBox + NSButton + NSButtonCell + NSCustomObject + NSMenu + NSMenuItem + NSNumberFormatter + NSProgressIndicator + NSSlider + NSSliderCell + NSTextField + NSTextFieldCell + NSUserDefaultsController + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + + + DNA-project-3 + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + DNA-project-3 + + + + About DNA-project-3 + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide DNA-project-3 + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit DNA-project-3 + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save… + s + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste and Match Style + V + 1572864 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find and Replace… + f + 1572864 + 2147483647 + + + 12 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + + + Show Spelling and Grammar + : + 1048576 + 2147483647 + + + + + + Check Document Now + ; + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + Correct Spelling Automatically + + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + + + Show Substitutions + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Dashes + + 2147483647 + + + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + Text Replacement + + 2147483647 + + + + + + + + + Transformations + + 2147483647 + + + submenuAction: + + Transformations + + + + Make Upper Case + + 2147483647 + + + + + + Make Lower Case + + 2147483647 + + + + + + Capitalize + + 2147483647 + + + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + + + Font + + 2147483647 + + + submenuAction: + + Font + + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Writing Direction + + 2147483647 + + + submenuAction: + + Writing Direction + + + + YES + Paragraph + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + YES + Selection + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + + + DNA-project-3 Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 7 + 2 + {{335, 390}, {558, 428}} + 1954021376 + iDNA + NSWindow + + + + + 256 + + + + 268 + {{14, 12}, {132, 32}} + + + _NS:687 + YES + + 67239424 + 134217728 + Start evolution + + LucidaGrande + 13 + 1044 + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{146, 12}, {77, 32}} + + + _NS:687 + YES + + -1543373312 + 134217728 + Pause + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{410, 12}, {134, 32}} + + _NS:687 + YES + + 67239424 + 134217728 + Load goal DNA + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{220, 387}, {320, 21}} + + + _NS:779 + YES + + -2079981824 + 0 + + _NS:779 + + 10000 + 100 + 100 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + {{17, 389}, {101, 17}} + + + _NS:3944 + YES + + 68288064 + 272630784 + Population size + + _NS:3944 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{149, 386}, {62, 22}} + + + _NS:903 + YES + + -1804468671 + 4195328 + + + + + + + + + + + + -∞ + + + +∞ + + #,##0.### + #,##0.### + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + 100-10000 + _NS:903 + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + + 268 + {{17, 359}, {77, 17}} + + + _NS:3944 + YES + + 68288064 + 272630784 + DNA length + + _NS:3944 + + + + + + + + 268 + {{149, 356}, {62, 22}} + + + _NS:903 + YES + + -1804468671 + 272630784 + + + + + + + + + + -∞ + + + +∞ + + #,##0.### + #,##0.### + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + 50-100 + _NS:903 + + YES + + + + + + + 268 + {{220, 327}, {320, 21}} + + + _NS:779 + YES + + -2079981824 + 0 + + _NS:779 + + 100 + 1 + 1 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + {{17, 329}, {102, 17}} + + + _NS:3944 + YES + + 68288064 + 272630784 + Mutation rate % + + _NS:3944 + + + + + + + + 268 + {{149, 326}, {62, 22}} + + + _NS:903 + YES + + -1804468671 + 272630784 + + + + + + + + + + + -∞ + + + +∞ + + #,##0.### + #,##0.### + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + 1-100 + _NS:903 + + YES + + + + + + + 268 + {{207, 295}, {95, 21}} + + + _NS:3944 + YES + + 68288064 + 272630784 + Generation: + + LucidaGrande-Bold + 15 + 16 + + _NS:3944 + + YES + + + + + + + 9228 + + {{18, 232}, {522, 20}} + + + _NS:2352 + 16392 + 100 + + + + 12 + + + + 274 + + + + 268 + {{20, 14}, {482, 112}} + + + _NS:354 + {250, 750} + YES + + -2076049920 + 272629760 + + + _NS:354 + + YES + + + + + + + 268 + {{235, 134}, {65, 17}} + + + _NS:3944 + YES + + 68288064 + 272630784 + Goal DNA + + _NS:3944 + + + + + + + {{1, 1}, {523, 146}} + + + _NS:21 + + + {{17, 51}, {525, 167}} + + + _NS:18 + {0, 0} + + 67239424 + 0 + + + LucidaGrande + 14 + 16 + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 1 + NO + + + + 268 + {{304, 295}, {48, 21}} + + + _NS:3944 + YES + + 68288064 + 272630784 + 0 + + _NS:3944 + + YES + + + + + + + 268 + {{181, 270}, {155, 17}} + + + _NS:3944 + YES + + 68288064 + 272630784 + Best individual match - + + _NS:3944 + + + + + + + + 268 + {{325, 270}, {32, 17}} + + + _NS:3944 + YES + + 68288064 + 71304192 + 0 + + _NS:3944 + + + + + + + + 268 + {{220, 356}, {321, 21}} + + + _NS:779 + YES + + -2079981824 + 0 + + _NS:779 + + 300 + 50 + 50 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + {{353, 270}, {24, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + % + + _NS:1535 + + + + + + + {558, 428} + + + + {{0, 0}, {1680, 1028}} + {10000000000000, 10000000000000} + YES + + + AppDelegate + + + NSFontManager + + + YES + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + Revert to Saved + + 2147483647 + + + + + + + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 495 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + raiseBaseline: + + + + 426 + + + + lowerBaseline: + + + + 427 + + + + copyFont: + + + + 428 + + + + subscript: + + + + 429 + + + + superscript: + + + + 430 + + + + tightenKerning: + + + + 431 + + + + underline: + + + + 432 + + + + orderFrontColorPanel: + + + + 433 + + + + useAllLigatures: + + + + 434 + + + + loosenKerning: + + + + 435 + + + + pasteFont: + + + + 436 + + + + unscript: + + + + 437 + + + + useStandardKerning: + + + + 438 + + + + useStandardLigatures: + + + + 439 + + + + turnOffLigatures: + + + + 440 + + + + turnOffKerning: + + + + 441 + + + + toggleAutomaticSpellingCorrection: + + + + 456 + + + + orderFrontSubstitutionsPanel: + + + + 458 + + + + toggleAutomaticDashSubstitution: + + + + 461 + + + + toggleAutomaticTextReplacement: + + + + 463 + + + + uppercaseWord: + + + + 464 + + + + capitalizeWord: + + + + 467 + + + + lowercaseWord: + + + + 468 + + + + pasteAsPlainText: + + + + 486 + + + + performFindPanelAction: + + + + 487 + + + + performFindPanelAction: + + + + 488 + + + + performFindPanelAction: + + + + 489 + + + + showHelp: + + + + 493 + + + + alignCenter: + + + + 518 + + + + pasteRuler: + + + + 519 + + + + toggleRuler: + + + + 520 + + + + alignRight: + + + + 521 + + + + copyRuler: + + + + 522 + + + + alignJustified: + + + + 523 + + + + alignLeft: + + + + 524 + + + + makeBaseWritingDirectionNatural: + + + + 525 + + + + makeBaseWritingDirectionLeftToRight: + + + + 526 + + + + makeBaseWritingDirectionRightToLeft: + + + + 527 + + + + makeTextWritingDirectionNatural: + + + + 528 + + + + makeTextWritingDirectionLeftToRight: + + + + 529 + + + + makeTextWritingDirectionRightToLeft: + + + + 530 + + + + performFindPanelAction: + + + + 535 + + + + clearRecentDocuments: + + + + 127 + + + + revertDocumentToSaved: + + + + 364 + + + + delegate + + + + 706 + + + + addFontTrait: + + + + 421 + + + + addFontTrait: + + + + 422 + + + + modifyFont: + + + + 423 + + + + orderFrontFontPanel: + + + + 424 + + + + modifyFont: + + + + 425 + + + + window + + + + 532 + + + + goalDNATextField + + + + 671 + + + + pauseButton + + + + 672 + + + + pauseEvolution: + + + + 674 + + + + startButton + + + + 675 + + + + startEvolution: + + + + 677 + + + + loadGoalDNA: + + + + 678 + + + + loadButton + + + + 679 + + + + populationSizeTextField + + + + 681 + + + + dnaLengthTextField + + + + 682 + + + + mutationRateTextField + + + + 683 + + + + populationSizeSlider + + + + 684 + + + + dnaLengthSlider + + + + 685 + + + + mutationRateSlider + + + + 686 + + + + bestMatchTextField + + + + 689 + + + + generationTextField + + + + 690 + + + + progressIndicator + + + + 691 + + + + savePopulation: + + + + 711 + + + + loadPopulation: + + + + 715 + + + + value: self.populationSize + + + + + + value: self.populationSize + value + self.populationSize + 2 + + + 663 + + + + value: self.populationSize + + + + + + value: self.populationSize + value + self.populationSize + 2 + + + 654 + + + + value: self.dnaLength + + + + + + value: self.dnaLength + value + self.dnaLength + 2 + + + 657 + + + + value: self.mutationRate + + + + + + value: self.mutationRate + value + self.mutationRate + 2 + + + 670 + + + + value: self.mutationRate + + + + + + value: self.mutationRate + value + self.mutationRate + 2 + + + 660 + + + + value: self.bestHammingDistance + + + + + + value: self.bestHammingDistance + value + self.bestHammingDistance + 2 + + + 703 + + + + value: self.generation + + + + + + value: self.generation + value + self.generation + 2 + + + 697 + + + + value: self.bestHammingDistance + + + + + + value: self.bestHammingDistance + value + self.bestHammingDistance + 2 + + + 700 + + + + value: self.dnaLength + + + + + + value: self.dnaLength + value + self.dnaLength + 2 + + + 666 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + + + + + 19 + + + + + + + + 56 + + + + + + + + 217 + + + + + + + + 83 + + + + + + + + 81 + + + + + + + + + + + + + + + 75 + + + + + 78 + + + + + 72 + + + + + 82 + + + + + 77 + + + + + 73 + + + + + 79 + + + + + 74 + + + + + 205 + + + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + + + + + + 216 + + + + + + + + 200 + + + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 57 + + + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + + + + + + 296 + + + + + + + + + 297 + + + + + 298 + + + + + 211 + + + + + + + + 212 + + + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + + + + + + 349 + + + + + + + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + + + + + + 372 + + + + + + + + + + + + + + + + + + + + + + + + + + 375 + + + + + + + + 376 + + + + + + + + + 377 + + + + + + + + 388 + + + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + + + + + + 398 + + + + + + + + 399 + + + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 420 + + + + + 450 + + + + + + + + 451 + + + + + + + + + + 452 + + + + + 453 + + + + + 454 + + + + + 457 + + + + + 459 + + + + + 460 + + + + + 462 + + + + + 465 + + + + + 466 + + + + + 485 + + + + + 490 + + + + + + + + 491 + + + + + + + + 492 + + + + + 494 + + + + + 496 + + + + + + + + 497 + + + + + + + + + + + + + + + + + 498 + + + + + 499 + + + + + 500 + + + + + 501 + + + + + 502 + + + + + 503 + + + + + + + + 504 + + + + + 505 + + + + + 506 + + + + + 507 + + + + + 508 + + + + + + + + + + + + + + + + 509 + + + + + 510 + + + + + 511 + + + + + 512 + + + + + 513 + + + + + 514 + + + + + 515 + + + + + 516 + + + + + 517 + + + + + 534 + + + + + 536 + + + + + + + + 537 + + + + + 538 + + + + + + + + 539 + + + + + 540 + + + + + + + + 541 + + + + + 542 + + + + + + + + 543 + + + + + 544 + + + + + + + + 545 + + + + + 546 + + + + + + + + 547 + + + + + + + + 549 + + + + + + + + 550 + + + + + + + + 551 + + + + + + + + 552 + + + + + 554 + + + + + + + + 555 + + + + + + + + 556 + + + + + + + + 557 + + + + + + + + 558 + + + + + 559 + + + + + 566 + + + + + + + + 567 + + + + + 570 + + + + + 586 + + + + + + + + + 580 + + + + + + + + 581 + + + + + 587 + + + + + + + + 588 + + + + + 589 + + + + + + + + 590 + + + + + 591 + + + + + + + + 592 + + + + + 593 + + + + + + + + 594 + + + + + 595 + + + + + 596 + + + + + 597 + + + + + 598 + + + + + 650 + + + + + + + + 651 + + + + + 704 + + + + + + + + 705 + + + + + 124 + + + + + + + + 125 + + + + + + + + 126 + + + + + 112 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{380, 496}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 715 + + + 0 + IBCocoaFramework + YES + 3 + + {11, 11} + {10, 3} + + + diff --git a/DNA-project-3/DNA-project-3/main.m b/DNA-project-3/DNA-project-3/main.m new file mode 100644 index 0000000..8bbebd9 --- /dev/null +++ b/DNA-project-3/DNA-project-3/main.m @@ -0,0 +1,14 @@ +// +// main.m +// DNA-project-3 +// +// Created by Sergey on 22.12.12. +// Copyright (c) 2012 __MyCompanyName__. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **)argv); +} diff --git a/DNA-project-3/DNA-project-3/ru.lproj/Credits.rtf b/DNA-project-3/DNA-project-3/ru.lproj/Credits.rtf new file mode 100644 index 0000000..46576ef --- /dev/null +++ b/DNA-project-3/DNA-project-3/ru.lproj/Credits.rtf @@ -0,0 +1,29 @@ +{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw9840\paperh8400 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf0 Engineering: +\b0 \ + Some people\ +\ + +\b Human Interface Design: +\b0 \ + Some other people\ +\ + +\b Testing: +\b0 \ + Hopefully not nobody\ +\ + +\b Documentation: +\b0 \ + Whoever\ +\ + +\b With special thanks to: +\b0 \ + Mom\ +} diff --git a/DNA-project-3/DNA-project-3/ru.lproj/InfoPlist.strings b/DNA-project-3/DNA-project-3/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/DNA-project-3/DNA-project-3/ru.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/DNA-project-3/DNA-project-3/ru.lproj/Localizable.strings b/DNA-project-3/DNA-project-3/ru.lproj/Localizable.strings new file mode 100644 index 0000000..386b9c6 --- /dev/null +++ b/DNA-project-3/DNA-project-3/ru.lproj/Localizable.strings @@ -0,0 +1,14 @@ +/* + Localizable.strings + DNA-project-3 + + Created by Sergey on 05.01.13. + +*/ + +"MESSAGE1" = "Длина целевой ДНК %lu и ДНК популяциии %lu не равны !"; +"MESSAGE2" = "Измените размер ДНК популяции или загрузите другой целевую ДНК"; +"MESSAGE3" = "Загружаемый файл превышает максимальную длину ДНК =%lu !"; +"MESSAGE4" = "Выберите файл с правильной структурой ДНК"; +"MESSAGE5" = "В загружаемом файле есть недопустимый символ =%@ !"; +"MESSAGE6" = "Выберите файл с правильной структурой ДНК"; diff --git a/DNA-project-3/DNA-project-3/ru.lproj/MainMenu.xib b/DNA-project-3/DNA-project-3/ru.lproj/MainMenu.xib new file mode 100644 index 0000000..d0cbde4 --- /dev/null +++ b/DNA-project-3/DNA-project-3/ru.lproj/MainMenu.xib @@ -0,0 +1,4566 @@ + + + + 1070 + 11G63 + 2844 + 1138.51 + 569.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + NSBox + NSButton + NSButtonCell + NSCustomObject + NSMenu + NSMenuItem + NSNumberFormatter + NSProgressIndicator + NSSlider + NSSliderCell + NSTextField + NSTextFieldCell + NSUserDefaultsController + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + + + DNA-project-3 + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + DNA-project-3 + + + + About DNA-project-3 + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide DNA-project-3 + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit DNA-project-3 + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save… + s + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste and Match Style + V + 1572864 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find and Replace… + f + 1572864 + 2147483647 + + + 12 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + + + Show Spelling and Grammar + : + 1048576 + 2147483647 + + + + + + Check Document Now + ; + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + Correct Spelling Automatically + + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + + + Show Substitutions + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Dashes + + 2147483647 + + + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + Text Replacement + + 2147483647 + + + + + + + + + Transformations + + 2147483647 + + + submenuAction: + + Transformations + + + + Make Upper Case + + 2147483647 + + + + + + Make Lower Case + + 2147483647 + + + + + + Capitalize + + 2147483647 + + + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + + + Font + + 2147483647 + + + submenuAction: + + Font + + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Writing Direction + + 2147483647 + + + submenuAction: + + Writing Direction + + + + YES + Paragraph + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + YES + Selection + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + + + DNA-project-3 Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 7 + 2 + {{335, 390}, {558, 428}} + 1954021376 + iDNA + NSWindow + + + + + 256 + + + + 268 + {{7, 12}, {146, 32}} + + + + _NS:687 + YES + + 67239424 + 134217728 + Старт эволюции + + LucidaGrande + 13 + 1044 + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{146, 12}, {77, 32}} + + + + _NS:687 + YES + + -1543373312 + 134217728 + Пауза + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{351, 12}, {194, 32}} + + + _NS:687 + YES + + 67239424 + 134217728 + Загрузить целевую ДНК + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{220, 387}, {320, 21}} + + + + _NS:779 + YES + + -2079981824 + 0 + + _NS:779 + + 10000 + 100 + 100 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + {{17, 389}, {125, 17}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Размер популяции + + _NS:3944 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{150, 386}, {62, 22}} + + + + _NS:903 + YES + + -1804468671 + 4195328 + + + + + + + + + + + + -∞ + + + +∞ + + #,##0.### + #,##0.### + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + 100-10000 + _NS:903 + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + + 268 + {{17, 359}, {77, 17}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Длина ДНК + + _NS:3944 + + + + + + + + 268 + {{150, 356}, {62, 22}} + + + + _NS:903 + YES + + -1804468671 + 272630784 + + + + + + + + + + -∞ + + + +∞ + + #,##0.### + #,##0.### + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + 50-100 + _NS:903 + + YES + + + + + + + 268 + {{220, 327}, {320, 21}} + + + + _NS:779 + YES + + -2079981824 + 0 + + _NS:779 + + 100 + 1 + 1 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + {{17, 329}, {126, 17}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Частота мутации % + + _NS:3944 + + + + + + + + 268 + {{150, 326}, {62, 22}} + + + + _NS:903 + YES + + -1804468671 + 272630784 + + + + + + + + + + + -∞ + + + +∞ + + #,##0.### + #,##0.### + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + 1-100 + _NS:903 + + YES + + + + + + + 268 + {{207, 295}, {95, 21}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Поколение: + + LucidaGrande-Bold + 15 + 16 + + _NS:3944 + + YES + + + + + + + 9228 + + {{18, 232}, {522, 20}} + + + + _NS:2352 + 16392 + 100 + + + + 12 + + + + 274 + + + + 268 + {{20, 14}, {482, 112}} + + + + _NS:354 + {250, 750} + YES + + -2076049920 + 272629760 + + + _NS:354 + + YES + + + + + + + 268 + {{217, 134}, {89, 17}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Целевая ДНК + + _NS:3944 + + + + + + + {{1, 1}, {523, 146}} + + + + _NS:21 + + + {{17, 51}, {525, 167}} + + + + _NS:18 + {0, 0} + + 67239424 + 0 + + + LucidaGrande + 14 + 16 + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 1 + NO + + + + 268 + {{304, 295}, {48, 21}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + 0 + + _NS:3944 + + YES + + + + + + + 268 + {{181, 270}, {149, 17}} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Лучшее совпадение - + + _NS:3944 + + + + + + + + 268 + {{325, 270}, {32, 17}} + + + + _NS:3944 + YES + + 68288064 + 71304192 + 0 + + _NS:3944 + + + + + + + + 268 + {{220, 356}, {321, 21}} + + + + _NS:779 + YES + + -2079981824 + 0 + + _NS:779 + + 300 + 50 + 50 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + {{353, 270}, {24, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + % + + _NS:1535 + + + + + + + {558, 428} + + + + + {{0, 0}, {1680, 1028}} + {10000000000000, 10000000000000} + YES + + + AppDelegate + + + NSFontManager + + + YES + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + Revert to Saved + + 2147483647 + + + + + + + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 495 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + raiseBaseline: + + + + 426 + + + + lowerBaseline: + + + + 427 + + + + copyFont: + + + + 428 + + + + subscript: + + + + 429 + + + + superscript: + + + + 430 + + + + tightenKerning: + + + + 431 + + + + underline: + + + + 432 + + + + orderFrontColorPanel: + + + + 433 + + + + useAllLigatures: + + + + 434 + + + + loosenKerning: + + + + 435 + + + + pasteFont: + + + + 436 + + + + unscript: + + + + 437 + + + + useStandardKerning: + + + + 438 + + + + useStandardLigatures: + + + + 439 + + + + turnOffLigatures: + + + + 440 + + + + turnOffKerning: + + + + 441 + + + + toggleAutomaticSpellingCorrection: + + + + 456 + + + + orderFrontSubstitutionsPanel: + + + + 458 + + + + toggleAutomaticDashSubstitution: + + + + 461 + + + + toggleAutomaticTextReplacement: + + + + 463 + + + + uppercaseWord: + + + + 464 + + + + capitalizeWord: + + + + 467 + + + + lowercaseWord: + + + + 468 + + + + pasteAsPlainText: + + + + 486 + + + + performFindPanelAction: + + + + 487 + + + + performFindPanelAction: + + + + 488 + + + + performFindPanelAction: + + + + 489 + + + + showHelp: + + + + 493 + + + + alignCenter: + + + + 518 + + + + pasteRuler: + + + + 519 + + + + toggleRuler: + + + + 520 + + + + alignRight: + + + + 521 + + + + copyRuler: + + + + 522 + + + + alignJustified: + + + + 523 + + + + alignLeft: + + + + 524 + + + + makeBaseWritingDirectionNatural: + + + + 525 + + + + makeBaseWritingDirectionLeftToRight: + + + + 526 + + + + makeBaseWritingDirectionRightToLeft: + + + + 527 + + + + makeTextWritingDirectionNatural: + + + + 528 + + + + makeTextWritingDirectionLeftToRight: + + + + 529 + + + + makeTextWritingDirectionRightToLeft: + + + + 530 + + + + performFindPanelAction: + + + + 535 + + + + clearRecentDocuments: + + + + 127 + + + + revertDocumentToSaved: + + + + 364 + + + + delegate + + + + 706 + + + + addFontTrait: + + + + 421 + + + + addFontTrait: + + + + 422 + + + + modifyFont: + + + + 423 + + + + orderFrontFontPanel: + + + + 424 + + + + modifyFont: + + + + 425 + + + + window + + + + 532 + + + + goalDNATextField + + + + 671 + + + + pauseButton + + + + 672 + + + + pauseEvolution: + + + + 674 + + + + startButton + + + + 675 + + + + startEvolution: + + + + 677 + + + + loadGoalDNA: + + + + 678 + + + + loadButton + + + + 679 + + + + populationSizeTextField + + + + 681 + + + + dnaLengthTextField + + + + 682 + + + + mutationRateTextField + + + + 683 + + + + populationSizeSlider + + + + 684 + + + + dnaLengthSlider + + + + 685 + + + + mutationRateSlider + + + + 686 + + + + bestMatchTextField + + + + 689 + + + + generationTextField + + + + 690 + + + + progressIndicator + + + + 691 + + + + savePopulation: + + + + 711 + + + + loadPopulation: + + + + 715 + + + + value: self.populationSize + + + + + + value: self.populationSize + value + self.populationSize + 2 + + + 663 + + + + value: self.populationSize + + + + + + value: self.populationSize + value + self.populationSize + 2 + + + 654 + + + + value: self.dnaLength + + + + + + value: self.dnaLength + value + self.dnaLength + 2 + + + 657 + + + + value: self.mutationRate + + + + + + value: self.mutationRate + value + self.mutationRate + 2 + + + 670 + + + + value: self.mutationRate + + + + + + value: self.mutationRate + value + self.mutationRate + 2 + + + 660 + + + + value: self.bestHammingDistance + + + + + + value: self.bestHammingDistance + value + self.bestHammingDistance + 2 + + + 703 + + + + value: self.generation + + + + + + value: self.generation + value + self.generation + 2 + + + 697 + + + + value: self.bestHammingDistance + + + + + + value: self.bestHammingDistance + value + self.bestHammingDistance + 2 + + + 700 + + + + value: self.dnaLength + + + + + + value: self.dnaLength + value + self.dnaLength + 2 + + + 666 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + + + + + 19 + + + + + + + + 56 + + + + + + + + 217 + + + + + + + + 83 + + + + + + + + 81 + + + + + + + + + + + + + + + 75 + + + + + 78 + + + + + 72 + + + + + 82 + + + + + 77 + + + + + 73 + + + + + 79 + + + + + 74 + + + + + 205 + + + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + + + + + + 216 + + + + + + + + 200 + + + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 57 + + + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + + + + + + 296 + + + + + + + + + 297 + + + + + 298 + + + + + 211 + + + + + + + + 212 + + + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + + + + + + 349 + + + + + + + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + + + + + + 372 + + + + + + + + + + + + + + + + + + + + + + + + + + 375 + + + + + + + + 376 + + + + + + + + + 377 + + + + + + + + 388 + + + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + + + + + + 398 + + + + + + + + 399 + + + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 420 + + + + + 450 + + + + + + + + 451 + + + + + + + + + + 452 + + + + + 453 + + + + + 454 + + + + + 457 + + + + + 459 + + + + + 460 + + + + + 462 + + + + + 465 + + + + + 466 + + + + + 485 + + + + + 490 + + + + + + + + 491 + + + + + + + + 492 + + + + + 494 + + + + + 496 + + + + + + + + 497 + + + + + + + + + + + + + + + + + 498 + + + + + 499 + + + + + 500 + + + + + 501 + + + + + 502 + + + + + 503 + + + + + + + + 504 + + + + + 505 + + + + + 506 + + + + + 507 + + + + + 508 + + + + + + + + + + + + + + + + 509 + + + + + 510 + + + + + 511 + + + + + 512 + + + + + 513 + + + + + 514 + + + + + 515 + + + + + 516 + + + + + 517 + + + + + 534 + + + + + 536 + + + + + + + + 537 + + + + + 538 + + + + + + + + 539 + + + + + 540 + + + + + + + + 541 + + + + + 542 + + + + + + + + 543 + + + + + 544 + + + + + + + + 545 + + + + + 546 + + + + + + + + 547 + + + + + + + + 549 + + + + + + + + 550 + + + + + + + + 551 + + + + + + + + 552 + + + + + 554 + + + + + + + + 555 + + + + + + + + 556 + + + + + + + + 557 + + + + + + + + 558 + + + + + 559 + + + + + 566 + + + + + + + + 567 + + + + + 570 + + + + + 586 + + + + + + + + + 580 + + + + + + + + 581 + + + + + 587 + + + + + + + + 588 + + + + + 589 + + + + + + + + 590 + + + + + 591 + + + + + + + + 592 + + + + + 593 + + + + + + + + 594 + + + + + 595 + + + + + 596 + + + + + 597 + + + + + 598 + + + + + 650 + + + + + + + + 651 + + + + + 704 + + + + + + + + 705 + + + + + 124 + + + + + + + + 125 + + + + + + + + 126 + + + + + 112 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{380, 496}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 715 + + + + + AppDelegate + NSObject + + id + id + id + id + id + + + + loadGoalDNA: + id + + + loadPopulation: + id + + + pauseEvolution: + id + + + savePopulation: + id + + + startEvolution: + id + + + + NSTextField + NSSlider + NSTextField + NSTextField + NSTextField + NSButton + NSSlider + NSTextField + NSButton + NSSlider + NSTextField + NSProgressIndicator + NSButton + NSWindow + + + + bestMatchTextField + NSTextField + + + dnaLengthSlider + NSSlider + + + dnaLengthTextField + NSTextField + + + generationTextField + NSTextField + + + goalDNATextField + NSTextField + + + loadButton + NSButton + + + mutationRateSlider + NSSlider + + + mutationRateTextField + NSTextField + + + pauseButton + NSButton + + + populationSizeSlider + NSSlider + + + populationSizeTextField + NSTextField + + + progressIndicator + NSProgressIndicator + + + startButton + NSButton + + + window + NSWindow + + + + IBProjectSource + ./Classes/AppDelegate.h + + + + + 0 + IBCocoaFramework + YES + 3 + + {11, 11} + {10, 3} + + +