From 51a8975f0aba5ec87f4d04923015d9af6727e96e Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sun, 27 Mar 2011 22:14:43 -0400 Subject: [PATCH 01/78] Implement support for user defined runtime attributes in nib2cib --- AppKit/AppKit.j | 1 + AppKit/Cib/CPCibRuntimeAttributesConnector.j | 64 ++ AppKit/Cib/_CPCibObjectData.j | 23 +- .../RuntimeAttributesTest/AppController.j | 43 ++ Tests/Manual/RuntimeAttributesTest/Info.plist | 10 + Tests/Manual/RuntimeAttributesTest/Jakefile | 94 +++ .../Resources/MainMenu.cib | 2 + .../Resources/MainMenu.xib | 598 ++++++++++++++++++ .../Resources/spinner.gif | Bin 0 -> 1849 bytes .../RuntimeAttributesTest/index-debug.html | 103 +++ Tests/Manual/RuntimeAttributesTest/index.html | 77 +++ Tests/Manual/RuntimeAttributesTest/main.j | 18 + Tools/nib2cib/NSFoundation.j | 1 + Tools/nib2cib/NSNibConnector.j | 33 + Tools/nib2cib/NSNull.j | 37 ++ 15 files changed, 1102 insertions(+), 2 deletions(-) create mode 100644 AppKit/Cib/CPCibRuntimeAttributesConnector.j create mode 100644 Tests/Manual/RuntimeAttributesTest/AppController.j create mode 100644 Tests/Manual/RuntimeAttributesTest/Info.plist create mode 100644 Tests/Manual/RuntimeAttributesTest/Jakefile create mode 100644 Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.cib create mode 100644 Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib create mode 100644 Tests/Manual/RuntimeAttributesTest/Resources/spinner.gif create mode 100644 Tests/Manual/RuntimeAttributesTest/index-debug.html create mode 100644 Tests/Manual/RuntimeAttributesTest/index.html create mode 100644 Tests/Manual/RuntimeAttributesTest/main.j create mode 100644 Tools/nib2cib/NSNull.j diff --git a/AppKit/AppKit.j b/AppKit/AppKit.j index e8feb4dd0..182c0a996 100644 --- a/AppKit/AppKit.j +++ b/AppKit/AppKit.j @@ -37,6 +37,7 @@ @import "CPCibControlConnector.j" @import "CPCibLoading.j" @import "CPCibOutletConnector.j" +@import "CPCibRuntimeAttributesConnector.j" @import "CPClipView.j" @import "CPCollectionView.j" @import "CPCollectionViewItem.j" diff --git a/AppKit/Cib/CPCibRuntimeAttributesConnector.j b/AppKit/Cib/CPCibRuntimeAttributesConnector.j new file mode 100644 index 000000000..b6a71d64c --- /dev/null +++ b/AppKit/Cib/CPCibRuntimeAttributesConnector.j @@ -0,0 +1,64 @@ +/* + * CPCibRuntimeAttributesConnector.j + * AppKit + * + * Created by Aparajita Fishman. + * Copyright 2011, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPCibConnector.j" + +var CPCibRuntimeAttributesConnectorObjectKey = @"CPCibRuntimeAttributesConnectorObjectKey", + CPCibRuntimeAttributesConnectorKeyPathsKey = @"CPCibRuntimeAttributesConnectorKeyPathsKey", + CPCibRuntimeAttributesConnectorValuesKey = @"CPCibRuntimeAttributesConnectorValuesKey"; + +@implementation CPCibRuntimeAttributesConnector : CPCibConnector +{ + id _keyPaths; + id _values; +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + if (self = [super initWithCoder:aCoder]) + { + _source = [aCoder decodeObjectForKey:CPCibRuntimeAttributesConnectorObjectKey]; + _keyPaths = [aCoder decodeObjectForKey:CPCibRuntimeAttributesConnectorKeyPathsKey]; + _values = [aCoder decodeObjectForKey:CPCibRuntimeAttributesConnectorValuesKey]; + } + + return self; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [super encodeWithCoder:aCoder]; + + [aCoder encodeObject:_source forKey:CPCibRuntimeAttributesConnectorObjectKey]; + [aCoder encodeObject:_keyPaths forKey:CPCibRuntimeAttributesConnectorKeyPathsKey]; + [aCoder encodeObject:_values forKey:CPCibRuntimeAttributesConnectorValuesKey]; +} + +- (void)establishConnection +{ + var count = [_keyPaths count]; + + while (count--) + [_source setValue:_values[count] forKeyPath:_keyPaths[count]]; +} + +@end diff --git a/AppKit/Cib/_CPCibObjectData.j b/AppKit/Cib/_CPCibObjectData.j index 22e511592..72288e919 100644 --- a/AppKit/Cib/_CPCibObjectData.j +++ b/AppKit/Cib/_CPCibObjectData.j @@ -29,6 +29,7 @@ @import "CPCibControlConnector.j" @import "CPCibOutletConnector.j" @import "CPCibBindingConnector.j" +@import "CPCibRuntimeAttributesConnector.j" @implementation _CPCibObjectData : CPObject @@ -257,11 +258,29 @@ var _CPCibObjectDataNamesKeysKey = @"_CPCibObjectDataNamesKeysKey _replacementObjects[[_fileOwner UID]] = anOwner; var index = 0, - count = _connections.length; + count = _connections.length, + runtimeAttributeConnectors = [], + connection = nil; for (; index < count; ++index) { - var connection = _connections[index]; + connection = _connections[index]; + + if ([connection isKindOfClass:[CPCibRuntimeAttributesConnector class]]) + // Defer runtime attribute connections until after all other connections are made + runtimeAttributeConnectors.push(connection); + else + { + [connection replaceObjects:_replacementObjects]; + [connection establishConnection]; + } + } + + count = runtimeAttributeConnectors.length; + + for (index = 0; index < count; ++index) + { + connection = runtimeAttributeConnectors[index]; [connection replaceObjects:_replacementObjects]; [connection establishConnection]; diff --git a/Tests/Manual/RuntimeAttributesTest/AppController.j b/Tests/Manual/RuntimeAttributesTest/AppController.j new file mode 100644 index 000000000..8b4996762 --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/AppController.j @@ -0,0 +1,43 @@ +/* + * AppController.j + * RuntimeAttributesTest + * + * Created by aparajita on March 26, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import + + +@implementation AppController : CPObject +{ + CPWindow theWindow; //this "outlet" is connected automatically by the Cib + CPView firstResponder; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. +} + +- (void)awakeFromCib +{ + // This is called when the cib is done loading. + // You can implement this method on any object instantiated from a Cib. + // It's a useful hook for setting up current UI values, and other things. + + // In this case, we want the window from Cib to become our full browser window + //[theWindow setFullPlatformWindow:YES]; +} + +- (void)setInitialResponder:(CPInteger)tag +{ + [theWindow setInitialFirstResponder:[[theWindow contentView] viewWithTag:tag]]; +} + +- (void)setValue:(id)value forUndefinedKey:(CPString)key +{ + console.log("setValue:" + value + " forKey:" + key); +} + +@end diff --git a/Tests/Manual/RuntimeAttributesTest/Info.plist b/Tests/Manual/RuntimeAttributesTest/Info.plist new file mode 100644 index 000000000..1857a66d9 --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + test + + diff --git a/Tests/Manual/RuntimeAttributesTest/Jakefile b/Tests/Manual/RuntimeAttributesTest/Jakefile new file mode 100644 index 000000000..68f1674da --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * test + * + * Created by aparajita on March 26, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("test", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "test.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("test"); + task.setIdentifier("com.aparajitaworld.test"); + task.setVersion("1.0"); + task.setAuthor("Victory-Heart Productions"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("test"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["test"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "test", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "test", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "test")); + OS.system(["press", "-f", FILE.join("Build", "Release", "test"), FILE.join("Build", "Deployment", "test")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "test")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "test"), FILE.join("Build", "Desktop", "test", "test.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "test", "test.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "test")); + print("----------------------------"); +} diff --git a/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.cib b/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.cib new file mode 100644 index 000000000..6e4cb2429 --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.cib @@ -0,0 +1,2 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;21E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;66E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;68E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;70E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;77E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;81E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;83E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;84E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;87E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;82E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;75E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;69E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;76E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;92E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;75E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;93E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;94E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;95E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;96E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;97E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;32E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;87E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;87E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;82E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;104E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;105E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;87E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;106E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;75E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;69E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;76E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;90E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;75E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;110E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;111E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;87E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;87E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;75E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;11;$aalignmentD;K;6;CP$UIDd;2;76E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;77E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;81E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;76E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;1;0S;1;1S;1;2S;1;5S;1;3S;1;4S;1;6S;1;7S;12;File's OwnerS;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;15S;2;14S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21D;K;10;$classnameS;31;CPCibRuntimeAttributesConnectorK;8;$classesA;S;31;CPCibRuntimeAttributesConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;19E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;19E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;114E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;30E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;116E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;24E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;24E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;118E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;119E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;19E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;19E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;S;8;CPObjectD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;13;AppControllerd;1;1S;22;{{34, 189}, {125, 29}}S;19;{{0, 0}, {125, 29}}d;2;36S;9;textfieldS;19;bezeled+placeholderd;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;122E;E;d;1;0S;21;{{34, 20}, {389, 45}}S;19;{{0, 0}, {389, 45}}S;6;normalS;104;See the User Defined Runtime Attributes for each view below and for the AppController to see the effect.F;S;22;{{37, 138}, {118, 24}}S;19;{{0, 0}, {118, 24}}S;6;buttonS;17;selected+borderedS;8;disabledS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{162, 112}, {548, 314}}d;2;15S;22;RuntimeAttributes TestS;23;{{179, 103}, {166, 17}}S;19;{{0, 0}, {166, 17}}S;27;This button's title was setS;23;{{179, 241}, {352, 51}}S;19;{{0, 0}, {352, 51}}S;88;This was set to be first responder by the +AppController -setInitialFirstResponder methodS;23;{{179, 141}, {166, 17}}S;24;This button was disabledS;21;{{37, 99}, {118, 24}}S;20;{{0, 0}, {548, 314}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;28E;E;E;S;13;CPApplicationS;23;{{179, 196}, {255, 17}}S;19;{{0, 0}, {255, 17}}S;40;This ordinarily would be first responderS;22;{{34, 235}, {125, 29}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;75E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;126E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;87E;E;E;S;8;delegateS;9;theWindowD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;69E;E;E;S;16;initialResponderS;6;hiddenS;5;titleS;6;Hello!S;7;enabledE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib b/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib new file mode 100644 index 000000000..6b666688b --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib @@ -0,0 +1,598 @@ + + + + 1060 + 10J869 + 804 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 804 + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + NSObject + + + FirstResponder + + + NSApplication + + + AppController + + + 15 + 2 + {{162, 992}, {548, 314}} + 611844096 + RuntimeAttributes Test + NSWindow + + {1.79769e+308, 1.79769e+308} + + + 256 + + + + 268 + {{37, 187}, {118, 25}} + + YES + + -2080244224 + 134217728 + button + + LucidaGrande + 13 + 1044 + + + -2038152961 + 163 + + + 400 + 75 + + + + + 268 + {{37, 148}, {118, 25}} + + YES + + -2080244224 + 134217728 + disabled + + + -2038152961 + 163 + + + 400 + 75 + + + + + 268 + {{37, 99}, {118, 22}} + + 1 + YES + + -1804468671 + 272630784 + + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 268 + {{37, 53}, {118, 22}} + + 2 + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 268 + {{179, 194}, {166, 17}} + + YES + + 68288064 + 272630784 + This button's title was set + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + + + + 268 + {{34, 249}, {389, 45}} + + YES + + 67239424 + 272629760 + See the User Defined Runtime Attributes for each view below and for the AppController to see the effect. + + + + + + + + + 268 + {{179, 156}, {166, 17}} + + YES + + 68288064 + 272630784 + This button was disabled + + + + + + + + + 268 + {{179, 101}, {255, 17}} + + YES + + 68288064 + 272630784 + This ordinarily would be first responder + + + + + + + + + 268 + {{179, 22}, {352, 51}} + + YES + + 67239424 + 272629760 + VGhpcyB3YXMgc2V0IHRvIGJlIGZpcnN0IHJlc3BvbmRlciBieSB0aGUKQXBwQ29udHJvbGxlciAtc2V0 +SW5pdGlhbEZpcnN0UmVzcG9uZGVyIG1ldGhvZA + + + + + + + + {548, 314} + + + {{0, 0}, {2560, 1418}} + {1.79769e+308, 1.79769e+308} + + + + + + + delegate + + + + 10 + + + + theWindow + + + + 25 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 9 + + + App Controller + + + 23 + + + + + + + + 24 + + + + + + + + + + + + + + + + 26 + + + + + + + + 27 + + + + + 32 + + + + + + + + 33 + + + + + 34 + + + + + + + + 35 + + + + + 36 + + + + + + + + 37 + + + + + 39 + + + + + + + + 40 + + + + + 41 + + + + + + + + 42 + + + + + 43 + + + + + + + + 44 + + + + + 45 + + + + + + + + 46 + + + + + 47 + + + + + + + + 48 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{719, 660}, {548, 314}} + com.apple.InterfaceBuilder.CocoaPlugin + {{719, 660}, {548, 314}} + + com.apple.InterfaceBuilder.CocoaPlugin + + IBUserDefinedRuntimeAttributesPlaceholderName + + IBUserDefinedRuntimeAttributesPlaceholderName + + + + com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.boolean + hidden + + + + com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.string + title + Hello! + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCDAAAw3IAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCFAAAwsgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCDAAAwtIAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + IBUserDefinedRuntimeAttributesPlaceholderName + + IBUserDefinedRuntimeAttributesPlaceholderName + + + + com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.boolean + enabled + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCDAAAw0sAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMwAAwzwAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMQAAw0oAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMQAAwxQAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMQAAws4AAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCCAAAw5MAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + IBUserDefinedRuntimeAttributesPlaceholderName + + IBUserDefinedRuntimeAttributesPlaceholderName + + + + com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.number + initialResponder + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 48 + + + + + AppController + NSObject + + theWindow + id + + + theWindow + + theWindow + id + + + + IBUserSource + + + + + NSObject + + delegate + id + + + delegate + + delegate + id + + + + IBUserSource + + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + + 3 + + diff --git a/Tests/Manual/RuntimeAttributesTest/Resources/spinner.gif b/Tests/Manual/RuntimeAttributesTest/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/RuntimeAttributesTest/index-debug.html b/Tests/Manual/RuntimeAttributesTest/index-debug.html new file mode 100644 index 000000000..4a301abeb --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + RuntimeAttributesTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/RuntimeAttributesTest/index.html b/Tests/Manual/RuntimeAttributesTest/index.html new file mode 100644 index 000000000..2c49b5954 --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + RuntimeAttributesTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/RuntimeAttributesTest/main.j b/Tests/Manual/RuntimeAttributesTest/main.j new file mode 100644 index 000000000..00aef0641 --- /dev/null +++ b/Tests/Manual/RuntimeAttributesTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * test + * + * Created by aparajita on March 26, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tools/nib2cib/NSFoundation.j b/Tools/nib2cib/NSFoundation.j index d49818b1a..1edcfce82 100644 --- a/Tools/nib2cib/NSFoundation.j +++ b/Tools/nib2cib/NSFoundation.j @@ -23,4 +23,5 @@ @import "NSArray.j" @import "NSDictionary.j" @import "NSMutableString.j" +@import "NSNull.j" @import "NSSet.j" diff --git a/Tools/nib2cib/NSNibConnector.j b/Tools/nib2cib/NSNibConnector.j index 67aca8c7f..4a3162021 100644 --- a/Tools/nib2cib/NSNibConnector.j +++ b/Tools/nib2cib/NSNibConnector.j @@ -23,6 +23,7 @@ @import @import @import +@import NIB_CONNECTION_EQUIVALENCY_TABLE = {}; @@ -167,3 +168,35 @@ var NSTramsformers = [CPSet setWithObjects: } @end + +@implementation CPCibRuntimeAttributesConnector (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [super NS_initWithCoder:aCoder]; + + if (self) + { + _source = [aCoder decodeObjectForKey:@"NSObject"]; + _keyPaths = [aCoder decodeObjectForKey:@"NSKeyPaths"]; + _values = [aCoder decodeObjectForKey:@"NSValues"]; + } + + return self; +} + +@end + +@implementation NSIBUserDefinedRuntimeAttributesConnector : CPCibRuntimeAttributesConnector + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPCibRuntimeAttributesConnector class]; +} + +@end diff --git a/Tools/nib2cib/NSNull.j b/Tools/nib2cib/NSNull.j new file mode 100644 index 000000000..a1af4df00 --- /dev/null +++ b/Tools/nib2cib/NSNull.j @@ -0,0 +1,37 @@ +/* + * NSNull.j + * nib2cib + * + * Created by Aparajita Fishman. + * Copyright 2011, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation NSNull : CPNull + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [CPNull null]; +} + +- (Class)classForKeyedArchiver +{ + return [CPNull class]; +} + +@end From c0f5ed1f8789b62536dde68e23eb2f59928948d2 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 28 Mar 2011 07:50:15 -0400 Subject: [PATCH 02/78] Fixed the copyright --- Tests/Manual/RuntimeAttributesTest/AppController.j | 4 ++-- Tests/Manual/RuntimeAttributesTest/Info.plist | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/Manual/RuntimeAttributesTest/AppController.j b/Tests/Manual/RuntimeAttributesTest/AppController.j index 8b4996762..0561523da 100644 --- a/Tests/Manual/RuntimeAttributesTest/AppController.j +++ b/Tests/Manual/RuntimeAttributesTest/AppController.j @@ -2,8 +2,8 @@ * AppController.j * RuntimeAttributesTest * - * Created by aparajita on March 26, 2011. - * Copyright 2011, Victory-Heart Productions All rights reserved. + * Created by Aparajita Fishman on March 26, 2011. + * Copyright 2009, 280 North, Inc. All rights reserved. */ @import diff --git a/Tests/Manual/RuntimeAttributesTest/Info.plist b/Tests/Manual/RuntimeAttributesTest/Info.plist index 1857a66d9..e9e570865 100644 --- a/Tests/Manual/RuntimeAttributesTest/Info.plist +++ b/Tests/Manual/RuntimeAttributesTest/Info.plist @@ -5,6 +5,6 @@ Main cib file base name MainMenu.cib CPBundleName - test + RuntimeAttributesTest From e80cbc89b23725eb28cb94bbbb3ec0ab01176df8 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 28 Mar 2011 19:24:13 -0400 Subject: [PATCH 03/78] Added debug logging, some more samples in AppController --- .../RuntimeAttributesTest/Resources/MainMenu.xib | 11 +++++++++++ Tools/nib2cib/NSNibConnector.j | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib b/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib index 6b666688b..c1594db54 100644 --- a/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib +++ b/Tests/Manual/RuntimeAttributesTest/Resources/MainMenu.xib @@ -533,6 +533,17 @@ SW5pdGlhbEZpcnN0UmVzcG9uZGVyIG1ldGhvZA initialResponder + + com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.string + localized + foo + YES + + + com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.nil + null + + diff --git a/Tools/nib2cib/NSNibConnector.j b/Tools/nib2cib/NSNibConnector.j index 4a3162021..5e49ff64a 100644 --- a/Tools/nib2cib/NSNibConnector.j +++ b/Tools/nib2cib/NSNibConnector.j @@ -54,7 +54,8 @@ NIB_CONNECTION_EQUIVALENCY_TABLE = {}; _destination = NIB_CONNECTION_EQUIVALENCY_TABLE[destinationUID]; } - CPLog.debug(@"Connection: " + [_source description] + " " + [_destination description] + " " + _label); + if (_source && _destination) + CPLog.debug(@"Connection: " + [_source description] + " " + [_destination description] + " " + _label); } return self; @@ -180,6 +181,13 @@ var NSTramsformers = [CPSet setWithObjects: _source = [aCoder decodeObjectForKey:@"NSObject"]; _keyPaths = [aCoder decodeObjectForKey:@"NSKeyPaths"]; _values = [aCoder decodeObjectForKey:@"NSValues"]; + + var count = [_keyPaths count]; + + CPLog.debug(@"Runtime Attributes Connector: " + [_source description]); + + while (count--) + CPLog.debug(@" %s (%s): %s", _keyPaths[count], [_values[count] className], _values[count]); } return self; From 3012cc7c923900bcebfd843d2736ac4c306a5049 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Sat, 30 Apr 2011 11:33:05 +0200 Subject: [PATCH 04/78] add setPreventsNib2Cib to bundletask.js This allows to be able to have the XIB/NIB and CIB version in the resource directory and to prevent to run nib2cib by just copying the CIB version. This is very usefull in the caseof using a Linux build machine for your application --- .../CommonJS/lib/objective-j/jake/bundletask.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js b/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js index e9cca5ee5..76f7abb92 100644 --- a/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js +++ b/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js @@ -51,6 +51,7 @@ function BundleTask(aName, anApplication) this._compilerFlags = null; this._flattensSources = false; this._includesNibsAndXibs = false; + this._preventsNib2Cib = false; this._productName = this.name(); @@ -204,6 +205,16 @@ BundleTask.prototype.includesNibsAndXibs = function() return this._includesNibsAndXibs; } +BundleTask.prototype.setPreventsNib2Cib = function(shouldPreventNib2Cib) +{ + this._preventsNib2Cib = shouldPreventNib2Cib; +} + +BundleTask.prototype.preventsNib2Cib = function() +{ + return this._preventsNib2Cib; +} + BundleTask.prototype.setProductName = function(aProductName) { this._productName = aProductName; @@ -486,9 +497,9 @@ BundleTask.prototype.defineResourceTask = function(aResourcePath, aDestinationPa var extension = FILE.extension(aResourcePath), extensionless = aResourcePath.substr(0, aResourcePath.length - extension.length); // NOT: - // (extname === ".cib" && (FILE.exists(extensionless + '.xib') || FILE.exists(extensionless + '.nib')) || + // (extname === ".cib" && (FILE.exists(extensionless + '.xib') || FILE.exists(extensionless + '.nib') && !this._preventsNib2Cib) || // (extname === ".xib" || extname === ".nib") && !this.shouldIncludeNibsAndXibs()) - if ((extension !== ".cib" || !FILE.exists(extensionless + ".xib") && !FILE.exists(extensionless + ".nib")) && + if ((extension !== ".cib" || !FILE.exists(extensionless + ".xib") && !FILE.exists(extensionless + ".nib") || this._preventsNib2Cib) && ((extension !== ".xib" && extension !== ".nib") || this.includesNibsAndXibs())) { filedir (aDestinationPath, [aResourcePath], function() @@ -505,7 +516,7 @@ BundleTask.prototype.defineResourceTask = function(aResourcePath, aDestinationPa this.enhance([aDestinationPath]); } - if (extension === ".xib" || extension === ".nib") + if ((extension === ".xib" || extension === ".nib") && !this._preventsNib2Cib) { var cibDestinationPath = FILE.join(FILE.dirname(aDestinationPath), FILE.basename(aDestinationPath, extension)) + ".cib"; From 3242e35250ced8f3202b4162e1098ec777331ffc Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Wed, 11 May 2011 23:56:01 -0400 Subject: [PATCH 05/78] Added CPMenu -removeAll method, removed unused internal _itemIsHighlighted method, test app --- AppKit/CPMenu/CPMenu.j | 27 +++-- AppKit/CPPopUpButton.j | 6 +- .../CPMenuRemoveAllTest/AppController.j | 73 +++++++++++++ Tests/Manual/CPMenuRemoveAllTest/Info.plist | 12 ++ Tests/Manual/CPMenuRemoveAllTest/Jakefile | 93 ++++++++++++++++ .../CPMenuRemoveAllTest/Resources/spinner.gif | Bin 0 -> 1849 bytes .../CPMenuRemoveAllTest/index-debug.html | 103 ++++++++++++++++++ Tests/Manual/CPMenuRemoveAllTest/index.html | 78 +++++++++++++ Tests/Manual/CPMenuRemoveAllTest/main.j | 18 +++ 9 files changed, 397 insertions(+), 13 deletions(-) create mode 100644 Tests/Manual/CPMenuRemoveAllTest/AppController.j create mode 100644 Tests/Manual/CPMenuRemoveAllTest/Info.plist create mode 100644 Tests/Manual/CPMenuRemoveAllTest/Jakefile create mode 100644 Tests/Manual/CPMenuRemoveAllTest/Resources/spinner.gif create mode 100644 Tests/Manual/CPMenuRemoveAllTest/index-debug.html create mode 100644 Tests/Manual/CPMenuRemoveAllTest/index.html create mode 100644 Tests/Manual/CPMenuRemoveAllTest/main.j diff --git a/AppKit/CPMenu/CPMenu.j b/AppKit/CPMenu/CPMenu.j index db5aa8e61..961f2a421 100644 --- a/AppKit/CPMenu/CPMenu.j +++ b/AppKit/CPMenu/CPMenu.j @@ -337,6 +337,25 @@ var _CPMenuBarVisible = NO, [self removeObjectFromItemsAtIndex:anIndex]; } +/*! + Removes all the menu items in the receiver. + This method is more efficient than removing menu items individually. + + Unlike the other remove methods, this method does not post CPMenuDidChangeItemNotification notifications. +*/ +- (void)removeAllItems +{ + var count = [_items count]; + + // Remove the connection to this menu in case + // someone else has a reference to the menu item. + while (count--) + [_items[count] setMenu:nil]; + + _items = [CPMutableArray array]; + _highlightedIndex = CPNotFound; +} + /*! Called when a menu item has visually changed. @param aMenuItem the item that changed @@ -970,14 +989,6 @@ var _CPMenuBarVisible = NO, } // -/* - @ignore -*/ -- (BOOL)_itemIsHighlighted:(CPMenuItem)aMenuItem -{ - return _items[_highlightedIndex] == aMenuItem; -} - /* @ignore */ diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index ca1a548cb..193b5bcd5 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -192,11 +192,7 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); */ - (void)removeAllItems { - var menu = [self menu], - count = [menu numberOfItems]; - - while (count--) - [menu removeItemAtIndex:0]; + [[self menu] removeAllItems]; } /*! diff --git a/Tests/Manual/CPMenuRemoveAllTest/AppController.j b/Tests/Manual/CPMenuRemoveAllTest/AppController.j new file mode 100644 index 000000000..a8104a1e4 --- /dev/null +++ b/Tests/Manual/CPMenuRemoveAllTest/AppController.j @@ -0,0 +1,73 @@ +/* + * AppController.j + * CPMenuRemoveAllTest + * + * Created by aparajita on May 11, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import + + +@implementation AppController : CPObject +{ + CPMenu menu; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask], + contentView = [theWindow contentView]; + + menu = [[CPPopUpButton alloc] initWithFrame:CGRectMakeZero()]; + + [self addStandardItems]; + [menu setPullsDown:YES]; + [menu sizeToFit]; + [menu setFrameSize:CGSizeMake(150, [menu frameSize].height)]; + [self setupAction]; + + [menu setAutoresizingMask:CPViewMinXMargin | CPViewMaxXMargin | CPViewMinYMargin | CPViewMaxYMargin]; + [menu setCenter:[contentView center]]; + + [contentView addSubview:menu]; + + [theWindow orderFront:self]; + + // Uncomment the following line to turn on the standard menu bar. + //[CPMenu setMenuBarVisible:YES]; +} + +- (void)addStandardItems +{ + [menu addItemsWithTitles:[@"One", @"Two", @"Alternate Items"]]; +} + +- (void)addAlternateItems +{ + [menu addItemsWithTitles:[@"Three", @"Four", @"Default Items"]]; +} + +- (void)setupAction +{ + var item = [menu itemAtIndex:2]; + + [item setTarget:self]; + [item setAction:@selector(itemWasSelected:)]; +} + +- (void)itemWasSelected:(id)sender +{ + var title = [menu itemTitleAtIndex:0]; + + [menu removeAllItems]; + + if (title === @"One") + [self addAlternateItems]; + else + [self addStandardItems]; + + [self setupAction]; +} + +@end diff --git a/Tests/Manual/CPMenuRemoveAllTest/Info.plist b/Tests/Manual/CPMenuRemoveAllTest/Info.plist new file mode 100644 index 000000000..c542bb1e4 --- /dev/null +++ b/Tests/Manual/CPMenuRemoveAllTest/Info.plist @@ -0,0 +1,12 @@ + + + + + CPApplicationDelegateClass + AppController + CPBundleName + CPMenuRemoveAllTest + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/CPMenuRemoveAllTest/Jakefile b/Tests/Manual/CPMenuRemoveAllTest/Jakefile new file mode 100644 index 000000000..3fcf47fb2 --- /dev/null +++ b/Tests/Manual/CPMenuRemoveAllTest/Jakefile @@ -0,0 +1,93 @@ +/* + * Jakefile + * CPMenuRemoveAllTest + * + * Created by aparajita on May 11, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPMenuRemoveAllTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPMenuRemoveAllTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPMenuRemoveAllTest"); + task.setIdentifier("com.aparajita.CPMenuRemoveAllTest"); + task.setVersion("1.0"); + task.setAuthor("Victory-Heart Productions"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPMenuRemoveAllTest"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPMenuRemoveAllTest"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPMenuRemoveAllTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPMenuRemoveAllTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPMenuRemoveAllTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPMenuRemoveAllTest"), FILE.join("Build", "Deployment", "CPMenuRemoveAllTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPMenuRemoveAllTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPMenuRemoveAllTest"), FILE.join("Build", "Desktop", "CPMenuRemoveAllTest", "CPMenuRemoveAllTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPMenuRemoveAllTest", "CPMenuRemoveAllTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPMenuRemoveAllTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPMenuRemoveAllTest/Resources/spinner.gif b/Tests/Manual/CPMenuRemoveAllTest/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPMenuRemoveAllTest/index-debug.html b/Tests/Manual/CPMenuRemoveAllTest/index-debug.html new file mode 100644 index 000000000..bb52b4dad --- /dev/null +++ b/Tests/Manual/CPMenuRemoveAllTest/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + CPMenuRemoveAllTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPMenuRemoveAllTest/index.html b/Tests/Manual/CPMenuRemoveAllTest/index.html new file mode 100644 index 000000000..a748831e5 --- /dev/null +++ b/Tests/Manual/CPMenuRemoveAllTest/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + CPMenuRemoveAllTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + + diff --git a/Tests/Manual/CPMenuRemoveAllTest/main.j b/Tests/Manual/CPMenuRemoveAllTest/main.j new file mode 100644 index 000000000..b2f046c3c --- /dev/null +++ b/Tests/Manual/CPMenuRemoveAllTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPMenuRemoveAllTest + * + * Created by aparajita on May 11, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From 1e9798eead7b619caab7461b8ee4c7e38a70db8c Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Wed, 11 May 2011 23:58:20 -0400 Subject: [PATCH 06/78] Whitespace cleanup --- Tests/Manual/CPMenuRemoveAllTest/AppController.j | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/Manual/CPMenuRemoveAllTest/AppController.j b/Tests/Manual/CPMenuRemoveAllTest/AppController.j index a8104a1e4..6164a8223 100644 --- a/Tests/Manual/CPMenuRemoveAllTest/AppController.j +++ b/Tests/Manual/CPMenuRemoveAllTest/AppController.j @@ -26,10 +26,10 @@ [menu sizeToFit]; [menu setFrameSize:CGSizeMake(150, [menu frameSize].height)]; [self setupAction]; - + [menu setAutoresizingMask:CPViewMinXMargin | CPViewMaxXMargin | CPViewMinYMargin | CPViewMaxYMargin]; [menu setCenter:[contentView center]]; - + [contentView addSubview:menu]; [theWindow orderFront:self]; @@ -51,7 +51,7 @@ - (void)setupAction { var item = [menu itemAtIndex:2]; - + [item setTarget:self]; [item setAction:@selector(itemWasSelected:)]; } @@ -59,14 +59,14 @@ - (void)itemWasSelected:(id)sender { var title = [menu itemTitleAtIndex:0]; - + [menu removeAllItems]; - + if (title === @"One") [self addAlternateItems]; else [self addStandardItems]; - + [self setupAction]; } From 4ab69ebb68b9702f8a20b78bf97c8f54a2048e50 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Wed, 18 May 2011 10:29:54 -0700 Subject: [PATCH 07/78] If there is no header view, there should be no corner view. This is what Cocoa does. Also for correctness -enclosingScrollView should be used to get the table's scrollview. Test app included. --- AppKit/CPTableView.j | 10 +- .../HeaderView-CornerView/AppController.j | 115 ++++++++++++++++++ .../HeaderView-CornerView/Info.plist | 12 ++ .../TableTest/HeaderView-CornerView/Jakefile | 93 ++++++++++++++ .../Resources/spinner.gif | Bin 0 -> 1849 bytes .../HeaderView-CornerView/index-debug.html | 103 ++++++++++++++++ .../HeaderView-CornerView/index.html | 78 ++++++++++++ .../TableTest/HeaderView-CornerView/main.j | 18 +++ 8 files changed, 427 insertions(+), 2 deletions(-) create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/AppController.j create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/Info.plist create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/Jakefile create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/Resources/spinner.gif create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/index-debug.html create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/index.html create mode 100644 Tests/Manual/TableTest/HeaderView-CornerView/main.j diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 018b8ab45..104b292db 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -1470,7 +1470,7 @@ NOT YET IMPLEMENTED _cornerView = aView; - var scrollView = [[self superview] superview]; + var scrollView = [self enclosingScrollView]; if ([scrollView isKindOfClass:[CPScrollView class]] && [scrollView documentView] === self) [scrollView _updateCornerAndHeaderView]; @@ -1506,8 +1506,14 @@ NOT YET IMPLEMENTED [_headerView setTableView:self]; [_headerView setFrameSize:_CGSizeMake(_CGRectGetWidth([self frame]), _CGRectGetHeight([_headerView frame]))]; } + else + { + // If there is no header view, there should be no corner view + [_cornerView removeFromSuperview]; + _cornerView = nil; + } - var scrollView = [[self superview] superview]; + var scrollView = [self enclosingScrollView]; if ([scrollView isKindOfClass:[CPScrollView class]] && [scrollView documentView] === self) [scrollView _updateCornerAndHeaderView]; diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/AppController.j b/Tests/Manual/TableTest/HeaderView-CornerView/AppController.j new file mode 100644 index 000000000..128482b8c --- /dev/null +++ b/Tests/Manual/TableTest/HeaderView-CornerView/AppController.j @@ -0,0 +1,115 @@ +/* + * AppController.j + * HeaderView-CornerView + * + * Created by aparajita on May 18, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import + +var brokenTable = nil, + fixedTable = nil; + +@implementation AppController : CPObject +{ + CPWindow theWindow; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask]; + + brokenTable = [self makeTableWithCaption:@"No header, has corner: wrong" at:CPPointMake(50, 50)]; + fixedTable = [self makeTableWithCaption:@"No header, no corner: correct" at:CPPointMake(250, 50)]; + + [brokenTable setHeaderView:nil]; + [fixedTable setHeaderView:nil]; + + [theWindow orderFront:self]; + + // Uncomment the following line to turn on the standard menu bar. + //[CPMenu setMenuBarVisible:YES]; +} + +- (void)makeTableWithCaption:(CPString)caption at:(CGPoint)location +{ + var label = [CPTextField labelWithTitle:caption], + table = [[CPTableView alloc] initWithFrame:CGRectMakeZero()], + frame = CGRectMake(location.x, location.y + 25, 150, ([table rowHeight] * 5) + 2), + scroll = [[CPScrollView alloc] initWithFrame:frame]; + + [label setFrameOrigin:CGPointMake(location.x, location.y)]; + + [table setDataSource:self]; + [table setDelegate:self]; + [table setColumnAutoresizingStyle:CPTableViewLastColumnOnlyAutoresizingStyle]; + [table setUsesAlternatingRowBackgroundColors:YES]; + [table setAllowsMultipleSelection:NO]; + [table setIntercellSpacing:CGSizeMake(0, 0)]; + + var column = [[CPTableColumn alloc] initWithIdentifier:"1"]; + + [column setWidth:CGRectGetWidth(frame) - [CPScroller scrollerWidth]]; + [column setResizingMask:CPTableColumnNoResizing]; + [table addTableColumn:column]; + [table selectRowIndexes:[CPIndexSet indexSetWithIndex:0] byExtendingSelection:NO]; + + [scroll setBorderType:CPLineBorder]; + [scroll setHasHorizontalScroller:NO]; + [scroll setDocumentView:table]; + + var contentView = [theWindow contentView]; + + [contentView addSubview:label]; + [contentView addSubview:scroll]; + + return table; +} + +/*! + Returns the number of rows in the table data. + The default implementation returns the size of the table data array. +*/ +- (int)numberOfRowsInTableView:(id)tableView +{ + return 10; +} + +- (id)tableView:(id)tableView objectValueForTableColumn:(CPTableColumn)aColumn row:(int)aRow +{ + return @"Row " + aRow; +} + +@end + +@implementation CPTableView (test) + +- (void)setHeaderView:(CPView)aHeaderView +{ + if (_headerView === aHeaderView) + return; + + [_headerView setTableView:nil]; + + _headerView = aHeaderView; + + if (_headerView) + { + [_headerView setTableView:self]; + [_headerView setFrameSize:CGSizeMake(CGRectGetWidth([self frame]), CGRectGetHeight([_headerView frame]))]; + } + else if (self === fixedTable) + { + // If there is no header view, there should be no corner view + [_cornerView removeFromSuperview]; + _cornerView = nil; + } + + var scrollView = [self enclosingScrollView]; + + if ([scrollView isKindOfClass:[CPScrollView class]] && [scrollView documentView] === self) + [scrollView _updateCornerAndHeaderView]; +} + +@end diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/Info.plist b/Tests/Manual/TableTest/HeaderView-CornerView/Info.plist new file mode 100644 index 000000000..ef35fb10e --- /dev/null +++ b/Tests/Manual/TableTest/HeaderView-CornerView/Info.plist @@ -0,0 +1,12 @@ + + + + + CPApplicationDelegateClass + AppController + CPBundleName + HeaderView-CornerView + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/Jakefile b/Tests/Manual/TableTest/HeaderView-CornerView/Jakefile new file mode 100644 index 000000000..f420324ca --- /dev/null +++ b/Tests/Manual/TableTest/HeaderView-CornerView/Jakefile @@ -0,0 +1,93 @@ +/* + * Jakefile + * HeaderView-CornerView + * + * Created by aparajita on May 18, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("HeaderViewCornerView", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "HeaderViewCornerView.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("HeaderView-CornerView"); + task.setIdentifier("com.aparajita.HeaderViewCornerView"); + task.setVersion("1.0"); + task.setAuthor("Victory-Heart Productions"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("HeaderView-CornerView"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["HeaderViewCornerView"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "HeaderViewCornerView", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "HeaderViewCornerView", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "HeaderViewCornerView")); + OS.system(["press", "-f", FILE.join("Build", "Release", "HeaderViewCornerView"), FILE.join("Build", "Deployment", "HeaderViewCornerView")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "HeaderViewCornerView")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "HeaderViewCornerView"), FILE.join("Build", "Desktop", "HeaderViewCornerView", "HeaderViewCornerView.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "HeaderViewCornerView", "HeaderViewCornerView.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "HeaderViewCornerView")); + print("----------------------------"); +} diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/Resources/spinner.gif b/Tests/Manual/TableTest/HeaderView-CornerView/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/index-debug.html b/Tests/Manual/TableTest/HeaderView-CornerView/index-debug.html new file mode 100644 index 000000000..613eeb492 --- /dev/null +++ b/Tests/Manual/TableTest/HeaderView-CornerView/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + HeaderView-CornerView + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/index.html b/Tests/Manual/TableTest/HeaderView-CornerView/index.html new file mode 100644 index 000000000..e894fc5f0 --- /dev/null +++ b/Tests/Manual/TableTest/HeaderView-CornerView/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + HeaderView-CornerView + + + + + + + + + + + + +
+
+ + + +
+
+ + + + diff --git a/Tests/Manual/TableTest/HeaderView-CornerView/main.j b/Tests/Manual/TableTest/HeaderView-CornerView/main.j new file mode 100644 index 000000000..b202f5bf1 --- /dev/null +++ b/Tests/Manual/TableTest/HeaderView-CornerView/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * HeaderView-CornerView + * + * Created by aparajita on May 18, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From e404217e8b0382f546b84d8592d5c9387e7dcc03 Mon Sep 17 00:00:00 2001 From: Derek Hammer Date: Sun, 22 May 2011 17:55:17 -0500 Subject: [PATCH 08/78] Elaborate what setItemPrototype expects and does in CPCollectionView. --- AppKit/CPCollectionView.j | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index a48c11c39..7b39d2b41 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -131,6 +131,49 @@ /*! Sets the item prototype to \c anItem + + The item prototype should implement the CPCoding protocol + because the item is copied by archiving and unarchiving the + prototypal view. + + Example: + +
+      @implement MyCustomView : CPCollectionViewItem
+      {
+          CPArray   items   @accessors;
+      }
+
+      - (id)initWithFrame:(CGRect)aFrame
+      {
+        self = [super initWithFrame:aFrame];
+        if (self)
+        {
+          items = [];
+        }
+        return self;
+      }
+
+      - (id)initWithCoder:(CPCoder)aCoder
+      {
+        self = [super initWithCoder:aCoder];
+        items = [aCoder decodeObjectForKey:@"KEY"];
+        return self;
+      }
+
+      - (void)encodeWithCoder:(CPCoder)aCoder
+      {
+        [aCoder encodeObject:items forKey:@"KEY"];
+        [super encodeWithCoder:aCoder];
+      }
+
+      @end
+    
+
+    This will allow the collection view to create multiple 'clean' copies
+    of the item prototype which will maintain the original values for item
+    and all of the properties archived by the super class.
+
     @param anItem the new item prototype
 */
 - (void)setItemPrototype:(CPCollectionViewItem)anItem

From 7194a6961ada1e6d4e34db66a33105b8a6449164 Mon Sep 17 00:00:00 2001
From: Derek Hammer 
Date: Sun, 22 May 2011 17:58:25 -0500
Subject: [PATCH 09/78] Forgot a forward slash to end the pre tag.

---
 AppKit/CPCollectionView.j | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j
index 7b39d2b41..99d3db162 100644
--- a/AppKit/CPCollectionView.j
+++ b/AppKit/CPCollectionView.j
@@ -168,7 +168,7 @@
       }
 
       @end
-    
+    
This will allow the collection view to create multiple 'clean' copies of the item prototype which will maintain the original values for item From 59e5689d1abc4170e2b07f92804a3b2885a63014 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sun, 22 May 2011 17:06:25 -0700 Subject: [PATCH 10/78] On WebKit (at least on Mac), right Command key code is 93, not 91. This was not being interpreted correctly. --- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 11 ++++++----- AppKit/Platform/DOM/CPPlatformWindow+DOMKeys.j | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index d7af410fd..e15655375 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -183,11 +183,12 @@ KeyCodesToUnicodeMap[CPKeyCodes.BACKSLASH] = "\\"; KeyCodesToUnicodeMap[CPKeyCodes.CLOSE_SQUARE_BRACKET] = "]"; var ModifierKeyCodes = [ - CPKeyCodes.META, - CPKeyCodes.MAC_FF_META, - CPKeyCodes.CTRL, - CPKeyCodes.ALT, - CPKeyCodes.SHIFT + CPKeyCodes.META, + CPKeyCodes.WEBKIT_RIGHT_META, + CPKeyCodes.MAC_FF_META, + CPKeyCodes.CTRL, + CPKeyCodes.ALT, + CPKeyCodes.SHIFT ], supportsNativeDragAndDrop = [CPPlatform supportsDragAndDrop]; diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOMKeys.j b/AppKit/Platform/DOM/CPPlatformWindow+DOMKeys.j index aff678fc5..5a7cfa2ea 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOMKeys.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOMKeys.j @@ -83,6 +83,7 @@ CPKeyCodes = { Y: 89, Z: 90, META: 91, + WEBKIT_RIGHT_META: 93, // WebKit (on Mac at least) fires this for the right Command key CONTEXT_MENU: 93, NUM_ZERO: 96, NUM_ONE: 97, From ca1a1b43f1183e69967d3e504f907cded09e490e Mon Sep 17 00:00:00 2001 From: cacaodev Date: Sat, 15 Jan 2011 16:36:38 +0100 Subject: [PATCH 11/78] CPRuleEditor & CPPredicateEditor & CPPredicateEditorRowtemplate implementations with theming, nib2cib support. Tests: CPRuleEditorCibTest, CPPredicateEditorCibTest, SmartFoldersDemo: a real world usage of CPPredicateEditor. Documentation for these 3 new classes. --- AppKit/AppKit.j | 3 + AppKit/CPRuleEditor/CPPredicateEditor.j | 490 ++ .../CPPredicateEditorRowTemplate.j | 806 +++ AppKit/CPRuleEditor/CPRuleEditor.j | 2531 +++++++++ .../CPRuleEditor/_CPPredicateEditorRowNode.j | 91 + AppKit/CPRuleEditor/_CPPredicateEditorTree.j | 33 + AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j | 75 + .../CPRuleEditor/_CPRuleEditorPopUpButton.j | 157 + AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j | 109 + .../CPRuleEditor/_CPRuleEditorViewSliceRow.j | 493 ++ .../Aristo/Resources/rule-editor-add.png | Bin 0 -> 591 bytes .../Aristo/Resources/rule-editor-remove.png | Bin 0 -> 576 bytes AppKit/Themes/Aristo/ThemeDescriptors.j | 33 +- .../CPPredicateEditorCibTest/AppController.j | 190 + .../CPPredicateEditorCibTest/Info.plist | 12 + .../Manual/CPPredicateEditorCibTest/Jakefile | 93 + .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 4900 +++++++++++++++++ .../Resources/format.strings | 1 + .../Resources/spinner.gif | Bin 0 -> 1849 bytes .../CPPredicateEditorCibTest/index-debug.html | 101 + .../CPPredicateEditorCibTest/index.html | 79 + Tests/Manual/CPPredicateEditorCibTest/main.j | 18 + .../CPRuleEditorCibTest/AppController.j | 111 + .../CPViewAnimationTransition.j | 231 + Tests/Manual/CPRuleEditorCibTest/Info.plist | 12 + Tests/Manual/CPRuleEditorCibTest/Jakefile | 94 + .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 4447 +++++++++++++++ .../Resources/criteria.plist | 192 + .../Resources/format.strings | 18 + .../CPRuleEditorCibTest/Resources/spinner.gif | Bin 0 -> 1849 bytes .../Manual/CPRuleEditorCibTest/RuleControls.j | 76 + .../Manual/CPRuleEditorCibTest/RuleDelegate.j | 147 + .../CPRuleEditorCibTest/index-debug.html | 104 + Tests/Manual/CPRuleEditorCibTest/index.html | 78 + Tests/Manual/CPRuleEditorCibTest/main.j | 18 + Tests/Manual/SmartFoldersDemo/AppController.j | 319 ++ .../SmartFoldersDemo/BadgedOutlineView.j | 264 + .../SmartFoldersDemo/ImageAndTextView.j | 69 + Tests/Manual/SmartFoldersDemo/Info.plist | 12 + Tests/Manual/SmartFoldersDemo/Jakefile | 94 + .../SmartFoldersDemo/Resources/MainMenu.cib | 1 + .../SmartFoldersDemo/Resources/MainMenu.xib | 1123 ++++ .../Resources/PredicateEditor.cib | 1 + .../Resources/PredicateEditor.xib | 1530 +++++ .../Resources/SmartFolder.png | Bin 0 -> 1672 bytes .../Resources/searchBarBlue.png | Bin 0 -> 666 bytes .../SmartFoldersDemo/Resources/spinner.gif | Bin 0 -> 1849 bytes .../Resources/tableArray.plist | 96 + .../Manual/SmartFoldersDemo/index-debug.html | 104 + Tests/Manual/SmartFoldersDemo/index.html | 78 + Tests/Manual/SmartFoldersDemo/main.j | 18 + Tools/nib2cib/NSAppKit.j | 2 + Tools/nib2cib/NSExpression.j | 199 + Tools/nib2cib/NSFoundation.j | 1 + Tools/nib2cib/NSPredicateEditor.j | 94 + Tools/nib2cib/NSRuleEditor.j | 111 + 58 files changed, 19860 insertions(+), 1 deletion(-) create mode 100644 AppKit/CPRuleEditor/CPPredicateEditor.j create mode 100644 AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j create mode 100644 AppKit/CPRuleEditor/CPRuleEditor.j create mode 100644 AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j create mode 100644 AppKit/CPRuleEditor/_CPPredicateEditorTree.j create mode 100644 AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j create mode 100644 AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j create mode 100644 AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j create mode 100644 AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j create mode 100644 AppKit/Themes/Aristo/Resources/rule-editor-add.png create mode 100644 AppKit/Themes/Aristo/Resources/rule-editor-remove.png create mode 100644 Tests/Manual/CPPredicateEditorCibTest/AppController.j create mode 100644 Tests/Manual/CPPredicateEditorCibTest/Info.plist create mode 100644 Tests/Manual/CPPredicateEditorCibTest/Jakefile create mode 100644 Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib create mode 100644 Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib create mode 100644 Tests/Manual/CPPredicateEditorCibTest/Resources/format.strings create mode 100644 Tests/Manual/CPPredicateEditorCibTest/Resources/spinner.gif create mode 100644 Tests/Manual/CPPredicateEditorCibTest/index-debug.html create mode 100644 Tests/Manual/CPPredicateEditorCibTest/index.html create mode 100644 Tests/Manual/CPPredicateEditorCibTest/main.j create mode 100644 Tests/Manual/CPRuleEditorCibTest/AppController.j create mode 100644 Tests/Manual/CPRuleEditorCibTest/CPViewAnimationTransition.j create mode 100644 Tests/Manual/CPRuleEditorCibTest/Info.plist create mode 100644 Tests/Manual/CPRuleEditorCibTest/Jakefile create mode 100644 Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.cib create mode 100644 Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.xib create mode 100644 Tests/Manual/CPRuleEditorCibTest/Resources/criteria.plist create mode 100644 Tests/Manual/CPRuleEditorCibTest/Resources/format.strings create mode 100644 Tests/Manual/CPRuleEditorCibTest/Resources/spinner.gif create mode 100644 Tests/Manual/CPRuleEditorCibTest/RuleControls.j create mode 100644 Tests/Manual/CPRuleEditorCibTest/RuleDelegate.j create mode 100644 Tests/Manual/CPRuleEditorCibTest/index-debug.html create mode 100644 Tests/Manual/CPRuleEditorCibTest/index.html create mode 100644 Tests/Manual/CPRuleEditorCibTest/main.j create mode 100644 Tests/Manual/SmartFoldersDemo/AppController.j create mode 100644 Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j create mode 100644 Tests/Manual/SmartFoldersDemo/ImageAndTextView.j create mode 100644 Tests/Manual/SmartFoldersDemo/Info.plist create mode 100644 Tests/Manual/SmartFoldersDemo/Jakefile create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/MainMenu.xib create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.xib create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/SmartFolder.png create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/searchBarBlue.png create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/spinner.gif create mode 100644 Tests/Manual/SmartFoldersDemo/Resources/tableArray.plist create mode 100644 Tests/Manual/SmartFoldersDemo/index-debug.html create mode 100644 Tests/Manual/SmartFoldersDemo/index.html create mode 100644 Tests/Manual/SmartFoldersDemo/main.j create mode 100644 Tools/nib2cib/NSExpression.j create mode 100644 Tools/nib2cib/NSPredicateEditor.j create mode 100644 Tools/nib2cib/NSRuleEditor.j diff --git a/AppKit/AppKit.j b/AppKit/AppKit.j index a090a7805..babd86e25 100644 --- a/AppKit/AppKit.j +++ b/AppKit/AppKit.j @@ -66,9 +66,12 @@ @import "CPPanel.j" @import "CPPasteboard.j" @import "CPPopUpButton.j" +@import "CPPredicateEditor.j" +@import "CPPredicateEditorRowTemplate.j" @import "CPProgressIndicator.j" @import "CPRadio.j" @import "CPResponder.j" +@import "CPRuleEditor.j" @import "CPScroller.j" @import "CPScrollView.j" @import "CPSearchField.j" diff --git a/AppKit/CPRuleEditor/CPPredicateEditor.j b/AppKit/CPRuleEditor/CPPredicateEditor.j new file mode 100644 index 000000000..809935f7e --- /dev/null +++ b/AppKit/CPRuleEditor/CPPredicateEditor.j @@ -0,0 +1,490 @@ +/* + * CPPredicateEditor.j + * AppKit + * + * Created by cacaodev. + * Copyright 2011, cacaodev. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPRuleEditor.j" +@import "_CPPredicateEditorTree.j" +@import "_CPPredicateEditorRowNode.j" +@import "CPPredicateEditorRowTemplate.j" + +@implementation CPPredicateEditor : CPRuleEditor +{ + CPArray _allTemplates; + CPArray _rootTrees; + CPArray _rootHeaderTrees; + id _predicateTarget @accessors(property=target); + SEL _predicateAction @accessors(property=action); +} + +#pragma mark public methods +/*! + @ingroup appkit + @class CPPredicateEditor + + @brief CPPredicateEditor is a subclass of CPRuleEditor that is specialized for editing CPPredicate objects. + + CPPredicateEditor provides a CPPredicate property—objectValue (inherited from CPControl)—that you can get and set directly, and that you can bind using bindings (you typically configure a predicate editor in Interface Builder). CPPredicateEditor depends on another class, CPPredicateEditorRowTemplate, that describes the available predicates and how to display them. + + Unlike CPRuleEditor, CPPredicateEditor does not depend on its delegate to populate its rows (and does not call the populating delegate methods). Instead, its rows are populated from its objectValue property (an instance of CPPredicate). CPPredicateEditor relies on instances CPPredicateEditorRowTemplate, which are responsible for mapping back and forth between the displayed view values and various predicates. + + CPPredicateEditor exposes one property, rowTemplates, which is an array of CPPredicateEditorRowTemplate objects. +*/ + +/*! + @brief Returns the row templates for the receiver. + @return The row templates for the receiver. + @discussion Until otherwise set, this contains a single compound CPPredicateEditorRowTemplate object. + @see setRowTemplates: +*/ +- (CPArray)rowTemplates +{ + return _allTemplates; +} + +/*! + @brief Sets the row templates for the receiver. + @param rowTemplates An array of CPPredicateEditorRowTemplate objects. + @see rowTemplates +*/ +- (void)setRowTemplates:(id)rowTemplates +{ + if (_allTemplates == rowTemplates) + return; + + _allTemplates = rowTemplates; + + [self _updateItemsByCompoundTemplates]; + [self _updateItemsBySimpleTemplates]; + + if ([self numberOfRows] > 0) + { + var predicate = [super predicate]; + [self _reflectPredicate:predicate]; + } +} + +/*! @cond */ +- (void)_initRuleEditorShared +{ + [super _initRuleEditorShared]; + + _rootTrees = [CPArray array]; + _rootHeaderTrees = [CPArray array]; +} + +- (id)initWithFrame:(CGRect)aFrame +{ + self = [super initWithFrame:aFrame]; + if (self != nil) + { + var initialTemplate = [[CPPredicateEditorRowTemplate alloc] initWithCompoundTypes:[CPAndPredicateType, CPOrPredicateType]]; + _allTemplates = [CPArray arrayWithObject:initialTemplate]; + } + + return self; +} + +- (id)objectValue +{ + return [super predicate]; +} + +- (void)_updateItemsBySimpleTemplates +{ + var templates = [CPMutableArray array], + count = [_allTemplates count], + t; + + while (count--) + { + var t = _allTemplates[count]; + if ([t _rowType] == CPRuleEditorRowTypeSimple) + [templates insertObject:t atIndex:0]; + } + + var trees = [self _constructTreesForTemplates:templates]; + if ([trees count] > 0) + _rootTrees = [self _mergeTree:trees]; +} + +- (void)_updateItemsByCompoundTemplates +{ + var templates = [CPMutableArray array], + count = [_allTemplates count], + t; + + while (count--) + { + var t = _allTemplates[count]; + if ([t _rowType] == CPRuleEditorRowTypeCompound) + [templates insertObject:t atIndex:0]; + } + + var trees = [self _constructTreesForTemplates:templates]; + if ([trees count] > 0) + _rootHeaderTrees = [self _mergeTree:trees]; +} + +- (CPArray)_constructTreesForTemplates:(id)templates +{ + var trees = [CPMutableArray array], + count = [templates count]; + + for (var i = 0; i < count; i++) + { + var tree = [self _constructTreeForTemplate:templates[i]]; + [trees addObjectsFromArray:tree]; + } + + return trees; +} + +- (id)_mergeTree:(id)tree +{ + var merged = [CPMutableArray array], + titles = [CPMutableArray array], + count = [tree count]; + + for (var i = 0; i < count; i++) + { + var t = tree[i], + title = [CPString stringWithString:[t title]]; + + if ([titles containsObject:title]) + { + CPLogConsole("CPPredicate does not support templates merging yet. Ignoring duplicate template: " + [t description]); + continue; + } + + [merged addObject:t]; + [titles addObject:title]; + } + + return merged; +} + +- (id)_constructTreeForTemplate:(CPPredicateEditorRowTemplate)aTemplate +{ + var tree = [CPArray array], + templateViews = [aTemplate templateViews], + count = [templateViews count]; + + while (count--) + { + var children = [CPArray array], + itemsCount = 0, + menuIndex = -1, + itemsArray, + + templateView = [templateViews objectAtIndex:count], + isPopup = [templateView isKindOfClass:[CPPopUpButton class]]; + + if (isPopup) + { + itemArray = [[templateView itemArray] valueForKey:@"title"]; + itemsCount = [itemArray count], + menuIndex = 0; + } + + for (; menuIndex < itemsCount; menuIndex++) + { + var item = [_CPPredicateEditorTree new]; + [item setIndexIntoTemplate:count]; + [item setTemplate:aTemplate]; + [item setMenuItemIndex:menuIndex]; + if (isPopup) + [item setTitle:[itemArray objectAtIndex:menuIndex]]; + + [children addObject:item]; + } + + [children makeObjectsPerformSelector:@selector(setChildren:) withObject:tree]; + tree = children; + } + + return tree; +} + +#pragma mark Set the Predicate + +- (void)setObjectValue:(id)objectValue +{ + if (![[objectValue predicateFormat] isEqualToString:[[super predicate] predicateFormat]]) // ?? + [self _reflectPredicate:objectValue]; +} + +- (void)_reflectPredicate:(id)predicate +{ + var animation = _currentAnimation; + _currentAnimation = nil; + + if (predicate != nil) + { + if ((_nestingMode == CPRuleEditorNestingModeSimple || _nestingMode == CPRuleEditorNestingModeCompound) + && [predicate isKindOfClass:[CPComparisonPredicate class]]) + predicate = [[CPCompoundPredicate alloc] initWithType:[self _compoundPredicateTypeForRootRows] subpredicates:[CPArray arrayWithObject:predicate]]; + + var row = [self _rowObjectFromPredicate:predicate]; + if (row != nil) + [_boundArrayOwner setValue:[CPArray arrayWithObject:row] forKey:_boundArrayKeyPath]; + } + + [self setAnimation:animation]; +} + +- (id)_rowObjectFromPredicate:(CPPredicate)predicate +{ + var quality, // TODO: We should use this ref somewhere ! + type, + matchedTemplate = [CPPredicateEditorRowTemplate _bestMatchForPredicate:predicate inTemplates:[self rowTemplates] quality:quality]; + + if (matchedTemplate == nil) + return nil; + + var copyTemplate = [matchedTemplate copy], + subpredicates = [matchedTemplate displayableSubpredicatesOfPredicate:predicate]; + + if (subpredicates == nil) + { + [copyTemplate _setComparisonPredicate:predicate]; + type = CPRuleEditorRowTypeSimple; + } + else + { + [copyTemplate _setCompoundPredicate:predicate]; + type = CPRuleEditorRowTypeCompound; + } + + var row = [self _rowFromTemplate:copyTemplate originalTemplate:matchedTemplate withRowType:type]; + + if (subpredicates == nil) + return row; + + var count = [subpredicates count], + subrows = [CPMutableArray array]; + + for (var i = 0; i < count; i++) + { + var subrow = [self _rowObjectFromPredicate:subpredicates[i]]; + if (subrow != nil) + [subrows addObject:subrow]; + } + + [row setValue:subrows forKey:[super subrowsKeyPath]]; + + return row; +} + +- (id)_rowFromTemplate:(CPPredicateEditorRowTemplate)aTemplate originalTemplate:(CPPredicateEditorRowTemplate)originalTemplate withRowType:(CPRuleEditorRowType)rowType +{ + var criteria = [CPArray array], + values = [CPArray array], + templateViews = [aTemplate templateViews], + rootItems, + count; + + rootItems = (rowType == CPRuleEditorRowTypeSimple) ? _rootTrees : _rootHeaderTrees; + + while ((count = [rootItems count]) > 0) + { + var treeChild; + for (var i = 0; i < count; i++) + { + treeChild = [rootItems objectAtIndex:i]; + + var currentView = [templateViews objectAtIndex:[treeChild indexIntoTemplate]], + menuItemIndex = [treeChild menuItemIndex]; + + if (menuItemIndex == -1 || [[treeChild title] isEqual:[currentView titleOfSelectedItem]]) + { + var node = [_CPPredicateEditorRowNode _rowNodeFromTree:treeChild withTemplate:aTemplate]; + [criteria addObject:node]; + [values addObject:[node displayValue]]; + break; + } + } + + rootItems = [treeChild children]; + } + + var row = [CPDictionary dictionaryWithObjectsAndKeys:criteria, @"criteria", values, @"displayValues", rowType, @"rowType"]; + + return row; +} + +#pragma mark Get the predicate + +- (void)_updatePredicate +{ + //[self willChangeValueForKey:@"objectValue"]; + [self _updatePredicateFromRows]; + //[self didChangeValueForKey:@"objectValue"]; +} + +- (void)_updatePredicateFromRows +{ + var rootRowsArray = [super _rootRowsArray], + subpredicates = [CPMutableArray array], + count = count2 = [rootRowsArray count], + predicate; + + while (count--) + { + var item = [rootRowsArray objectAtIndex:count], + subpredicate = [self _predicateFromRowItem:item]; + + if (subpredicate != nil) + [subpredicates insertObject:subpredicate atIndex:0]; + } + + if (_nestingMode != CPRuleEditorNestingModeList && count2 == 1) + predicate = [subpredicates lastObject]; + else + predicate = [[CPCompoundPredicate alloc] initWithType:[self _compoundPredicateTypeForRootRows] subpredicates:subpredicates]; + + [super _setPredicate:predicate]; +} + +- (id)_predicateFromRowItem:(id)rowItem +{ + var subpredicates = [CPArray array], + subrows = [rowItem valueForKey:[super subrowsKeyPath]], + count = [subrows count]; + + for (var i = 0; i < count; i++) + { + var predicate = [self _predicateFromRowItem:subrows[i]]; + [subpredicates addObject:predicate]; + } + + var criteria = [rowItem valueForKey:[super criteriaKeyPath]], + displayValues = [rowItem valueForKey:[super displayValuesKeyPath]], + leftNode = [criteria objectAtIndex:0], + templateViews = [leftNode templateViews], + count = [criteria count]; + + for (var j = 0; j < count; j++) + { + var view = [templateViews objectAtIndex:j], + value = [displayValues objectAtIndex:j]; + + if ([view respondsToSelector:@selector(selectItemWithTitle:)]) + [view selectItemWithTitle:value]; + else + [view setObjectValue:[value objectValue]]; + + } + + return [[leftNode templateForRow] predicateWithSubpredicates:subpredicates]; +} + +- (CPCompoundPredicateType)_compoundPredicateTypeForRootRows +{ + return CPAndPredicateType; +} + +#pragma mark Control delegate + +- (void)_setDefaultTargetAndActionOnView:(CPView)view +{ + if ([view isKindOfClass:[CPControl class]]) + { + [view setAction:@selector(_templateControlValueDidChange:)]; + [view setTarget:self]; + } +} + +- (void)controlTextDidEndEditing:(CPNotification)notification +{ + [self _updatePredicate]; +} + +- (void)_templateControlValueDidChange:(id)sender +{ + //[self _updatePredicate]; +} + +- (void)controlTextDidBeginEditing:(CPNotification)notification +{ +} + +- (void)controlTextDidChange:(CPNotification)notification +{ +} + +#pragma mark RuleEditor delegate methods + +- (int)_queryNumberOfChildrenOfItem:(id)rowItem withRowType:(int)type +{ + if (rowItem == nil) + { + var trees = (type == CPRuleEditorRowTypeSimple) ? _rootTrees : _rootHeaderTrees; + return [trees count]; + } + + return [[rowItem children] count]; +} + +- (id)_queryChild:(int)index ofItem:(id)rowItem withRowType:(int)type +{ + if (rowItem == nil) + { + var trees = (type == CPRuleEditorRowTypeSimple) ? _rootTrees : _rootHeaderTrees; + return [_CPPredicateEditorRowNode rowNodeFromTree:trees[index]]; + } + + return [[rowItem children] objectAtIndex:index]; +} + +- (id)_queryValueForItem:(id)rowItem inRow:(int)rowIndex +{ + [rowItem copyTemplateIfNecessary]; + return [rowItem displayValue]; +} + +@end + +var CPPredicateTemplatesKey = @"CPPredicateTemplates"; + +@implementation CPPredicateEditor (CPCoding) + +- (id)initWithCoder:(id)aCoder +{ + self = [super initWithCoder:aCoder]; + if (self != nil) + { + var nibTemplates = [aCoder decodeObjectForKey:CPPredicateTemplatesKey]; + if (nibTemplates != nil) + [self setRowTemplates:nibTemplates]; + } + + return self; +} + +- (void)encodeWithCoder:(id)aCoder +{ + [super encodeWithCoder:aCoder]; + [aCoder encodeObject:_allTemplates forKey:CPPredicateTemplatesKey]; +} + +@end + +/*! @endcond */ \ No newline at end of file diff --git a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j new file mode 100644 index 000000000..e470fbe7c --- /dev/null +++ b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j @@ -0,0 +1,806 @@ +/* + * CPPredicateEditorRowTemplate.j + * AppKit + * + * Created by cacaodev. + * Copyright 2011, cacaodev. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +CPUndefinedAttributeType = 0, +CPInteger16AttributeType = 100, +CPInteger32AttributeType = 200, +CPInteger64AttributeType = 300, +CPDecimalAttributeType = 400, +CPDoubleAttributeType = 500, +CPFloatAttributeType = 600, +CPStringAttributeType = 700, +CPBooleanAttributeType = 800, +CPDateAttributeType = 900, +CPBinaryDataAttributeType = 1000, +CPTransformableAttributeType = 1800; + +@implementation CPPredicateEditorRowTemplate : CPObject +{ + int _templateType @accessors(readwrite, getter=_templateType, setter=_setTemplateType:); + unsigned _predicateOptions @accessors(readwrite, setter=_setOptions:); + unsigned _predicateModifier @accessors(readwrite, setter=_setModifier:); + unsigned _leftAttributeType @accessors(readwrite, getter=leftAttributeType, setter=_setLeftAttributeType:); + unsigned _rightAttributeType @accessors(readwrite, getter=rightAttributeType, setter=_setRightAttributeType:); + BOOL _leftIsWildcard @accessors(property=leftIsWildcard); + BOOL _rightIsWildcard @accessors(property=rightIsWildcard); + CPArray _views @accessors(setter=setTemplateViews:); + +} + +/*! + @ingroup appkit + @class CPPredicateEditorRowTemplate + + @brief CPPredicateEditorRowTemplate describes available predicates and how to display them. + + You can create instances of CPPredicateEditorRowTemplate programmatically or in Interface Builder. By default, a non-compound row template has three views: a popup (or static text field) on the left, a popup or static text field for operators, and either a popup or other view on the right. You can subclass CPPredicateEditorRowTemplate to create a row template with different numbers or types of views. + + CPPredicateEditorRowTemplate is a concrete class, but it has five primitive methods which are called by CPPredicateEditor: -#templateViews, -#matchForPredicate:, -#setPredicate:, -#displayableSubpredicatesOfPredicate:, and -#predicateWithSubpredicates:. CPPredicateEditorRowTemplate implements all of them, but you can override them for custom templates. The primitive methods are used by an instance of CPPredicateEditor as follows. + + First, an instance of CPPredicateEditor is created, and some row templates are set on it—either through a nib file or programmatically. The first thing predicate editor does is ask each of the templates for their views, using templateViews. + + After setting up the predicate editor, you typically send it a CPPredicateEditor#setObjectValue: message to restore a saved predicate. CPPredicateEditor needs to determine which of its templates should display each predicate in the predicate tree. It does this by sending each of its row templates a matchForPredicate: message and choosing the one that returns the highest value. + + After finding the best match for a predicate, CPPredicateEditor copies that template to get fresh views, inserts them into the proper row, and then sets the predicate on the template using setPredicate:. Within that method, the CPPredicateEditorRowTemplate object must set its views' values to represent that predicate. + + CPPredicateEditorRowTemplate next asks the template for the “displayable sub-predicates” of the predicate by sending a -#displayableSubpredicatesOfPredicate: message. If a template represents a predicate in its entirety, or if the predicate has no subpredicates, it can return nil for this. Otherwise, it should return a list of predicates to be made into sub-rows of that template's row. The whole process repeats for each sub-predicate. + + At this point, the user sees the predicate that was saved. If the user then makes some changes to the views of the templates, this causes CPPredicateEditor to recompute its predicate by asking each of the templates to return the predicate represented by the new view values, passing in the subpredicates represented by the sub-rows (an empty array if there are none, or nil if they aren't supported by that predicate type). +*/ + +/*! + @name Initializing a Template +*/ + +/*! + @brief Initializes and returns a “pop-up-pop-up-pop-up”-style row template. + @param leftExpressions An array of CPExpression objects that represent the left hand side of a predicate. + @param rightExpressions An array of CPExpression objects that represent the right hand side of a predicate. + @param modifier A modifier for the predicate (see @c CPComparisonPredicateModifier for possible values). + @param operators An array of CPNumber objects specifying the operator type (see @c CPPredicateOperatorType for possible values). + @param options Options for the predicate (see @c CPComparisonPredicateOptions for possible values). + @return A row template of the “pop-up-pop-up-pop-up”-form, with the left and right popups representing the left and right expression arrays -#leftExpressions and -#rightExpressions, and the center popup representing the operators. +*/ +- (id)initWithLeftExpressions:(CPArray)leftExpressions rightExpressions:(CPArray)rightExpressions modifier:(int)modifier operators:(CPArray)operators options:(int)options +{ + self = [super init]; + if (self != nil) + { + _templateType = 1; + _leftIsWildcard = NO; + _rightIsWildcard = NO; + _leftAttributeType = 0; + _rightAttributeType = 0; + _predicateModifier = modifier; + _predicateOptions = options; + + var leftView = [self _viewFromExpressions:leftExpressions], + rightView = [self _viewFromExpressions:rightExpressions], + middleView = [self _viewFromOperatorTypes:operators]; + + _views = [[CPArray alloc] initWithObjects:leftView, middleView, rightView]; + } + + return self; +} + +/*! + @brief Initializes and returns a “pop-up-pop-up-view”-style row template. + @param leftExpressions An array of CPExpression objects that represent the left hand side of a predicate. + @param attributeType An attribute type for the right hand side of a predicate. This value dictates the type of view created, and how the control’s object value is coerced before putting it into a predicate. + @param modifier A modifier for the predicate (see @c CPComparisonPredicateModifier for possible values). + @param operators An array of CPNumber objects specifying the operator type (see @c CPPredicateOperatorType for possible values). + @param options Options for the predicate (see CPComparisonPredicateOptions for possible values). + @return A row template initialized using the given arguments. +*/ +- (id)initWithLeftExpressions:(CPArray )leftExpressions rightExpressionAttributeType:(CPAttributeType)attributeType modifier:(CPComparisonPredicateModifier)modifier operators:(CPArray )operators options:(int)options +{ + self = [super init]; + if (self != nil) + { + var leftView = [self _viewFromExpressions:leftExpressions], + middleView = [self _viewFromOperatorTypes:operators], + rightView = [self _viewFromAttributeType:attributeType]; + + _templateType = 1; + _leftIsWildcard = NO; + _rightIsWildcard = YES; + _leftAttributeType = 0; + _rightAttributeType = attributeType; + _predicateModifier = modifier; + _predicateOptions = options; + _views = [[CPArray alloc] initWithObjects:leftView, middleView, rightView]; + } + + return self; +} + +/*! + @brief Initializes and returns a row template suitable for displaying compound predicates. + @param compoundTypes An array of CPNumber objects specifying compound predicate types. See @c CPCompoundPredicateTypes for possible values. + @return A row template initialized for displaying compound predicates of the types specified by @a compoundTypes. + @discussion CPPredicateEditor contains such a template by default. +*/ +- (id)initWithCompoundTypes:(CPArray )compoundTypes +{ + self = [super init]; + if (self != nil) + { + var leftView = [self _viewFromCompoundTypes:compoundTypes], + rightView = [[CPPopUpButton alloc] init]; + + [rightView addItemWithTitle:@"of the following are true"]; + + _templateType = 2; + _leftIsWildcard = NO; + _rightIsWildcard = NO; + _rightAttributeType = 0; + _views = [[CPArray alloc] initWithObjects:leftView, rightView]; + } + return self; +} + +/*! + @name Primitive Methods +*/ + +/*! + @brief Returns a positive number if the receiver can represent a given predicate, and 0 if it cannot. + @return A positive number if the template can represent predicate, and @c 0 if it cannot. + @discussion By default, returns values in the range @c 0 to @c 1. + The highest match among all the templates determines which template is responsible for displaying the predicate. You can override this to determine which predicates your custom template handles. +*/ +- (double)matchForPredicate:(CPPredicate)predicate +{ + // How exactly this value (float 0-1) is computed ? + if ([self _templateType] == 2 && [predicate isKindOfClass:[CPCompoundPredicate class]]) + { + if ([[self compoundTypes] containsObject:[predicate compoundPredicateType]]) + return 1; + } + else if ([self _templateType] == 1 && [predicate isKindOfClass:[CPComparisonPredicate class]]) + { + if (!_leftIsWildcard && ![[self leftExpressions] containsObject:[predicate leftExpression]]) + return 0; + + if (![[self operators] containsObject:[predicate predicateOperatorType]]) + return 0; + + if (!_rightIsWildcard && ![[self rightExpressions] containsObject:[predicate rightExpression]]) return 0; + + return 1; + } + + return 0; +} + +/*! + @brief Returns the views for the receiver. + @return The views for the receiver. + @discussion Instances of CPPopUpButton are treated specially by CPPredicateEditor; their menu items are merged into a single popup button, and matching menu item titles are combined. In this way, a single tree is built from the separate templates. +*/ +- (CPArray)templateViews +{ + return _views; +} + +/*! + @brief Sets the value of the views according to the given predicate. + @param predicate The predicate value for the receiver. + @discussion This method is only called if -#matchForPredicate: returned a positive value for the receiver. + + You can override this to set the values of custom views. +*/ +- (void)setPredicate:(CPPredicate)predicate +{ + if (_templateType == 2) + [self _setCompoundPredicate:predicate]; + else + [self _setComparisonPredicate:predicate]; +} + +/*! + @brief Returns the subpredicates that should be made sub-rows of a given predicate. + @param predicate A predicate object. + @return The subpredicates that should be made sub-rows of @a predicate. For compound predicates (instances of CPCompoundPredicate), the array of subpredicates; for other types of predicate, returns @c nil. If a template represents a predicate in its entirety, or if the predicate has no subpredicates, returns @c nil. + @discussion You can override this method to create custom templates that handle complicated compound predicates. +*/ +- (CPArray)displayableSubpredicatesOfPredicate:(CPPredicate)predicate +{ + if ([predicate isKindOfClass:[CPCompoundPredicate class]]) + { + var subpredicates = [predicate subpredicates]; + if ([subpredicates count] == 0) + return nil; + + return subpredicates; + } + + return nil; +} + +/*! + @brief Returns the predicate represented by the receiver’s views' values and the given sub-predicates. + @param subpredicates An array of predicates. + @return The predicate represented by the values of the template's views and the given @a subpredicates. You can override this method to return the predicate represented by your custom views. + @discussion This method is only called if -#matchForPredicate: returned a positive value for the receiver. + + You can override this method to return the predicate represented by a custom view. +*/ +- (CPPredicate)predicateWithSubpredicates:(CPArray)subpredicates +{ + if (_templateType == 2) + { + var type = [[_views[0] selectedItem] representedObject]; + return [[CPCompoundPredicate alloc] initWithType:type subpredicates:subpredicates]; + } + + if (_templateType == 1) + { + var lhs = [self _leftExpression], + rhs = [self _rightExpression], + operator = [[_views[1] selectedItem] representedObject]; + + return [CPComparisonPredicate predicateWithLeftExpression:lhs + rightExpression:rhs + modifier:[self modifier] + type:operator + options:[self options]]; + } + + return nil; +} + +/*! + @name Information About a Row Template +*/ + +/*! + @brief Returns the left hand expressions for the receiver. + @return The left hand expressions for the receiver. +*/ +- (CPArray)leftExpressions +{ + if (_templateType ==1 && !_leftIsWildcard) + { + var view = [_views objectAtIndex:0]; + return [[view itemArray] valueForKey:@"representedObject"]; + } + + return nil; +} + +/*! + @brief Returns the right hand expressions for the receiver. + @return The right hand expressions for the receiver. +*/ +- (CPArray)rightExpressions +{ + if (_templateType == 1 && !_rightIsWildcard) + { + var view = [_views objectAtIndex:2]; + return [[view itemArray] valueForKey:@"representedObject"]; + } + + return nil; +} + +/*! + @brief Returns the compound predicate types for the receiver. + @return An array of CPNumber objects specifying compound predicate types. See @c CompoundPredicateTypes for possible values. +*/ +- (CPArray)compoundTypes +{ + if (_templateType == 2) + { + var view = [_views objectAtIndex:0]; + return [[view itemArray] valueForKey:@"representedObject"]; + } + + return nil; +} + +/*! + @brief Returns the comparison predicate modifier for the receiver. + @return The comparison predicate modifier for the receiver. +*/ +- (CPComparisonPredicateModifier)modifier +{ + if (_templateType == 1) + return _predicateModifier; + + return nil; +} + +/*! + @brief Returns Returns the array of operators for the receiver. + @return The array of operators for the receiver. +*/ +- (CPArray)operators +{ + if (_templateType == 1) + { + var view = [_views objectAtIndex:1]; + return [[view itemArray] valueForKey:@"representedObject"]; + } + + return nil; +} + +/*! + @brief Returns the comparison predicate options for the receiver. + @return The comparison predicate options for the receiver. See @c CPComparisonPredicateOptions for possible values. Returns @c 0 if this does not apply (for example, for a compound template initialized with -#initWithCompoundTypes:). +*/ +- (int)options +{ + if (_templateType == 1) + return _predicateOptions; + + return nil; +} + +/*! + @brief Returns the attribute type of the receiver’s right expression. + @return The attribute type of the receiver’s right expression. +*/ +- (CPAttributeType)rightExpressionAttributeType +{ + return _rightAttributeType; +} + +/*! + @brief Returns the attribute type of the receiver’s left expression. + @return The attribute type of the receiver’s left expression. +*/ +- (CPAttributeType)leftExpressionAttributeType +{ + return _leftAttributeType; +} + +/*! @cond */ ++ (id)_bestMatchForPredicate:(CPPredicate)predicate inTemplates:(CPArray)templates quality:(double)quality +{ + var count = [templates count], + match_value = 0, + templateIndex = CPNotFound, + i; + + for (i = 0; i < count; i++) + { + var template = [templates objectAtIndex:i], + amatch = [template matchForPredicate:predicate]; + + if (amatch > match_value) + { + templateIndex = i; + match_value = amatch; + } + } + + if (templateIndex == CPNotFound) + { + [CPException raise:CPRangeException reason:@"Unable to find template matching predicate: " + [predicate predicateFormat]]; + return nil; + } + + return [templates objectAtIndex:templateIndex]; +} + +- (void)_setCompoundPredicate:(CPCompoundPredicate)predicate +{ + var left = [_views objectAtIndex:0], + type = [predicate compoundPredicateType], + index = [left indexOfItemWithRepresentedObject:type]; + + [left selectItemAtIndex:index]; +} + +- (void)_setComparisonPredicate:(CPComparisonPredicate)predicate +{ + var left = [_views objectAtIndex:0], + middle = [_views objectAtIndex:1], + right = [_views objectAtIndex:2], + leftExpression = [predicate leftExpression], + rightExpression = [predicate rightExpression], + operator = [predicate predicateOperatorType]; + + if (_leftIsWildcard) + [left setObjectValue:[leftExpression constantValue]]; + else + { + var index = [left indexOfItemWithRepresentedObject:leftExpression]; + [left selectItemAtIndex:index]; + } + + var op_index = [middle indexOfItemWithRepresentedObject:operator]; + [middle selectItemAtIndex:op_index]; + + if (_rightIsWildcard) + [right setObjectValue:[rightExpression constantValue]]; + else + { + var index = [right indexOfItemWithRepresentedObject:rightExpression]; + [right selectItemAtIndex:index]; + } +} + +- (CPExpression)_leftExpression +{ + return [self _expressionFromView:_views[0] forAttributeType:_leftAttributeType]; +} + +- (CPExpression)_rightExpression +{ + return [self _expressionFromView:_views[2] forAttributeType:_rightAttributeType]; +} + +- (CPExpression)_expressionFromView:(CPView)aView forAttributeType:(CPAttributeType)attributeType +{ + if (attributeType == 0) + return [[aView selectedItem] representedObject]; + + var value; + if (attributeType >= CPInteger16AttributeType && attributeType <= CPFloatAttributeType) + value = [aView intValue]; + else if (attributeType == CPBooleanAttributeType) + value = [aView state]; + else + value = [aView stringValue]; + + return [CPExpression expressionForConstantValue:value]; +} + +- (int)_rowType +{ + return (_templateType - 1); +} + +- (id)copy +{ + var t = [[CPPredicateEditorRowTemplate alloc] init], + views; + + [t _setTemplateType:_templateType]; + [t _setOptions:_predicateOptions]; + [t _setModifier:_predicateModifier]; + [t _setLeftAttributeType:_leftAttributeType]; + [t _setRightAttributeType:_rightAttributeType]; + [t setLeftIsWildcard:_leftIsWildcard]; + [t setRightIsWildcard:_rightIsWildcard]; + + if (_templateType == 2) + { + var left = [self _viewFromCompoundTypes:[self compoundTypes]], + right = [_views objectAtIndex:1]; + views = [CPArray arrayWithObjects:left,right]; + } + else if (_templateType == 1) + { + var left = [self _viewFromExpressions:[self leftExpressions]], + middle = [self _viewFromOperatorTypes:[self operators]], + right; + + if (_rightIsWildcard == YES) + right = [self _viewFromAttributeType:_rightAttributeType]; + else + right = [self _viewFromExpressions:[self rightExpressions]]; + + views = [CPArray arrayWithObjects:left,middle,right]; + } + + var count = [views count]; + while (count--) + [views[count] setObjectValue:[_views[count] objectValue]]; + + [t setTemplateViews:views]; + + return t; +} + ++ (id)_operatorsForAttributeType:(CPAttributeType)attributeType +{ + var operators_array = [CPMutableArray array]; + + switch (attributeType) + { + case CPInteger16AttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + case CPInteger32AttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + case CPInteger64AttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + case CPDecimalAttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + case CPDoubleAttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + case CPFloatAttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + case CPStringAttributeType : [operators_array addObjects:99,4,5,8,9]; + break; + case CPBooleanAttributeType : [operators_array addObjects:4,5]; + break; + case CPDateAttributeType : [operators_array addObjects:4,5,0,2,1,3]; + break; + default : CPLogConsole("Cannot create operators for an CPAttributeType " + attributeType); + break; + } + + return operators_array; +} + +- (int)_templateType +{ + return _templateType; +} + +- (id)_displayValueForPredicateOperator:(int)operator +{ + var value; + + switch (operator) + { + case CPLessThanPredicateOperatorType : value = @"is less than"; + break; + case CPLessThanOrEqualToPredicateOperatorType : value = @"is less than or equal to"; + break; + case CPGreaterThanPredicateOperatorType : value = @"is greater than"; + break; + case CPGreaterThanOrEqualToPredicateOperatorType : value = @"is greater than or equal to"; + break; + case CPEqualToPredicateOperatorType : value = @"is"; + break; + case CPNotEqualToPredicateOperatorType : value = @"is not"; + break; + case CPMatchesPredicateOperatorType : value = @"matches"; + break; + case CPLikePredicateOperatorType : value = @"is like"; + break; + case CPBeginsWithPredicateOperatorType : value = @"begins with"; + break; + case CPEndsWithPredicateOperatorType : value = @"ends with"; + break; + case CPInPredicateOperatorType : value = @"in"; + break; + case CPContainsPredicateOperatorType : value = @"contains"; + break; + case CPBetweenPredicateOperatorType : value = @"between"; + break; + default : CPLogConsole(@"unknown predicate operator %d" + operator); + } + + return value; +} + +- (id)_displayValueForCompoundPredicateType:(unsigned int)predicateType +{ + var value; + switch (predicateType) + { + case CPNotPredicateType: value = @"None"; + break; + case CPAndPredicateType: value = @"All"; + break; + case CPOrPredicateType: value = @"Any"; + break; + default : value = [CPString stringWithFormat:@"unknown compound predicate type %d",predicateType]; + } + + return value; +} + +- (id)_displayValueForConstantValue:(id)value +{ + return [value description]; // number, date, string, ... localize +} + +- (id)_displayValueForKeyPath:(CPString)keyPath +{ + return keyPath; // localize +} + +- (CPPopUpButton)_viewFromExpressions:(CPArray)expressions +{ + var popup = [[CPPopUpButton alloc] initWithFrame:CPMakeRect(0, 0, 100, 18)], + count = [expressions count]; + + for (var i = 0; i < count; i++) + { + var exp = expressions[i], + type = [exp expressionType], + title; + + switch (type) + { + case CPKeyPathExpressionType: title = [self _displayValueForKeyPath:[exp keyPath]]; + break; + case CPConstantValueExpressionType: title = [self _displayValueForConstantValue:[exp constantValue]]; + break; + default: [CPException raise:CPInvalidArgumentException reason:@"Invalid Expression type " + type]; + break; + } + + var item = [[CPMenuItem alloc] initWithTitle:title action:nil keyEquivalent:@""]; + [item setRepresentedObject:exp]; + [popup addItem:item]; + } + + [popup sizeToFit]; + + return popup; +} + +- (CPPopUpButton)_viewFromOperatorTypes:(CPArray)operators +{ + var popup = [[CPPopUpButton alloc] initWithFrame:CGRectMake(0, 0, 100, 18)], + count = [operators count]; + + for (var i = 0; i < count; i++) + { + var op = operators[i], + title = [self _displayValueForPredicateOperator:op], + item = [[CPMenuItem alloc] initWithTitle:title action:nil keyEquivalent:@""]; + + [item setRepresentedObject:op]; + [popup addItem:item]; + } + + [popup sizeToFit]; + + return popup; +} + +- (CPView)_viewFromCompoundTypes:(CPArray)compoundTypes +{ + var popup = [[CPPopUpButton alloc] initWithFrame:CGRectMake(0, 0, 100, 18)], + count = [compoundTypes count]; + + for (var i = 0; i < count; i++) + { + var type = compoundTypes[i], + title = [self _displayValueForCompoundPredicateType:type], + item = [[CPMenuItem alloc] initWithTitle:title action:nil keyEquivalent:@""]; + + [item setRepresentedObject:type]; + [popup addItem:item]; + } + + [popup sizeToFit]; + + return popup; +} + +- (CPView)_viewFromAttributeType:(CPAttributeType)attributeType +{ + var view; + + if (attributeType >= CPInteger16AttributeType && attributeType <= CPFloatAttributeType) + { + view = [self _textFieldWithFrame:CGRectMake(0,0,50,26)]; + } + else if (attributeType == CPStringAttributeType) + { + view = [self _textFieldWithFrame:CGRectMake(0,0,150,26)]; + } + else if (attributeType == CPBooleanAttributeType) + { + view = [[CPCheckBox alloc] initWithFrame:CGRectMake(0,0,50,26)]; + } + else if (attributeType == CPDateAttributeType) + view = [[CPDatePicker alloc] initWithFrame:CGRectMake(0,0,150,26)]; + else + return nil; + + [view setTag:attributeType]; + + return view; +} + +- (CPTextField)_textFieldWithFrame:(CGRect)frame +{ + var textField = [[CPTextField alloc] initWithFrame:frame]; + [textField setBezeled:YES]; + [textField setBezelStyle:CPTextFieldSquareBezel]; + [textField setBordered:YES]; + [textField setEditable:YES]; + [textField setFont:[CPFont systemFontOfSize:10]]; + + return textField; +} + +- (void)_setOptions:(unsigned int)options +{ + _predicateOptions = options; +} + +- (void)_setModifier:(unsigned int)modifier +{ + _predicateModifier = modifier; +} + +- (CPString)description +{ + if (_templateType == 2) + return [CPString stringWithFormat:@"<%@ %p %@>",[self className],self,[[self compoundTypes] componentsJoinedByString:@", "]]; + else if (_templateType == 1 && _rightIsWildcard) + return [CPString stringWithFormat:@"<%@ %p [%@] [%@] %d>",[self className],self,[[self leftExpressions] componentsJoinedByString:@", "],[[self operators] componentsJoinedByString:@", "],[self rightExpressionAttributeType]]; + else + return [CPString stringWithFormat:@"<%@ %p [%@] [%@] [%@]>",[self className],self,[[self leftExpressions] componentsJoinedByString:@", "],[[self operators] componentsJoinedByString:@", "],[[self rightExpressions] componentsJoinedByString:@", "]]; +} + +/* +- (void)_setLeftExpressionObject:(id)object +{ +} +- (void)_setRightExpressionObject:(id)object +{ +} +- (BOOL)_predicateIsNoneAreTrue:(id)predicate +{ +} +- (id)_viewFromExpressionObject:(id)object +{ +} +*/ +@end + +var CPPredicateTemplateTypeKey = @"CPPredicateTemplateType", + CPPredicateTemplateOptionsKey = @"CPPredicateTemplateOptions", + CPPredicateTemplateModifierKey = @"CPPredicateTemplateModifier", + CPPredicateTemplateLeftAttributeTypeKey = @"CPPredicateTemplateLeftAttributeType", + CPPredicateTemplateRightAttributeTypeKey = @"CPPredicateTemplateRightAttributeType", + CPPredicateTemplateLeftIsWildcardKey = @"CPPredicateTemplateLeftIsWildcard", + CPPredicateTemplateRightIsWildcardKey = @"CPPredicateTemplateRightIsWildcard", + CPPredicateTemplateViewsKey = @"CPPredicateTemplateViews"; + +@implementation CPPredicateEditorRowTemplate (CPCoding) + +- (id)initWithCoder:(CPCoder)coder +{ + self = [super init]; + if (self != nil) + { + _templateType = [coder decodeIntForKey:CPPredicateTemplateTypeKey]; + _predicateOptions = [coder decodeIntForKey:CPPredicateTemplateOptionsKey]; + _predicateModifier = [coder decodeIntForKey:CPPredicateTemplateModifierKey]; + _leftAttributeType = [coder decodeIntForKey:CPPredicateTemplateLeftAttributeTypeKey]; + _rightAttributeType = [coder decodeIntForKey:CPPredicateTemplateRightAttributeTypeKey]; + _leftIsWildcard = [coder decodeBoolForKey:CPPredicateTemplateLeftIsWildcardKey]; + _rightIsWildcard = [coder decodeBoolForKey:CPPredicateTemplateRightIsWildcardKey]; + _views = [coder decodeObjectForKey:CPPredicateTemplateViewsKey]; + } + return self; +} + +- (void)encodeWithCoder:(CPCoder)coder +{ + [coder encodeInt:_templateType forKey:CPPredicateTemplateTypeKey]; + [coder encodeInt:_predicateOptions forKey:CPPredicateTemplateOptionsKey]; + [coder encodeInt:_predicateModifier forKey:CPPredicateTemplateModifierKey]; + [coder encodeInt:_leftAttributeType forKey:CPPredicateTemplateLeftAttributeTypeKey]; + [coder encodeInt:_rightAttributeType forKey:CPPredicateTemplateRightAttributeTypeKey]; + [coder encodeBool:_leftIsWildcard forKey:CPPredicateTemplateLeftIsWildcardKey]; + [coder encodeBool:_rightIsWildcard forKey:CPPredicateTemplateRightIsWildcardKey]; + [coder encodeObject:_views forKey:CPPredicateTemplateViewsKey]; +} + +@end +/*! @endcond */ \ No newline at end of file diff --git a/AppKit/CPRuleEditor/CPRuleEditor.j b/AppKit/CPRuleEditor/CPRuleEditor.j new file mode 100644 index 000000000..2121af3e5 --- /dev/null +++ b/AppKit/CPRuleEditor/CPRuleEditor.j @@ -0,0 +1,2531 @@ +/* + * CPRuleEditor.j + * AppKit + * + * Created by cacaodev. + * Copyright 2011, cacaodev. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import +@import +@import +@import +@import +@import +@import + +@import "_CPRuleEditorViewSliceRow.j" +@import "_CPRuleEditorLocalizer.j" + +CPRuleEditorPredicateLeftExpression = "CPRuleEditorPredicateLeftExpression"; +CPRuleEditorPredicateRightExpression = "CPRuleEditorPredicateRightExpression"; +CPRuleEditorPredicateComparisonModifier = "CPRuleEditorPredicateComparisonModifier"; +CPRuleEditorPredicateOptions = "CPRuleEditorPredicateOptions"; +CPRuleEditorPredicateOperatorType = "CPRuleEditorPredicateOperatorType"; +CPRuleEditorPredicateCustomSelector = "CPRuleEditorPredicateCustomSelector"; +CPRuleEditorPredicateCompoundType = "CPRuleEditorPredicateCompoundType"; + +CPRuleEditorRowsDidChangeNotification = "CPRuleEditorRowsDidChangeNotification"; +CPRuleEditorRulesDidChangeNotification = "CPRuleEditorRulesDidChangeNotification"; + +CPRuleEditorNestingModeSingle = 0; // Only a single row is allowed. Plus/minus buttons will not be shown +CPRuleEditorNestingModeList = 1; // Allows a single list, with no nesting and no compound rows +CPRuleEditorNestingModeCompound = 2; // Unlimited nesting and compound rows; this is the default +CPRuleEditorNestingModeSimple = 3; // One compound row at the top with subrows beneath it, and no further nesting allowed + +CPRuleEditorRowTypeSimple = 0; +CPRuleEditorRowTypeCompound = 1; + +var CPRuleEditorItemPBoardType = @"CPRuleEditorItemPBoardType"; + +var itemsContext = "items", + valuesContext = "values", + subrowsContext = "subrows_array", + boundArrayContext = "bound_array"; + +/*! + @ingroup appkit + @class CPRuleEditor + + @brief A view for creating and configuring criteria. + + A CPRuleEditor object is a view that allows the user to visually create and configure a list of options which are expressed by the rule editor as a predicate (see Predicate documentation). The view has a delegate which offers a tree of choices to the view. The choices are presented by the view to the user as a row of popup buttons, static text fields, and custom views. Each row in the list represents a particular path down the tree of choices. + + CPRuleEditor exposes one binding, rows. You can bind rows to an ordered collection (such as an instance of CPMutableArray). Each object in the collection should have the following properties: + @n @n + @c @@"rowType" + @n An integer representing the type of the row (CPRuleEditorRowType). + @n@n @c @@"subrows" + @n An ordered to-many relation (such as an instance of CPMutableArray) containing the directly nested subrows for the given row. + @n@n @c @@"displayValues" + @n An ordered to-many relation containing the display values for the row. + @n@n @c @@"criteria" + @n An ordered to-many relation containing the criteria for the row. +*/ + +@implementation CPRuleEditor : CPControl +{ + BOOL _suppressKeyDownHandling; + BOOL _allowsEmptyCompoundRows; + BOOL _disallowEmpty; + BOOL _delegateWantsValidation; + BOOL _editable; + + Class _rowClass; + + CPIndexSet _draggingRows; + CPInteger _subviewIndexOfDropLine; + CPView _dropLineView; + + CPMutableArray _rowCache; + CPMutableArray _slices; + + CPPredicate _predicate; + + CPString _itemsKeyPath; + CPString _subrowsArrayKeyPath; + CPString _typeKeyPath; + CPString _valuesKeyPath; + CPString _boundArrayKeyPath @accessors(property=boundArrayKeyPath); + + CPView _slicesHolder; + CPViewAnimation _currentAnimation; + + CPInteger _lastRow; + CPInteger _nestingMode; + + float _alignmentGridWidth; + float _sliceHeight; + + id _ruleDataSource; + id _ruleDelegate; + id _boundArrayOwner; + + CPString _stringsFilename; + + BOOL _isKeyDown; + BOOL _nestingModeDidChange; + + id _standardLocalizer @accessors(property=standardLocalizer); + id _itemsAndValuesToAddForRowType; +} + +/*! @cond */ + ++ (CPString)defaultThemeClass +{ + return @"rule-editor"; +} + ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null]] + forKeys:[@"alternating-row-colors", @"selected-color", @"slice-top-border-color", @"slice-bottom-border-color", @"slice-last-bottom-border-color", @"font", @"add-image", @"remove-image"]]; +} + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self != nil) + { + _slices = [[CPMutableArray alloc] init]; + + _sliceHeight = 26.; + _nestingMode = CPRuleEditorNestingModeSimple; // 10.5 default is CPRuleEditorNestingModeCompound + _editable = YES; + _allowsEmptyCompoundRows = NO; + _disallowEmpty = NO; + + [self setCriteriaKeyPath:@"criteria"]; + [self setSubrowsKeyPath:@"subrows"]; + [self setRowTypeKeyPath:@"rowType"]; + [self setDisplayValuesKeyPath:@"displayValues"]; + [self setBoundArrayKeyPath:@"boundArray"]; + + _slicesHolder = [[_CPRuleEditorViewSliceHolder alloc] initWithFrame:[self bounds]]; + [_slicesHolder setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; + [self addSubview:_slicesHolder]; + + _boundArrayOwner = [[_CPRuleEditorViewUnboundRowHolder alloc] init]; + + [self _initRuleEditorShared]; + } + + return self; +} + +- (void)_initRuleEditorShared +{ + _rowCache = [[CPMutableArray alloc] init]; + _rowClass = [RowObject class]; + _isKeyDown = NO; + _subviewIndexOfDropLine = CPNotFound; + _lastRow = 0; + _delegateWantsValidation = YES; + _suppressKeyDownHandling = NO; + _nestingModeDidChange = NO; + _itemsAndValuesToAddForRowType = {}; + var animation = [[CPViewAnimation alloc] initWithDuration:0.5 animationCurve:CPAnimationEaseInOut]; + [self setAnimation:animation]; + + _dropLineView = [self _createSliceDropSeparator]; + [_slicesHolder addSubview:_dropLineView]; + + [self registerForDraggedTypes:[CPArray arrayWithObjects:CPRuleEditorItemPBoardType,nil]]; + [_boundArrayOwner addObserver:self forKeyPath:_boundArrayKeyPath options:CPKeyValueObservingOptionOld|CPKeyValueObservingOptionNew context:boundArrayContext]; +} + +/*! @endcond */ + +/*! + @name Configuring a Rule Editor +*/ + +/*! + @brief Returns the receiver’s delegate. + @return The receiver’s delegate. + @see setDelegate: +*/ +- (id)delegate +{ + return _ruleDelegate; +} + +/*! + @brief Sets the receiver’s delegate. + @param aDelegate The delegate for the receiver. + @discussion CPRuleEditor requires a delegate that implements the required delegate methods to function. + @see delegate +*/ +- (void)setDelegate:(id)aDelegate +{ + if (_ruleDelegate === aDelegate) + return; + + var nc = [CPNotificationCenter defaultCenter]; + if (_ruleDelegate) + [nc removeObserver:_ruleDelegate name:nil object:self]; + + _ruleDelegate = aDelegate; + + if ([_ruleDelegate respondsToSelector:@selector(ruleEditorRowsDidChange:)]) + [nc addObserver:_ruleDelegate selector:@selector(ruleEditorRowsDidChange:) name:CPRuleEditorRowsDidChangeNotification object:nil]; +} +/*! + @brief Returns a Boolean value that indicates whether the receiver is editable. + @return @c YES if the receiver is editable, otherwise @c NO. + @discussion The default is @c YES. + @see setEditable: +*/ +- (BOOL)isEditable +{ + return _editable; +} + +/*! + @brief Sets whether the receiver is editable. + @param editable @c YES if the receiver is editable, otherwise @c NO. + @see isEditable: +*/ +- (void)setEditable:(BOOL)editable +{ + if (editable == _editable) + return; + + _editable = editable; + + if (!_editable) + [self _deselectAll]; + + [_slices makeObjectsPerformSelector:@selector(setEditable:) withObject:_editable]; +} + +/*! + @brief Returns the nesting mode for the receiver. + @return The nesting mode for the receiver. + @see setNestingMode: +*/ +- (CPRuleEditorNestingMode)nestingMode +{ + return _nestingMode; +} + +/*! + @brief Sets the nesting mode for the receiver. + @param mode The nesting mode for the receiver. + @discussion You typically set the nesting mode at view creation time and do not subsequently modify it. The default is @c CPRuleEditorNestingModeSimple. + @see nestingMode + @note Currently CPRuleEditorNestingModeCompound is experimental. +*/ +- (void)setNestingMode:(CPRuleEditorNestingMode)mode +{ + if (mode != _nestingMode) + { + _nestingMode = mode; + if ([self numberOfRows] > 0) + _nestingModeDidChange = YES; + } +} + +/*! + @brief Returns a Boolean value that indicates whether all the rows can be removed. + @return @c YES if all the rows can be removed, otherwise @c NO. + @see setCanRemoveAllRows: +*/ +- (BOOL)canRemoveAllRows +{ + return !_disallowEmpty; +} + +/*! + @brief Sets whether all the rows can be removed. + @param canRemove @c YES if all the rows can be removed, otherwise @c NO. + @see canRemoveAllRows +*/ +- (void)setCanRemoveAllRows:(BOOL)canRemove +{ + _disallowEmpty = !canRemove; + [self _updateButtonVisibilities]; +} + +/*! + @brief Returns a Boolean value that indicates whether compounds rows can be childless. + @return @c YES if compounds rows can be childless, otherwise @c NO. + @see setAllowsEmptyCompoundRows: +*/ +- (BOOL)allowsEmptyCompoundRows +{ + return _allowsEmptyCompoundRows; +} + +/*! + @brief Sets whether compounds rows can be childless. + @param allows @c YES if compounds rows can be childless, otherwise @c NO. + @see allowsEmptyCompoundRows +*/ +- (void)setAllowsEmptyCompoundRows:(BOOL)allows +{ + _allowsEmptyCompoundRows = allows; + [self _updateButtonVisibilities]; +} + +/*! + @brief Returns the row height for the receiver. + @return The row height for the receiver. + @see setRowHeight: +*/ +- (CPInteger)rowHeight +{ + return _sliceHeight; +} + +/*! + @brief Sets the row height for the receiver. + @param height The row height for the receiver. + @see rowHeight +*/ +- (void)setRowHeight:(float)height +{ + if (height == _sliceHeight) + return; + + _sliceHeight = MAX([self _minimumFrameHeight], height); + [self _reconfigureSubviewsAnimate:NO]; +} + +/*! + @name Working with Formatting +*/ + +/*! + @brief Returns the formatting dictionary for the receiver. + @return The formatting dictionary for the receiver. + @see setFormattingDictionary: + @see setFormattingStringsFilename: +*/ +- (CPDictionary)formattingDictionary +{ + return [_standardLocalizer dictionary]; +} + +/*! + @brief Sets the formatting dictionary for the receiver. + @param dictionary The formatting dictionary for the receiver. + @discussion If you set the formatting dictionary with this method, it sets the current formatting strings file name to @c nil. + @see formattingDictionary + @see formattingStringsFilename +*/ +- (void)setFormattingDictionary:(CPDictionary)dictionary +{ + [_standardLocalizer setDictionary:dictionary]; + _stringsFilename = nil; +} + +/*! + @brief Returns the name of the strings file for the receiver. + @return The name of the strings file for the receiver. + @see setFormattingStringsFilename: +*/ +- (CPString)formattingStringsFilename +{ + return _stringsFilename; +} + +/*! + @brief Sets the name of the strings file used for formatting. + @param stringsFilename The name of the strings file for the receiver. + @discussion CPRuleEditor looks for a strings file with the given name in the main bundle and (if appropriate) the bundle containing the nib file from which it was loaded. If it finds a strings file resource with the given name, CPRuleEditor loads it and sets it as the formatting dictionary for the receiver. You can obtain the resulting dictionary using formattingDictionary. + If you set the formatting dictionary with -#setFormattingDictionary:, it sets the current formatting strings file name nil. + @see formattingStringsFilename +*/ +- (void)setFormattingStringsFilename:(CPString)stringsFilename +{ + // Can we set _stringsFilename to nil in cocoa ? + if (_standardLocalizer == nil) + _standardLocalizer = [_CPRuleEditorLocalizer new]; + + if (_stringsFilename != stringsFilename) + { + _stringsFilename = stringsFilename; + + if (stringsFilename !== nil) + { + if (![stringsFilename hasSuffix:@".strings"]) + stringsFilename = stringsFilename + @".strings"; + var path = [[CPBundle mainBundle] pathForResource:stringsFilename]; + if (path !=nil) + [_standardLocalizer loadContentOfURL:[CPURL URLWithString:path]]; + } + } +} + +/*! + @name Providing Data +*/ + +/*! + @brief Instructs the receiver to refetch criteria from its delegate. + @discussion You can use this method to indicate that the available criteria may have changed and should be refetched from the delegate and the popups recalculated. +*/ +- (void)reloadCriteria +{ + var current_rows = [_boundArrayOwner valueForKey:_boundArrayKeyPath]; + [self _stopObservingRowObjectsRecursively:current_rows]; + [_boundArrayOwner setValue:[CPArray arrayWithArray:current_rows] forKey:_boundArrayKeyPath]; +} + +/*! + @brief Modifies the row at a given index to contain the given items and values. + @param criteria The array of criteria for the row at @a rowIndex. Pass an empty array to force the receiver to query its delegate. This value must not be nil. + @param values The array of values for the row at @a rowIndex. Pass an empty array to force the receiver to query its delegate. This value must not be @c nil. + @param rowIndex The index of a row in the receiver. + + @discussion It is your responsibility to ensure that each item in the array is a child of the previous item, and that the first item is a root item for the row type. If the last item has child items, then the items array will be extended by querying the delegate for child items until a childless item is reached. +*/ +- (void)setCriteria:(CPArray)criteria andDisplayValues:(CPArray)values forRowAtIndex:(int)rowIndex +{ +// TODO: reload from the delegate if criteria is an empty array. + if (criteria == nil || values == nil) + [CPException raise:CPInvalidArgumentException reason:_cmd + @". criteria and values parameters must not be nil."]; + + if (rowIndex < 0 || rowIndex >= [self numberOfRows]) + [CPException raise:CPRangeException reason:_cmd + @". rowIndex is out of bounds."]; + + var rowObject = [[self _rowCacheForIndex:rowIndex] rowObject]; + + [rowObject setValue:criteria forKey:_itemsKeyPath]; + [rowObject setValue:values forKey:_valuesKeyPath]; + + [self reloadCriteria]; +} + +/*! + @brief Returns the currently chosen items for a given row. + @param row The index of a row in the receiver. + @return The currently chosen items for row @a row. +*/ +- (id)criteriaForRow:(int)row +{ + var rowcache = [self _rowCacheForIndex:row]; + if (rowcache) + return [[rowcache rowObject] valueForKey:_itemsKeyPath]; + + return nil; +} + +/*! + @name Working with the Selection +*/ + +/*! + @brief Returns the chosen values for a given row. + @param row The index of a row in the receiver. + @return The chosen values (strings, views, or menu items) for row row. + @discussion The values returned are the same as those returned from the delegate method -#ruleEditor:displayValueForCriterion:inRow: +*/ +- (CPMutableArray)displayValuesForRow:(int)row +{ + var rowcache = [self _rowCacheForIndex:row]; + if (rowcache) + return [[rowcache rowObject] valueForKey:_valuesKeyPath]; + + return nil; +} + +/*! + @brief Returns the number of rows in the receiver. + @return The number of rows in the receiver. +*/ +- (int)numberOfRows +{ + return [_slices count]; +} + +/*! + @brief Returns the index of the parent of a given row. + @param rowIndex The index of a row in the receiver. + @return The index of the parent of the row at @a rowIndex. If the row at @a rowIndex is a root row, returns @c -1. +*/ +- (int)parentRowForRow:(int)rowIndex +{ + if (rowIndex < 0 || rowIndex >= [self numberOfRows]) + [CPException raise:CPRangeException reason:_cmd+@" row " + rowIndex + " is out of range"]; + + var targetObject = [[self _rowCacheForIndex:rowIndex] rowObject]; + + for (var current_index = 0; current_index < rowIndex; current_index++) + { + if ([self rowTypeForRow:current_index] == CPRuleEditorRowTypeCompound) + { + var candidate = [[self _rowCacheForIndex:current_index] rowObject], + subObjects = [[self _subrowObjectsOfObject:candidate] _representedObject]; + + if ([subObjects indexOfObjectIdenticalTo:targetObject] != CPNotFound) + return current_index; + } + } + + return -1; +} + +/* +TODO: implement + Returns the index of the row containing a given value. + + displayValue The display value (string, view, or menu item) of an item in the receiver. This value must not be nil. + + The index of the row containing displayValue, or CPNotFound. + + This method searches each row via objects equality for the given display value, which may be present as an alternative in a popup menu for that row. + +- (CPInteger)rowForDisplayValue:(id)displayValue +*/ + +/*! + @brief Returns the type of a given row. + @param rowIndex The index of a row in the receiver. + @return The type of the row at @a rowIndex. + @warning Raises a @c CPRangeException if rowIndex is less than @c 0 or greater than or equal to the number of rows. +*/ +- (CPRuleEditorRowType)rowTypeForRow:(int)rowIndex +{ + if (rowIndex < 0 || rowIndex > [self numberOfRows]) + [CPException raise:CPRangeException reason:_cmd+@"row " + rowIndex + " is out of range"]; + + var rowcache = [self _rowCacheForIndex:rowIndex]; + if (rowcache) + { + var rowobject = [rowcache rowObject]; + return [rowobject valueForKey:_typeKeyPath]; + } + + return CPNotFound; +} + +/*! + @brief Returns the immediate subrows of a given row. + @param rowIndex The index of a row in the receiver, or @c -1 to get the top-level rows. + @return The immediate subrows of the row at @a rowIndex. + @discussion Rows are numbered starting at @c 0. +*/ +- (CPIndexSet)subrowIndexesForRow:(int)rowIndex +{ + var object; + if (rowIndex == -1) + object = _boundArrayOwner; + else + object = [[self _rowCacheForIndex:rowIndex] rowObject]; + + var subobjects = [self _subrowObjectsOfObject:object], + objectsCount = [subobjects count], + indexes = [CPMutableIndexSet indexSet], + count = [self numberOfRows]; + + for (var i = rowIndex + 1; i < count; i++) + { + var candidate = [[self _rowCacheForIndex:i] rowObject], + indexInSubrows = [[subobjects _representedObject] indexOfObjectIdenticalTo:candidate]; + + if (indexInSubrows != CPNotFound) + { + [indexes addIndex:i]; + objectsCount --; + // [buffer removeObjectAtIndex:indexInSubrows]; + if ([self rowTypeForRow:i] == CPRuleEditorRowTypeCompound) + i += [[self subrowIndexesForRow:i] count]; + } + + if (objectsCount == 0) + break; + } + + return indexes; +} + +/*! + @brief Returns the indexes of the receiver’s selected rows. + @return The indexes of the receiver’s selected rows. +*/ +- (CPIndexSet)selectedRowIndexes +{ + return [self _selectedSliceIndices]; +} + +/*! + @brief Sets in the receiver the indexes of rows that are selected. + @param indexes The indexes of rows in the receiver to select. + @param extend If @c NO, the selected rows are specified by indexes. If @c YES, the rows indicated by indexes are added to the collection of already selected rows, providing multiple selection. +*/ +- (void)selectRowIndexes:(CPIndexSet)indexes byExtendingSelection:(BOOL)extend +{ + var count = [_slices count], + lastSelected = [indexes lastIndex]; + + if (lastSelected >= [self numberOfRows]) + [CPException raise:CPRangeException reason:@"row indexes " + indexes + " are out of range"]; + + if (!extend) + [self _deselectAll]; + + while (count--) + { + var slice = _slices[count], + rowIndex = [slice rowIndex], + contains = [indexes containsIndex:rowIndex]; + shouldSelect = (contains && !(extend && [slice _isSelected])); + + if (contains) + [slice _setSelected:shouldSelect]; + [slice _setLastSelected:(rowIndex == lastSelected)]; + [slice setNeedsDisplay:YES]; + } +} + +/*! + @name Manipulating Rows +*/ + +/*! + @brief Adds a row to the receiver. + @param sender Typically the object that sent the message. + @see insertRowAtIndex:withType:asSubrowOfRow:animate: +*/ +- (void)addRow:(id)sender +{ + var parentRowIndex = -1, + rowtype, + numberOfRows = [self numberOfRows], + hasRows = (numberOfRows > 0), + nestingMode = [self _applicableNestingMode]; + + switch (nestingMode) + { + case CPRuleEditorNestingModeSimple: + rowtype = hasRows ? CPRuleEditorRowTypeSimple : CPRuleEditorRowTypeCompound; + if (hasRows) + parentRowIndex = 0; + break; + case CPRuleEditorNestingModeSingle: + if (hasRows) + return; + case CPRuleEditorNestingModeList: + rowtype = CPRuleEditorRowTypeSimple; + break; + case CPRuleEditorNestingModeCompound: + rowtype = CPRuleEditorRowTypeCompound; + if (hasRows) + parentRowIndex = 0; + break; + default: + [CPException raise:CPInvalidArgumentException reason:@"Not supported CPRuleEditorNestingMode " + nestingMode]; + // Compound mode: parentRowIndex=(lastRowType == CPRuleEditorRowTypeCompound)?lastRow :[self parentRowForRow:lastRow]; break; + } + + [self insertRowAtIndex:numberOfRows withType:rowtype asSubrowOfRow:parentRowIndex animate:YES]; +} + +/*! + @brief Adds a new row of a given type at a given location. + @param rowIndex The index at which the new row should be inserted. @a rowIndex must be greater than @a parentRow, and much specify a row that does not fall amongst the children of some other parent. + @param rowType The type of the new row. + @param parentRow The index of the row of which the new row is a child. Pass -1 to indicate that the new row should be a root row. + @param shouldAnimate @c YES if creation of the new row should be animated, otherwise @c NO. + @note Currently, @a shouldAnimate has no effect, rows are always animated when calling this method. + @see addRow: +*/ +- (void)insertRowAtIndex:(int)rowIndex withType:(unsigned int)rowType asSubrowOfRow:(int)parentRow animate:(BOOL)shouldAnimate +{ +/* + TODO: raise exceptions if parentRow is greater than or equal to rowIndex, or if rowIndex would fall amongst the children of some other parent, or if the nesting mode forbids this configuration. +*/ + var newObject = [self _insertNewRowAtIndex:rowIndex ofType:rowType withParentRow:parentRow]; + + if (rowType == CPRuleEditorRowTypeCompound && !_allowsEmptyCompoundRows) + { + var subrow = [self _insertNewRowAtIndex:(rowIndex + 1) ofType:CPRuleEditorRowTypeSimple withParentRow:rowIndex]; + } +} + +/*! + @brief Removes the row at a given index. + @param rowIndex The index of a row in the receiver. + @warning Raises a @c CPRangeException if @a rowIndex is less than @c 0 or greater than or equal to the number of rows. + @see removeRowsAtIndexes:includeSubrows: +*/ +- (void)removeRowAtIndex:(int)rowIndex +{ + // TO DO : Any subrows of the deleted row are adopted by the parent of the deleted row, or are made root rows. + + if (rowIndex < 0 || rowIndex >= [self numberOfRows]) + [CPException raise:CPRangeException reason:@"row " + rowIndex + " is out of range"]; + + [self removeRowsAtIndexes:[CPIndexSet indexSetWithIndex:rowIndex] includeSubrows:NO]; +} + +/*! + @brief Removes the rows at a given index. + @param rowIndexes Indexes of one or more rows in the receiver. + @param includeSubrows If @c YES, then sub-rows of deleted rows are also deleted; if @c NO, then each sub-row is adopted by its first non-deleted ancestor, or becomes a root row. + @warning Raises a @c CPRangeException if any index in @a rowIndexes is less than 0 or greater than or equal to the number of rows. + @see removeRowAtIndex: +*/ +- (void)removeRowsAtIndexes:(CPIndexSet)rowIndexes includeSubrows:(BOOL)includeSubrows +{ + if ([rowIndexes count] == 0) + return; + + if ([rowIndexes lastIndex] >= [self numberOfRows]) + [CPException raise:CPRangeException reason:@"rows indexes " + rowIndexes + " are out of range"]; + + var current_index = [rowIndexes firstIndex], + parentRowIndex = [self parentRowForRow:current_index], + childsIndexes = [CPMutableIndexSet indexSet], + subrows; + + if (parentRowIndex == -1) + subrows = [self _rootRowsArray]; + else + { + var parentRowObject = [[self _rowCacheForIndex:parentRowIndex] rowObject]; + subrows = [self _subrowObjectsOfObject:parentRowObject]; + } + + while (current_index != CPNotFound) + { + var rowObject = [[self _rowCacheForIndex:current_index] rowObject], + relativeChildIndex = [[subrows _representedObject] indexOfObjectIdenticalTo:rowObject]; + + if (relativeChildIndex != CPNotFound) + [childsIndexes addIndex:relativeChildIndex]; + + if (includeSubrows && [self rowTypeForRow:current_index] == CPRuleEditorRowTypeCompound) + { + var more_childs = [self subrowIndexesForRow:current_index]; + [self removeRowsAtIndexes:more_childs includeSubrows:includeSubrows]; + } + + current_index = [rowIndexes indexGreaterThanIndex:current_index]; + } + + [subrows removeObjectsAtIndexes:childsIndexes]; +} + +/*! + @name Working with Predicates +*/ + +/*! + @brief Returns the predicate for the receiver. + @return If the delegate implements -#ruleEditor:predicatePartsForCriterion:withDisplayValue:inRow:, the predicate for the receiver. If not, or if the delegate does not return enough parts to construct a full predicate, returns @c nil. + @see predicateForRow: +*/ +- (CPPredicate)predicate +{ + return _predicate; +} + +/*! + @brief Instructs the receiver to regenerate its predicate by invoking the corresponding delegate method. + @discussion You typically invoke this method because something has changed (for example, a view's value). +*/ +- (void)reloadPredicate +{ + [self _updatePredicate]; +} + +/*! + @brief Returns the predicate for a given row. + @param aRow The index of a row in the receiver. + @return The predicate for the row at @a aRow. + @discussion You should rarely have a need to call this directly, but you can override this method in a subclass to perform specialized predicate handling for certain criteria or display values. +*/ +- (CPPredicate)predicateForRow:(CPInteger)aRow +{ + var predicateParts = [CPDictionary dictionary], + items = [self criteriaForRow:aRow], + count = [items count], + predicate, + i; + + for (i = 0; i < count; i++) + { + var item = [items objectAtIndex:i], + //var displayValue = [self _queryValueForItem:item inRow:aRow]; A voir. On peut aussi prendre la valeur affichée dans le row cache. + displayValue = [[self displayValuesForRow:aRow] objectAtIndex:i], + predpart = [_ruleDelegate ruleEditor:self predicatePartsForCriterion:item withDisplayValue:displayValue inRow:aRow]; + + if (predpart) + [predicateParts addEntriesFromDictionary:predpart]; + } + + if ([self rowTypeForRow:aRow] == CPRuleEditorRowTypeCompound) + { + var compoundPredicate, + subpredicates = [CPMutableArray array], + subrowsIndexes = [self subrowIndexesForRow:aRow]; + + if ([subrowsIndexes count] == 0) + return nil; + + var current_index = [subrowsIndexes firstIndex]; + while (current_index != CPNotFound) + { + var subpredicate = [self predicateForRow:current_index]; + if (subpredicate != nil) + [subpredicates addObject:subpredicate]; + + current_index = [subrowsIndexes indexGreaterThanIndex:current_index]; + } + + var compoundType = [predicateParts objectForKey:CPRuleEditorPredicateCompoundType]; + + if ([subpredicates count] == 0) + return nil; + else + { + try + { + compoundPredicate = [[CPCompoundPredicate alloc ] initWithType:compoundType subpredicates:subpredicates]; + } + catch(error) + { + CPLogConsole(@"Compound predicate error: [%@]\npredicateType:%i",[error description],compoundType); + compoundPredicate = nil; + } + finally + { + return compoundPredicate; + } + + } + } + + var lhs = [predicateParts objectForKey:CPRuleEditorPredicateLeftExpression], + rhs = [predicateParts objectForKey:CPRuleEditorPredicateRightExpression], + operator = [predicateParts objectForKey:CPRuleEditorPredicateOperatorType], + options = [predicateParts objectForKey:CPRuleEditorPredicateOptions], + modifier = [predicateParts objectForKey:CPRuleEditorPredicateComparisonModifier], + selector = CPSelectorFromString([predicateParts objectForKey:CPRuleEditorPredicateCustomSelector]); + + if (lhs == nil){ CPLogConsole(@"missing left expression in predicate parts dictionary"); return NULL;} + if (rhs == nil){ CPLogConsole(@"missing right expression in predicate parts dictionary"); return NULL;} + if (selector == nil && operator == nil){ CPLogConsole(@"missing operator and selector in predicate parts dictionary"); return NULL;} + + if (modifier == nil) CPLogConsole(@"missing modifier in predicate parts dictionary. Setting default: CPDirectPredicateModifier"); + if (options == nil) CPLogConsole(@"missing options in predicate parts dictionary. Setting default: CPCaseInsensitivePredicateOption"); + + try + { + if (selector != nil) + predicate = [CPComparisonPredicate + predicateWithLeftExpression:lhs + rightExpression:rhs + customSelector:selector + ]; + else + predicate = [CPComparisonPredicate + predicateWithLeftExpression:lhs + rightExpression:rhs + modifier:(modifier || CPDirectPredicateModifier) + type:operator + options:(options || CPCaseInsensitivePredicateOption) + ]; + } + catch(error) + { + CPLogConsole(@"Row predicate error: ["+[error description]+"] for row "+aRow); + predicate = nil; + } + finally + { + return predicate; + } +} + +/*! + @name Supporting Bindings +*/ + +/*! + @brief Returns the class used to create a new row in the “rows” binding. + @return The class used to create a new row in the "rows" binding. + @see setRowClass: +*/ +- (Class)rowClass +{ + return _rowClass; +} + +/*! + @brief Sets the class to use to create a new row in the "rows” binding. + @param rowClass The class to use to create a new row in the "rows” binding. + @see rowClass +*/ +- (void)setRowClass:(Class)rowClass +{ + if (rowClass == [CPMutableDictionary class]) + rowClass = [RowObject class]; + + _rowClass = rowClass; +} + +/*! + @brief Returns the key path for the row type. + @return The key path for the row type. + @discussion The default value is @c @"rowType". + The key path is used to get the row type in the “rows” binding. The corresponding property should be a number that specifies an @c CPRuleEditorRowType value. + @see setRowTypeKeyPath: +*/ +- (CPString)rowTypeKeyPath +{ + return _typeKeyPath; +} + +/*! + @brief Sets the key path for the row type. + @param keyPath The key path for the row type. + @see rowTypeKeyPath +*/ +- (void)setRowTypeKeyPath:(CPString)keyPath +{ + if (_typeKeyPath !== keyPath) + _typeKeyPath = keyPath; +} + +/*! + @brief Returns the key path for the subrows. + @return The key path for the subrows. + @discussion The default value is @"subrows". + The key path is used to get the nested rows in the “rows” binding. The corresponding property should be an ordered to-many relationship containing additional bound row objects. + @see setSubrowsKeyPath: +*/ +- (CPString)subrowsKeyPath +{ + return _subrowsArrayKeyPath; +} + +/*! + @brief Sets the key path for the subrows. + @param keyPath The key path for the subrows. + @see subrowsKeyPath +*/ +- (void)setSubrowsKeyPath:(CPString)keyPath +{ + if (_subrowsArrayKeyPath !== keyPath) + _subrowsArrayKeyPath = keyPath; +} + +/*! + @brief Returns the criteria key path. + @return The criteria key path. + @discussion The default value is @"criteria". + The key path is used to get the criteria for a row in the "rows" binding. The criteria objects are what the delegate returns from -#ruleEditor:child:forCriterion:withRowType: . The corresponding property should be an ordered to-many relationship. + @see setCriteriaKeyPath: +*/ +- (CPString)criteriaKeyPath +{ + return _itemsKeyPath; +} + +/*! + @brief Sets the key path for the criteria. + @param keyPath The key path for the criteria. + @see criteriaKeyPath +*/ +- (void)setCriteriaKeyPath:(CPString)keyPath +{ + if (_itemsKeyPath !== keyPath) + _itemsKeyPath = keyPath; +} + +/*! + @brief Returns the display values key path. + @return The display values key path. + @discussion The default is @"displayValues". + The key path is used to get the display values for a row in the "rows" binding. The display values are what the delegate returns from -#ruleEditor:displayValueForCriterion:inRow: The corresponding property should be an ordered to-many relationship. + @see setDisplayValuesKeyPath: +*/ +- (CPString)displayValuesKeyPath +{ + return _valuesKeyPath; +} + +/*! + @brief Sets the key path for the display values. + @param keyPath The key path for the the display values. + @see displayValuesKeyPath +*/ +- (void)setDisplayValuesKeyPath:(CPString)keyPath +{ + if (_valuesKeyPath !== keyPath) + _valuesKeyPath = keyPath; +} + +/*! + @name Configuring Rows Animation +*/ + +/*! + @brief Returns the current animation for the receiver. + @return The current animation for the receiver. + @see setAnimation: +*/ +- (id)animation +{ + return _currentAnimation; +} + +/*! + @brief Sets the current animation for the receiver. + @param animation A CPViewAnimation object used to animate rows. + @discussion The default is a CPViewAnimation with a @c 0.5s duration and a @c CPAnimationEaseInOut curve. + @see animation +*/ +- (void)setAnimation:(CPViewAnimation)animation +{ + _currentAnimation = animation; + [_currentAnimation setDelegate:self]; +} + +// TODO: delegate methods are implemented by the delegate. How do you document them in doxygen without implementing them here ? @fn not working ? +/*! + @name Delegate Methods +*/ + +/*! + @param editor The rule editor that sent the message. + @param index The index of the requested child criterion. This value must be in the range from 0 up to (but not including) the number of children, as reported by the delegate in ruleEditor:numberOfChildrenForCriterion:withRowType:. + @param criterion The parent of the requested child, or nil if the rule editor is requesting a root criterion. + @param rowType The type of the row. + @return An object representing the requested child (or root) criterion. This object is used by the delegate to represent that position in the tree, and is passed as a parameter in subsequent calls to the delegate. + @discussion This method is required. + + - (id)ruleEditor:(CPRuleEditor)editor child:(CPInteger)index forCriterion:(id)criterion withRowType:(CPRuleEditorRowType)rowType +*/ + +/*! + @param editor The rule editor that sent the message. + @param criterion The criterion for which the value is required. + @param row The row number of criterion. + @return The value for criterion. + @discussion The value should be an instance of CPString, CPView, or CPMenuItem. If the value is a CPView or CPMenuItem, you must ensure it is unique for every invocation of this method; that is, do not return a particular instance of CPView or CPMenuItem more than once. + + - (id)ruleEditor:(CPRuleEditor)editor displayValueForCriterion:(id)criterion inRow:(CPInteger)row +*/ + +/*! + @param editor The rule editor that sent the message. + @param criterion The criterion for which the number of children is required. + @param rowType The type of row of criterion. + @return The number of child items of criterion. If criterion is nil, return the number of root criteria for the row type rowType. + + - (CPInteger)ruleEditor:(CPRuleEditor)editor numberOfChildrenForCriterion:(id)criterion withRowType:(CPRuleEditorRowType)rowType +*/ + +/*! + @param editor The rule editor that sent the message. + @param criterion The criterion for which the predicate parts are required. + @param value The display value. + @param row The row number of criterion. + @return A dictionary representing the parts of the predicate determined by the given criterion and value. The keys of the dictionary should be the string constants specified in Predicate Part Keys with corresponding appropriate values. + + - (CPDictionary)ruleEditor:(CPRuleEditor)editor predicatePartsForCriterion:(id)criterion withDisplayValue:(id)value inRow:(CPInteger)row +*/ + +/*! @cond */ +- (BOOL)acceptsFirstResponder +{ + return YES; +} + +- (void)keyDown:(CPEvent)event +{ + if (!_suppressKeyDownHandling && [self _applicableNestingMode] == CPRuleEditorNestingModeCompound && !_isKeyDown && ([event modifierFlags] & CPAlternateKeyMask)) + { + [_slices makeObjectsPerformSelector:@selector(_configurePlusButtonByRowType:) withObject:CPRuleEditorRowTypeCompound]; + } + + _isKeyDown = YES; +} + +- (void)keyUp:(CPEvent)event +{ + if (!_suppressKeyDownHandling) + { + [_slices makeObjectsPerformSelector:@selector(_configurePlusButtonByRowType:) withObject:CPRuleEditorRowTypeSimple]; + } + + _isKeyDown = NO; +} + +- (_CPRuleEditorViewSliceDropSeparator)_createSliceDropSeparator +{ + var view = [[_CPRuleEditorViewSliceDropSeparator alloc] initWithFrame:CGRectMake(0,-10, [self frame].size.width, 2)]; + [view setAutoresizingMask:CPViewWidthSizable]; +#if PLATFORM(DOM) + view._DOMElement.style.webkitTransition = "opacity 300ms ease-in"; +#endif + return view; +} + +- (BOOL)_suppressKeyDownHandling +{ + return _suppressKeyDownHandling; +} + +- (BOOL)_wantsRowAnimations +{ + return (_currentAnimation != nil); +} + +- (void)_updateButtonVisibilities +{ + [_slices makeObjectsPerformSelector:@selector(_updateButtonVisibilities)]; +} + +- (float)_alignmentGridWidth +{ + return _alignmentGridWidth; +} + +- (float)_minimumFrameHeight +{ + return 26.; +} + +- (CPRuleEditorNestingMode)_applicableNestingMode +{ + if (!_nestingModeDidChange) + return _nestingMode; + + var a = (_nestingMode == CPRuleEditorNestingModeCompound || _nestingMode == CPRuleEditorNestingModeSimple); + var b = ([self rowTypeForRow:0] == CPRuleEditorRowTypeCompound); + + if (a == b) + return _nestingMode; + + return a ? CPRuleEditorNestingModeList : CPRuleEditorNestingModeSimple; +} + +- (BOOL)_shouldHideAddButtonForSlice:(id)slice +{ + return (!_editable || [self _applicableNestingMode] == CPRuleEditorNestingModeSingle); +} + +- (BOOL)_shouldHideSubtractButtonForSlice:(id)slice +{ + if (!_editable) + return YES; + + if (!_disallowEmpty) + return NO; + + var shouldHide, + rowIndex = [slice rowIndex], + parentIndex = [self parentRowForRow:rowIndex], + subrowsIndexes = [self subrowIndexesForRow:parentIndex], + nestingMode = [self _applicableNestingMode]; + + switch (nestingMode) + { + case CPRuleEditorNestingModeCompound: + case CPRuleEditorNestingModeSimple: shouldHide = ([subrowsIndexes count] == 1 && !_allowsEmptyCompoundRows) || parentIndex == -1; + break; + case CPRuleEditorNestingModeList: shouldHide = ([self numberOfRows] == 1); + break; + case CPRuleEditorNestingModeSingle: shouldHide = YES; + break; + default: shouldHide = NO; + } + + return shouldHide; +} + +#pragma mark Rows management + +- (id)_rowCacheForIndex:(int)index +{ + return [_rowCache objectAtIndex:index]; +} + +- (id)_searchCacheForRowObject:(id)rowObject +{ + var count = [_rowCache count], + i; + + for (i = 0; i < count; i++) + { + var cache = _rowCache[i]; + if ([cache rowObject] === rowObject) + return cache; + } + + return nil; +} + +- (int)_rowIndexForRowObject:(id)rowobject +{ + if (rowobject == _boundArrayOwner) + return -1; + + return [[self _searchCacheForRowObject:rowobject] rowIndex]; // Pas bon car le rowIndex du row cache n'est pas synchro avec la position dans _rowCache. +} + +- (CPMutableArray)_subrowObjectsOfObject:(id)object +{ + if (object === _boundArrayOwner) + return [self _rootRowsArray]; + + return [object mutableArrayValueForKey:_subrowsArrayKeyPath]; +} + +- (CPIndexSet)_childlessParentsIfSlicesWereDeletedAtIndexes:(id)indexes +{ + var childlessParents = [CPIndexSet indexSet], + current_index = [indexes firstIndex]; + + while (current_index != CPNotFound) + { + var parentIndex = [self parentRowForRow:current_index]; + + var subrowsIndexes = [self subrowIndexesForRow:parentIndex]; + if ([subrowsIndexes count]==1) + { + if (parentIndex != -1) + return [CPIndexSet indexSetWithIndex:0]; + + var childlessGranPa = [self _childlessParentsIfSlicesWereDeletedAtIndexes:[CPIndexSet indexSetWithIndex:parentIndex]]; + [childlessParents addIndexes:childlessGranPa]; + } + + current_index = [indexes indexGreaterThanIndex:current_index]; + } + + return childlessParents; + // (id)-[RuleEditor _includeSubslicesForSlicesAtIndexes:] +} + +- (CPIndexSet)_includeSubslicesForSlicesAtIndexes:(CPIndexSet)indexes +{ + var subindexes = [indexes copy], + current_index = [indexes firstIndex]; + + while (current_index != CPNotFound) + { + var sub = [self subrowIndexesForRow:current_index]; + [subindexes addIndexes:[self _includeSubslicesForSlicesAtIndexes:sub]]; + current_index = [indexes indexGreaterThanIndex:current_index]; + } + + return subindexes; +} + +- (void)_deleteSlice:(id)slice +{ + var rowindexes = [CPIndexSet indexSetWithIndex:[slice rowIndex]]; + + if (!_allowsEmptyCompoundRows) + { + var childlessIndexes = [self _childlessParentsIfSlicesWereDeletedAtIndexes:rowindexes]; + if ([childlessIndexes count] > 0) + rowindexes = childlessIndexes; + } + + [self removeRowsAtIndexes:rowindexes includeSubrows:YES]; + [self _postRowCountChangedNotificationOfType:CPRuleEditorRowsDidChangeNotification indexes:rowindexes]; // indexes should include childs +} + +- (CPArray)_rootRowsArray +{ + return [_boundArrayOwner mutableArrayValueForKey:_boundArrayKeyPath]; +} + +- (BOOL)_nextUnusedItems:({CPArray})items andValues:({CPArray})values forRow:(int)rowIndex forRowType:(unsigned int)type +{ + var parentItem = [items lastObject], // if empty items array, this is NULL aka the root item; + childrenCount = [self _queryNumberOfChildrenOfItem:parentItem withRowType:type], + foundIndex = CPNotFound; + + if (childrenCount == 0) + return NO; + + var current_criterions = [CPMutableArray array], + count = [self numberOfRows], + row; + + for (row = 0; row < count; row++) // num of rows should be num of siblings of parentItem + { + var aCriteria = [self criteriaForRow:row], + itemIndex = [items count]; + + if ([self rowTypeForRow:row] == type && itemIndex < [aCriteria count]) + { + var crit = [aCriteria objectAtIndex:itemIndex]; + [current_criterions addObject:crit]; + } + } + + while (foundIndex == CPNotFound) + { + var buffer = [CPMutableArray arrayWithArray:current_criterions], + i; + for (i = 0; i < childrenCount; i++) + { + var child = [self _queryChild:i ofItem:parentItem withRowType:type]; + if ([current_criterions indexOfObject:child] == CPNotFound) + { + foundIndex = i; + break; + } + } + + if (foundIndex == CPNotFound) + { + for (var k = 0; k < childrenCount; k++) + { + var anobject = [self _queryChild:k ofItem:parentItem withRowType:type], + index = [buffer indexOfObject:anobject]; + if (index != CPNotFound) + [buffer removeObjectAtIndex:index]; + } + + current_criterions = buffer; + } + } + + var foundItem = [self _queryChild:foundIndex ofItem:parentItem withRowType:type], + foundValue = [self _queryValueForItem:foundItem inRow:rowIndex]; + + [items addObject:foundItem]; + [values addObject:foundValue]; + + return YES; +} + +- (CPMutableArray)_getItemsAndValuesToAddForRow:(int)rowIndex ofType:(CPRuleEditorRowType)type +{ + var cachedItemsAndValues = _itemsAndValuesToAddForRowType[type]; + if (cachedItemsAndValues) + return cachedItemsAndValues; + + var itemsAndValues = [CPMutableArray array], + items = [CPMutableArray array], + values = [CPMutableArray array], + unusedItems = YES; + + while (unusedItems) + unusedItems = [self _nextUnusedItems:items andValues:values forRow:rowIndex forRowType:type]; + + var count = [items count]; + + for (var i = 0; i < count; i++) + { + var item = [items objectAtIndex:i], + value = [values objectAtIndex:i], + itemAndValue = [CPDictionary dictionaryWithObjects:[item,value] forKeys:["item","value"]]; + + [itemsAndValues addObject:itemAndValue]; + } + + return itemsAndValues; +} + +- (void)_addOptionFromSlice:(id)slice ofRowType:(unsigned int)type +{ + // for CPRuleEditorNestingModeSimple only + + var rowIndexEvent = [slice rowIndex], + rowTypeEvent = [self rowTypeForRow:rowIndexEvent]; + + var parentRowIndex = (rowTypeEvent == CPRuleEditorRowTypeCompound) ? rowIndexEvent:[self parentRowForRow:rowIndexEvent]; + + [self insertRowAtIndex:rowIndexEvent + 1 withType:type asSubrowOfRow:parentRowIndex animate:YES]; + + // [self _reconfigureSubviewsAnimate:YES]; + // [self _updatePredicate]; +} + +- (id)_insertNewRowAtIndex:(int)insertIndex ofType:(CPRuleEditorRowType)rowtype withParentRow:(int)parentRowIndex +{ + var row = [[[self rowClass] alloc] init]; + + var itemsandvalues = [self _getItemsAndValuesToAddForRow:insertIndex ofType:rowtype], + newitems = [itemsandvalues valueForKey:@"item"], + newvalues = [itemsandvalues valueForKey:@"value"]; + + [row setValue:newitems forKey:_itemsKeyPath]; + [row setValue:newvalues forKey:_valuesKeyPath]; + [row setValue:rowtype forKey:_typeKeyPath]; + [row setValue:[CPMutableArray array] forKey:_subrowsArrayKeyPath]; + + var subrowsObjects; + if (parentRowIndex == -1 || [self _applicableNestingMode] == CPRuleEditorNestingModeList) + subrowsObjects = [self _rootRowsArray]; + else + { + var parentRowObject = [[self _rowCacheForIndex:parentRowIndex] rowObject]; + subrowsObjects = [self _subrowObjectsOfObject:parentRowObject]; + } + + var relInsertIndex = insertIndex - parentRowIndex - 1; + [subrowsObjects insertObject:row atIndex:relInsertIndex]; + + return row; +} + +#pragma mark Key value observing + +- (void)_startObservingRowObjectsRecursively:(CPArray)rowObjects +{ + [_boundArrayOwner addObserver:self forKeyPath:_boundArrayKeyPath options:CPKeyValueObservingOptionOld|CPKeyValueObservingOptionNew context:boundArrayContext]; + + var count = [rowObjects count]; + + for (var i = 0; i < count; i++) + { + var rowObject = [rowObjects objectAtIndex:i]; + + [rowObject addObserver:self forKeyPath:_itemsKeyPath options:CPKeyValueObservingOptionOld|CPKeyValueObservingOptionNew context:itemsContext]; + [rowObject addObserver:self forKeyPath:_valuesKeyPath options:CPKeyValueObservingOptionOld|CPKeyValueObservingOptionNew context:valuesContext]; + [rowObject addObserver:self forKeyPath:_subrowsArrayKeyPath options:CPKeyValueObservingOptionOld|CPKeyValueObservingOptionNew context:subrowsContext]; + + var subrows = [self _subrowObjectsOfObject:rowObject]; + if ([subrows count] > 0) + [self _startObservingRowObjectsRecursively:subrows]; + } + // ORIG IMPL : calls +keyPathsForValuesAffectingValueForKey: for all keys +} + +- (void)_stopObservingRowObjectsRecursively:(CPArray)rowObjects +{ + [_boundArrayOwner removeObserver:self forKeyPath:_boundArrayKeyPath]; + + var count = [rowObjects count]; + + for (var i = 0; i < count; i++) + { + var rowObject = [rowObjects objectAtIndex:i]; + [rowObject removeObserver:self forKeyPath:_itemsKeyPath]; + [rowObject removeObserver:self forKeyPath:_valuesKeyPath]; + [rowObject removeObserver:self forKeyPath:_subrowsArrayKeyPath]; + + var subrows = [rowObject valueForKey:_subrowsArrayKeyPath]; + if ([subrows count] > 0) + [self _stopObservingRowObjectsRecursively:subrows]; + } +} + +- (void)observeValueForKeyPath:(CPString)keypath ofObject:(id)object change:(CPDictionary)change context:(void)context +{ + var changeKind = [change objectForKey:CPKeyValueChangeKindKey], + changeNewValue = [change objectForKey:CPKeyValueChangeNewKey], + changeOldValue = [change objectForKey:CPKeyValueChangeOldKey], + newRows, + oldRows; + + if (context == boundArrayContext || context == subrowsContext) + { + if (changeKind == CPKeyValueChangeSetting) + { + newRows = changeNewValue; + oldRows = changeOldValue; + + } + else if (changeKind == CPKeyValueChangeInsertion) + { + newRows = [self _subrowObjectsOfObject:object]; + oldRows = [CPArray arrayWithArray:newRows]; + [oldRows removeObjectsInArray:changeNewValue]; + } + else if (changeKind == CPKeyValueChangeRemoval) + { + newRows = [self _subrowObjectsOfObject:object]; + oldRows = [CPArray arrayWithArray:newRows]; + var delIndexes = [change objectForKey:CPKeyValueChangeIndexesKey]; + [oldRows insertObjects:delObjects atIndexes:changeOldValue]; // Pas sur que ce soit bon + } + + [self _changedRowArray:newRows withOldRowArray:oldRows forParent:object]; + + [self _reconfigureSubviewsAnimate:[self _wantsRowAnimations]]; + [self _postRowCountChangedNotificationOfType:CPRuleEditorRowsDidChangeNotification indexes:[change objectForKey:CPKeyValueChangeIndexesKey]]; + + } + else if (context == itemsContext) + { + } + else if (context == valuesContext) + { + } +} + +- (void)_changedItem:(id)oldItem toItem:(id)newItem inRow:(int)rowIndex atCriteriaIndex:(int)indexInCriteria +{ + var criteria = [self criteriaForRow:rowIndex], + values = [self displayValuesForRow:rowIndex], + type = [self rowTypeForRow:rowIndex], + + itemToAdd = newItem, + relativeIndexInCriteria = 0, + num_childs = 1000, + + remainingRange = CPMakeRange(0, indexInCriteria), + finalCriteria = [[CPMutableArray alloc] initWithArray:[criteria subarrayWithRange:remainingRange]], + finalValues = [[CPMutableArray alloc] initWithArray:[values subarrayWithRange:remainingRange]]; + + while (num_childs > 0) + { + var displayvalue = [self _queryValueForItem:itemToAdd inRow:rowIndex]; + + [finalCriteria addObject:itemToAdd]; + [finalValues addObject:displayvalue]; + + num_childs = [self _queryNumberOfChildrenOfItem:itemToAdd withRowType:type]; + + if (num_childs > 0) + itemToAdd = [self _queryChild:0 ofItem:itemToAdd withRowType:type]; + + relativeIndexInCriteria++; + } + + var object = [[self _rowCacheForIndex:rowIndex] rowObject]; + [object setValue:finalCriteria forKey:_itemsKeyPath]; + [object setValue:finalValues forKey:_valuesKeyPath]; + + [[_slices objectAtIndex:rowIndex] _reconfigureSubviews]; + + [self _postRuleOptionChangedNotification]; +} + +- (void)_changedRowArray:(CPArray)newRows withOldRowArray:(CPArray)oldRows forParent:(id)parentRowObject +{ + var newRowCount = [newRows count], + oldRowCount = [oldRows count], + deltaCount = newRowCount - oldRowCount, + minusCount = MIN(newRowCount, oldRowCount), + maxCount = MAX(newRowCount, oldRowCount), + + insertCacheIndexes = [CPIndexSet indexSet], + newCaches = [CPArray array], + + parentCacheIndentation, + parentCacheIndex = [self _rowIndexForRowObject:parentRowObject], + + newRowCacheIndex = 0, + changeStartIndex = 0; + + [self _stopObservingRowObjectsRecursively:oldRows]; + [self _startObservingRowObjectsRecursively:newRows]; + + //var gindexes = [self _globalIndexesForSubrowIndexes:[CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0,oldRowCount)] ofParentObject:parentRowObject]; + + if (parentCacheIndex == -1) + parentCacheIndentation = -1; + else + parentCacheIndentation = [[self _rowCacheForIndex:parentCacheIndex] indentation]; + + for (; newRowCacheIndex < newRowCount; newRowCacheIndex++) + { + var newCacheGlobalIndex = (parentCacheIndex + 1) + newRowCacheIndex, + obj = [newRows objectAtIndex:newRowCacheIndex], + newRowType = [obj valueForKey:_typeKeyPath]; + + var cache = [[_CPRuleEditorCache alloc] init]; + [cache setRowObject:obj]; + [cache setRowIndex:newCacheGlobalIndex]; + [cache setIndentation:parentCacheIndentation + 1]; + + [insertCacheIndexes addIndex:newCacheGlobalIndex]; + [newCaches addObject:cache]; + } + + //var lastCacheIndex = [self _rowIndexForRowObject:[oldRows lastObject]]; + [_rowCache removeObjectsInRange:CPMakeRange(parentCacheIndex + 1, [oldRows count])]; + [_rowCache insertObjects:newCaches atIndexes:insertCacheIndexes]; + + for (; changeStartIndex < minusCount; changeStartIndex++) + { + var oldrow = [oldRows objectAtIndex:changeStartIndex], + newrow = [newRows objectAtIndex:changeStartIndex]; + + if (newrow != oldrow) + break; + } + + var replaceCount = (deltaCount == 0) ? maxCount : maxCount - minusCount; + var startIndex = parentCacheIndex + changeStartIndex + 1; + + if (deltaCount <= 0) + { + var removeIndexes = [CPIndexSet indexSetWithIndexesInRange:CPMakeRange(startIndex, replaceCount)]; + var removeSlices = [_slices objectsAtIndexes:removeIndexes]; + [removeSlices makeObjectsPerformSelector:@selector(removeFromSuperview)]; + [_slices removeObjectsAtIndexes:removeIndexes]; + } + + if (deltaCount >= 0) + { + var newIndentation = parentCacheIndentation + 1, + newIndex = startIndex; + + for (; newIndex < startIndex + replaceCount; newIndex++) + { + var newslice = [self _newSlice], + rowType = [self rowTypeForRow:newIndex]; + + [newslice setRowIndex:newIndex]; + [newslice setIndentation:newIndentation]; + [newslice _setRowType:rowType]; + [newslice _configurePlusButtonByRowType:CPRuleEditorRowTypeSimple]; + + [_slices insertObject:newslice atIndex:newIndex]; + } + } + + var emptyArray = [CPArray array], + count = [oldRows count], + n; + for (n = 0; n < count; n++) + { + var oldRow = [oldRows objectAtIndex:n], + subOldRows = [self _subrowObjectsOfObject:oldRow]; + + if ([subOldRows count] > 0) + [self _changedRowArray:emptyArray withOldRowArray:subOldRows forParent:oldRow]; + } + + count = [newRows count]; + for (n = 0; n < count; n++) + { + var newRow = [newRows objectAtIndex:n], + subnewRows = [self _subrowObjectsOfObject:newRow]; + + if ([subnewRows count] > 0) + [self _changedRowArray:subnewRows withOldRowArray:emptyArray forParent:newRow]; + } +} + +- (void)bind:(CPString)binding toObject:(id)observableController withKeyPath:(CPString)keyPath options:(CPDictionary)options +{ + if (keyPath == nil || [observableController valueForKey:keyPath] == nil) + { + [CPException raise:CPInvalidArgumentException reason:"Keypath or bound object cannot be nil"]; + return; + } + + if ([observableController respondsToSelector:@selector(objectClass)]) + _rowClass = [observableController objectClass]; + + if ([binding isEqualToString:@"rows"]) + [self _setBoundDataSource:observableController withKeyPath:keyPath options:options]; +} + +- (void)unbind:(id)object +{ + _rowClass = [RowObject class]; + [super unbind:object]; +} + +- (void)_setBoundDataSource:(id)datasource withKeyPath:(CPString)keyPath options:(CPDictionary)options +{ + if (_boundArrayOwner != nil) + [_boundArrayOwner removeObserver:self forKeyPath:_boundArrayKeyPath]; + + _boundArrayKeyPath = keyPath; + _boundArrayOwner = datasource; + + var boundRows = [_boundArrayOwner valueForKey:_boundArrayKeyPath]; + + [_boundArrayOwner addObserver:self forKeyPath:_boundArrayKeyPath options:CPKeyValueObservingOptionOld|CPKeyValueObservingOptionNew context:boundArrayContext]; + + if ([boundRows isKindOfClass:[CPArray class]] && [boundRows count] > 0) + [_boundArrayOwner setValue:boundRows forKey:_boundArrayKeyPath]; +} + +- (void)_setPredicate:(CPPredicate)predicate +{ + if (_predicate !== predicate) + _predicate = predicate; +} + +- (void)_updatePredicate +{ + if (_delegateWantsValidation) + { + var selector = @selector(ruleEditor:predicatePartsForCriterion:withDisplayValue:inRow:); + if (![_ruleDelegate respondsToSelector:selector]) + return; + + _delegateWantsValidation = NO; + } + + var subpredicates = [CPMutableArray array], + subindexes = [self subrowIndexesForRow:-1], + current_index = [subindexes firstIndex]; + + while (current_index != CPNotFound) + { + var subpredicate = [self predicateForRow:current_index]; + + if (subpredicate != nil) + [subpredicates addObject:subpredicate]; + + current_index = [subindexes indexGreaterThanIndex:current_index]; + } + + var new_predicate = [[CPCompoundPredicate alloc] initWithType:CPOrPredicateType subpredicates:subpredicates]; + + [self _setPredicate:new_predicate]; +} + +- (_CPRuleEditorViewSliceRow)_newSlice +{ + var sliceRect = CGRectMake(0, 0, CGRectGetWidth([self frame]), 0), + slice = [self _createNewSliceWithFrame:sliceRect ruleEditorView:self]; + + return slice; +} + +- (_CPRuleEditorViewSliceRow)_createNewSliceWithFrame:(CGRect)frame ruleEditorView:(CPRuleEditor)editor +{ + return [[_CPRuleEditorViewSliceRow alloc] initWithFrame:frame ruleEditorView:editor]; +} + +- (void)_reconfigureSubviewsAnimate:(BOOL)animate +{ + [self _updateSliceRows]; + + var viewAnimations = [CPMutableArray array], + added_slices = [CPMutableArray array], + count = [_slices count]; + + for (var i = 0; i < count; i++) + { + var aslice = [_slices objectAtIndex:i], + targetRect = [aslice _animationTargetRect], + startRect = [aslice frame], + startIndex = [aslice rowIndex] - 1; + + if ([aslice superview] == nil) + { + startRect = CGRectMake(0, startIndex * _sliceHeight, CGRectGetWidth(startRect), _sliceHeight); + [aslice _reconfigureSubviews]; + [added_slices addObject:aslice]; + } + + if (animate) + { + var animation = [CPDictionary dictionary]; + [animation setObject:aslice forKey:CPViewAnimationTargetKey]; + [animation setObject:startRect forKey:CPViewAnimationStartFrameKey]; + [animation setObject:targetRect forKey:CPViewAnimationEndFrameKey]; + + [viewAnimations insertObject:animation atIndex:0]; + } + else + [aslice setFrame:targetRect]; + } + + var addcount = [added_slices count]; + for (var i = 0; i < addcount; i++) + [_slicesHolder addSubview:added_slices[i] positioned:CPWindowBelow relativeTo:nil]; + + if (animate) + { + [_currentAnimation setViewAnimations:viewAnimations]; + [_currentAnimation startAnimation]; + } + + _lastRow = [self numberOfRows] - 1; + + if (_lastRow == -1) + _nestingModeDidChange = NO; + + [self setNeedsDisplay:YES]; + [_slices makeObjectsPerformSelector:@selector(_updateButtonVisibilities)]; +} + +- (void)animationDidEnd:(CPViewAnimation)animation +{ + var nextSimple = [self _getItemsAndValuesToAddForRow:0 ofType:CPRuleEditorRowTypeSimple], + nextCompound = [self _getItemsAndValuesToAddForRow:0 ofType:CPRuleEditorRowTypeCompound]; + + _itemsAndValuesToAddForRowType = {CPRuleEditorRowTypeSimple:nextSimple, CPRuleEditorRowTypeCompound:nextCompound}; +} + +- (void)_updateSliceRows +{ + var width = [self frame].size.width, + count = [_slices count], + i; + + for (i = 0; i < count; i++) + { + var slice = [_slices objectAtIndex:i], + targetRect = CGRectMake(0, i * _sliceHeight, width, _sliceHeight); + + [slice setRowIndex:i]; + [slice _setAnimationTargetRect:targetRect]; + } +} + +- (CPArray)_backgroundColors +{ + return [self valueForThemeAttribute:@"alternating-row-colors"]; +} + +- (CPColor)_selectedRowColor +{ + return [self valueForThemeAttribute:@"selected-color"]; +} + +- (CPColor)_sliceTopBorderColor +{ + return [self valueForThemeAttribute:@"slice-top-border-color"]; +} + +- (CPColor)_sliceBottomBorderColor +{ + return [self valueForThemeAttribute:@"slice-bottom-border-color"]; +} + +- (CPColor)_sliceLastBottomBorderColor +{ + return [self valueForThemeAttribute:@"slice-last-bottom-border-color"]; +} + +- (CPFont)font +{ + return [self valueForThemeAttribute:@"font"]; +} + +- (CPImage)_addImage +{ + return [self valueForThemeAttribute:@"add-image"]; +} + +- (CPImage)_removeImage +{ + return [self valueForThemeAttribute:@"remove-image"]; +} + +- (CPString)_toolTipForAddCompoundRowButton +{ + return @"Add Compound row"; +} + +- (CPString)_toolTipForAddSimpleRowButton +{ + return @"Add row"; +} + +- (CPString)_toolTipForDeleteRowButton +{ + return @"Delete row"; +} + +- (void)_updateSliceIndentations +{ + [self _updateSliceIndentationAtIndex:0 toIndentation:0 withIndexSet:[self subrowIndexesForRow:0]]; +} + +- (void)_updateSliceIndentationAtIndex:(int)index toIndentation:(int)indentation withIndexSet:(id)indexes +{ + var current_index = [indexes firstIndex]; + + while (current_index !=CPNotFound) + { + var subindexes = [self subrowIndexesForRow:index]; + [self _updateSliceIndentationAtIndex:current_index toIndentation:indentation + 1 withIndexSet:subindexes]; + current_index = [indexes indexGreaterThanIndex:current_index]; + } + + [[_slices objectAtIndex:index] setIndentation:indentation]; +} + +- (CPArray)_selectedSlices +{ + var _selectedSlices = [CPMutableArray array], + count = [_slices count], + i; + + for (i = 0; i < count; i++) + { + var slice = _slices[i]; + if ([slice _isSelected]) + [_selectedSlices addObject:slice]; + } + + return _selectedSlices; +} + +- (int)_lastSelectedSliceIndex +{ + var lastIndex = -1, + count = [_slices count], + i; + + for (i = 0; i < count; i++) + { + var slice = _slices[i]; + if ([slice _isLastSelected]) + return [slice rowIndex]; + } + + return CPNotFound; +} + +- (void)_mouseUpOnSlice:(id)slice withEvent:(CPEvent)event +{ + if ([slice _rowType] != CPRuleEditorRowTypeSimple) + return; + + var modifierFlags = [event modifierFlags], + extend = (modifierFlags & CPCommandKeyMask) || (modifierFlags & CPShiftKeyMask), + rowIndexes = [CPIndexSet indexSetWithIndex:[slice rowIndex]]; + + [self selectRowIndexes:rowIndexes byExtendingSelection:extend]; +} + +- (void)_mouseDownOnSlice:(id)slice withEvent:(CPEvent)event +{ +} + +- (void)_rightMouseDownOnSlice:(_CPRuleEditorViewSlice)slice withEvent:(CPEvent)event +{ +} + +- (void)_performClickOnSlice:(id)slice withEvent:(CPEvent)event +{ +} + +- (void)_setSuppressKeyDownHandling:(BOOL)flag +{ + _suppressKeyDownHandling = flag; +} + +- (void)selectAll:(id)sender +{ + var count = [_slices count]; + + while (count--) + { + var slice = _slices[count]; + [slice _setSelected:YES]; + [slice setNeedsDisplay:YES]; + } +} + +- (void)_deselectAll +{ + var count = [_slices count]; + + while (count--) + { + var slice = _slices[count]; + [slice _setSelected:NO]; + [slice _setLastSelected:NO]; + [slice setNeedsDisplay:YES]; + } +} + +- (int)_queryNumberOfChildrenOfItem:(id)item withRowType:(CPRuleEditorRowType)type +{ + return [_ruleDelegate ruleEditor:self numberOfChildrenForCriterion:item withRowType:type]; +} + +- (id)_queryChild:(int)childIndex ofItem:(id)item withRowType:(CPRuleEditorRowType)type +{ + return [_ruleDelegate ruleEditor:self child:childIndex forCriterion:item withRowType:type]; +} + +- (id)_queryValueForItem:(id)item inRow:(int)row +{ + return [_ruleDelegate ruleEditor:self displayValueForCriterion:item inRow:row]; +} + +- (int)_lastRow +{ + return _lastRow; +} + +- (int)_countOfRowsStartingAtObject:(id)object +{ + var index = [self _rowIndexForRowObject:object]; + return ([self numberOfRows] - index); +} + +- (void)_setAlignmentGridWidth:(float)width +{ + _alignmentGridWidth = width; +} + +- (BOOL)_validateItem:(id)item value:(id)value inRow:(int)row +{ + return [self _queryCanSelectItem:item displayValue:value inRow:row]; +} + +- (BOOL)_queryCanSelectItem:(id)item displayValue:(id)value inRow:(int)row +{ + return YES; +} + +- (void)_windowChangedKeyState +{ + [self setNeedsDisplay:YES]; +} + +- (void)setNeedsDisplay:(BOOL)flag +{ + [_slices makeObjectsPerformSelector:@selector(setNeedsDisplay:) withObject:flag]; + [super setNeedsDisplay:flag]; +} + +- (void)setFrameSize:(CPSize)size +{ + [self setNeedsDisplay:YES]; + + if (CGRectGetWidth([self frame]) != size.width) + [_slices makeObjectsPerformSelector:@selector(setNeedsLayout)]; + + [super setFrameSize:size]; +} + +- (CPIndexSet)_selectedSliceIndices +{ + var selectedIndices = [CPMutableIndexSet indexSet], + count = [_slices count], + i; + + for (i = 0; i < count; i++) + { + var slice = _slices[i]; + if ([slice _isSelected]) + [selectedIndices addIndex:[slice rowIndex]]; + } + + return selectedIndices; +} + +- (void)mouseDragged:(CPEvent)event +{ + if (!_editable) + return; + + var point = [self convertPoint:[event locationInWindow] fromView:nil], + view = [_slices objectAtIndex:FLOOR(point.y / _sliceHeight)]; + + if ([self _dragShouldBeginFromMouseDown:view]) + [self _performDragForSlice:view withEvent:event]; +} + +- (BOOL)_dragShouldBeginFromMouseDown:(CPView)view +{ + return (([self nestingMode] == CPRuleEditorNestingModeList || [view rowIndex] != 0) && _editable && [view isKindOfClass:[_CPRuleEditorViewSliceRow class]] && _draggingRows == nil); +} + +- (BOOL)_performDragForSlice:(id)slice withEvent:(CPEvent)event +{ + var dragPoint, + mainRowIndex = [slice rowIndex], + draggingRows = [CPIndexSet indexSetWithIndex:mainRowIndex], + selected_indices = [self _selectedSliceIndices], + pasteboard = [CPPasteboard pasteboardWithName: CPDragPboard]; + + [pasteboard declareTypes:[CPArray arrayWithObjects: CPRuleEditorItemPBoardType, nil] owner: self]; + + if ([selected_indices containsIndex:mainRowIndex]) + [draggingRows addIndexes:selected_indices]; + _draggingRows = [self _includeSubslicesForSlicesAtIndexes:draggingRows]; + + var firstIndex = [_draggingRows firstIndex], + firstSlice = [_slices objectAtIndex:firstIndex], + dragview = [[CPView alloc] initWithFrame:[firstSlice frame]]; + +#if PLATFORM(DOM) + var html = firstSlice._DOMElement.innerHTML; + dragview._DOMElement.innerHTML = [html copy]; +#endif + [dragview setBackgroundColor:[firstSlice backgroundColor]]; + [dragview setAlphaValue:0.7]; + + dragPoint = CPMakePoint(0, firstIndex * _sliceHeight); + + [self dragView:dragview + at:dragPoint + offset:CGSizeMake(0, _sliceHeight) + event:event + pasteboard:pasteboard + source:self + slideBack:YES]; + + return YES; +} + +- (CPDragOperation)draggingEntered:(id < CPDraggingInfo >)sender +{ + if ([sender draggingSource] == self) + { + [self _clearDropLine]; + return CPDragOperationMove; + } + + return CPDragOperationNone; +} + +- (void)draggingExited:(id)sender +{ + [self _clearDropLine]; + [self setNeedsDisplay:YES]; +} + +- (void)_clearDropLine +{ + [_dropLineView setAlphaValue:0]; + + if (_subviewIndexOfDropLine != CPNotFound && _subviewIndexOfDropLine < _lastRow) + { + var previousBelowSlice = [_slices objectAtIndex:_subviewIndexOfDropLine]; + [previousBelowSlice setFrameOrigin:CGPointMake(0, [previousBelowSlice rowIndex] * _sliceHeight)]; + } + + _subviewIndexOfDropLine = CPNotFound; +} + +- (CPDragOperation)draggingUpdated:(id )sender +{ + var point = [self convertPoint:[sender draggingLocation] fromView:nil], + y = point.y + _sliceHeight /2, + indexOfDropLine = FLOOR(y / _sliceHeight), + numberOfRows = [self numberOfRows]; + + if (indexOfDropLine < 0 || indexOfDropLine > numberOfRows || (indexOfDropLine >= [_draggingRows firstIndex] && indexOfDropLine <= [_draggingRows lastIndex] + 1)) + { + if (_subviewIndexOfDropLine != CPNotFound && indexOfDropLine != _subviewIndexOfDropLine) + [self _clearDropLine]; + return CPDragOperationNone; + } + + if (_subviewIndexOfDropLine != indexOfDropLine) + { + if (_subviewIndexOfDropLine != CPNotFound && _subviewIndexOfDropLine < numberOfRows) + { + var previousBelowSlice = [_slices objectAtIndex:_subviewIndexOfDropLine]; + [previousBelowSlice setFrameOrigin:CPMakePoint(0, [previousBelowSlice rowIndex] * _sliceHeight)]; + } + + if (indexOfDropLine <= _lastRow && indexOfDropLine < numberOfRows) + { + var belowSlice = [_slices objectAtIndex:indexOfDropLine]; + [belowSlice setFrameOrigin:CGPointMake(0, [belowSlice rowIndex] * _sliceHeight + 2)]; + } + + [_dropLineView setAlphaValue:1]; + [_dropLineView setFrameOrigin:CGPointMake(CGRectGetMinX([_dropLineView frame]), indexOfDropLine * _sliceHeight)]; + + _subviewIndexOfDropLine = indexOfDropLine; + } + + return CPDragOperationMove; +} + +- (BOOL)prepareForDragOperation:(id < CPDraggingInfo >)sender +{ + return (_subviewIndexOfDropLine != CPNotFound); +} + +- (BOOL)performDragOperation:(id < CPDraggingInfo >)info +{ + var aboveInsertIndexCount = 0, + object, + removeIndex; + + var rowObjects = [_rowCache valueForKey:@"rowObject"], + index = [_draggingRows lastIndex]; + + var parentRowIndex = [self parentRowForRow:index]; // first index of draggingrows + var parentRowObject = (parentRowIndex == -1) ? _boundArrayOwner : [[self _rowCacheForIndex:parentRowIndex] rowObject]; + var insertIndex = _subviewIndexOfDropLine; + + while (index != CPNotFound) + { + if (index >= insertIndex) + { + removeIndex = index + aboveInsertIndexCount; + aboveInsertIndexCount += 1; + } + else + { + removeIndex = index; + insertIndex -= 1; + } + + object = [rowObjects objectAtIndex:removeIndex]; + [self removeRowAtIndex:removeIndex]; + [[self _subrowObjectsOfObject:parentRowObject] insertObject:object atIndex:insertIndex - parentRowIndex - 1]; + + index = [_draggingRows indexLessThanIndex:index]; + } + + [self _clearDropLine]; + _draggingRows = nil; + return YES; +} + +- (CPIndexSet)_draggingTypes +{ + return [CPIndexSet indexSetWithIndex:CPDragOperationMove]; +} + +- (void)draggedView:(CPView)dragView endedAt:(CPPoint)aPoint operation:(CPDragOperation)operation +{ + _draggingRows = nil; +} + +- (BOOL)wantsPeriodicDraggingUpdates +{ + return NO; +} + +- (void)pasteboard:(CPPasteboard)pasteboard provideDataForType:(int)type +{ +} + +- (void)_setWindow:(id)window +{ + [super _setWindow:window]; +} + +- (void)_windowUpdate:(id)sender +{ + [super _windowUpdate:sender]; +} + +- (void)_postRuleOptionChangedNotification +{ + [self reloadPredicate]; + [self _sendRuleAction]; + [[CPNotificationCenter defaultCenter] postNotificationName:CPRuleEditorRulesDidChangeNotification object:self]; +} + +- (void)_postRowCountChangedNotificationOfType:(CPString)notificationName indexes:indexes +{ + [self reloadPredicate]; + [self _sendRuleAction]; + [[CPNotificationCenter defaultCenter] postNotificationName:notificationName object:self userInfo:[CPDictionary dictionaryWithObject:indexes forKey:"indexes"]]; +} + +- (CPIndexSet)_globalIndexesForSubrowIndexes:(CPIndexSet)indexes ofParentObject:(id)parentRowObject +{ + var _subrows = [self _subrowObjectsOfObject:parentRowObject], + parentRowIndex = [self _rowIndexForRowObject:parentRowObject], + + globalIndexes = [CPMutableIndexSet indexSet], + current_index = [indexes firstIndex], + numberOfChildrenOfPreviousBrother = 0; + + while (current_index != CPNotFound) + { + var globalChildIndex = current_index + parentRowIndex + 1 + numberOfChildrenOfPreviousBrother; + [globalIndexes addIndex:globalChildIndex]; + + if ([self rowTypeForRow:globalChildIndex] == CPRuleEditorRowTypeCompound) + { + var rowObject = [[self _rowCacheForIndex:current_index] rowObject], + subrows = [self _subrowObjectsOfObject:rowObject]; + + var subIndexes = [self _globalIndexesForSubrowIndexes:[CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0,[subrows count])] ofParentObject:rowObject]; + numberOfChildrenOfPreviousBrother = [subIndexes count]; + } + + current_index = [indexes indexGreaterThanIndex:current_index]; + } + + return globalIndexes; +} + +- (void)_sendRuleAction +{ + var action = [self action], + target = [self target]; + + if (action && target) + [self sendAction:[self action] to:[self target]]; +} + +@end + +var CPRuleEditorAlignmentGridWidthKey = @"CPRuleEditorAlignmentGridWidth", + CPRuleEditorSliceHeightKey = @"CPRuleEditorSliceHeight", + CPRuleEditorStringsFilenameKey = @"CPRuleEditorStringsFilename", + CPRuleEditorEditableKey = @"CPRuleEditorEditable", + CPRuleEditorAllowsEmptyCompoundRowsKey = @"CPRuleEditorAllowsEmptyCompoundRows", + CPRuleEditorDisallowEmptyKey = @"CPRuleEditorDisallowEmpty", + CPRuleEditorNestingModeKey = @"CPRuleEditorNestingMode", + CPRuleEditorRowTypeKeyPathKey = @"CPRuleEditorRowTypeKeyPath", + CPRuleEditorItemsKeyPathKey = @"CPRuleEditorItemsKeyPath", + CPRuleEditorValuesKeyPathKey = @"CPRuleEditorValuesKeyPath", + CPRuleEditorSubrowsArrayKeyPathKey = @"CPRuleEditorSubrowsArrayKeyPath", + CPRuleEditorBoundArrayKeyPathKey = @"CPRuleEditorBoundArrayKeyPath", + CPRuleEditorRowClassKey = @"CPRuleEditorRowClass", + CPRuleEditorSlicesHolderKey = @"CPRuleEditorSlicesHolder", + CPRuleEditorSlicesKey = @"CPRuleEditorSlices", + CPRuleEditorDelegateKey = @"CPRuleEditorDelegate", + CPRuleEditorBoundArrayOwnerKey = @"CPRuleEditorBoundArrayOwner"; + +@implementation CPRuleEditor (CPCoding) + +- (id)initWithCoder:(CPCoder)coder +{ + self = [super initWithCoder:coder]; + if (self != nil) + { + [self setFormattingStringsFilename:[coder decodeObjectForKey:CPRuleEditorStringsFilenameKey]]; + _alignmentGridWidth = [coder decodeFloatForKey:CPRuleEditorAlignmentGridWidthKey]; + _sliceHeight = [coder decodeDoubleForKey:CPRuleEditorSliceHeightKey]; + _editable = [coder decodeBoolForKey:CPRuleEditorEditableKey]; + _allowsEmptyCompoundRows = [coder decodeBoolForKey:CPRuleEditorAllowsEmptyCompoundRowsKey]; + _disallowEmpty = [coder decodeBoolForKey:CPRuleEditorDisallowEmptyKey]; + _nestingMode = [coder decodeIntForKey:CPRuleEditorNestingModeKey]; + _typeKeyPath = [coder decodeObjectForKey:CPRuleEditorRowTypeKeyPathKey]; + _itemsKeyPath = [coder decodeObjectForKey:CPRuleEditorItemsKeyPathKey]; + _valuesKeyPath = [coder decodeObjectForKey:CPRuleEditorValuesKeyPathKey]; + _subrowsArrayKeyPath = [coder decodeObjectForKey:CPRuleEditorSubrowsArrayKeyPathKey]; + _boundArrayKeyPath = [coder decodeObjectForKey:CPRuleEditorBoundArrayKeyPathKey]; + + _slicesHolder = [[self subviews] objectAtIndex:0]; + _boundArrayOwner = [coder decodeObjectForKey:CPRuleEditorBoundArrayOwnerKey]; + _slices = [coder decodeObjectForKey:CPRuleEditorSlicesKey]; + _ruleDelegate = [coder decodeObjectForKey:CPRuleEditorDelegateKey]; + + [self _initRuleEditorShared]; + } + + return self; +} + +- (void)encodeWithCoder:(id)coder +{ + [super encodeWithCoder:coder]; + + [coder encodeBool:_editable forKey:CPRuleEditorEditableKey]; + [coder encodeBool:_allowsEmptyCompoundRows forKey:CPRuleEditorAllowsEmptyCompoundRowsKey]; + [coder encodeBool:_disallowEmpty forKey:CPRuleEditorDisallowEmptyKey]; + + [coder encodeFloat:_alignmentGridWidth forKey:CPRuleEditorAlignmentGridWidthKey]; + [coder encodeDouble:_sliceHeight forKey:CPRuleEditorSliceHeightKey]; + [coder encodeInt:_nestingMode forKey:CPRuleEditorNestingModeKey]; + + [coder encodeObject:_stringsFilename forKey:CPRuleEditorStringsFilenameKey]; + [coder encodeObject:_typeKeyPath forKey:CPRuleEditorRowTypeKeyPathKey]; + [coder encodeObject:_itemsKeyPath forKey:CPRuleEditorItemsKeyPathKey]; + [coder encodeObject:_valuesKeyPath forKey:CPRuleEditorValuesKeyPathKey]; + [coder encodeObject:_boundArrayKeyPath forKey:CPRuleEditorBoundArrayKeyPathKey]; + [coder encodeObject:_subrowsArrayKeyPath forKey:CPRuleEditorSubrowsArrayKeyPathKey]; + + [coder encodeConditionalObject:_slicesHolder forKey:CPRuleEditorSlicesHolderKey]; + [coder encodeObject:_slices forKey:CPRuleEditorSlicesKey]; + [coder encodeObject:_boundArrayOwner forKey:CPRuleEditorBoundArrayOwnerKey]; +} + +@end + +var CriteriaKey = @"criteria", + SubrowsKey = @"subrows", + DisplayValuesKey = @"displayValues", + RowTypeKey = @"rowType"; + +@implementation RowObject : CPObject +{ + CPArray subrows @accessors; + CPArray criteria @accessors; + CPArray displayValues @accessors; + CPInteger rowType @accessors; +} + +- (id)copy +{ + var copy = [[RowObject alloc] init]; + [copy setSubrows:[[CPArray alloc] initWithArray:subrows copyItems:YES]]; + [copy setCriteria:[[CPArray alloc] initWithArray:criteria copyItems:YES]]; + [copy setDisplayValues:[[CPArray alloc] initWithArray:displayValues copyItems:YES]]; + [copy setRowType:rowType]; + + return copy; +} + +- (CPString)description +{ + return "\nsubrows = " + [subrows description] + "\ncriteria = " + [criteria description] + "\ndisplayValues = " + [displayValues description]; +} + +- (id)initWithCoder:(id)coder +{ + self = [super init]; + if (self != nil) + { + subrows = [coder decodeObjectForKey:SubrowsKey]; + criteria = [coder decodeObjectForKey:CriteriaKey]; + displayValues = [coder decodeObjectForKey:DisplayValuesKey]; + rowType = [coder decodeIntForKey:RowTypeKey]; + } + + return self; +} + +- (void)encodeWithCoder:(id)coder +{ + [coder encodeObject:subrows forKey:SubrowsKey]; + [coder encodeObject:criteria forKey:CriteriaKey]; + [coder encodeObject:displayValues forKey:DisplayValuesKey]; + [coder encodeInt:rowType forKey:RowTypeKey]; +} + +@end + +@implementation _CPRuleEditorCache : CPObject +{ + CPDictionary rowObject @accessors; + CPInteger rowIndex @accessors; + CPInteger indentation @accessors; +} + +- (CPString)description +{ + return [CPString stringWithFormat:@"<%d object:%d rowIndex:%d indentation:%d>",[self hash], [rowObject hash], rowIndex, indentation]; +} + +@end + +var CPBoundArrayKey = @"CPBoundArray"; + +@implementation _CPRuleEditorViewUnboundRowHolder : CPObject +{ + CPArray boundArray; +} + +- (id)init +{ + if (self = [super init]) + boundArray = [[CPArray alloc] init]; + + return self; +} + +- (id)initWithCoder:(id)coder +{ + if (self = [super init]) + boundArray = [coder decodeObjectForKey:CPBoundArrayKey]; + + return self; +} + +- (void)encodeWithCoder:(id)coder +{ + [coder encodeObject:boundArray forKey:CPBoundArrayKey]; +} + +@end + +@implementation _CPRuleEditorViewSliceHolder : CPView +{ +} + +- (void)addSubview:(CPView)subview +{ + [self setNeedsDisplay:YES]; + [super addSubview:subview]; +} + +@end + +var dropSeparatorColor = [CPColor colorWithHexString:@"4886ca"]; + +@implementation _CPRuleEditorViewSliceDropSeparator : CPView +{ +} + +- (void)drawRect:(CPRect)rect +{ + var context = [[CPGraphicsContext currentContext] graphicsPort]; + CGContextSetFillColor(context, dropSeparatorColor); + CGContextFillRect(context, [self bounds]); +} + +@end + +@implementation CPControl (ToolTip) + +- (void)setToolTip:(CPString)aToolTip +{ + if (_toolTip == aToolTip) + return; + + _toolTip = aToolTip; +#if PLATFORM(DOM) + _DOMElement.title = aToolTip; +#endif +} + +- (CPString)toolTip +{ + return _toolTip; +} + +@end + +/*! @endcond */ \ No newline at end of file diff --git a/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j b/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j new file mode 100644 index 000000000..412ed6ed6 --- /dev/null +++ b/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j @@ -0,0 +1,91 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + */ + +@class _CPPredicateEditorTree; +@implementation _CPPredicateEditorRowNode : CPObject +{ + _CPPredicateEditorTree tree @accessors; + CPMutableArray templateViews @accessors; + CPMutableArray copiedTemplateContainer @accessors; + CPArray children @accessors(copy); +} + +- (BOOL)applyTemplate:(id)template withViews:(id)views forOriginalTemplate:(id)arg3 +{ + return YES; // not in use +} + ++ (id)rowNodeFromTree:(id)aTree +{ + return [_CPPredicateEditorRowNode _rowNodeFromTree:aTree withTemplate:[aTree template]]; +} + ++ (id)_rowNodeFromTree:(id)aTree withTemplate:(id)template +{ + var nodeChildren = [CPArray array], + treeChildren = [aTree children], + count = [treeChildren count]; + + for (var i = 0; i < count; i++) + { + var childnode = [self _rowNodeFromTree:treeChildren[i] withTemplate:template]; + [nodeChildren addObject:childnode]; + } + + var node = [_CPPredicateEditorRowNode new]; + [node setTree:aTree]; + [node setCopiedTemplateContainer:[CPMutableArray arrayWithObject:template]]; + [node setTemplateViews:[template templateViews]]; + [node setChildren:nodeChildren]; + + return node; +} + + +- (BOOL)isEqual:(id)node +{ + return (self === node || tree === [node tree]); +} + +- (void)copyTemplateIfNecessary +{ + if ([[self templateForRow] rightIsWildcard]) + { + var copy = [[tree template] copy]; + [self setCopiedTemplateContainer:[CPMutableArray arrayWithObject:copy]]; + [self setTemplateViews:[copy templateViews]]; + } +} + +- (CPView)templateView +{ + return [templateViews objectAtIndex:[tree indexIntoTemplate]]; +} + +- (id)templateForRow +{ + return [copiedTemplateContainer lastObject]; +} + +- (CPString)title +{ + return [tree title]; +} + +- (id)displayValue +{ + var title = [self title]; + if (title == nil) + return [self templateView]; + + return title; +} + +- (CPString)description +{ + return [CPString stringWithFormat:@"<%@ %@ %@ %p>", [self className], [self title], [self displayValue], self]; +} + +@end \ No newline at end of file diff --git a/AppKit/CPRuleEditor/_CPPredicateEditorTree.j b/AppKit/CPRuleEditor/_CPPredicateEditorTree.j new file mode 100644 index 000000000..004c8d5c7 --- /dev/null +++ b/AppKit/CPRuleEditor/_CPPredicateEditorTree.j @@ -0,0 +1,33 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + */ + +@implementation _CPPredicateEditorTree : CPObject +{ + CPPredicateEditorRowTemplate template @accessors; + CPString title @accessors(copy); + CPArray children @accessors(copy); + CPInteger indexIntoTemplate @accessors; + CPInteger menuItemIndex @accessors; +} + +- (id)copy +{ + var tree = [[_CPPredicateEditorTree alloc] init]; + [tree setTemplate:template]; + [tree setTitle:title]; + [tree setMenuItemIndex:menuItemIndex]; + [tree setIndexIntoTemplate:indexIntoTemplate]; + [tree setChildren:children]; + + return tree; +} + +- (CPString)description +{ + return [CPString stringWithFormat:@"<%@: %p (%@) [%d-%d] T:%p at:%d> [\r%@\r]", [self className], self, title, indexIntoTemplate, menuItemIndex, template, [template rightExpressionAttributeType], children]; +} + +@end + diff --git a/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j b/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j new file mode 100644 index 000000000..638532901 --- /dev/null +++ b/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j @@ -0,0 +1,75 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + */ + +@import +@import +@import + +var regex = new RegExp("\"(.+)\"\\s*=\\s*\"(.+)\"\\s*;\\s*(//.+)?"); + +@implementation _CPRuleEditorLocalizer : CPObject +{ + CPDictionary _dictionary @accessors(property=dictionary); + CPURLConnection connection; + CPURLRequest resquest; +} + +- (void)loadContentOfURL:(CPURL)aURL +{ + request = [CPURLRequest requestWithURL:aURL]; + connection = [CPURLConnection connectionWithRequest:request delegate:self]; +} + +- (void)reloadIfNeeded +{ + if (connection != nil) // Connection waiting + { + connection = nil; + var data = [CPURLConnection sendSynchronousRequest:request returningResponse:NULL]; + [self loadContent:[data rawString]]; + } +} + +- (void)connection:(CPURLConnection)aConnection didReceiveData:(CPString)rawString +{ + if (connection != nil && rawString != nil) + [self loadContent:rawString]; + + connection = nil; +} + +- (void)loadContent:(CPString)aContent +{ + var dict = [CPDictionary dictionary], + lines = [aContent componentsSeparatedByString:"\n"], + count = [lines count]; + + for (var i = 0 ; i < count ; i++) + { + var line = [lines objectAtIndex:i]; + if (line.length > 1) + { + var match = regex.exec(line); + if (match.length >= 3) + [dict setObject:match[2] forKey:match[1]]; + } + } + + _dictionary = [CPDictionary dictionaryWithDictionary:dict]; +} + +- (CPString)localizedStringForString:(CPString)aString +{ + [self reloadIfNeeded]; + + if (_dictionary != nil && aString != nil) + { + var localized = [_dictionary objectForKey:aString]; + if (localized != nil) + return localized; + } + + return aString; +} \ No newline at end of file diff --git a/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j b/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j new file mode 100644 index 000000000..7393e5a36 --- /dev/null +++ b/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j @@ -0,0 +1,157 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + */ + +var GRADIENT_NORMAL, + GRADIENT_HIGHLIGHTED, + IE_FILTER = "progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfcfc', endColorstr='#dfdfdf')"; + +@implementation _CPRuleEditorPopUpButton : CPPopUpButton +{ + CPInteger radius; +} + ++ (void)initialize +{ + if (CPBrowserIsEngine(CPWebKitBrowserEngine)) + { + GRADIENT_NORMAL = "-webkit-gradient(linear, left top, left bottom, from(rgb(252, 252, 252)), to(rgb(223, 223, 223)))", + GRADIENT_HIGHLIGHTED = "-webkit-gradient(linear, left top, left bottom, from(rgb(223, 223, 223)), to(rgb(252, 252, 252)))"; + } + else if (CPBrowserIsEngine(CPGeckoBrowserEngine)) + { + GRADIENT_NORMAL = "-moz-linear-gradient(top, rgb(252, 252, 252), rgb(223, 223, 223))", + GRADIENT_HIGHLIGHTED = "-moz-linear-gradient(top, rgb(223, 223, 223), rgb(252, 252, 252))"; + } +} + +- (id)initWithFrame:(CGRect)aFrame +{ + if (self = [super initWithFrame:aFrame]) + { + var style = _DOMElement.style; + style.backgroundImage = GRADIENT_NORMAL; + style.border = "1px solid rgb(189, 189, 189)"; + style.filter = IE_FILTER; + + [self setTextColor:[CPColor colorWithWhite:101/255 alpha:1]]; + [self setBordered:NO]; + } + + return self; +} + +- (id)hitTest:(CPPoint)point +{ + var slice = [self superview]; + if (!CPRectContainsPoint([self frame], point) || ![self sliceIsEditable]) + return nil; + + return self; +} + +- (void)setHighlighted:(BOOL)shouldHighlight +{ + _DOMElement.style.backgroundImage = (shouldHighlight) ? GRADIENT_HIGHLIGHTED : GRADIENT_NORMAL; +} + +- (BOOL)sliceIsEditable +{ + return [[self superview] isEditable]; +} + +- (BOOL)trackMouse:(CPEvent)theEvent +{ + if (![self sliceIsEditable]) + return NO; + + return [super trackMouse:theEvent]; +} + +- (CGRect)contentRectForBounds:(CGRect)bounds +{ + var contentRect = [super contentRectForBounds:bounds]; + contentRect.origin.x += radius; + contentRect.size.width -= 2 * radius; + + return contentRect; +} + +- (void)layoutSubviews +{ + radius = FLOOR(CGRectGetHeight([self bounds])/2); + + var style = _DOMElement.style, + radiusCSS = radius + "px"; + + //style.webkitBorderRadius = radiusCSS; + //style.mozBorderRadius = radiusCSS; + style.borderRadius = radiusCSS; + + [super layoutSubviews]; +} + +- (void)drawRect:(CGRect)aRect +{ + var bounds = [self bounds], + context = [[CPGraphicsContext currentContext] graphicsPort]; + + var arrow_width = FLOOR(CGRectGetHeight(bounds)/3.5); + + CGContextTranslateCTM(context, CGRectGetWidth(bounds) - radius - arrow_width, CGRectGetHeight(bounds) / 2); + + var arrowsPath = [CPBezierPath bezierPath]; + [arrowsPath moveToPoint:CGPointMake(0, 1)]; + [arrowsPath lineToPoint:CGPointMake(arrow_width, 1)]; + [arrowsPath lineToPoint:CGPointMake(arrow_width/2, arrow_width + 1)]; + [arrowsPath closePath]; + + CGContextSetFillColor(context, [CPColor colorWithWhite:101/255 alpha:1]); + [arrowsPath fill]; + + CGContextScaleCTM(context, 1 , -1); + [arrowsPath fill]; +} + +@end + +@implementation _CPRuleEditorButton : CPButton +{ + CPInteger radius; +} + +- (id)initWithFrame:(CGRect)aFrame +{ + self = [super initWithFrame:aFrame]; + if (self) + { + [self setFont:[CPFont boldFontWithName:@"Apple Symbol" size:12.0]]; + [self setTextColor:[CPColor colorWithWhite:150/255 alpha:1]]; + [self setAlignment:CPCenterTextAlignment]; + [self setAutoresizingMask:CPViewMinXMargin]; + [self setImagePosition:CPImageOnly]; + [self setBordered:NO]; + var style = _DOMElement.style; + style.border = "1px solid rgb(189, 189, 189)"; + style.filter = IE_FILTER; + } + + return self; +} + +- (void)layoutSubviews +{ + radius = FLOOR(CGRectGetHeight([self bounds])/2); + + var style = _DOMElement.style, + radiusCSS = radius + "px"; + + style.borderRadius = radiusCSS; + style.backgroundImage = ([self isHighlighted]) ? GRADIENT_HIGHLIGHTED : GRADIENT_NORMAL; + + [super layoutSubviews]; +} + +@end + diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j new file mode 100644 index 000000000..f0128dbcd --- /dev/null +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j @@ -0,0 +1,109 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + */ + +@implementation _CPRuleEditorViewSlice : CPView +{ + CPRuleEditor _ruleEditor; + int _indentation @accessors(property=indentation); + int _rowIndex @accessors(property=rowIndex); + CPRect _animationTargetRect @accessors(property=_animationTargetRect); + BOOL _selected @accessors(getter=_isSelected, setter=_setSelected:); + BOOL _lastSelected @accessors(getter=_isLastSelected, setter=_setLastSelected:); + CPColor _backgroundColor @accessors(property=backgroundColor); +} + +- (void)removeFromSuperview +{ + [super removeFromSuperview]; +} + +- (id)initWithFrame:(CGRect)frame ruleEditorView:(id)editor +{ + if (self = [super initWithFrame:frame]) + { + _ruleEditor = editor; + _selected = NO; + _lastSelected = NO; + } + + return self; +} + +- (void)_setSelected:(BOOL)select +{ + if (select == _selected) + return; + + var selector = select ? @"setThemeState:" : @"unsetThemeState:"; + [[self subviews] makeObjectsPerformSelector:CPSelectorFromString(selector) withObject:CPThemeStateSelectedDataView]; + _selected = select; +} + +- (void)drawRect:(CPRect)rect +{ + var context = [[CPGraphicsContext currentContext] graphicsPort], + bounds = [self bounds], + maxX = CGRectGetWidth(bounds) - 2, + maxY = CGRectGetHeight(bounds); + +// Draw background + if ([self _isSelected]) + _backgroundColor = [_ruleEditor _selectedRowColor]; + else + { + var colors = [_ruleEditor _backgroundColors], + count = [colors count]; + _backgroundColor = [colors objectAtIndex:(_rowIndex % count)]; + } + + CGContextSetFillColor(context, _backgroundColor); + CGContextFillRect(context, rect); + +// Draw Top Border + CGContextBeginPath(context); + CGContextMoveToPoint(context, 1, 0); + CGContextAddLineToPoint(context, maxX, 0); + CGContextClosePath(context); + CGContextSetStrokeColor(context, [_ruleEditor _sliceTopBorderColor]); + CGContextStrokePath(context); + +// Draw Bottom Border + CGContextBeginPath(context); + CGContextMoveToPoint(context, 1, maxY - 0.5); + CGContextAddLineToPoint(context, maxX, maxY - 0.5); + CGContextClosePath(context); + var bottomColor = (_rowIndex == [_ruleEditor _lastRow]) ? [_ruleEditor _sliceLastBottomBorderColor] : [_ruleEditor _sliceBottomBorderColor]; + CGContextSetStrokeColor(context, bottomColor); + CGContextStrokePath(context); +} + +- (void)mouseDown:(CPEvent)theEvent +{ + if (editable) + [_ruleEditor _mouseDownOnSlice:self withEvent:theEvent]; +} + +- (void)mouseUp:(CPEvent)theEvent +{ + if (editable) + [_ruleEditor _mouseUpOnSlice:self withEvent:theEvent]; +} + +/* +- (void)rightMouseDown:(CPEvent)theEvent +{ + [_ruleEditor _rightMouseDownOnSlice:self withEvent:theEvent]; +} +*/ + +// ========= +// ! DEBUG +// ========= +- (CPString)description +{ + return [CPString stringWithFormat:@"<%@ %p index:%d indentation:%d>",[self className],self,[self rowIndex],[self indentation]]; +} + +@end \ No newline at end of file diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j new file mode 100644 index 000000000..4805c95f5 --- /dev/null +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j @@ -0,0 +1,493 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + */ + +@import "_CPRuleEditorViewSlice.j" +@import "_CPRuleEditorPopUpButton.j" +@import "CPRuleEditor.j" + +var CONTROL_HEIGHT = 16., + BUTTON_HEIGHT = 16.; + +@implementation _CPRuleEditorViewSliceRow : _CPRuleEditorViewSlice +{ + CPMutableArray _ruleOptionViews; + CPMutableArray _ruleOptionFrames; + CPMutableArray _correspondingRuleItems; + CPMutableArray _ruleOptionInitialViewFrames; + CPButton _addButton; + CPButton _subtractButton; + BOOL editable; + CPRuleEditorRowType _rowType @accessors; + CPRuleEditorRowType _plusButtonRowType; +} + +- (id)initWithFrame:(CGRect)frame ruleEditorView:(id)editor +{ + if (self = [super initWithFrame:frame ruleEditorView:editor]) + [self _initShared]; + + return self; +} + +- (void)_initShared +{ + _correspondingRuleItems = [[CPMutableArray alloc] init]; + _ruleOptionFrames = [[CPMutableArray alloc] init]; + _ruleOptionInitialViewFrames = [[CPMutableArray alloc] init]; + _ruleOptionViews = [[CPMutableArray alloc] init]; + editable = [_ruleEditor isEditable]; + + _addButton = [self _createAddRowButton]; + _subtractButton = [self _createDeleteRowButton]; + [_addButton setToolTip:[_ruleEditor _toolTipForAddSimpleRowButton]]; + [_subtractButton setToolTip:[_ruleEditor _toolTipForDeleteRowButton]]; + [_addButton setHidden:!editable]; + [_subtractButton setHidden:!editable]; + [self addSubview:_addButton]; + [self addSubview:_subtractButton]; + + [self setAutoresizingMask:CPViewWidthSizable]; + + var center = [CPNotificationCenter defaultCenter]; + [center addObserver:self selector:@selector(_textDidChange:) name:CPControlTextDidChangeNotification object:nil]; +} + +- (CPButton)_createAddRowButton +{ + var button = [[_CPRuleEditorButton alloc] initWithFrame:CGRectMakeZero()]; + [button setImage:[_ruleEditor _addImage]]; + + [button setAction:@selector(_addOption:)]; + [button setTarget:self]; + [button setAutoresizingMask:CPViewMinXMargin]; + + return button; +} + +- (CPButton)_createDeleteRowButton +{ + var button = [[_CPRuleEditorButton alloc] initWithFrame:CGRectMakeZero()]; + [button setImage:[_ruleEditor _removeImage]]; + + [button setAction:@selector(_deleteOption:)]; + [button setTarget:self]; + [button setAutoresizingMask:CPViewMinXMargin]; + + return button; +} + +- (CPMenuItem)_createMenuItemWithTitle:(CPString )title +{ + title = [[_ruleEditor standardLocalizer] localizedStringForString:title]; + return [[CPMenuItem alloc] initWithTitle:title action:nil keyEquivalent:@""]; +} + +- (CPPopUpButton)_createPopUpButtonWithItems:(CPArray)itemsArray selectedItemIndex:(int)index +{ + var title = [[itemsArray objectAtIndex:index] title], + font = [_ruleEditor font], + width = [title sizeWithFont:font].width + 20, + rect = CGRectMake(0, ([_ruleEditor rowHeight] - CONTROL_HEIGHT)/2, (width - width % 40) + 80, CONTROL_HEIGHT); + + var popup = [[_CPRuleEditorPopUpButton alloc] initWithFrame:rect]; + [popup setValue:font forThemeAttribute:@"font"]; + + var count = [itemsArray count]; + for (var i = 0; i < count; i++) + [popup addItem:[itemsArray objectAtIndex:i]]; + + [popup selectItemAtIndex:index]; + + return popup; +} + +- (CPMenuItem)_createMenuSeparatorItem +{ + return [CPMenuItem separatorItem]; +} + +- (_CPRuleEditorTextField)_createStaticTextFieldWithStringValue:(CPString )text +{ + text = [[_ruleEditor standardLocalizer] localizedStringForString:text]; + + var textField = [[_CPRuleEditorTextField alloc] initWithFrame:CPMakeRect(0, 0, 200, CONTROL_HEIGHT)]; + var font = [_ruleEditor font]; + font = [CPFont fontWithName:font._name size:font._size + 2]; + [textField setValue:font forThemeAttribute:@"font"]; + [textField setStringValue:text]; + [textField sizeToFit]; + + return textField; +} + +- (void)_addOption:(id)sender +{ + if (_rowIndex == [_ruleEditor numberOfRows] - 1) + [self setNeedsDisplay:YES]; + + var type = _plusButtonRowType; + if ([_ruleEditor nestingMode] == CPRuleEditorNestingModeCompound && ([[CPApp currentEvent] modifierFlags] & CPAlternateKeyMask)) + type = CPRuleEditorRowTypeCompound; + + [_ruleEditor _addOptionFromSlice:self ofRowType:type]; +} + +- (void)_deleteOption:(id)sender +{ + [_ruleEditor _deleteSlice:self]; +} + +- (void)_ruleOptionPopupChangedAction:(CPMenuItem )sender +{ + var layoutdict = [sender representedObject], + newItem = [layoutdict objectForKey:@"item"], + indexInCriteria = [[layoutdict objectForKey:@"indexInCriteria"] intValue], + oldItem = [_correspondingRuleItems objectAtIndex:indexInCriteria]; + + if (newItem != oldItem) + { + [_correspondingRuleItems replaceObjectAtIndex:indexInCriteria withObject:newItem]; + [_ruleEditor _changedItem:oldItem toItem:newItem inRow:_rowIndex atCriteriaIndex:indexInCriteria]; + } +} + +- (BOOL)validateMenuItem:(CPMenuItem )menuItem +{ + return [_ruleEditor _validateItem:menuItem value:[[menuItem representedObject] valueForKey:@"item"] inRow:_rowIndex]; +} + +- (void)_emptyRulePartSubviews +{ + var count = [_ruleOptionViews count]; + + while (count--) + [_ruleOptionViews[count] removeFromSuperview]; + + [_ruleOptionViews removeAllObjects]; + [_ruleOptionFrames removeAllObjects]; + [_ruleOptionInitialViewFrames removeAllObjects]; +} + +- (void)_reconfigureSubviews +{ + var numItems; + currentItem = nil, + optionView = nil, + indexInCriteria = 0, + + rowtype = [_ruleEditor rowTypeForRow:_rowIndex], + displayValues = [_ruleEditor displayValuesForRow:_rowIndex]; + + [self _emptyRulePartSubviews]; + [_correspondingRuleItems removeAllObjects]; + + while ((numItems = [_ruleEditor _queryNumberOfChildrenOfItem:currentItem withRowType:rowtype]) > 0) + { + var isCustomRightControl = NO; + isStaticTextField = NO, + isPopupMenu = NO, + isMultiValue = numItems > 1, + selectedMenuItemIndex = 0, + selectedItem = nil, + current_display_value = nil, + + itemsArray = [CPMutableArray array], + display_value_cached = [displayValues objectAtIndex:indexInCriteria]; + + for (var childIndex = 0; childIndex < numItems; childIndex++) + { + var childItem = [_ruleEditor _queryChild:childIndex ofItem:currentItem withRowType:rowtype]; + current_display_value = [_ruleEditor _queryValueForItem:childItem inRow:_rowIndex]; + + if (isMultiValue) + { + var menuItem; + + if ([current_display_value isKindOfClass:[CPString class]]) + menuItem = [self _createMenuItemWithTitle:current_display_value]; + else if ([current_display_value isKindOfClass:[CPMenuItem class]]) + menuItem = current_display_value; + else + [CPException raise:CPInternalInconsistencyException reason:@"Display value must be a string or a menu item"]; + + var layoutDictionary = [CPDictionary dictionaryWithObjectsAndKeys:childItem, @"item", indexInCriteria, @"indexInCriteria"]; + + [menuItem setAction:@selector(_ruleOptionPopupChangedAction:)]; + [menuItem setTarget:self]; + [menuItem setRepresentedObject:layoutDictionary]; + [menuItem setTag:indexInCriteria]; + + [itemsArray addObject:menuItem]; + isPopupMenu = YES; + + if ((childIndex == numItems - 1 && selectedItem == nil) + || ([current_display_value isEqual:display_value_cached]) + || ([current_display_value isKindOfClass:[CPView class]] + && [[current_display_value objectValue] isEqualTo:[display_value_cached objectValue]])) + { + selectedItem = childItem; + selectedMenuItemIndex = childIndex; + } + } + else if ([current_display_value isKindOfClass:[CPString class]]) + { + isStaticTextField = YES; + selectedItem = childItem; + selectedMenuItemIndex =0; + } + else if ([current_display_value isKindOfClass:[CPView class]]) + { + isCustomRightControl = YES; + selectedItem = childItem; + selectedMenuItemIndex = 0; + } else + [CPException raise:CPInternalInconsistencyException reason:@"Display value must be a string or a custom control"]; + } + + if (isPopupMenu) + { + optionView = [self _createPopUpButtonWithItems:itemsArray selectedItemIndex:selectedMenuItemIndex]; + } + else if (isStaticTextField) + { + optionView = [self _createStaticTextFieldWithStringValue:[current_display_value description]]; + } + else if (isCustomRightControl) + { + optionView = display_value_cached; //display_value_cached + [optionView setTarget:self]; + [optionView setAction:@selector(_sendRuleAction:)]; + if ([optionView respondsToSelector:@selector(setEditable:)]) + [optionView setEditable:editable]; + } + + if (optionView) + { + [_ruleOptionViews addObject:optionView]; + [_ruleOptionInitialViewFrames addObject:[optionView frame]]; + [_ruleOptionFrames addObject:[optionView frame]]; + } + + [_correspondingRuleItems addObject:selectedItem]; + currentItem = selectedItem; + indexInCriteria++; + } + + [self _relayoutSubviewsWidthChanged:(CGRectGetWidth([self frame]) != [_ruleEditor rowHeight])]; +} + +- (void)layoutSubviews +{ + [self _relayoutSubviewsWidthChanged:YES]; +} + +- (void)_relayoutSubviewsWidthChanged:(BOOL)widthChanged +{ + var optionViewOriginX, + rowHeight = [_ruleEditor rowHeight], + count = [_ruleOptionViews count], + sliceFrame = [self frame]; + + if (widthChanged) + optionViewOriginX = [self _leftmostViewFixedHorizontalPadding] + [self _indentationHorizontalPadding]*[self indentation]; + for (var i = 0; i < count; i++) + { + var ruleOptionView = _ruleOptionViews[i], + optionFrame = _ruleOptionFrames[i], + initialFrame = _ruleOptionInitialViewFrames[i]; + + optionFrame.origin.y = (rowHeight - CGRectGetHeight(optionFrame))/2 - 2; + if (widthChanged) + { + optionFrame.origin.x = optionViewOriginX; + optionFrame.size.width = MIN(CGRectGetMinX(optionFrame) + CGRectGetWidth(initialFrame), CGRectGetMinX([_subtractButton frame]) - [self _rowButtonsLeftHorizontalPadding]) - CGRectGetMinX(optionFrame); + } + + [ruleOptionView setFrame:optionFrame]; + [self addSubview:ruleOptionView]; + if (widthChanged) + optionViewOriginX += CGRectGetWidth(optionFrame) + [self _interviewHorizontalPadding]; + } + + var buttonFrame = CGRectMake(CGRectGetWidth(sliceFrame) - BUTTON_HEIGHT - [self _rowButtonsRightHorizontalPadding], ([_ruleEditor rowHeight] - BUTTON_HEIGHT)/2 - 2, BUTTON_HEIGHT, BUTTON_HEIGHT); + [_addButton setFrame:buttonFrame]; + + buttonFrame.origin.x -= BUTTON_HEIGHT + [self _rowButtonsInterviewHorizontalPadding]; + [_subtractButton setFrame:buttonFrame]; +} + +- (void)_updateButtonVisibilities +{ + [_addButton setHidden:[_ruleEditor _shouldHideAddButtonForSlice:self]]; + [_subtractButton setHidden:[_ruleEditor _shouldHideSubtractButtonForSlice:self]]; +} + +- (void)_configurePlusButtonByRowType:(CPRuleEditorRowType)type +{ + [self _setRowTypeToAddFromPlusButton:type]; +} + +- (BOOL)isEditable +{ + return editable; +} + +- (void)setEditable:(BOOL)value +{ + editable = value; +// [self _updateEnabledStateForSubviews]; + [self _updateButtonVisibilities]; +} + +- (float)_alignmentGridWidth +{ + return [_ruleEditor _alignmentGridWidth]; +} + +- (float)_indentationHorizontalPadding +{ + return 30.; +} + +- (float)_interviewHorizontalPadding +{ + return 6.; +} + +- (float)_leftmostViewFixedHorizontalPadding +{ + return 7.; +} + +- (float)_minimumVerticalPopupPadding +{ + return 2.; +} + +- (float)_rowButtonsInterviewHorizontalPadding +{ + return 6.; +} + +- (float)_rowButtonsLeftHorizontalPadding +{ + return 10.; +} + +- (float)_rowButtonsRightHorizontalPadding +{ + return 10.; +} + +- (void)_setRowTypeToAddFromPlusButton:(int)type +{ + _plusButtonRowType = type; +} + +- (void)setNeedsDisplay:(BOOL)flag +{ + [super setNeedsDisplay:flag]; +} + +- (BOOL)_nestingModeShouldHideAddButton +{ + return [_ruleEditor _applicableNestingMode] == CPRuleEditorNestingModeSingle; +} + +- (BOOL)_nestingModeShouldHideSubtractButton +{ + return [_ruleEditor _applicableNestingMode] == CPRuleEditorNestingModeSingle; +} + +- (BOOL)containsDisplayValue:(id)value +{ + return [[_ruleEditor displayValuesForRow:_rowIndex] containsObject:value]; + // Ou alors avec _correspondingRuleItems +} + +- (void)viewDidMoveToWindow +{ + [self layoutSubviews]; +} + +- (void)drawRect:(CPRect)rect +{ + [super drawRect:rect]; +} + +- (BOOL)_isRulePopup:(CPView)view +{ + if ([view isKindOfClass:[_CPRuleEditorPopUpButton class]]) + return YES; + return NO; +} + +- (BOOL)_isRuleStaticTextField:(CPView)view +{ + if ([view isKindOfClass:[_CPRuleEditorTextField class]]) + return YES; + return NO; +} + +- (void)_sendRuleAction:(id)sender +{ + [_ruleEditor _sendRuleAction]; +} + +- (void)_textDidChange:(CPNotification)aNotif +{ + if ([[aNotif object] superview] == self) + [_ruleEditor _sendRuleAction]; +} + +/* +- (BOOL)_dropsIndentWhenImmediatelyBelow +{ +} +- (double)_minWidthForPass:(int)pass forView:(id)view withProposedMinWidth:(double)minWidth +{ +} +- (id)_sortOptionDictionariesByLayoutOrder:(id)fp8 +{ +} +- (void)_setHideNonPartDrawing:(BOOL)value +{ +} +- (void)_tightenResizables:(id)fp8 intoGivenWidth:(double)fp12 +{ +} +- (void)_updateEnabledStateForSubviews +{ +} +*/ + +@end + +@implementation _CPRuleEditorTextField : CPTextField +{ +} + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self != nil) + { + [self setBordered:NO]; + [self setEditable:NO]; + [self setDrawsBackground:NO]; + } + + return self; +} + +- (id)hitTest:(CPPoint)point +{ + if (!CPRectContainsPoint([self frame], point)) + return nil; + + return [self superview]; +} + +@end \ No newline at end of file diff --git a/AppKit/Themes/Aristo/Resources/rule-editor-add.png b/AppKit/Themes/Aristo/Resources/rule-editor-add.png new file mode 100644 index 0000000000000000000000000000000000000000..5506b84f47261a30556446983f7262698cf3df54 GIT binary patch literal 591 zcmV-V04Tx0C)kdlFv&UK@`WoNo=DiBE{w=>_H?#Dr?q2P9-MLQtTnbNNR6!@=I_x z%VrZ5Joq*Aq6ZJ9v=#NQXuwMd>vwht>7k*QJ{aaRZ@%x%n>Pc5 zqD9-@3IZ@K*U7z1Yj4)yYT;`H@E8%yV4)})_Hs7+nvx-Q|C4Ik_h&NK5YaIAq{9P& zK#YRvs^XO74aIrM+pg_WQpoq-oZfKX^xu3fp09XoNf~`@)&l`VBn)K+VCxw|)W~r-7&4 zfp2b!T%sj$iV+<=2nyM^=V3&iq@w-f*X002ovPDHLkV1gs{2I~L- literal 0 HcmV?d00001 diff --git a/AppKit/Themes/Aristo/Resources/rule-editor-remove.png b/AppKit/Themes/Aristo/Resources/rule-editor-remove.png new file mode 100644 index 0000000000000000000000000000000000000000..0b50001233fc9fe1b14a0a3fc4c4596e78f9335f GIT binary patch literal 576 zcmV-G0>Ax4Tx0C)kdlFv&UK@`WoNo=DiBE{w=>_H?#Dr?q2P9-MLQtTnbNNR6!@=I_x z%VrZ5Joq*Aq6ZJ9v=#NQXuwMd>vwht>7k*QJ{aaRZ@%x%n>Pc5 zqD9-@3IZ@K*U7z1Yj4)yYT;`H@E8%yV4)})_Hs7+nvx-Q|C4Ik_h&NK5YaIAq{9P& zK#YRvs^XO74aIrM+pg_WQpoq-oZfKX^xu3fp09XoNf~`@)&l`VBn)K+VCxw|)W~r-7&4 zfp2b!T%sj$iV+<=2nyM + +@implementation AppController : CPObject +{ + CPWindow window; + CPRuleEditor predicateEditor; + CPTextField predicateField; + + CPTableView leftTable; + CPTableView rightTable; + CPPopUpButton rightExpressionsType; + CPButton addTemplate; + CPBox templateBox; + + CPMutableArray operators; + CPMutableArray leftKeyPaths; + CPMutableArray rightConstants; +} + +- (void)awakeFromCib +{ + operators = [CPMutableArray new]; + leftKeyPaths = [CPMutableArray new]; + rightConstants = [CPMutableArray new]; + + [templateBox setCornerRadius:10]; + [self updateAddTemplateButton]; + + [window setBackgroundColor:[CPColor colorWithHexString:@"f3f4f5"]]; + [window setFullBridge:YES]; +} + +- (IBAction)displayPredicate:(id)sender +{ + var pred = [CPPredicate predicateWithFormat:[sender stringValue]]; + if (pred) + [predicateEditor setObjectValue:pred]; +} + +- (IBAction)predicateEditorAction:(id)sender +{ + [predicateEditor reloadPredicate]; + [predicateField setStringValue:[[predicateEditor objectValue] predicateFormat]]; +} + +- (void)ruleEditorRowsDidChange:(CPNotification)notification +{ + CPLogConsole(_cmd); +} + +// Templates maker +- (IBAction)updateOperators:(id)sender +{ + var op = [CPNumber numberWithInt:[sender tag]]; + if ([sender state] == CPOnState) + { + if (![operators containsObject:op]) + [operators addObject:op]; + + } + else if ([sender state] == CPOffState) + [operators removeObject:op]; + + [self updateAddTemplateButton]; +} + +- (IBAction)selectRightAttributeType:(id)sender +{ + [self updateAddTemplateButton]; +} + +- (IBAction)addLeftKeyPath:(id)sender +{ + [self addUniqueValue:@"keypath" toArray:leftKeyPaths]; + [leftTable reloadData]; + [self updateAddTemplateButton]; +} + +- (IBAction)addRightConstant:(id)sender +{ + if ([rightExpressionsType indexOfSelectedItem] != 2) + return; + + [self addUniqueValue:@"constant" toArray:rightConstants]; + [rightTable reloadData]; + [self updateAddTemplateButton]; +} + +- (IBAction)addTemplate:(id)sender +{ + var template; + + var leftExpressions = [CPMutableArray array], + count = [leftKeyPaths count]; + while (count--) + { + var exp = [CPExpression expressionForKeyPath:leftKeyPaths[count]]; + [leftExpressions insertObject:exp atIndex:0]; + } + + var type = [rightExpressionsType indexOfSelectedItem]; + if (type == 0) + template = [[CPPredicateEditorRowTemplate alloc] initWithLeftExpressions:leftExpressions rightExpressionAttributeType:CPStringAttributeType modifier:0 operators:operators options:0]; + else if (type == 1) + template = [[CPPredicateEditorRowTemplate alloc] initWithLeftExpressions:leftExpressions rightExpressionAttributeType:CPInteger16AttributeType modifier:0 operators:operators options:0]; + else if (type ==2) + { + var rightExpressions = [CPMutableArray array], + count = [rightConstants count]; + while (count--) + { + var exp = [CPExpression expressionForConstantValue:rightConstants[count]]; + [rightExpressions insertObject:exp atIndex:0]; + } + + template = [[CPPredicateEditorRowTemplate alloc] initWithLeftExpressions:leftExpressions rightExpressions:rightExpressions modifier:0 operators:operators options:0]; + } + + var templates = [[predicateEditor rowTemplates] arrayByAddingObject:template]; + [predicateEditor setRowTemplates:templates]; + [self cleanAll]; +} + +- (void)cleanAll +{ + var subviews = [[templateBox contentView] subviews], + count = [subviews count]; + while (count--) + { + var view = subviews[count]; + if ([view isKindOfClass:[CPCheckBox class]]) + [view setState:CPOffState]; + } + + [leftKeyPaths removeAllObjects]; + [operators removeAllObjects]; + [rightConstants removeAllObjects]; + + [leftTable reloadData]; + [rightTable reloadData]; + [self updateAddTemplateButton]; +} + +- (void)updateAddTemplateButton +{ + var enabled = ([leftKeyPaths count] > 0 && [operators count] > 0 && ([rightExpressionsType indexOfSelectedItem] != 2 || [rightConstants count] > 0)); + [addTemplate setEnabled:enabled]; +} + +- (void)addUniqueValue:(CPString)value toArray:(CPMutableArray)array +{ + var i = 0, + count = [array count]; + + while (count--) + if ([array[count] hasPrefix:value]) + i++; + + [array addObject:(i==0)?value:[CPString stringWithFormat:@"%@%d", value, i]]; +} + +- (CPArray)arrayForTable:(CPTableView)tableView +{ + return (tableView == leftTable) ? leftKeyPaths : rightConstants; +} + +- (id)tableView:(CPTableView)tableView objectValueForTableColumn:(CPTableColumn)tableColumn row:(CPInteger)row +{ + return [[self arrayForTable:tableView] objectAtIndex:row]; +} + +- (void)tableView:(CPTableView)tableView setObjectValue:(id)object forTableColumn:(CPTableColumn)tableColumn row:(CPInteger)row +{ + [[self arrayForTable:tableView] replaceObjectAtIndex:row withObject:object]; +} + +- (int)numberOfRowsInTableView:(CPTableView)tableView +{ + return [[self arrayForTable:tableView] count]; +} + +@end diff --git a/Tests/Manual/CPPredicateEditorCibTest/Info.plist b/Tests/Manual/CPPredicateEditorCibTest/Info.plist new file mode 100644 index 000000000..547a1302d --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/Info.plist @@ -0,0 +1,12 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPPredicateEditorTest + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/CPPredicateEditorCibTest/Jakefile b/Tests/Manual/CPPredicateEditorCibTest/Jakefile new file mode 100644 index 000000000..773e9ac9e --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/Jakefile @@ -0,0 +1,93 @@ +/* + * Jakefile + * CPPredicateEditorTest + * + * Created by You on May 7, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPPredicateEditorTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPPredicateEditorTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPPredicateEditorTest"); + task.setIdentifier("com.yourcompany.CPPredicateEditorTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPPredicateEditorTest"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPPredicateEditorTest"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPPredicateEditorTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPPredicateEditorTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPPredicateEditorTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPPredicateEditorTest"), FILE.join("Build", "Deployment", "CPPredicateEditorTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPPredicateEditorTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPPredicateEditorTest"), FILE.join("Build", "Desktop", "CPPredicateEditorTest", "CPPredicateEditorTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPPredicateEditorTest", "CPPredicateEditorTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPPredicateEditorTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib new file mode 100644 index 000000000..fc0aeb751 --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;202E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;D;K;6;CP$UIDd;3;365E;D;K;6;CP$UIDd;3;366E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;368E;D;K;6;CP$UIDd;3;369E;D;K;6;CP$UIDd;3;370E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;372E;D;K;6;CP$UIDd;3;373E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;376E;D;K;6;CP$UIDd;3;377E;D;K;6;CP$UIDd;3;378E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;380E;D;K;6;CP$UIDd;3;381E;D;K;6;CP$UIDd;3;382E;D;K;6;CP$UIDd;3;383E;D;K;6;CP$UIDd;3;384E;D;K;6;CP$UIDd;3;385E;D;K;6;CP$UIDd;3;386E;D;K;6;CP$UIDd;3;387E;D;K;6;CP$UIDd;3;388E;D;K;6;CP$UIDd;3;389E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;391E;D;K;6;CP$UIDd;3;392E;D;K;6;CP$UIDd;3;393E;D;K;6;CP$UIDd;3;394E;D;K;6;CP$UIDd;3;395E;D;K;6;CP$UIDd;3;396E;D;K;6;CP$UIDd;3;397E;D;K;6;CP$UIDd;3;398E;D;K;6;CP$UIDd;3;399E;D;K;6;CP$UIDd;3;400E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;402E;D;K;6;CP$UIDd;3;403E;D;K;6;CP$UIDd;3;404E;D;K;6;CP$UIDd;3;406E;D;K;6;CP$UIDd;3;407E;D;K;6;CP$UIDd;3;408E;D;K;6;CP$UIDd;3;409E;D;K;6;CP$UIDd;3;410E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;412E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;414E;D;K;6;CP$UIDd;3;415E;D;K;6;CP$UIDd;3;416E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;418E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;420E;D;K;6;CP$UIDd;3;421E;D;K;6;CP$UIDd;3;422E;D;K;6;CP$UIDd;3;423E;D;K;6;CP$UIDd;3;424E;D;K;6;CP$UIDd;3;425E;D;K;6;CP$UIDd;3;426E;D;K;6;CP$UIDd;3;427E;D;K;6;CP$UIDd;3;428E;D;K;6;CP$UIDd;3;429E;D;K;6;CP$UIDd;3;430E;D;K;6;CP$UIDd;3;431E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;433E;D;K;6;CP$UIDd;3;434E;D;K;6;CP$UIDd;3;435E;D;K;6;CP$UIDd;3;436E;D;K;6;CP$UIDd;3;437E;D;K;6;CP$UIDd;3;438E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;440E;D;K;6;CP$UIDd;3;441E;D;K;6;CP$UIDd;3;442E;D;K;6;CP$UIDd;3;443E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;445E;D;K;6;CP$UIDd;3;446E;D;K;6;CP$UIDd;3;447E;D;K;6;CP$UIDd;3;448E;D;K;6;CP$UIDd;3;449E;D;K;6;CP$UIDd;3;450E;D;K;6;CP$UIDd;3;451E;D;K;6;CP$UIDd;3;452E;D;K;6;CP$UIDd;3;453E;D;K;6;CP$UIDd;3;454E;D;K;6;CP$UIDd;3;455E;D;K;6;CP$UIDd;3;456E;D;K;6;CP$UIDd;3;457E;D;K;6;CP$UIDd;3;458E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;460E;D;K;6;CP$UIDd;3;461E;D;K;6;CP$UIDd;3;462E;D;K;6;CP$UIDd;3;463E;D;K;6;CP$UIDd;3;464E;D;K;6;CP$UIDd;3;465E;D;K;6;CP$UIDd;3;466E;D;K;6;CP$UIDd;3;467E;D;K;6;CP$UIDd;3;468E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;470E;D;K;6;CP$UIDd;3;471E;D;K;6;CP$UIDd;3;472E;D;K;6;CP$UIDd;3;473E;D;K;6;CP$UIDd;3;474E;D;K;6;CP$UIDd;3;475E;D;K;6;CP$UIDd;3;476E;D;K;6;CP$UIDd;3;477E;D;K;6;CP$UIDd;3;478E;D;K;6;CP$UIDd;3;479E;D;K;6;CP$UIDd;3;480E;D;K;6;CP$UIDd;3;481E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;483E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;485E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;486E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;490E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;46E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;491E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;493E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;496E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;497E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;500E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;501E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;490E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;96E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;491E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;504E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;507E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;507E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;511E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;517E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;95E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;133E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;521E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;522E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;523E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;524E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;525E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;526E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;527E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;528E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;532E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;533E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;500E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;501E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;490E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;146E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;491E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;536E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;537E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;538E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;539E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;540E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;544E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;50E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;20E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;545E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;508E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;509E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;508E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;546E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;547E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;548E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;549E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;550E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;551E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;552E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;553E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;46E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;556E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;557E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;558E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;560E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;561E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;562E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;563E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;516E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;564E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;565E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;566E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;566E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;568E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;569E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;570E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;484E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;492E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;509E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;508E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;508E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;508E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;508E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;571E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;508E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;573E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;574E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;575E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;576E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;578E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;27E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;580E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;581E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;582E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;583E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;584E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;585E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;586E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;587E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;197E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;588E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;589E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;516E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;564E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;590E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;591E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;592E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;593E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;594E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;595E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;596E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;597E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;598E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;84E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;599E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;600E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;96E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;602E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;603E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;604E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;605E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;576E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;606E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;607E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;608E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;607E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;610E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;612E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;613E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;614E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;615E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;616E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;617E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;618E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;619E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;620E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;598E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;621E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;622E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;623E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;624E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;625E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;626E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;627E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;628E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;629E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;630E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;148E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;631E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;599E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;600E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;146E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;632E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;633E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;634E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;492E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;635E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;636E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;637E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;518E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;638E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;640E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;641E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;642E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;71E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;26E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;545E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;508E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;508E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;508E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;643E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;644E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;645E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;647E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;648E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;649E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;650E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;651E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;618E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;652E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;653E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;587E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;654E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;655E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;656E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;493E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;484E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;484E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;484E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;657E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;509E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;508E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;658E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;656E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;659E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;660E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;492E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;661E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;662E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;663E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;664E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;665E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;667E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;668E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;669E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;509E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;508E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;670E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;671E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;672E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;673E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;674E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;675E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;676E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;492E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;678E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;509E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;509E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;509E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;516E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;492E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;680E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;681E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;682E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;669E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;683E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;684E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;686E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;27E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;687E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;688E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;689E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;690E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;691E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;492E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;692E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;508E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;694E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;516E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;492E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;695E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;696E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;697E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;669E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;683E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;35E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;698E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;699E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;130E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;700E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;576E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;699E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;701E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;702E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;703E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;704E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;705E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;706E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;669E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;531E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;707E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;516E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;708E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;516E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;709E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;710E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;711E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;673E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;649E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;99E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;43E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;712E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;713E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;714E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;640E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;715E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;566E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;90E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;42E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;545E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;508E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;508E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;508E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;716E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;717E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;718E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;671E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;719E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;630E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;720E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;721E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;195E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;722E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;723E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;590E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;724E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;725E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;516E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;484E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;484E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;484E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;484E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;509E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;509E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;726E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;663E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;664E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;665E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;727E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;728E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;669E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;509E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;508E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;156E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;729E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;730E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;731E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;628E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;484E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;492E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;493E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;732E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;733E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;484E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;493E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;734E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;735E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;736E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;737E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;738E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;739E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;740E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;741E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;742E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;743E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;744E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;615E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;80E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;76E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;745E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;746E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;748E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;557E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;51E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;749E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;750E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;751E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;752E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;528E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;753E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;754E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;751E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;755E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;696E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;756E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;757E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;178E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;544E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;758E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;758E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;759E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;544E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;690E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;760E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;508E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;509E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;509E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;761E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;762E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;669E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;3;763E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;764E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;765E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;766E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;767E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;768E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;769E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;771E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;772E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;773E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;774E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;775E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;776E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;777E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;778E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;779E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;642E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;642E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;568E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;569E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;570E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;484E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;492E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;509E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;508E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;508E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;508E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;508E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;780E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;508E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;781E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;782E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;24E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;783E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;784E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;785E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;786E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;787E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;788E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;789E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;587E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;103E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;790E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;791E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;740E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;161E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;602E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;72E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;721E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;792E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;793E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;793E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;794E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;795E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;796E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;797E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;798E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;711E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;2;10S;1;8S;1;9S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;32S;2;31S;2;33S;2;35S;2;34S;2;36S;2;38S;2;37S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;56S;2;52S;2;51S;2;53S;2;55S;2;54S;2;57S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;71S;2;72S;2;73S;2;74S;2;75S;2;76S;2;77S;2;78S;2;79S;2;80S;2;81S;2;82S;2;83S;2;84S;2;85S;2;86S;2;87S;2;88S;2;89S;2;90S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;107S;3;106S;3;105S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;114S;3;115S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;127S;3;124S;3;125S;3;126S;3;123S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136S;3;137S;3;138S;3;139S;3;140S;3;141S;3;142S;3;143S;3;144S;3;145S;3;146S;3;147S;3;148S;3;149S;12;File's OwnerS;3;150S;3;151S;3;152S;3;153S;3;154S;3;155S;3;156S;3;157S;3;158S;3;159S;3;160S;3;161S;3;162S;3;163S;3;164S;3;165S;3;166S;3;167S;3;168S;3;169S;3;170S;3;171S;3;172S;3;173S;3;174S;3;175S;3;176S;3;177S;3;178S;3;179S;3;180S;3;181S;3;182S;3;183S;3;184S;3;185D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;58E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;801E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;179E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;802E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;122E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;803E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;167E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;184E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;805E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;157E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;806E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;807E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;810E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;811E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;812E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;86E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;814E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;815E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;816E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;817E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;818E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;819E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;820E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;822E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;145E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;823E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;824E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;825E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;826E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;827E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;828E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;829E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;830E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;69E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;831E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;832E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;833E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;181E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;834E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;25E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;835E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;836E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;837E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;838E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;839E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;840E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;841E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;842E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;843E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;844E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;845E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;118E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;846E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;159E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;847E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;848E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;849E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;850E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;851E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;852E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;853E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;854E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;855E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;856E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;857E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;858E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;859E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;170E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;860E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;861E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;862E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;863E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;864E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;865E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;866E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;867E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;868E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;869E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;179E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;870E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;871E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;872E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;873E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;876E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;87E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;877E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;64E;E;E;d;1;0S;24;{{-100, 249}, {360, 15}}S;19;{{0, 0}, {360, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4d;1;1S;14;Start Speakingd;7;1048576S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;100E;E;E;S;4;UndoS;1;zS;21;{{1, -37}, {223, 15}}S;19;{{0, 0}, {223, 15}}f;18;0.9953917050691244S;0;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;121E;E;E;S;6;is notS;17;_popUpItemAction:d;1;5T;F;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;157E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;946E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;947E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;948E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;157E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;21;{{72, 175}, {33, 18}}S;18;{{0, 0}, {33, 18}}d;2;36S;9;check-boxS;8;borderedd;1;2S;1;≠S;4;HelpS;14;submenuAction:S;4;Kernd;1;9S;22;{{144, 201}, {84, 18}}S;18;{{0, 0}, {84, 18}}S;9;Ends WithS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;2;68E;E;E;S;20;{{9, 399}, {25, 24}}S;18;{{0, 0}, {25, 24}}S;6;buttonS;17;selected+borderedS;1;+S;6;Print…S;1;pS;6;CenterS;1;|S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;39E;E;E;S;22;{{20, 74}, {611, 164}}S;20;{{0, 0}, {611, 164}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;544E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;3;546E;E;E;S;10;scrollviewS;6;normalD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;543E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;878E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;758E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;879E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;880E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;179E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;12;Preferences…S;1;,S;15;Constant ValuesS;22;{{601, 242}, {30, 24}}S;18;{{0, 0}, {30, 24}}S;21;{{336, 79}, {15, 84}}S;18;{{0, 0}, {15, 84}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;17;0.977011501789093S;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;3;117E;E;E;S;11;Use DefaultS;5;RaiseS;11;Show ColorsS;1;CS;12;Smart QuotesS;1;gS;7;StringsD;K;6;$classD;K;6;CP$UIDd;3;543E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;889E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;906E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;891E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;58E;E;S;19;{{0, 0}, {216, 95}}S;9;tableviewd;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;155E;E;E;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;572E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;883E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;884E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;13;AppControllerS;10;Copy RulerS;1;cd;7;1310720S;6;stringD;K;10;$classnameS;20;CPExpression_keypathK;8;$classesA;S;20;CPExpression_keypathS;21;CPExpression_functionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;579E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;885E;K;11;CPArgumentsD;K;6;CP$UIDd;3;886E;K;9;CPOperandD;K;6;CP$UIDd;3;888E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;669E;E;S;22;{{189, 175}, {33, 18}}S;1;S;8;Use NoneS;4;SaveS;1;sS;20;{{9, 30}, {218, 97}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;566E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;716E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;d;1;6S;21;{{14, 227}, {96, 18}}S;7;MatchesD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;89E;E;E;S;4;EditS;11;begins withS;8;containsS;10;Select AllS;1;aD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;907E;D;K;6;CP$UIDd;3;908E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;666E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;909E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;896E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;484E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;503E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;898E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;899E;K;6;$afontD;K;6;CP$UIDd;3;910E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;15;$acontent-insetD;K;6;CP$UIDd;3;911E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;503E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;492E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;484E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;503E;E;S;23;{{701, 34}, {242, 440}}S;20;{{0, 0}, {242, 440}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;510E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;912E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;913E;E;S;6;{0, 0}S;15;Revert to SavedS;10;Align LeftS;1;{S;11;Align RightS;1;}S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;134E;E;E;S;20;About NewApplicationS;4;RedoS;1;ZS;21;{{6, 265}, {223, 24}}S;19;{{0, 0}, {223, 24}}S;12;popup-buttonS;7;Use AllS;9;SubscriptS;16;Smart Copy/PasteS;1;fS;21;{{10, 127}, {25, 24}}S;7;NumbersS;5;Find…S;11;Hide OthersS;19;Quit NewApplicationS;1;qS;20;{{0, 0}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;915E;E;E;S;11;rule-editord;2;75d;2;26S;6;formatS;7;rowTypeS;8;criteriaS;13;displayValuesS;10;boundArrayS;7;subrowsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;33;_CPRuleEditorViewUnboundRowHolderK;8;$classesA;S;33;_CPRuleEditorViewUnboundRowHolderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;770E;K;12;CPBoundArrayD;K;6;CP$UIDd;3;916E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;106E;E;E;S;22;Use Selection for Findd;1;7S;1;eS;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;151E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;572E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;883E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;884E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;11;Paste StyleS;3;CutS;1;xS;6;ItalicS;1;iS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;2;32E;E;E;S;9;UnderlineS;1;uD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;88E;E;E;S;20;{{0, 0}, {960, 534}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;87E;E;E;S;7;TightenS;3;NewS;1;nS;10;Clear MenuS;8;delegateS;11;addTemplateS;9;leftTableS;15;predicateEditorS;14;predicateFieldS;20;rightExpressionsTypeS;10;rightTableS;11;templateBoxS;6;windowS;10;dataSourceS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;7;addRow:S;17;displayPredicate:S;22;predicateEditorAction:S;15;addLeftKeyPath:S;16;updateOperators:S;25;selectRightAttributeType:S;17;addRightConstant:S;12;addTemplate:S;20;{{1, 1}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;917E;E;S;16;{{0, 0}, {0, 0}}S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;919E;E;E;D;K;10;$classnameS;17;CPExpression_selfK;8;$classesA;S;17;CPExpression_selfS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;887E;E;S;19;{{1, 1}, {216, 95}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;920E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;27E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;921E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;922E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;183E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;924E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;925E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;926E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;927E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;928E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;503E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;508E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;694E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;516E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;484E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;930E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;897E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;931E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;932E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;509E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;900E;K;4;nameD;K;6;CP$UIDd;3;933E;K;6;valuesD;K;6;CP$UIDd;3;935E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;902E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;936E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;937E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;938E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;939E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;940E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;941E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;942E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;943E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;944E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;900E;K;4;nameD;K;6;CP$UIDd;3;933E;K;6;valuesD;K;6;CP$UIDd;3;945E;E;D;K;6;$classD;K;6;CP$UIDd;3;902E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;936E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;949E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;950E;D;K;6;CP$UIDd;3;951E;D;K;6;CP$UIDd;3;952E;D;K;6;CP$UIDd;3;493E;E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;914E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;179E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;758E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;758E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;179E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;953E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;493E;E;E;D;K;10;$classnameS;21;CPExpression_constantK;8;$classesA;S;21;CPExpression_constantS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;918E;K;15;CPConstantValueD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;E;E;S;19;{{37, 8}, {79, 24}}S;18;{{0, 0}, {79, 24}}D;K;6;$classD;K;6;CP$UIDd;3;897E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;955E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;956E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;509E;E;S;20;{{122, 8}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;21;{{224, 1}, {167, 25}}S;19;{{0, 0}, {167, 25}}S;19;bezeled+placeholderD;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;929E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;667E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;667E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;953E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;934E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;957E;K;6;normalD;K;6;CP$UIDd;3;898E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;918E;K;15;CPConstantValueD;K;6;CP$UIDd;3;686E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;958E;E;S;18;{{7, 8}, {58, 24}}S;18;{{0, 0}, {58, 24}}D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;959E;E;S;20;{{71, 8}, {167, 24}}S;19;{{0, 0}, {167, 24}}D;K;6;$classD;K;6;CP$UIDd;3;929E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;727E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;727E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;953E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;3;934E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;957E;K;6;normalD;K;6;CP$UIDd;3;898E;E;E;S;20;{{1, 1}, {240, 438}}S;20;{{0, 0}, {240, 438}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;62E;E;E;f;4;0.42f;12;0.8911290323f;12;0.8901341359f;12;0.8899458051d;2;18f;12;0.9100000262S;5;Ariald;2;11D;K;6;$classD;K;6;CP$UIDd;3;897E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;931E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;932E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;508E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;961E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;962E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;963E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;938E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;964E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;938E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;965E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;941E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;S;3;AnyS;3;AllS;25;of the following are trueE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib new file mode 100644 index 000000000..9e96ff71a --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib @@ -0,0 +1,4900 @@ + + + + 1050 + 10H574 + 823 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 823 + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + NewApplication + + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide NewApplication + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 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 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + 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… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + 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 + + + + + + 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 + + 1048576 + 2147483647 + + + submenuAction: + + Help + + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 15 + 2 + {{335, 417}, {960, 534}} + 1946157056 + Window + NSWindow + + {1.79769e+308, 1.79769e+308} + + + 256 + + + + 268 + {{601, 264}, {30, 30}} + + + YES + + -2080244224 + 134217728 + + + + LucidaGrande + 13 + 1044 + + + -2038021889 + 134 + + LucidaGrande + 13 + 16 + + + + 400 + 75 + + + + + 270 + {{20, 476}, {611, 22}} + + YES + + -1804468671 + 268436480 + string ENDSWITH "foo" + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 268 + + + + 2304 + + + + 294 + + + + 274 + + + + 290 + + + + 257 + {{581, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + + + + LucidaGrande-Bold + 12 + 16 + + + + add + + + + + _addOption: + + -2038284033 + 36 + + LucidaGrande + 12 + 4883 + + + 400 + 75 + + + + + 257 + {{561, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + - + + + + remove + + + + + _deleteOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 256 + {{7, 4}, {58, 19}} + + + -1 + YES + + 67239488 + 4196352 + + LucidaGrande + 11 + 3100 + + + + -2038284033 + 36 + + LucidaGrande + 11 + 16 + + + 400 + 75 + + + Any + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + All + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{71, 4}, {167, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + -2038284033 + 36 + + + 400 + 75 + + + of the following are true + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + + + + + + 3 + YES + YES + 2 + + + + {609, 26} + + + 0 + 0 + + + + + + + 2 + {{7, 4}, {58, 19}} + {{71, 4}, {167, 19}} + + + + + 2 + 0 + 0 + 0 + 0 + + + + + NO + NO + + + + + + + + 2 + {{7, 4}, {58, 19}} + {{71, 4}, {167, 19}} + + + 0 + 0 + YES + + + + 290 + + + + 257 + {{581, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + + + + + + add + + + + + _addOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 257 + {{561, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + - + + + + remove + + + + + _deleteOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 256 + {{37, 4}, {79, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + 3 + valueForKey: + + 1 + + + + 10 + string + + + + + -2038284033 + 36 + + + 400 + 75 + + + string + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + string2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + 3 + valueForKey: + + + + 10 + string2 + + + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{122, 4}, {99, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + + -2038284033 + 36 + + + 400 + 75 + + + begins with + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + is not + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + ends with + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + contains + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{227, 4}, {160, 18}} + + + YES + + 343014976 + 4326400 + + + + YES + + + 6 + System + controlTextColor + + + + + + {{0, 26}, {609, 26}} + + + 1 + 1 + + + + + + + + 3 + {{37, 4}, {79, 19}} + {{122, 4}, {99, 19}} + {{227, 4}, {160, 18}} + + + + + 1 + 0 + 0 + 0 + 700 + + + + + + NO + YES + + + + + + + + + + + + 3 + {{37, 4}, {79, 19}} + {{122, 4}, {99, 19}} + {{227, 4}, {160, 18}} + + + 0 + 0 + YES + + + {609, 162} + + + + + + NSRuleEditorItemPBoardType + + {609, 162} + + + YES + 75 + 26 + format + YES + NO + NO + 3 + rowType + subrows + criteria + displayValues + boundArray + NSMutableDictionary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{1, 1}, {609, 162}} + + + + + 3 + MC45MTAwMDAwMjYyAA + + 4 + + + + -2147483392 + {{336, 1}, {15, 84}} + + + + _doScroller: + 0.97701150178909302 + + + + -2147483392 + {{-100, -100}, {360, 15}} + + + 1 + + _doScroller: + + + {{20, 296}, {611, 164}} + + + 530 + + + + + + + 9 + + + + 256 + + + + 268 + {{9, 11}, {25, 25}} + + YES + + -2080244224 + 134217728 + + + + + -2038152961 + 134 + + + 400 + 75 + + + + + 268 + + + + 2304 + + + + 256 + {216, 95} + + + YES + + + -2147483392 + {{224, 0}, {16, 17}} + + + + 213 + 40 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 337772096 + 2048 + Text Cell + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + + 3 + YES + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + -692060160 + + + 4 + 15 + 0 + YES + 0 + + + {{1, 1}, {216, 95}} + + + + + 4 + + + + -2147483392 + {{224, 17}, {15, 102}} + + + + _doScroller: + 0.9925373134328358 + + + + -2147483392 + {{1, 119}, {223, 15}} + + + 1 + + _doScroller: + 0.99539170506912444 + + + {{9, 311}, {218, 97}} + + + 562 + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 268 + {{144, 219}, {84, 18}} + + + 9 + YES + + 67239424 + 0 + Ends With + + + 1211912703 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + + 268 + {{6, 145}, {223, 26}} + + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + Strings + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + + + + Numbers + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Constant Values + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 268 + {{14, 219}, {96, 18}} + + + 8 + YES + + 67239424 + 0 + Begins With + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{72, 245}, {33, 18}} + + + 5 + YES + + 67239424 + 0 + + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{127, 245}, {33, 18}} + + + 2 + YES + + 67239424 + 0 + > + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{144, 193}, {78, 18}} + + + 99 + YES + + 67239424 + 0 + Contains + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{14, 245}, {33, 18}} + + + 4 + YES + + 67239424 + 0 + = + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{7, 416}, {142, 17}} + + + YES + + 68288064 + 272630784 + Key Paths: + + + + 6 + System + controlColor + + + + + + + + 268 + + + + 2304 + + + + 256 + {216, 95} + + + YES + + + -2147483392 + {{224, 0}, {16, 17}} + + + + 213 + 40 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3 + 2 + + + 17 + -692060160 + + + 4 + 15 + 0 + YES + 0 + + + {{1, 1}, {216, 95}} + + + + + 4 + + + + -2147483392 + {{224, 17}, {15, 102}} + + + + _doScroller: + 0.9925373134328358 + + + + -2147483392 + {{1, 119}, {223, 15}} + + + 1 + + _doScroller: + 0.99539170506912444 + + + {{9, 39}, {218, 97}} + + + 562 + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 268 + {{10, 283}, {25, 25}} + + + YES + + -2080244224 + 134217728 + + + + + -2038152961 + 134 + + + 400 + 75 + + + + + 268 + {{14, 193}, {96, 18}} + + + 6 + YES + + 67239424 + 0 + Matches + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{189, 245}, {33, 18}} + + + YES + + 67239424 + 0 + < + + + 1211912703 + 2 + + + + + 200 + 25 + + + + {{1, 1}, {240, 438}} + + + + + {{701, 60}, {242, 440}} + + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 4 + 0 + NO + + 1 + MC44OTExMjkwMzIzIDAuODkwMTM0MTM1OSAwLjg4OTk0NTgwNTEAA + + + + + 265 + {{837, 20}, {103, 25}} + + YES + + -1543373312 + 134217728 + Add Template + + + -2038152961 + 134 + + + 400 + 75 + + + + {960, 534} + + + + {{0, 0}, {1680, 1028}} + {1.79769e+308, 1.79769e+308} + + + AppController + + + + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + 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 + + + + showHelp: + + + + 360 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + 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 + + + + alignLeft: + + + + 442 + + + + alignJustified: + + + + 443 + + + + copyRuler: + + + + 444 + + + + alignCenter: + + + + 445 + + + + toggleRuler: + + + + 446 + + + + alignRight: + + + + 447 + + + + pasteRuler: + + + + 448 + + + + terminate: + + + + 449 + + + + delegate + + + + 475 + + + + addRow: + + + + 1131 + + + + delegate + + + + 1133 + + + + displayPredicate: + + + + 1134 + + + + predicateEditor + + + + 1136 + + + + predicateField + + + + 1137 + + + + window + + + + 1138 + + + + predicateEditorAction: + + + + 1139 + + + + leftTable + + + + 1318 + + + + rightExpressionsType + + + + 1320 + + + + rightTable + + + + 1321 + + + + templateBox + + + + 1322 + + + + addLeftKeyPath: + + + + 1323 + + + + addRightConstant: + + + + 1324 + + + + selectRightAttributeType: + + + + 1327 + + + + updateOperators: + + + + 1329 + + + + updateOperators: + + + + 1330 + + + + updateOperators: + + + + 1331 + + + + updateOperators: + + + + 1332 + + + + updateOperators: + + + + 1333 + + + + updateOperators: + + + + 1334 + + + + updateOperators: + + + + 1335 + + + + updateOperators: + + + + 1336 + + + + dataSource + + + + 1337 + + + + delegate + + + + 1338 + + + + dataSource + + + + 1339 + + + + delegate + + + + 1340 + + + + addTemplate: + + + + 1344 + + + + addTemplate + + + + 1345 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + + + MainMenu + + + 19 + + + + + + + + 56 + + + + + + + + 103 + + + + + + 1 + + + 217 + + + + + + + + 83 + + + + + + + + 81 + + + + + + + + + + + + + + + + + + 75 + + + 3 + + + 80 + + + 8 + + + 78 + + + 6 + + + 72 + + + + + 82 + + + 9 + + + 124 + + + + + + + + 77 + + + 5 + + + 73 + + + 1 + + + 79 + + + 7 + + + 112 + + + 10 + + + 74 + + + 2 + + + 125 + + + + + + + + 126 + + + + + 205 + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + + + + + + 216 + + + + + + + + 200 + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + + + + 2 + + + 111 + + + + + 57 + + + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 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 + + + + + + + + 378 + + + + + + + + 379 + + + + + + + + + + + + + + + 380 + + + + + 381 + + + + + 382 + + + + + 383 + + + + + 384 + + + + + 385 + + + + + 386 + + + + + 387 + + + + + 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 + + + + + 471 + + + + + + + + 472 + + + + + 474 + + + AppController + + + 476 + + + + + + + + 477 + + + + + 1051 + + + + + + + + + + 1052 + + + + + 1053 + + + + + 1054 + + + + + + + + + 1055 + + + + + 1056 + + + + + + + + + 1057 + + + + + + + + + 1058 + + + + + + + + + + + 1060 + + + + + 1063 + + + + + 1071 + + + + + 1072 + + + + + 1073 + + + + + 1074 + + + + + 1309 + + + + + + + + + + + + + + + + + + + + + 1280 + + + + + + + + 1281 + + + + + 1239 + + + + + + + + + + 1243 + + + + + + + + 1242 + + + + + 1240 + + + + + 1244 + + + + + + + + 1247 + + + + + 1256 + + + + + + + + 1257 + + + + + 1274 + + + + + + + + 1275 + + + + + + + + 1276 + + + + + + + + + + 1279 + + + + + 1278 + + + + + 1277 + + + + + 1254 + + + + + + + + 1255 + + + + + 1260 + + + + + + + + 1261 + + + + + 1252 + + + + + + + + 1253 + + + + + 1266 + + + + + + + + 1267 + + + + + 1262 + + + + + + + + 1263 + + + + + 1248 + + + + + + + + 1249 + + + + + 1268 + + + + + + + + + + 1271 + + + + + 1270 + + + + + 1269 + + + + + + + + 1272 + + + + + + + + 1273 + + + + + 1250 + + + + + + + + 1251 + + + + + 1264 + + + + + + + + 1265 + + + + + 1310 + + + + + + + + 1311 + + + + + 1342 + + + + + + + + 1343 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{596, 852}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{522, 812}, {146, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{207, 285}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{91, 135}, {960, 534}} + com.apple.InterfaceBuilder.CocoaPlugin + {{91, 135}, {960, 534}} + + {{33, 99}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{437, 242}, {86, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{523, 2}, {178, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{219, 102}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + 1345 + + + + + AppController + NSObject + + id + id + id + id + id + id + id + id + + + + addLeftKeyPath: + id + + + addRightConstant: + id + + + addTemplate: + id + + + displayPredicate: + id + + + newTemplate: + id + + + predicateEditorAction: + id + + + selectRightAttributeType: + id + + + updateOperators: + id + + + + NSButton + NSTableView + NSPredicateEditor + NSTextField + NSPopUpButton + NSTableView + NSBox + NSWindow + + + + addTemplate + NSButton + + + leftTable + NSTableView + + + predicateEditor + NSPredicateEditor + + + predicateField + NSTextField + + + rightExpressionsType + NSPopUpButton + + + rightTable + NSTableView + + + templateBox + NSBox + + + window + NSWindow + + + + IBProjectSource + ./classes-xjh84/AppController.h + + + + NSDocument + NSObject + + id + id + id + id + id + id + + + + printDocument: + id + + + revertDocumentToSaved: + id + + + runPageLayout: + id + + + saveDocument: + id + + + saveDocumentAs: + id + + + saveDocumentTo: + id + + + + IBProjectSource + ./classes-xjh84/NSDocument.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + YES + ../PredicateEditor.xcodeproj + 3 + + {9, 8} + {7, 2} + {15, 15} + + + diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/format.strings b/Tests/Manual/CPPredicateEditorCibTest/Resources/format.strings new file mode 100644 index 000000000..3b2423ea6 --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/format.strings @@ -0,0 +1 @@ +"string" = "loc string"; diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/spinner.gif b/Tests/Manual/CPPredicateEditorCibTest/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPPredicateEditorCibTest/index-debug.html b/Tests/Manual/CPPredicateEditorCibTest/index-debug.html new file mode 100644 index 000000000..a35f6f935 --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/index-debug.html @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + CPPredicateEditorTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPPredicateEditorCibTest/index.html b/Tests/Manual/CPPredicateEditorCibTest/index.html new file mode 100644 index 000000000..e1730c3c2 --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/index.html @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + CPPredicateEditorTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + + diff --git a/Tests/Manual/CPPredicateEditorCibTest/main.j b/Tests/Manual/CPPredicateEditorCibTest/main.j new file mode 100644 index 000000000..ffd7e88f7 --- /dev/null +++ b/Tests/Manual/CPPredicateEditorCibTest/main.j @@ -0,0 +1,18 @@ +/* + * main.j + * CPPredicateEditorTest + * + * Created by You on May 7, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tests/Manual/CPRuleEditorCibTest/AppController.j b/Tests/Manual/CPRuleEditorCibTest/AppController.j new file mode 100644 index 000000000..f95891fac --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/AppController.j @@ -0,0 +1,111 @@ +/* + * AppController.j + * CPRuleEditorCibTest + * + * Created by cacaodev on September 3, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import "RuleDelegate.j" +@import "CPViewAnimationTransition.j" + +var THEME_ATTRIBUTES = [@"slice-top-border-color", @"slice-bottom-border-color",@"slice-last-bottom-border-color", @"selected-color"]; + +@implementation AppController : CPObject +{ + CPWindow theWindow; //this "outlet" is connected automatically by the Cib + CPRuleEditor ruleEditor @accessors; + CPTextField predicateField; + id animation; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. +} + +- (void)awakeFromCib +{ + var contentView = [theWindow contentView]; + [theWindow setFullBridge:YES]; + [contentView setBackgroundColor:[CPColor colorWithHexString:@"f3f4f5"]]; + + var animationClass = (CPBrowserIsEngine(CPWebKitBrowserEngine)) ? [CPViewAnimationTransition class] : [CPViewAnimation class]; + animation = [[animationClass alloc] initWithDuration:0.4 animationCurve:CPAnimationEaseInOut]; + //[ruleEditor setAnimation:animation]; + for (var i = 0; i < 4; i++) + { + var view = [[theWindow contentView] viewWithTag:(1001 + i)]; + [view setColor:[ruleEditor valueForThemeAttribute:THEME_ATTRIBUTES[i]]]; + } + + var colors = [ruleEditor valueForThemeAttribute:@"alternating-row-colors"]; + [[contentView viewWithTag:1005] setColor:colors[0]]; + [[contentView viewWithTag:1006] setColor:colors[1]]; +} + +- (void)ruleEditorAction:(id)sender +{ + [ruleEditor reloadPredicate]; + [predicateField setStringValue:[[ruleEditor predicate] predicateFormat]]; +} + +- (void)setAnimate:(id)sender +{ + var anim = ([sender state]) ? animation : nil; + [ruleEditor setAnimation:anim]; +} + +- (void)setEditable:(id)sender +{ + [ruleEditor setEditable:[sender state]]; +} + +- (void)setCanRemoveAllRows:(id)sender +{ + [ruleEditor setCanRemoveAllRows:[sender state]]; +} + +- (void)setAllowsEmptyCompoundRows:(id)sender +{ + [ruleEditor setAllowsEmptyCompoundRows:[sender state]]; +} + +- (void)setNestingMode:(id)sender +{ + [ruleEditor setNestingMode:[sender indexOfSelectedItem]]; +} + +- (void)setFormattingStringsFilename:(id)sender +{ + [ruleEditor setFormattingStringsFilename:[sender stringValue]]; +} + +- (void)setRowHeight:(id)sender +{ + [ruleEditor setRowHeight:[sender value]]; +} + +- (void)setAttributeValue:(id)sender +{ + var tag = [sender tag], + value, + attribute; + + if (tag == 1005 || tag == 1006) + { + var colorIndex = tag - 1005, + attribute = @"alternating-row-colors", + value = [ruleEditor valueForThemeAttribute:attribute]; + + value[colorIndex] = [sender color]; + } + else + { + value = [sender color]; + attribute = THEME_ATTRIBUTES[tag - 1001]; + } + + [ruleEditor setValue:value forThemeAttribute:attribute]; + [ruleEditor setNeedsDisplay:YES]; +} \ No newline at end of file diff --git a/Tests/Manual/CPRuleEditorCibTest/CPViewAnimationTransition.j b/Tests/Manual/CPRuleEditorCibTest/CPViewAnimationTransition.j new file mode 100644 index 000000000..ebd4cf00c --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/CPViewAnimationTransition.j @@ -0,0 +1,231 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2008 Pear, Inc. All rights reserved. + */ + +@import +@import + +CPViewAnimationStartFrameKey = "CPViewAnimationStartFrameKey"; +CPViewAnimationEndFrameKey = "CPViewAnimationEndFrameKey"; +CPViewAnimationTargetKey = "CPViewAnimationTargetKey"; +CPViewAnimationEffectKey = "CPViewAnimationEffectKey"; + +CPViewAnimationFadeInEffect = "CPViewAnimationFadeInEffect"; +CPViewAnimationFadeOutEffect = "CPViewAnimationFadeOutEffect"; + +@implementation CPViewAnimationTransition : CPAnimation +{ + CPArray _viewAnimations; + Function endListener; + BOOL _isAnimating; +} + +// INSTANCE METHODS +- (id)initWithViewAnimations:(CPArray)animations +{ + self = [super initWithDuration:0.5 animationCurve:CPAnimationEaseInOut]; + if (self) + { + [self setViewAnimations:animations]; + _isAnimating = NO; + } + + return self; +} + +- (id)initWithDuration:(CPInteger)duration animationCurve:(id)curve +{ + self = [super initWithDuration:duration animationCurve:curve]; + if (self) + { + _isAnimating = NO; + } + + return self; +} + +- (CPArray)viewAnimations +{ + return _viewAnimations; +} + +- (void)setViewAnimations:(CPArray)animations +{ + _viewAnimations = animations; + + var count = [_viewAnimations count]; + for (var i = 0; i < count; i++) + { + var animation = [_viewAnimations objectAtIndex:i], + target = [animation objectForKey:CPViewAnimationTargetKey]; + + [self _updateAnimationCurve:[self animationCurve] forView:target]; + [self _updateAnimationDuration:[self duration] forView:target]; + } + + endListener = function(event){[self _animationDidEnd:_viewAnimations]}; +} + +- (void)_updateTransitionPropertiesForView:(CPView)target +{ + target._DOMElement.style.webkitTransitionProperty = "left, top, width, height, opacity"; +} + +// SUBCLASSING +- (BOOL)isAnimating +{ + return _isAnimating; +} + +- (void)setAnimationCurve:(CPAnimationCurve)anAnimationCurve +{ + var i, + count = [_viewAnimations count]; + + for (i = 0; i < count; i++) + { + var animation = [_viewAnimations objectAtIndex:i], + target = [animation objectForKey:CPViewAnimationTargetKey]; + + [self _updateAnimationCurve:anAnimationCurve forView:target]; + } + + [super setAnimationCurve:anAnimationCurve]; +} + +- (void)setAnimationDuration:(int)duration +{ + var i, + count = [_viewAnimations count]; + + for (i = 0; i < count; i++) + { + var animation = [_viewAnimations objectAtIndex:i], + target = [animation objectForKey:CPViewAnimationTargetKey]; + + [self _updateAnimationDuration:duration forView:target]; + } + + [super setAnimationDuration:duration]; +} + +- (void)startAnimation +{ + if (![self _animationShouldStart]) + return; + + var count = [_viewAnimations count]; + if (count > 0) + { + _isAnimating = YES; + document.addEventListener("webkitTransitionEnd", endListener, false); + } + + for (var i = 0; i < count; i++) + { + var animation = [_viewAnimations objectAtIndex:i], + target = [animation objectForKey:CPViewAnimationTargetKey], + startFrame = [animation objectForKey:CPViewAnimationStartFrameKey], + endFrame = [animation objectForKey:CPViewAnimationEndFrameKey], + effect; + + [target setFrame:startFrame]; + + [self _updateTransitionPropertiesForView:target]; + + if (effect = [animation objectForKey:CPViewAnimationEffectKey]) + { + var opacity; + switch (effect) + { + case CPViewAnimationFadeInEffect: opacity = 1; + break; + case CPViewAnimationFadeOutEffect: opacity = 0; + break; + default : opacity = 1; + } + + [target setAlphaValue:opacity]; + } + + [target setFrame:endFrame]; + } +} + +// PRIVATE METHODS +- (void)_updateAnimationCurve:(CPAnimationCurve)anAnimationCurve forView:(CPView)view +{ + var webkitTimingFunction; + + switch (anAnimationCurve) + { + case CPAnimationEaseInOut: webkitTimingFunction = "ease-in-out"; + break; + + case CPAnimationEaseIn: webkitTimingFunction = "ease-in"; + break; + + case CPAnimationEaseOut: webkitTimingFunction = "ease-out"; + break; + + case CPAnimationLinear: webkitTimingFunction = "linear"; + break; + + default: [CPException raise:CPInvalidArgumentException + reason:"Invalid value provided for animation curve"]; + break; + } + + view._DOMElement.style.webkitTransitionTimingFunction = webkitTimingFunction; +} + +- (void)_updateAnimationDuration:(int)duration forView:(CPView)view +{ + view._DOMElement.style.webkitTransitionDuration = duration + "s"; +} + +- (BOOL)_animationShouldStart +{ + if (_delegate && [_delegate respondsToSelector:@selector(animationShouldStart:)]) + return [_delegate animationShouldStart:self]; + + return YES; +} + +- (void)_animationDidEnd:(CPArray)viewAnimations +{ + var count = [viewAnimations count]; + + if (this.counter == null) + this.counter = count; + + this.counter--; + + if (this.counter == 0) + { + document.removeEventListener("webkitTransitionEnd", endListener, false); + this.counter = null; + _isAnimating = NO; + + while(count--) + { + var target = [viewAnimations[count] objectForKey:CPViewAnimationTargetKey]; + target._DOMElement.style.removeProperty("-webkit-transition"); + } + + if (_delegate && [_delegate respondsToSelector:@selector(animationDidEnd:)]) + [_delegate animationDidEnd:self]; + } +} + +- (void)_stopAnimation:(int)value +{ +} + +- (void)setCurrentProgress:(float)progress +{ +} + +@end + diff --git a/Tests/Manual/CPRuleEditorCibTest/Info.plist b/Tests/Manual/CPRuleEditorCibTest/Info.plist new file mode 100644 index 000000000..8d37c79ba --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/Info.plist @@ -0,0 +1,12 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPRuleEditorCibTest + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/CPRuleEditorCibTest/Jakefile b/Tests/Manual/CPRuleEditorCibTest/Jakefile new file mode 100644 index 000000000..c66879a92 --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * CPRuleEditorCibTest + * + * Created by You on September 3, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPRuleEditorCibTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPRuleEditorCibTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPRuleEditorCibTest"); + task.setIdentifier("com.yourcompany.CPRuleEditorCibTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPRuleEditorCibTest"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPRuleEditorCibTest"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPRuleEditorCibTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPRuleEditorCibTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPRuleEditorCibTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPRuleEditorCibTest"), FILE.join("Build", "Deployment", "CPRuleEditorCibTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPRuleEditorCibTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPRuleEditorCibTest"), FILE.join("Build", "Desktop", "CPRuleEditorCibTest", "CPRuleEditorCibTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPRuleEditorCibTest", "CPRuleEditorCibTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPRuleEditorCibTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.cib b/Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.cib new file mode 100644 index 000000000..d2a61a4fb --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;D;K;6;CP$UIDd;3;365E;D;K;6;CP$UIDd;3;366E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;368E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;370E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;372E;D;K;6;CP$UIDd;3;373E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;376E;D;K;6;CP$UIDd;3;377E;D;K;6;CP$UIDd;3;378E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;380E;D;K;6;CP$UIDd;3;381E;D;K;6;CP$UIDd;3;382E;D;K;6;CP$UIDd;3;383E;D;K;6;CP$UIDd;3;384E;D;K;6;CP$UIDd;3;385E;D;K;6;CP$UIDd;3;386E;D;K;6;CP$UIDd;3;387E;D;K;6;CP$UIDd;3;388E;D;K;6;CP$UIDd;3;389E;D;K;6;CP$UIDd;3;390E;D;K;6;CP$UIDd;3;391E;D;K;6;CP$UIDd;3;392E;D;K;6;CP$UIDd;3;393E;D;K;6;CP$UIDd;3;394E;D;K;6;CP$UIDd;3;395E;D;K;6;CP$UIDd;3;396E;D;K;6;CP$UIDd;3;397E;D;K;6;CP$UIDd;3;398E;D;K;6;CP$UIDd;3;399E;D;K;6;CP$UIDd;3;400E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;402E;D;K;6;CP$UIDd;3;403E;D;K;6;CP$UIDd;3;404E;D;K;6;CP$UIDd;3;405E;D;K;6;CP$UIDd;3;406E;D;K;6;CP$UIDd;3;407E;D;K;6;CP$UIDd;3;408E;D;K;6;CP$UIDd;3;409E;D;K;6;CP$UIDd;3;410E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;412E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;414E;D;K;6;CP$UIDd;3;415E;D;K;6;CP$UIDd;3;416E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;418E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;420E;D;K;6;CP$UIDd;3;421E;D;K;6;CP$UIDd;3;422E;D;K;6;CP$UIDd;3;423E;D;K;6;CP$UIDd;3;424E;D;K;6;CP$UIDd;3;425E;D;K;6;CP$UIDd;3;426E;D;K;6;CP$UIDd;3;427E;D;K;6;CP$UIDd;3;428E;D;K;6;CP$UIDd;3;429E;D;K;6;CP$UIDd;3;430E;D;K;6;CP$UIDd;3;431E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;433E;D;K;6;CP$UIDd;3;434E;D;K;6;CP$UIDd;3;435E;D;K;6;CP$UIDd;3;436E;D;K;6;CP$UIDd;3;437E;D;K;6;CP$UIDd;3;438E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;440E;D;K;6;CP$UIDd;3;441E;D;K;6;CP$UIDd;3;442E;D;K;6;CP$UIDd;3;443E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;445E;D;K;6;CP$UIDd;3;446E;D;K;6;CP$UIDd;3;447E;D;K;6;CP$UIDd;3;448E;D;K;6;CP$UIDd;3;449E;D;K;6;CP$UIDd;3;450E;D;K;6;CP$UIDd;3;451E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;2;98E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;35E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;452E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;453E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;11;CPColorWellK;8;$classesA;S;11;CPColorWellS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;456E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;457E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;458E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;463E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;468E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;469E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;470E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;471E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;472E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;473E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;474E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;475E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;476E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;477E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;479E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;480E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;483E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;488E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;98E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;489E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;490E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;492E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;461E;K;11;$aalignmentD;K;6;CP$UIDd;3;478E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;474E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;495E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;496E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;458E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;497E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;500E;E;D;K;10;$classnameS;12;CPRuleEditorK;8;$classesA;S;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;501E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;502E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;502E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;503E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;501E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;504E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;464E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;467E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;467E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;506E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;507E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;493E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;3;508E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;509E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;510E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;511E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;512E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;513E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;514E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;519E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;472E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;524E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;525E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;526E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;44E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;527E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;528E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;29E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;529E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;530E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;531E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;532E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;533E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;458E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;534E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;536E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;537E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;452E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;539E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;540E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;541E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;542E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;543E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;544E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;546E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;528E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;547E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;548E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;458E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;549E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;550E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;551E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;553E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;554E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;556E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;557E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;558E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;559E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;560E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;561E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;562E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;563E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;501E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;112E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;132E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;565E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;565E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;565E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;565E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;467E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;467E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;467E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;566E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;474E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;567E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;568E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;569E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;570E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;571E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;160E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;572E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;573E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;127E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;574E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;141E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;575E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;136E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;576E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;577E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;579E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;527E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;528E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;580E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;581E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;582E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;474E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;44E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;583E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;584E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;585E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;53E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;586E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;587E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;588E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;589E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;35E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;590E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;591E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;550E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;61E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;592E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;593E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;594E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;482E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;595E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;596E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;478E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;482E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;467E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;601E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;162E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;602E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;603E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;604E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;605E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;606E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;458E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;608E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;609E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;577E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;610E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;611E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;458E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;612E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;613E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;614E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;615E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;616E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;617E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;618E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;124E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;619E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;620E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;528E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;567E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;67E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;621E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;622E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;623E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;624E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;562E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;626E;K;6;$afontD;K;6;CP$UIDd;3;628E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;461E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;466E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;464E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;478E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;461E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;629E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;630E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;631E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;632E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;577E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;500E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;633E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;634E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;635E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;636E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;637E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;638E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;639E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;66E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;640E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;641E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;66E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;642E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;643E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;644E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;645E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;482E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;66E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;646E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;478E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;647E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;648E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;67E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;649E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;649E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;650E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;569E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;651E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;652E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;653E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;35E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;590E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;654E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;35E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;590E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;482E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;655E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;638E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;110E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;656E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;618E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;657E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;658E;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;659E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;660E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;478E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;482E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;661E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;467E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;662E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;663E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;573E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;664E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;665E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;666E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;667E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;668E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;669E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;670E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;671E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;672E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;673E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;633E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;66E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;674E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;675E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;66E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;642E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;643E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;644E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;676E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;478E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;66E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;677E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;478E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;678E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;679E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;680E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;681E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;682E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;575E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;683E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;621E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;684E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;482E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;686E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;471E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;687E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;688E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;574E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;689E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;690E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;44E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;691E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;692E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;693E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;694E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;695E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;696E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;697E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;592E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;88E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;698E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;696E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;485E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;699E;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;700E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;701E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;492E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;478E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;478E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;702E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;467E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;703E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;704E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;705E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;461E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;508E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;464E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;464E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;464E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;706E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;461E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;707E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;708E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;709E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;710E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;461E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;711E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;529E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;50E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;712E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;571E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;713E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;714E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;601E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;715E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;716E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;486E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;47E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;717E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;718E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;719E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;478E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;720E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;721E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;722E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;723E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;724E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;725E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;726E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;528E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;727E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;728E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;660E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;478E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;482E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;729E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;467E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;730E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;731E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;732E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;459E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;481E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;474E;K;11;$aalignmentD;K;6;CP$UIDd;3;482E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;733E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;484E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;467E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;467E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;474E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;482E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;734E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;735E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;736E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;737E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;738E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;739E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;478E;K;6;$afontD;K;6;CP$UIDd;3;740E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;474E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;482E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;741E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;467E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;478E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;742E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;743E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;744E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;745E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;474E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;583E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;746E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;747E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;621E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;748E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;581E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;749E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;482E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;44E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;750E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;741E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;751E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;752E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;464E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;467E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;753E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;35E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;590E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;34S;2;33S;2;35S;2;36S;2;37S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;51S;2;52S;2;53S;2;54S;2;55S;2;56S;2;57S;2;58S;2;59S;2;60S;2;61S;2;62S;2;64S;2;63S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;71S;2;72S;2;73S;2;80S;2;74S;2;75S;2;77S;2;78S;2;79S;2;76S;2;81S;2;82S;2;83S;2;84S;2;85S;2;86S;2;90S;2;87S;2;89S;2;88S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;105S;3;107S;3;106S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;114S;3;115S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136S;3;137S;3;138S;3;139S;3;140S;3;141S;3;142S;3;143S;3;144S;3;145S;3;146S;3;147S;3;148S;3;149S;12;File's OwnerS;3;150S;3;151S;3;152S;3;153S;3;154S;3;155S;3;156S;3;157S;3;158S;3;159S;3;160S;3;161S;3;162S;3;163S;3;164S;3;165S;3;166S;3;167S;3;168S;3;169S;3;170S;3;171S;3;172S;3;173S;3;174S;3;175S;3;176D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;369E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;754E;E;D;K;6;$classD;K;6;CP$UIDd;3;369E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;755E;E;D;K;6;$classD;K;6;CP$UIDd;3;369E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;756E;E;D;K;6;$classD;K;6;CP$UIDd;3;369E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;757E;E;D;K;6;$classD;K;6;CP$UIDd;3;369E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;58E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;754E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;758E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;759E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;760E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;761E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;762E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;763E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;764E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;765E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;766E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;767E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;768E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;769E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;770E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;771E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;772E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;773E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;774E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;775E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;776E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;777E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;33E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;778E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;779E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;780E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;781E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;782E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;783E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;93E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;784E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;785E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;786E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;787E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;788E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;789E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;790E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;23E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;791E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;792E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;793E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;794E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;795E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;796E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;797E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;86E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;798E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;84E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;801E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;802E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;803E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;180E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;805E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;806E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;807E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;159E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;810E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;72E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;811E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;812E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;814E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;815E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;816E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;817E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;818E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;819E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;820E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;170E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;822E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;35E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;823E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;824E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;825E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;826E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;125E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;827E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;165E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;171E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;828E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;27;Check Grammar With Spellingd;7;1048576d;4;1003S;23;{{936, 280}, {106, 23}}S;19;{{0, 0}, {106, 23}}d;2;33S;6;normald;1;4D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;829E;E;T;S;18;Customize Toolbar…S;0;F;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;25;{{335, 128}, {1067, 550}}d;1;7S;6;WindowS;4;Boldd;1;2S;1;bS;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;36E;E;E;d;1;0S;23;{{822, 172}, {104, 17}}S;19;{{0, 0}, {104, 17}}S;9;textfieldd;1;1S;16;Formattting Filed;4;3072S;4;EditS;14;submenuAction:S;10;Select AllS;1;aS;23;{{933, 135}, {112, 24}}S;19;{{0, 0}, {112, 24}}S;12;popup-buttonS;8;borderedd;1;3S;6;Loosend;4;1006S;23;{{936, 401}, {106, 23}}D;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;830E;E;S;10;Copy RulerS;1;cd;7;1310720D;K;6;$classD;K;6;CP$UIDd;3;564E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;66E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;836E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;502E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;837E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;66E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;642E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;41E;E;S;20;{{0, 0}, {537, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;832E;E;E;d;2;18S;11;rule-editord;2;75d;2;25S;14;format.stringsS;7;rowTypeS;8;criteriaS;13;displayValuesS;10;boundArrayS;7;subrowsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;33;_CPRuleEditorViewUnboundRowHolderK;8;$classesA;S;33;_CPRuleEditorViewUnboundRowHolderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;515E;K;12;CPBoundArrayD;K;6;CP$UIDd;3;833E;E;S;20;About NewApplicationS;5;CloseS;1;wS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;48E;E;E;S;9;SubscriptS;8;Use NoneS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;177E;E;E;S;11;Smart LinksS;1;Gd;7;1179648S;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;62E;E;E;d;4;1001S;23;{{936, 204}, {106, 23}}D;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;834E;E;S;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;3;107E;E;E;S;12;Preferences…S;1;,S;22;{{841, 451}, {85, 17}}S;18;{{0, 0}, {85, 17}}S;10;Row HeightS;8;MinimizeS;1;mS;12;RuleDelegateS;8;Save As…S;1;Sd;4;1002S;23;{{936, 241}, {106, 23}}D;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;835E;E;S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;23E;E;E;S;10;Clear MenuS;23;{{810, 364}, {116, 17}}S;19;{{0, 0}, {116, 17}}S;15;Backround ColorS;22;{{831, 244}, {95, 17}}S;18;{{0, 0}, {95, 17}}S;13;Bottom BorderS;23;{{20, 190}, {539, 219}}S;20;{{0, 0}, {539, 219}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;566E;E;E;d;2;38S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;114E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;66E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;838E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;838E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;66E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;E;S;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;113E;E;E;S;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;169E;E;E;S;20;Spelling and GrammarS;5;LowerS;6;FormatS;4;FindS;8;BaselineS;11;Paste StyleS;1;vd;7;1572864S;13;Find PreviousS;11;Hide OthersS;1;hS;12;Smart QuotesS;1;gS;9;UnderlineS;1;uS;3;NewS;1;nS;10;Show RulerS;8;CompoundS;17;_popUpItemAction:S;7;JustifyS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;173E;E;E;S;6;ItalicS;1;iS;22;{{780, 18}, {166, 18}}S;19;{{0, 0}, {166, 18}}S;9;check-boxS;17;selected+borderedS;19;Can Remove All RowsS;4;FontS;4;UndoS;1;zS;14;Show Spelling…S;1;:d;4;1004S;23;{{936, 321}, {106, 23}}D;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;839E;E;S;5;Pasted;4;1005S;23;{{936, 361}, {106, 23}}D;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;840E;E;S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;119E;E;E;S;22;{{835, 139}, {91, 17}}S;18;{{0, 0}, {91, 17}}S;12;Nesting ModeS;14;NewApplicationS;4;RedoS;1;ZS;11;Use DefaultS;19;Quit NewApplicationS;1;qS;21;{{17, 82}, {752, 86}}S;19;{{0, 0}, {752, 86}}S;11;placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;627E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;841E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;504E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;464E;E;S;9;PredicateS;5;Open…S;1;oS;11;Paste RulerS;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;4;SaveS;1;sS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;166E;E;E;S;24;{{-100, 102}, {15, 217}}S;19;{{0, 0}, {15, 217}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9636362791061401S;7;Use AllS;21;{{0, 0}, {1067, 550}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;56E;E;E;S;3;CutS;1;xS;4;ListS;6;SimpleS;4;ZoomS;15;Revert to SavedS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;3;104E;E;E;S;22;{{866, 110}, {80, 18}}S;18;{{0, 0}, {80, 18}}S;7;AnimateS;11;Show ColorsS;1;CD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;82E;E;E;S;23;{{742, 404}, {184, 17}}S;19;{{0, 0}, {184, 17}}S;26;Alternate Background ColorS;23;{{801, 283}, {125, 17}}S;19;{{0, 0}, {125, 17}}S;18;Last Bottom BorderS;22;{{851, 207}, {75, 17}}S;18;{{0, 0}, {75, 17}}S;10;Top BorderS;24;{{-100, 304}, {223, 15}}S;19;{{0, 0}, {223, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.5060241222381592S;14;Start SpeakingS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;121E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;2;72E;E;E;S;5;Find…S;1;fS;22;Use Selection for FindS;1;eS;7;TightenD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;182E;E;E;S;8;Show AllS;10;Align LeftS;1;{S;11;Align RightS;1;}S;12;Show ToolbarS;1;tS;27;Check Spelling While TypingS;10;Show FontsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;116E;E;E;S;22;{{721, 48}, {225, 18}}S;19;{{0, 0}, {225, 18}}S;26;Allows Empty Compound RowsS;23;{{933, 165}, {113, 29}}S;19;{{0, 0}, {113, 29}}S;7;bezeledD;K;6;$classD;K;6;CP$UIDd;3;462E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;842E;E;S;6;DeleteS;14;Check SpellingS;1;;S;7;SmallerS;1;-S;11;SuperscriptD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;20E;E;E;S;4;CopyS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;2;76E;E;E;S;22;{{934, 451}, {96, 21}}S;18;{{0, 0}, {96, 21}}S;6;sliderd;2;26d;2;20d;2;78S;19;NewApplication HelpS;1;?S;13;Page Setup...S;1;PS;13;Stop SpeakingS;21;{{866, 80}, {80, 18}}S;8;EditableS;13;AppControllerS;22;{{869, 324}, {57, 17}}S;18;{{0, 0}, {57, 17}}S;8;SelectedS;6;Print…S;1;pS;21;{{20, 415}, {26, 24}}S;18;{{0, 0}, {26, 24}}d;2;36S;6;buttonD;K;6;$classD;K;6;CP$UIDd;3;627E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;843E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;504E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;467E;E;S;1;+S;18;Bring All to FrontS;5;RaiseS;10;Copy StyleS;9;Find NextS;17;Jump to SelectionS;1;jS;19;Hide NewApplicationS;16;Smart Copy/PasteS;6;BiggerS;6;CenterS;1;|S;6;SingleS;8;delegateS;14;predicateFieldS;10;ruleEditorS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;7;addRow:S;17;ruleEditorAction:S;18;setAttributeValue:S;12;setEditable:S;15;setNestingMode:S;29;setFormattingStringsFilename:S;20;setCanRemoveAllRows:S;27;setAllowsEmptyCompoundRows:S;11;setAnimate:S;13;setRowHeight:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;844E;D;K;6;CP$UIDd;3;845E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;844E;D;K;6;CP$UIDd;3;845E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;831E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;478E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;502E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;502E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;504E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;844E;D;K;6;CP$UIDd;3;845E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;844E;D;K;6;CP$UIDd;3;845E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;S;20;{{1, 1}, {537, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;844E;D;K;6;CP$UIDd;3;845E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;844E;D;K;6;CP$UIDd;3;845E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;S;5;ArialD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;482E;E;E;S;12;AppleSymbolsf;13;0.05813049898f;13;0.05554189906E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.xib b/Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.xib new file mode 100644 index 000000000..c86f3d6ed --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/Resources/MainMenu.xib @@ -0,0 +1,4447 @@ + + + + 1050 + 10H574 + 823 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 823 + + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + NewApplication + + YES + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide NewApplication + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + 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 + + YES + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + 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 + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + 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 + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 7 + 2 + {{335, 200}, {1067, 550}} + 1946157056 + Window + NSWindow + + {1.79769e+308, 1.79769e+308} + + + 256 + + YES + + + 268 + {{20, 107}, {26, 26}} + + YES + + -2080244224 + 134217728 + + + + AppleSymbols + 18 + 16 + + + -2038152961 + 134 + + + 400 + 75 + + + + + 270 + + YES + + + 2304 + + YES + + + 274 + + YES + + + 274 + {537, 217} + + + + + YES + + YES + NSRuleEditorItemPBoardType + + + {537, 217} + + YES + 75 + 25 + format.strings + YES + NO + NO + 3 + rowType + subrows + criteria + displayValues + boundArray + NSMutableDictionary + + + + + YES + + + + YES + + + + {{1, 1}, {537, 217}} + + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + 4 + + + + -2147483392 + {{-100, -100}, {15, 217}} + + + _doScroller: + 1 + 0.96363627910614014 + + + + -2147483392 + {{-100, -100}, {223, 15}} + + 1 + + _doScroller: + 0.50602412223815918 + + + {{20, 141}, {539, 219}} + + + 2 + + + + + + + 270 + {{17, 382}, {752, 86}} + + YES + + 69336577 + 272629760 + + + LucidaGrande-Bold + 18 + 16 + + Predicate + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 265 + + YES + + YES + NSColor pasteboard type + + + {{936, 247}, {106, 23}} + + 1003 + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 265 + + YES + + YES + NSColor pasteboard type + + + {{936, 286}, {106, 23}} + + 1002 + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 265 + + YES + + YES + NSColor pasteboard type + + + {{936, 323}, {106, 23}} + + 1001 + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 265 + + YES + + YES + NSColor pasteboard type + + + {{936, 206}, {106, 23}} + + 1004 + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 265 + + YES + + YES + NSColor pasteboard type + + + {{936, 166}, {106, 23}} + + 1005 + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 265 + + YES + + YES + NSColor pasteboard type + + + {{936, 126}, {106, 23}} + + 1006 + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 265 + {{851, 326}, {75, 17}} + + YES + + 68288064 + 71304192 + Top Border + + LucidaGrande + 13 + 1044 + + + + + + + + + 265 + {{831, 289}, {95, 17}} + + YES + + 68288064 + 71304192 + Bottom Border + + + + + + + + + 265 + {{801, 250}, {125, 17}} + + YES + + 68288064 + 71304192 + Last Bottom Border + + + + + + + + + 265 + {{869, 209}, {57, 17}} + + YES + + 68288064 + 71304192 + Selected + + + + + + + + + 265 + {{810, 169}, {116, 17}} + + YES + + 68288064 + 71304192 + Backround Color + + + + + + + + + 265 + {{742, 129}, {184, 17}} + + YES + + 68288064 + 71304192 + Alternate Background Color + + + + + + + + + 265 + {{866, 452}, {80, 18}} + + YES + + -2080244224 + 0 + Editable + + + 1210864127 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + + 265 + {{933, 387}, {112, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + Simple + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + Single + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + List + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Compound + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 3 + 1 + YES + YES + 2 + + + + + 265 + {{835, 394}, {91, 17}} + + YES + + 68288064 + 71304192 + Nesting Mode + + + + + + + + + 265 + {{936, 359}, {106, 22}} + + YES + + -1804468671 + 272630784 + format.strings + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + + 265 + {{822, 361}, {104, 17}} + + YES + + 68288064 + 71304192 + Formattting File + + + + + + + + + 265 + {{780, 514}, {166, 18}} + + YES + + -2080244224 + 0 + Can Remove All Rows + + + 1210864127 + 2 + + + + + 200 + 25 + + + + + 265 + {{721, 484}, {225, 18}} + + YES + + 67239424 + 0 + Allows Empty Compound Rows + + + 1210864127 + 2 + + + + + 200 + 25 + + + + + 265 + {{866, 422}, {80, 18}} + + YES + + -2080244224 + 0 + Animate + + + 1210864127 + 2 + + + + + 200 + 25 + + + + + 265 + {{934, 78}, {96, 21}} + + YES + + -2080244224 + 0 + + + 78 + 20 + 26 + 0.0 + 0 + 1 + NO + NO + + + + + 265 + {{841, 82}, {85, 17}} + + YES + + 68288064 + 71304192 + Row Height + + + + + + + + {1067, 550} + + + {{0, 0}, {1440, 878}} + {1.79769e+308, 1.79769e+308} + + + AppController + + + RuleDelegate + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + 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 + + + + showHelp: + + + + 360 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + 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 + + + + alignLeft: + + + + 442 + + + + alignJustified: + + + + 443 + + + + copyRuler: + + + + 444 + + + + alignCenter: + + + + 445 + + + + toggleRuler: + + + + 446 + + + + alignRight: + + + + 447 + + + + pasteRuler: + + + + 448 + + + + terminate: + + + + 449 + + + + delegate + + + + 451 + + + + theWindow + + + + 459 + + + + ruleEditor + + + + 473 + + + + addRow: + + + + 474 + + + + ruleEditorAction: + + + + 475 + + + + predicateField + + + + 478 + + + + delegate + + + + 480 + + + + setAttributeValue: + + + + 482 + + + + setAttributeValue: + + + + 486 + + + + setAttributeValue: + + + + 488 + + + + setAttributeValue: + + + + 489 + + + + setCanRemoveAllRows: + + + + 529 + + + + setEditable: + + + + 531 + + + + setNestingMode: + + + + 532 + + + + setAttributeValue: + + + + 534 + + + + setAttributeValue: + + + + 535 + + + + setAllowsEmptyCompoundRows: + + + + 536 + + + + setFormattingStringsFilename: + + + + 537 + + + + setAnimate: + + + + 543 + + + + setRowHeight: + + + + 550 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 75 + + + 3 + + + 80 + + + 8 + + + 78 + + + 6 + + + 72 + + + + + 82 + + + 9 + + + 124 + + + YES + + + + + + 77 + + + 5 + + + 73 + + + 1 + + + 79 + + + 7 + + + 112 + + + 10 + + + 74 + + + 2 + + + 125 + + + YES + + + + + + 126 + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + YES + + + + 2 + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 375 + + + YES + + + + + + 376 + + + YES + + + + + + + 377 + + + YES + + + + + + 378 + + + YES + + + + + + 379 + + + YES + + + + + + + + + + + + + 380 + + + + + 381 + + + + + 382 + + + + + 383 + + + + + 384 + + + + + 385 + + + + + 386 + + + + + 387 + + + + + 388 + + + YES + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + YES + + + + + + 398 + + + YES + + + + + + 399 + + + YES + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + YES + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + YES + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + YES + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 450 + + + + + 466 + + + YES + + + + + + 467 + + + + + 469 + + + YES + + + + + + + + 470 + + + + + 471 + + + + + 472 + + + + + 479 + + + + + 476 + + + YES + + + + + + 477 + + + + + 481 + + + + + 516 + + + YES + + + + + + 517 + + + + + 506 + + + YES + + + + + + 507 + + + + + 492 + + + + + 487 + + + + + 500 + + + YES + + + + + + 501 + + + + + 485 + + + + + 525 + + + YES + + + + + + 526 + + + + + 483 + + + + + 523 + + + YES + + + + + + 524 + + + + + 521 + + + YES + + + + + + 522 + + + + + 496 + + + YES + + + + + + 497 + + + + + 490 + + + + + 498 + + + YES + + + + + + 499 + + + + + 502 + + + YES + + + + + + 503 + + + + + 519 + + + YES + + + + + + 520 + + + + + 508 + + + YES + + + + + + 509 + + + + + 510 + + + YES + + + + + + 511 + + + YES + + + + + + 512 + + + YES + + + + + + + + + 513 + + + + + 514 + + + + + 515 + + + + + 518 + + + + + 504 + + + YES + + + + + + 505 + + + + + 540 + + + YES + + + + + + 541 + + + + + 544 + + + YES + + + + + + 545 + + + + + 547 + + + YES + + + + + + 548 + + + + + + + YES + + YES + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 112.IBPluginDependency + 112.ImportedFromIB2 + 124.IBPluginDependency + 124.ImportedFromIB2 + 125.IBPluginDependency + 125.ImportedFromIB2 + 125.editorWindowContentRectSynchronizationRect + 126.IBPluginDependency + 126.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 371.windowTemplate.maxSize + 372.IBPluginDependency + 375.IBPluginDependency + 376.IBEditorWindowLastContentRect + 376.IBPluginDependency + 377.IBPluginDependency + 378.IBPluginDependency + 379.IBPluginDependency + 380.IBPluginDependency + 381.IBPluginDependency + 382.IBPluginDependency + 383.IBPluginDependency + 384.IBPluginDependency + 385.IBPluginDependency + 386.IBPluginDependency + 387.IBPluginDependency + 388.IBEditorWindowLastContentRect + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBPluginDependency + 392.IBPluginDependency + 393.IBPluginDependency + 394.IBPluginDependency + 395.IBPluginDependency + 396.IBPluginDependency + 397.IBPluginDependency + 398.IBPluginDependency + 399.IBPluginDependency + 400.IBPluginDependency + 401.IBPluginDependency + 402.IBPluginDependency + 403.IBPluginDependency + 404.IBPluginDependency + 405.IBPluginDependency + 406.IBPluginDependency + 407.IBPluginDependency + 408.IBPluginDependency + 409.IBPluginDependency + 410.IBPluginDependency + 411.IBPluginDependency + 412.IBPluginDependency + 413.IBPluginDependency + 414.IBPluginDependency + 415.IBPluginDependency + 416.IBPluginDependency + 417.IBPluginDependency + 418.IBPluginDependency + 419.IBPluginDependency + 466.IBPluginDependency + 467.IBPluginDependency + 469.IBPluginDependency + 470.IBPluginDependency + 471.IBPluginDependency + 472.IBPluginDependency + 476.IBPluginDependency + 477.IBPluginDependency + 481.IBPluginDependency + 483.IBPluginDependency + 485.IBPluginDependency + 487.IBPluginDependency + 490.IBPluginDependency + 492.IBPluginDependency + 496.IBPluginDependency + 497.IBPluginDependency + 498.IBPluginDependency + 499.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 500.IBPluginDependency + 501.IBPluginDependency + 502.IBPluginDependency + 503.IBPluginDependency + 504.IBPluginDependency + 505.IBPluginDependency + 506.IBPluginDependency + 507.IBPluginDependency + 508.IBPluginDependency + 509.IBPluginDependency + 510.IBPluginDependency + 511.IBPluginDependency + 512.IBEditorWindowLastContentRect + 512.IBPluginDependency + 513.IBPluginDependency + 514.IBPluginDependency + 515.IBPluginDependency + 516.IBPluginDependency + 517.IBPluginDependency + 518.IBPluginDependency + 519.IBPluginDependency + 520.IBPluginDependency + 521.IBPluginDependency + 522.IBPluginDependency + 523.IBPluginDependency + 524.IBPluginDependency + 525.IBPluginDependency + 526.IBPluginDependency + 540.IBPluginDependency + 541.IBPluginDependency + 544.IBPluginDependency + 545.IBPluginDependency + 547.IBPluginDependency + 548.IBPluginDependency + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 72.IBPluginDependency + 72.ImportedFromIB2 + 73.IBPluginDependency + 73.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{596, 852}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{522, 812}, {146, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{143, 285}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{44, 281}, {1067, 550}} + com.apple.InterfaceBuilder.CocoaPlugin + {{44, 281}, {1067, 550}} + + {{33, 99}, {480, 360}} + {3.40282e+38, 3.40282e+38} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{437, 242}, {86, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{523, 2}, {178, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{891, 592}, {141, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{155, 102}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + YES + + + + + YES + + + YES + + + + 550 + + + + YES + + AppController + + YES + + YES + ruleEditorAction: + setAllowsEmptyCompoundRows: + setAnimate: + setAttributeValue: + setCanRemoveAllRows: + setEditable: + setFormattingStringsFilename: + setNestingMode: + setRowHeight: + + + YES + id + id + id + id + id + id + id + id + id + + + + YES + + YES + ruleEditorAction: + setAllowsEmptyCompoundRows: + setAnimate: + setAttributeValue: + setCanRemoveAllRows: + setEditable: + setFormattingStringsFilename: + setNestingMode: + setRowHeight: + + + YES + + ruleEditorAction: + id + + + setAllowsEmptyCompoundRows: + id + + + setAnimate: + id + + + setAttributeValue: + id + + + setCanRemoveAllRows: + id + + + setEditable: + id + + + setFormattingStringsFilename: + id + + + setNestingMode: + id + + + setRowHeight: + id + + + + + YES + + YES + predicateField + ruleEditor + theWindow + + + YES + id + id + NSWindow + + + + YES + + YES + predicateField + ruleEditor + theWindow + + + YES + + predicateField + id + + + ruleEditor + id + + + theWindow + NSWindow + + + + + IBUserSource + + + + + NSRuleEditor + NSControl + + IBUserSource + + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../adsfsdf.xcodeproj + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + NSSwitch + + + YES + {9, 8} + {7, 2} + {15, 15} + + + + diff --git a/Tests/Manual/CPRuleEditorCibTest/Resources/criteria.plist b/Tests/Manual/CPRuleEditorCibTest/Resources/criteria.plist new file mode 100644 index 000000000..2ec458116 --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/Resources/criteria.plist @@ -0,0 +1,192 @@ + + + + + rootHeaders + + subrows + + + CPRuleEditorPredicateCompoundType + 2 + criteria + + + valeur + of the following is true + + + valeur + Any + + + CPRuleEditorPredicateCompoundType + 1 + criteria + + + valeur + of the following is true + + + valeur + All + + + + rootChildren + + subrows + + + CPRuleEditorPredicateLeftExpression + firstName + criteria + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 8 + CPRuleEditorPredicateOptions + 3 + criteria + + + CPRuleEditorCustomControlClass + RuleTextField + + + valeur + CPBeginsWithPredicateOperatorType + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 7 + CPRuleEditorPredicateOptions + 3 + criteria + + + CPRuleEditorCustomControlClass + RuleTextField + + + valeur + CPLikePredicateOperatorType + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 6 + CPRuleEditorPredicateOptions + 0 + criteria + + + CPRuleEditorCustomControlClass + RuleTextField + + + valeur + CPMatchesPredicateOperatorType + + + valeur + firstName + + + CPRuleEditorPredicateLeftExpression + lastName + criteria + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 8 + CPRuleEditorPredicateOptions + 0 + criteria + + + CPRuleEditorCustomControlClass + RuleTextField + + + valeur + CPBeginsWithPredicateOperatorType + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 9 + CPRuleEditorPredicateOptions + 0 + criteria + + + CPRuleEditorCustomControlClass + RuleTextField + + + valeur + CPEndsWithPredicateOperatorType + + + valeur + lastName + + + CPRuleEditorPredicateLeftExpression + age + criteria + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 0 + CPRuleEditorPredicateOptions + 0 + criteria + + + CPRuleEditorCustomControlClass + RuleSlider + + + valeur + CPLessThanPredicateOperatorType + + + CPRuleEditorPredicateComparisonModifier + 0 + CPRuleEditorPredicateOperatorType + 3 + CPRuleEditorPredicateOptions + 0 + criteria + + + CPRuleEditorPredicateRightExpression + 50 + valeur + 50 ans + + + valeur + CPGreaterThanOrEqualToPredicateOperatorType + + + valeur + age + + + + + diff --git a/Tests/Manual/CPRuleEditorCibTest/Resources/format.strings b/Tests/Manual/CPRuleEditorCibTest/Resources/format.strings new file mode 100644 index 000000000..4d802654d --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/Resources/format.strings @@ -0,0 +1,18 @@ +"CPLessThanPredicateOperatorType" = "is less than"; //0 +"CPLessThanOrEqualToPredicateOperatorType" = "is less than or equal to"; //1 +"CPGreaterThanPredicateOperatorType" = "is greater than"; //2 +"CPGreaterThanOrEqualToPredicateOperatorType" = "is greater than or equal to"; //3 +"CPEqualToPredicateOperatorType" = "is equal to"; //4 +"CPNotEqualToPredicateOperatorType" = "is not equal"; //5 +"CPMatchesPredicateOperatorType" = "matches"; //6 +"CPLikePredicateOperatorType" = "is like"; //7 +"CPBeginsWithPredicateOperatorType" = "begins with"; //8 +"CPEndsWithPredicateOperatorType" = "ends with"; //9 +"CPInPredicateOperatorType" = "is in"; //10 +"CPCustomSelectorPredicateOperatorType" = "function"; //11 +"CPContainsPredicateOperatorType" = "contains"; //99 +"CPBetweenPredicateOperatorType" = "is between"; //100 +"firstName" = "First Name"; +"lastName" = "Last Name"; +"age" = "Age"; +"birthDate" = "Birth Date"; diff --git a/Tests/Manual/CPRuleEditorCibTest/Resources/spinner.gif b/Tests/Manual/CPRuleEditorCibTest/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPRuleEditorCibTest/RuleControls.j b/Tests/Manual/CPRuleEditorCibTest/RuleControls.j new file mode 100644 index 000000000..3a313fa44 --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/RuleControls.j @@ -0,0 +1,76 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2008 Pear, Inc. All rights reserved. + */ + +@implementation RuleTextField : CPTextField +{ +} + +- (id)initWithFrame:(CPRect)frame +{ + self = [super initWithFrame:CGRectMake(0, 0, 500, 24)]; + + if (self != nil) + { + [self setBezeled:YES]; + [self setBezelStyle:CPTextFieldSquareBezel]; + [self setBordered:YES]; + [self setEditable:YES]; + [self setFont:[CPFont systemFontOfSize:11]]; + } + + return self; +} + +- (BOOL)isEqual:(id)object +{ + if ([object class] == [RuleTextField class] && + [[object objectValue] isEqual:[self objectValue]]) + return YES; + + return YES; +} + +- (id)copy +{ + var copy = [[RuleTextField alloc] initWithFrame:CGRectMakeZero()]; + [copy setObjectValue:[self objectValue]]; + + return copy; +} + +@end + +@implementation RuleSlider : CPSlider +{ +} + +- (id) initWithFrame:(CPRect)frame +{ + self = [super initWithFrame:CGRectMake(0, 0, 500, 18)]; + + if (self != nil) + { + [self setMinValue:0]; + [self setMaxValue:60]; + [self setContinuous:YES]; + } + + return self; +} + +- (id)objectValue +{ + return ROUND([self doubleValue]); +} + +- (id)copy +{ + var copy = [[RuleSlider alloc] initWithFrame:CGRectMakeZero()]; + [copy setObjectValue:[self objectValue]]; + + return copy; +} + +@end \ No newline at end of file diff --git a/Tests/Manual/CPRuleEditorCibTest/RuleDelegate.j b/Tests/Manual/CPRuleEditorCibTest/RuleDelegate.j new file mode 100644 index 000000000..430121e98 --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/RuleDelegate.j @@ -0,0 +1,147 @@ +/* + * Created by cacaodev@gmail.com. + * Copyright (c) 2008 Pear, Inc. All rights reserved. + */ + +@import +@import "RuleControls.j" + +var CPRuleEditorPredicateKeys = [ + CPRuleEditorPredicateLeftExpression, + CPRuleEditorPredicateRightExpression, + CPRuleEditorPredicateComparisonModifier, + CPRuleEditorPredicateOptions, + CPRuleEditorPredicateOperatorType, + CPRuleEditorPredicateCustomSelector, + CPRuleEditorPredicateCompoundType + ]; + +var CPRuleEditorCustomControlClass = @"CPRuleEditorCustomControlClass"; + +@implementation RuleDelegate : CPObject +{ + CPDictionary criteria; +} + +- (id)init +{ + self = [super init]; + if (self != nil) + { + var path = [[CPBundle mainBundle] pathForResource:@"criteria.plist"], + request = [CPURLRequest requestWithURL:path], + connection = [CPURLConnection connectionWithRequest:request delegate:self]; + } + + return self; +} + +- (void)connection:(CPURLConnection)connection didReceiveData:(CPString)dataString +{ + if (!dataString) + return; + + var data = [[CPData alloc] initWithRawString:dataString]; + criteria = [CPPropertyListSerialization propertyListFromData:data format:CPPropertyListXMLFormat_v1_0]; +} + +/* When called, you should return the number of child items of the given criterion. If criterion is nil, you should return the number of root criteria for the given row type. Implementation of this method is required. */ + +- (int)ruleEditor:(CPRuleEditor)editor numberOfChildrenForCriterion:(id)criterion withRowType:(CPRuleEditorRowType)rowType +{ + var childs; + if (criterion) + childs = [criterion objectForKey:@"criteria"]; + else + childs = [criteria valueForKeyPath:(rowType == CPRuleEditorRowTypeSimple) ? @"rootChildren.subrows" : @"rootHeaders.subrows"]; + + return (childs == NULL) ? 0 : [childs count]; +} + +/* When called, you should return the child of the given item at the given index. If criterion is nil, return the root criterion for the given row type at the given index. Implementation of this method is required. */ + +- (id)ruleEditor:(CPRuleEditor)editor child:(int)index forCriterion:(id)criterion withRowType:(CPRuleEditorRowType)rowType +{ + var childs; + + if (criterion) + childs = [criterion objectForKey:@"criteria"]; + else + childs = [criteria valueForKeyPath:(rowType == CPRuleEditorRowTypeSimple) ? @"rootChildren.subrows" : @"rootHeaders.subrows"]; + + return [childs objectAtIndex:index]; + +} + +/* + When called, you should return a value for the given criterion. The value should be an instance of CPString, CPView, or CPMenuItem (1). If the value is an CPView or CPMenuItem (1), you must ensure it is unique for every invocation of this method; that is, do not return a particular instance of CPView or CPMenuItem more than once. Implementation of this method is required. + (1) CPMenuItem: not implemented yet. +*/ + +- (id)ruleEditor:(CPRuleEditor)editor displayValueForCriterion:(id)criterion inRow:(int)row +{ + var custom_control_class = [criterion objectForKey:CPRuleEditorCustomControlClass]; + + if (custom_control_class != nil) + { + var custom_class = CPClassFromString(custom_control_class); + return [[custom_class alloc] initWithFrame:CGRectMake(0, 0, 100, 18)]; + } + + return [criterion objectForKey:@"valeur"]; +} + +- (CPDictionary)ruleEditor:(CPRuleEditor)editor predicatePartsForCriterion:(id)criterion withDisplayValue:(id)value inRow:(int)row +{ + var predicatePartsForCriterion = [CPDictionary dictionary]; + + if ([editor rowTypeForRow:row] == CPRuleEditorRowTypeCompound) + { + var compound_type = [criterion objectForKey:CPRuleEditorPredicateCompoundType]; + if (compound_type != nil) + [predicatePartsForCriterion setObject:compound_type forKey:CPRuleEditorPredicateCompoundType]; + return predicatePartsForCriterion; + } + + var count = CPRuleEditorPredicateKeys.length; + for (var i = 0 ;i + + + + + + + + + + + + + + + CPRuleEditorCibTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPRuleEditorCibTest/index.html b/Tests/Manual/CPRuleEditorCibTest/index.html new file mode 100644 index 000000000..50db3f53f --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + CPRuleEditorCibTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPRuleEditorCibTest/main.j b/Tests/Manual/CPRuleEditorCibTest/main.j new file mode 100644 index 000000000..7424228fa --- /dev/null +++ b/Tests/Manual/CPRuleEditorCibTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPRuleEditorCibTest + * + * Created by You on September 3, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tests/Manual/SmartFoldersDemo/AppController.j b/Tests/Manual/SmartFoldersDemo/AppController.j new file mode 100644 index 000000000..fbe833c42 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/AppController.j @@ -0,0 +1,319 @@ +/* + * AppController.j + * Smart Folders Demo + * + * Created by cacaodev on November 25, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import "BadgedOutlineView.j" +@import "ImageAndTextView.j" + +@import + +var rootItems = [CPArray arrayWithObject:[CPDictionary dictionaryWithObjectsAndKeys:@"SMART FOLDERS", @"name", YES, @"isContainer"]], + smartFolderImage = [[CPImage alloc] initWithContentsOfFile:@"Resources/SmartFolder.png" size:CGSizeMake(24, 24)], + newFolder = [CPDictionary dictionaryWithObjectsAndKeys:@"Smart Folder", @"name", [CPPredicate predicateWithFormat:@"firstName BEGINSWITH ''"], @"predicate"]; + +@implementation AppController : CPObject +{ +// Outlets in MainMenu.cib + @outlet CPWindow theWindow; + @outlet CPView searchBar; + @outlet CPSearchField searchField; + @outlet CPOutlineView smartOutlineView; + @outlet CPTableView table; + @outlet CPArrayController tableController; + +// Outlets in PredicateEditor.cib + @outlet CPPredicateEditor predicateEditor; + @outlet CPTextField folderNameField; + @outlet CPWindow predicateSheet; + +//Model + CPArray smartFolders; + CPString searchCategory; + CPArray tableArray @accessors; + CPPredicate filterPredicate @accessors; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. + var path = [[CPBundle mainBundle] pathForResource:@"tableArray.plist"], + request = [CPURLRequest requestWithURL:path], + connection = [CPURLConnection connectionWithRequest:request delegate:self]; + + smartFolders = [CPArray array]; + // restore saved folders if they exist + var saved = [[CPUserDefaults standardUserDefaults] objectForKey:@"SmartFolders"]; + if (saved) + { + [smartFolders addObjectsFromArray:saved]; + [smartOutlineView reloadData]; + } + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(ruleEditorRowsDidChange:) name:CPRuleEditorRowsDidChangeNotification object:nil]; +} +// Save folders into defaults +- (void)saveSmartFolders +{ + [CPTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(_saveSmartFolders) userInfo:nil repeats:NO]; +} + +- (void)_saveSmartFolders +{ + var defaults = [CPUserDefaults standardUserDefaults]; + [defaults setObject:smartFolders forKey:@"SmartFolders"]; +} + +- (void)awakeFromCib +{ +// Search Bar + var color = [CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile:@"Resources/searchBarBlue.png" size:CGSizeMake(1.0, 34.0)]]; + [searchBar setBackgroundColor:color]; + +// Smart Outline View + var dataView = [[ImageAndTextView alloc] initWithFrame:CGRectMakeZero()], + column = [[smartOutlineView tableColumns] objectAtIndex:0]; + [column setDataView:dataView]; + [smartOutlineView setBackgroundColor:[CPColor colorWithRed:212.0 / 255.0 green:221.0 / 255.0 blue:230.0 / 255.0 alpha:1.0]]; + [smartOutlineView setDoubleAction:@selector(editFolderAction:)]; + [smartOutlineView setAction:@selector(outlineViewAction:)]; + [smartOutlineView setSourceListDataSource:self]; + [smartOutlineView setRowHeight:26]; + [smartOutlineView expandItem:[smartOutlineView itemAtRow:0]]; + +// Search Field + [searchField setSearchMenuTemplate:[searchField defaultSearchMenuTemplate]]; + [searchField setRecentsAutosaveName:"autosave"]; + +// Button Bar + var plusButton = [CPButtonBar plusButton], + minusButton = [CPButtonBar minusButton], + superView = [[smartOutlineView enclosingScrollView] contentView], + buttonBar = [[CPButtonBar alloc] initWithFrame:CGRectMake(0.0, CGRectGetHeight([superView frame]) - 26, CGRectGetWidth([superView frame]), 26)]; + + [plusButton setTarget:self]; + [minusButton setTarget:self]; + [plusButton setAction:@selector(createNewFolder:)]; + [minusButton setAction:@selector(removeFolder:)]; + + [buttonBar setHasResizeControl:YES]; + [buttonBar setAutoresizingMask:CPViewWidthSizable | CPViewMinYMargin]; + [buttonBar setButtons:[CPArray arrayWithObjects:plusButton, minusButton]]; + [superView addSubview:buttonBar]; + + [theWindow setFullBridge:YES]; +} +// Get the table data +- (void)connection:(CPURLConnection)connection didReceiveData:(CPString)dataString +{ + if (!dataString) + return; + + var data = [[CPData alloc] initWithRawString:dataString], + array = [CPPropertyListSerialization propertyListFromData:data format:CPPropertyListXMLFormat_v1_0]; + + var count = [array count]; + while (count--) + { + var record = array[count], + string = [record objectForKey:@"birthDate"], + date = [[CPDate alloc] initWithString:string]; + + [record setObject:date forKey:@"birthDate"]; + } + + [self setTableArray:array]; +} + +// ======================= +// ! Search field action +// ======================= +- (IBAction)searchFieldFilter:(id)sender +{ + var searchString = [searchField stringValue], + predicate = [CPPredicate predicateWithFormat:@"(%K CONTAINS[cd] %@) OR (%K CONTAINS[cd] %@)", "firstName", searchString, "lastName", searchString]; + + [self setFilterPredicate:predicate]; +} + +// ======================== +// ! Manage smart folders +// ======================== + +// Simple click: just filter +- (IBAction)outlineViewAction:(id)sender +{ + var folder = [self selectedFolder], + predicate = [folder objectForKey:@"predicate"]; + + [self setFilterPredicate:predicate]; + + [CPTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(setPredicateEditorValue:) userInfo:predicate repeats:NO]; +} + +- (void)setPredicateEditorValue:(CPTimer)timer +{ + [predicateEditor setObjectValue:[timer userInfo]]; +} + +// Double click: edit folder +- (IBAction)editFolderAction:(id)sender +{ + var folder = [self selectedFolder]; + [self displaySheetWithFolder:folder]; +} + +- (IBAction)createNewFolder:(id)sender +{ + var folder = [newFolder copy]; + [smartFolders addObject:folder]; + [smartOutlineView reloadData]; + [smartOutlineView selectRowIndexes:[CPIndexSet indexSetWithIndex:[smartFolders count]] byExtendingSelection:NO]; + + [self displaySheetWithFolder:folder]; +} + +- (IBAction)removeFolder:(id)sender +{ + var selectionIndexes = [smartOutlineView selectedRowIndexes]; + if ([selectionIndexes count] == 0) + return; + + [smartFolders removeObjectAtIndex:[selectionIndexes firstIndex] - 1]; + [smartOutlineView reloadData]; + [smartOutlineView selectRowIndexes:[CPIndexSet indexSet] byExtendingSelection:NO]; + [self saveSmartFolders]; +} + +- (void)displaySheetWithFolder:(id)folder +{ + if (predicateSheet == nil) + [CPBundle loadCibNamed:@"PredicateEditor" owner:self]; + + [folderNameField setStringValue:[folder objectForKey:@"name"]]; + [predicateEditor setObjectValue:[folder objectForKey:@"predicate"]]; // nil is ok + + [predicateSheet makeFirstResponder:folderNameField]; + + [CPApp beginSheet:predicateSheet modalForWindow:theWindow modalDelegate:self didEndSelector:@selector(sheetDidEnd:returnCode:folder:) contextInfo:folder]; +} + +- (IBAction)closeSheet:(id)sender +{ + if ([sender tag] == CPOKButton) + [predicateEditor reloadPredicate]; + + [CPApp endSheet:predicateSheet returnCode:[sender tag]]; +} + +- (void)sheetDidEnd:(CPWindow)aSheet returnCode:(int)returnCode folder:(id)folder +{ + var name = [folderNameField stringValue]; + + if (returnCode == CPOKButton && [name length] > 0) + { + var predicate = [predicateEditor objectValue]; + [self setFilterPredicate:predicate]; + + [folder setObject:predicate forKey:@"predicate"]; + [folder setObject:name forKey:@"name"]; + [folder setObject:[[tableController arrangedObjects] count] forKey:@"count"]; + [smartOutlineView reloadData]; + + [self saveSmartFolders]; + } +} +// convenience method +- (id)selectedFolder +{ + var selectionIndexes = [smartOutlineView selectedRowIndexes]; + if ([selectionIndexes count] > 0) + { + return [smartFolders objectAtIndex:[selectionIndexes firstIndex] - 1]; // O is not selectable + } + + return nil; +} + +// ================================================================ +// Badged Outline View data source & delegate methods. +// ================================================================ + +- (CPArray)childrenForItem:(id)item +{ + if (item == nil) + return rootItems; + + return smartFolders; +} + +- (id)outlineView:(CPOutlineView)theOutlineView child:(CPInteger)index ofItem:(id)item +{ + var children = [self childrenForItem:item]; + return [children objectAtIndex:index]; +} + +- (CPInteger)outlineView:(CPOutlineView)theOutlineView numberOfChildrenOfItem:(id)item +{ + var children = [self childrenForItem:item]; + return [[self childrenForItem:item] count]; +} + +- (id)outlineView:(CPOutlineView)theOutlineView objectValueForTableColumn:(CPTableColumn)tableColumn byItem:(id)item +{ + return " " + [item objectForKey:@"name"]; +} + +- (void)outlineView:(CPOutlineView)theOutlineView willDisplayView:(CPView)aView forTableColumn:(CPTableColumn)tableColumn item:(id)item +{ + if (![aView isKindOfClass:[ImageAndTextView class]]) + return; + + var isContainer = !![item objectForKey:@"isContainer"]; + if (isContainer) + { + [aView setFont:[CPFont boldSystemFontOfSize:11.0]]; + [aView setTextColor:[CPColor colorWithWhite:100.0 / 255.0 alpha:0.9]]; + [aView setImagePosition:CPNoImage]; + } + else + { + [aView setImagePosition:CPImageLeft]; + [aView setImage:smartFolderImage]; + } +} + +- (BOOL)outlineView:(CPOutlineView)theOutlineView shouldSelectItem:(id)item +{ + return ![item objectForKey:@"isContainer"]; +} + +- (BOOL)outlineView:(CPOutlineView)theOutlineView isItemExpandable:(id)item +{ + return !![item objectForKey:@"isContainer"]; +} +// Badged outline data source methods +- (BOOL)sourceList:(CPOutlineView)aSourceList itemHasBadge:(id)item +{ + return ([item objectForKey:@"count"] != nil); +} + +- (CPInteger)sourceList:(CPOutlineView)aSourceList badgeValueForItem:(id)item +{ + return [item objectForKey:@"count"]; +} + +// Resize the sheet if needed +- (void)ruleEditorRowsDidChange:(CPNotification)notif +{ + var frame = [predicateSheet frame], + newHeight = [predicateEditor numberOfRows] * [predicateEditor rowHeight] + 103; + + frame.size.height = MAX([predicateSheet minSize].height, newHeight); + [predicateSheet setFrame:frame display:[predicateSheet isSheet] animate:[predicateSheet isSheet]]; +} + +@end diff --git a/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j b/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j new file mode 100644 index 000000000..8bf191afb --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j @@ -0,0 +1,264 @@ +/* + * BadgedOutlineView.j + * + * Created by cacaodev on February 22, 2010. + * Copyright 2010, All rights reserved. + * + * Based on PXSourceList + * Created by Alex Rozanski on 05/09/2009. + * Copyright 2009-10 Alex Rozanski http://perspx.com +*/ + +@import "AppController.j" + +var MIN_BADGE_WIDTH = 22.0, //The minimum badge width for each item (default 22.0) + BADGE_HEIGHT = 14.0, //The badge height for each item (default 14.0) + BADGE_MARGIN = 5.0, //The spacing between the badge and the cell for that row + ROW_RIGHT_MARGIN = 5.0, //The spacing between the right edge of the badge and the edge of the table column + BADGE_BACKGROUND_COLOR = [CPColor colorWithCalibratedRed:(152/255.0) green:(168/255.0) blue:(202/255.0) alpha:1], + BADGE_HIDDEN_BACKGROUND_COLOR = [CPColor colorWithWhite:(180/255.0) alpha:1], + BADGE_SELECTED_TEXT_COLOR = [CPColor colorWithCalibratedRed:(75/255.0) green:(137/255.0) blue:(208/255.0) alpha:1], + BADGE_SELECTED_UNFOCUSED_TEXT_COLOR = [CPColor colorWithCalibratedRed:(153/255.0) green:(169/255.0) blue:(203/255.0) alpha:1], + BADGE_SELECTED_HIDDEN_TEXT_COLOR = [CPColor colorWithCalibratedWhite:(170/255.0) alpha:1], + BADGE_FONT = [CPFont boldSystemFontOfSize:11]; + +var CPSourceListDataSource_sourceList_itemHasBadge_ = 1 << 1, + CPSourceListDataSource_sourceList_badgeValueForItem_ = 1 << 2, + CPSourceListDataSource_sourceList_badgeBackgroundColorForItem_ = 1 << 3, + CPSourceListDataSource_sourceList_badgeTextColorForItem_ = 1 << 4; + +@implementation BadgedOutlineView : CPOutlineView +{ + id _sourceListDataSource @accessors(property=sourceListDataSource); + int _implementedSourceListDataSourceMethods; +} + +- (void)setSourceListDataSource:(id)aDataSource +{ + _sourceListDataSource = aDataSource; + implementedSourceListDataSourceMethods = 0; + + if ([_sourceListDataSource respondsToSelector:@selector(sourceList:itemHasBadge:)]) + implementedSourceListDataSourceMethods |= CPSourceListDataSource_sourceList_itemHasBadge_; + if ([_sourceListDataSource respondsToSelector:@selector(sourceList:badgeValueForItem:)]) + implementedSourceListDataSourceMethods |= CPSourceListDataSource_sourceList_badgeValueForItem_; + if ([_sourceListDataSource respondsToSelector:@selector(sourceList:badgeBackgroundColorForItem:)]) + implementedSourceListDataSourceMethods |= CPSourceListDataSource_sourceList_badgeBackgroundColorForItem_; + if ([_sourceListDataSource respondsToSelector:@selector(sourceList:badgeTextColorForItem:)]) + implementedSourceListDataSourceMethods |= CPSourceListDataSource_sourceList_badgeTextColorForItem_; +} + +- (BOOL)itemHasBadge:(id)item +{ + if (implementedSourceListDataSourceMethods & CPSourceListDataSource_sourceList_itemHasBadge_) + return [_sourceListDataSource sourceList:self itemHasBadge:item]; + + return NO; +} + +- (CPInteger)badgeValueForItem:(id)item +{ + if ([self itemHasBadge:item] && implementedSourceListDataSourceMethods & CPSourceListDataSource_sourceList_badgeValueForItem_) + return [_sourceListDataSource sourceList:self badgeValueForItem:item]; + + return CPNotFound; +} + +//This method calculates and returns the size of the badge for the row index passed to the method. If the +//row for the row index passed to the method does not have a badge, then NSZeroSize is returned. +- (CGSize)sizeOfBadgeAtRow:(CPInteger)rowIndex +{ + var rowItem = [self itemAtRow:rowIndex]; + + //Make sure that the item has a badge + if (![self itemHasBadge:rowItem]) + return CGSizeZero(); + + var badgeString = [CPString stringWithFormat:@"%d", [self badgeValueForItem:rowItem]]; + + var stringSize = [badgeString sizeWithFont:BADGE_FONT]; + + //Calculate the width needed to display the text or the minimum width if it's smaller + var width = MAX(MIN_BADGE_WIDTH, stringSize.width + 2 * BADGE_MARGIN); + + return CGSizeMake(width, BADGE_HEIGHT); +} + +- (void)drawRow:(CPInteger)rowIndex clipRect:(CGRect)clipRect +{ + var item = [self itemAtRow:rowIndex]; + //Draw the badge if the item has one + if ([self itemHasBadge:item]) + { + var columnIndex = [_tableColumns indexOfObjectIdenticalTo:[self outlineTableColumn]], + viewRect = [self frameOfDataViewAtColumn:columnIndex row:rowIndex], + badgeSize = [self sizeOfBadgeAtRow:rowIndex], + + badgeFrame = CGRectMake(CGRectGetMaxX(viewRect) - badgeSize.width - ROW_RIGHT_MARGIN, + CGRectGetMidY(viewRect) - (badgeSize.height/2.0), + badgeSize.width, + badgeSize.height); + + [self drawBadgeForRow:rowIndex inRect:badgeFrame]; + } +} + +- (void)drawBadgeForRow:(CPInteger)rowIndex inRect:(CGRect)badgeFrame +{ + + var rowItem = [self itemAtRow:rowIndex], + badgePath = [CPBezierPath bezierPath]; + + [badgePath appendBezierPathWithRoundedRect:badgeFrame xRadius:(BADGE_HEIGHT/2.0) yRadius:(BADGE_HEIGHT/2.0)]; + + //Get window and control state to determine colours used + var isFocused = [[[self window] firstResponder] isEqual:self], + rowBeingEdited = -1 // uninplemented [self editedRow]; + + //Set the attributes based on the row state + var backgroundColor, + textColor; + + if ([[self selectedRowIndexes] containsIndex:rowIndex]) + { + backgroundColor = [CPColor whiteColor]; + + //Set the text color based on window and control state + if (isFocused || rowBeingEdited == rowIndex) + textColor = BADGE_SELECTED_TEXT_COLOR; + else if (!isFocused) + textColor = BADGE_SELECTED_UNFOCUSED_TEXT_COLOR; + else + textColor = BADGE_SELECTED_HIDDEN_TEXT_COLOR; + } + else + { + //Set the text colour based on window and control state + textColor = [CPColor whiteColor]; + + //If the data source returns a custom colour.. + if (implementedSourceListDataSourceMethods & CPSourceListDataSource_sourceList_badgeBackgroundColorForItem_) + { + backgroundColor = [_sourceListDataSource sourceList:self badgeBackgroundColorForItem:rowItem]; + + if (backgroundColor == nil) + backgroundColor = BADGE_BACKGROUND_COLOR; + } + else //Otherwise use the default (purple-blue colour) + backgroundColor = BADGE_BACKGROUND_COLOR; + + //If the delegate wants a custom badge text colour.. + if (implementedSourceListDataSourceMethods & CPSourceListDataSource_sourceList_badgeTextColorForItem_) + { + textColor = [_sourceListDataSource sourceList:self badgeTextColorForItem:rowItem]; + + if (textColor == nil) + textColor = [CPColor whiteColor]; + } + } + + [backgroundColor set]; + [badgePath fill]; + + //Draw the badge text + var badgeString = [CPString stringWithFormat:@"%d", [self badgeValueForItem:rowItem]], + stringSize = [badgeString sizeWithFont:BADGE_FONT], + badgeTextPoint = CGPointMake(CGRectGetMidX(badgeFrame) - (stringSize.width/2.0), //Center in the badge frame + CGRectGetMidY(badgeFrame) + (stringSize.height/4.0)); //Center in the badge frame + [textColor setFill]; + [badgeString drawAtPoint:badgeTextPoint withFont:BADGE_FONT]; +} + +/* This CPOutlineView subclass is necessary only if you want to delete items by dragging them to the trash. In order to support drags to the trash, you need to implement draggedImage:endedAt:operation: and handle the CPDragOperationDelete operation. For any other operation, pass the message to the superclass +*/ +- (void)draggedImage:(CPImage)image endedAt:(CPPoint)screenPoint operation:(CPDragOperation)operation +{ + if (operation == CPDragOperationDelete) + { + // Tell all of the dragged nodes to remove themselves from the model. + var selection = [[self dataSource] draggedNodes], + count = [selection count]; + + while (count--) + { + var node = selection[count]; + [[[node parentNode] mutableChildNodes] removeObject:node]; + } + + [self reloadData]; + [self deselectAll:nil]; + } + else + { + [super draggedImage:image endedAt:screenPoint operation:operation]; + } +} + +@end + +@implementation CPOutlineView (MyExtensions) + +- (CPView)preparedViewAtColumn:(int)column row:(int)row +{ + return [self _newDataViewForRow:row tableColumn:_tableColumns[column]]; +} + +- (CPArray)selectedItems +{ + var items = [CPArray array], + selectedRows = [self selectedRowIndexes], + row = [selectedRows firstIndex]; + + if (selectedRows != nil) + { + while (row != CPNotFound) + { + [items addObject:[self itemAtRow:row]]; + row = [selectedRows indexGreaterThanIndex:row]; + } + } + + return items; +} + +- (void)setSelectedItems:(CPArray)items +{ + // If we are extending the selection, we start with the existing selection; otherwise, we create a new blank set of the indexes. + var newSelection = [CPIndexSet indexSet], + count = [items count]; + + for (var i = 0; i < count; i++) + { + var row = [self rowForItem:[items objectAtIndex:i]]; + if (row != CPNotFound) + [newSelection addIndex:row]; + } + + [self selectRowIndexes:newSelection byExtendingSelection:NO]; +} + +@end + +@implementation CPString (DrawingAdditions) + +- (CGSize)drawAtPoint:(CGPoint)point withFont:(CPFont)font +{ + var ctx = [[CPGraphicsContext currentContext] graphicsPort]; + CGContextSaveGState(ctx); + CGContextSetFont(ctx, font); + CGContextShowTextAtPoint(ctx, point.x, point.y + 1, self, 0); + CGContextRestoreGState(ctx); + return [self sizeWithFont:font]; +} + +@end + +function CGContextShowTextAtPoint(aContext, x, y, aString,/* unused */ aStringLength) +{ + aContext.fillText(aString, x, y); +} + +function CGContextSetFont(aContext, aFont) +{ + aContext.font = [aFont cssString]; +} diff --git a/Tests/Manual/SmartFoldersDemo/ImageAndTextView.j b/Tests/Manual/SmartFoldersDemo/ImageAndTextView.j new file mode 100644 index 000000000..995c5926f --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/ImageAndTextView.j @@ -0,0 +1,69 @@ + +@implementation ImageAndTextView : _CPImageAndTextView +{ +} + +- (id)initWithFrame:(CGRect)frame +{ + if (self = [super initWithFrame:frame]) + { + [self _initShared]; + } + + return self; +} + +- (void)_initShared +{ + //[self setLineBreakMode:CPLineBreakByTruncatingTail]; + [self setImagePosition:CPImageLeft]; + [self setAlignment:CPLeftTextAlignment]; + [self setVerticalAlignment:CPCenterVerticalTextAlignment]; +} + +- (id)initWithCoder:(CPCoder)coder +{ + self = [super initWithCoder:coder]; + [self _initShared]; + + return self; +} + +- (void)encodeWithCoder:(CPCoder)coder +{ + [super encodeWithCoder:coder]; +} + +- (id)objectValue +{ + return [self text]; +} + +- (void)setObjectValue:(id)value +{ + [self setText:value]; +} + +- (void)setThemeState:(CPThemeState)state +{ + if (state === CPThemeStateSelectedDataView) + { + [self setTextColor:[CPColor whiteColor]]; + [self setFont:[CPFont boldSystemFontOfSize:13]]; + } + + [super setThemeState:state]; +} + +- (void)unsetThemeState:(CPThemeState)state +{ + if (state === CPThemeStateSelectedDataView) + { + [self setTextColor:[CPColor colorWithWhite:0.3 alpha:1]]; + [self setFont:[CPFont systemFontOfSize:13]]; + } + + [super unsetThemeState:state]; +} +@end + diff --git a/Tests/Manual/SmartFoldersDemo/Info.plist b/Tests/Manual/SmartFoldersDemo/Info.plist new file mode 100644 index 000000000..8f75aee51 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Info.plist @@ -0,0 +1,12 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + SmartFoldersDemo + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/SmartFoldersDemo/Jakefile b/Tests/Manual/SmartFoldersDemo/Jakefile new file mode 100644 index 000000000..d7c4148a6 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * SmartFoldersDemo + * + * Created by You on November 25, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("SmartFoldersDemo", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "SmartFoldersDemo.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("SmartFoldersDemo"); + task.setIdentifier("com.yourcompany."); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("SmartFoldersDemo"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["SmartFoldersDemo"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "SmartFoldersDemo", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "SmartFoldersDemo", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "SmartFoldersDemo")); + OS.system(["press", "-f", FILE.join("Build", "Release", "SmartFoldersDemo"), FILE.join("Build", "Deployment", "SmartFoldersDemo")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "SmartFoldersDemo")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "SmartFoldersDemo"), FILE.join("Build", "Desktop", "SmartFoldersDemo", "SmartFoldersDemo.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "SmartFoldersDemo", "SmartFoldersDemo.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "SmartFoldersDemo")); + print("----------------------------"); +} diff --git a/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib b/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib new file mode 100644 index 000000000..0d6adb5d7 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;1;0E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;81E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;1;0E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;49E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;101E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;102E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;104E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;105E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;44E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;110E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;52E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;110E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;101E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;117E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;120E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;121E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;122E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;123E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;124E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;126E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;128E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;129E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;130E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;131E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;132E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;131E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;130E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;131E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;130E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;131E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;131E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;131E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;130E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;133E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;134E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;135E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;124E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;136E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;137E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;129E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;130E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;131E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;142E;E;D;K;10;$classnameS;11;CPSplitViewK;8;$classesA;S;11;CPSplitViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;143E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;144E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;22;CPSplitViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;24;CPSplitViewIsVerticalKeyD;K;6;CP$UIDd;3;131E;K;28;CPSplitViewIsPaneSplitterKeyD;K;6;CP$UIDd;3;130E;E;D;K;10;$classnameS;13;CPSearchFieldK;8;$classesA;S;13;CPSearchFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;147E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;148E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;152E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;154E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;131E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;156E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;152E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;111E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;157E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;130E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;130E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;158E;K;24;CPRecentsAutosaveNameKeyD;K;6;CP$UIDd;3;159E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;160E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;161E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;161E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;162E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;41E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;165E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;44E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;166E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;167E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;168E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;171E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;173E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;174E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;103E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;103E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;130E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;131E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;131E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;131E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;131E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;175E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;176E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;131E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;178E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;36E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;179E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;134E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;141E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;180E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;181E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;182E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;129E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;130E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;131E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;183E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;188E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;37E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;20E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;141E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;141E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;141E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;141E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;130E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;130E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;130E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;189E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;190E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;191E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;52E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;165E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;166E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;193E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;194E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;188E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;195E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;196E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;176E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;176E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;130E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;131E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;130E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;130E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;130E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;197E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;130E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;198E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;K;34;CPOutlineViewOutlineTableColumnKeyD;K;6;CP$UIDd;2;26E;K;35;CPOutlineViewIndentationPerLevelKeyD;K;6;CP$UIDd;3;106E;K;26;CPOutlineViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;24;CPOutlineViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;2;81E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;199E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;200E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;201E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;135E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;124E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;202E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;203E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;129E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;130E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;131E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;204E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;205E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;206E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;207E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;208E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;209E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;210E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;211E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;170E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;160E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;45E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;21E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;141E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;141E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;141E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;141E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;131E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;130E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;131E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;3;178E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;212E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;152E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;12;File's OwnerS;1;6S;1;7S;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;17;BadgedOutlineViewD;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;213E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;214E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;218E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;219E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;213E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;213E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;93E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;221E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;28E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;222E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;223E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;223E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;225E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;28E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;226E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;227E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;228E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;229E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;230E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;231E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;232E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;233E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;234E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;231E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;235E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;236E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;237E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;231E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;238E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;239E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;E;E;d;1;0S;24;{{-100, 769}, {238, 15}}S;19;{{0, 0}, {238, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4f;18;0.9933774834437086S;24;{{-100, 738}, {713, 15}}S;19;{{0, 0}, {713, 15}}f;18;0.9106002554278416S;19;{{0, 0}, {956, 34}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;E;E;d;2;34S;6;normalS;12;NSCustomViewS;4;NAMEd;3;175d;2;16d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;242E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;153E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;244E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;246E;K;6;$afontD;K;6;CP$UIDd;3;248E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;152E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;250E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;154E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;153E;E;d;1;3F;T;S;19;CPMutableDictionaryS;8;lastNamed;3;305d;2;40D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;251E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;242E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;252E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;246E;K;6;$afontD;K;6;CP$UIDd;3;253E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;152E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;254E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;154E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;153E;E;S;22;{{181, 0}, {956, 684}}S;20;{{0, 0}, {956, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;24E;E;E;d;2;10S;6;CPViewS;21;{{0, 0}, {1137, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;30E;E;E;d;2;18S;9;splitviewS;21;{{745, 2}, {195, 29}}S;19;{{0, 0}, {195, 29}}d;2;33S;11;searchfieldS;27;bezeled+rounded+placeholderd;1;2S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;255E;E;S;22;First Name | Last Named;3;254S;8;autosaveD;K;6;$classD;K;6;CP$UIDd;3;187E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;274E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;275E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;276E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;52E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;273E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;36E;E;S;19;{{0, 0}, {954, 23}}S;14;tableHeaderRowS;24;{{-100, 682}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9984871406959153S;21;{{0, 0}, {1137, 682}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;52E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;273E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;41E;E;S;20;{{0, 0}, {954, 635}}S;9;tableviewd;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;42E;E;E;d;1;1D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;256E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;257E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;52E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;258E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;S;3;aged;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;259E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;242E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;260E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;246E;K;6;$afontD;K;6;CP$UIDd;3;261E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;152E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;262E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;154E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;153E;E;S;20;{{0, 0}, {180, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;3;189E;E;E;d;2;28S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;106E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;48E;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;S;24;{{-100, 249}, {15, 504}}S;19;{{0, 0}, {15, 504}}f;18;0.9752883031301482S;13;AppControllerS;20;{{0, 0}, {178, 682}}d;2;20S;6;{3, 0}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;257E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;258E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;S;13;CPOutlineViewS;9;firstNamed;3;335D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;267E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;242E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;268E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;246E;K;6;$afontD;K;6;CP$UIDd;3;269E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;152E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;270E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;154E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;153E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;25;{{347, 158}, {1137, 682}}d;2;15S;7;FenêtreS;21;{{0, 31}, {956, 653}}S;20;{{0, 0}, {956, 653}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;212E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;52E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;S;8;delegateS;9;searchBarS;11;searchFieldS;16;smartOutlineViewS;5;tableS;15;tableControllerS;9;theWindowS;10;dataSourceS;18;searchFieldFilter:S;32;filterPredicate: filterPredicateS;15;filterPredicateD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;E;E;S;24;contentArray: tableArrayS;12;contentArrayS;10;tableArrayD;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.ageS;5;valueS;19;arrangedObjects.ageD;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;E;E;S;31;value: arrangedObjects.lastNameS;24;arrangedObjects.lastNameD;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;E;E;S;32;value: arrangedObjects.firstNameS;25;arrangedObjects.firstNameD;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;278E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;279E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;280E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;130E;E;S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;247E;K;4;nameD;K;6;CP$UIDd;3;281E;K;6;valuesD;K;6;CP$UIDd;3;282E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;249E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;284E;E;E;S;9;Last NameD;K;6;$classD;K;6;CP$UIDd;3;247E;K;4;nameD;K;6;CP$UIDd;3;281E;K;6;valuesD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;3;249E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;E;E;S;22;{{758, 630}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;286E;E;E;S;3;AgeD;K;6;$classD;K;6;CP$UIDd;3;247E;K;4;nameD;K;6;CP$UIDd;3;281E;K;6;valuesD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;3;249E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;S;20;{{1, 1}, {178, 682}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;288E;E;S;20;{{224, 0}, {16, 23}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;289E;E;E;S;9;FirstNameD;K;6;$classD;K;6;CP$UIDd;3;247E;K;4;nameD;K;6;CP$UIDd;3;281E;K;6;valuesD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;3;249E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;S;20;{{1, 1}, {954, 635}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;291E;E;S;21;{{1, 636}, {954, 17}}S;19;{{0, 0}, {954, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;244E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;136E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;136E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;244E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;181E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;181E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;244E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;202E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;202E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;244E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;279E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;280E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;131E;E;f;12;0.7549452686f;12;0.8328956135E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.xib b/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.xib new file mode 100644 index 000000000..d5592dbfc --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.xib @@ -0,0 +1,1123 @@ + + + + 1060 + 10H574 + 823 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 823 + + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + 15 + 2 + {{347, 188}, {1137, 682}} + 611844096 + Fenêtre + NSWindow + + {1.79769e+308, 1.79769e+308} + + + 256 + + YES + + + 274 + + YES + + + 308 + + YES + + + 2304 + + YES + + + 274 + {178, 682} + + YES + + + -2147483392 + {{224, 0}, {16, 17}} + + + YES + + NAME + 175 + 16 + 1000 + + 75628096 + 2048 + + + LucidaGrande + 11 + 3100 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + 3 + MAA + + + + + 337772096 + 2048 + Text Cell + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + 3 + YES + YES + + + + 3 + 0.0 + + 6 + System + _sourceListBackgroundColor + + 1 + MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA + + + + 6 + System + gridColor + + 3 + MC41AA + + + 20 + 306216960 + + + 1 + 15 + 0 + YES + 1 + 1 + 8 + + + {{1, 1}, {178, 682}} + + + + + 1 + MC43NTQ5NDUyNjg2IDAuODMyODk1NjEzNSAxAA + + 4 + + + + -2147483392 + {{-100, -100}, {15, 102}} + + + _doScroller: + 0.99848714069591527 + + + + -2147483392 + {{-100, -100}, {238, 15}} + + 1 + + _doScroller: + 0.99337748344370858 + + + {180, 684} + + + 2 + + + + QSAAAEEgAABBoAAAQaAAAA + + + + 258 + + YES + + + 274 + + YES + + + 2304 + + YES + + + 274 + {954, 635} + + YES + + + 256 + {954, 17} + + + + + + -2147483392 + {{758, 0}, {16, 17}} + + + + YES + + firstName + 335 + 40 + 1000 + + 75628096 + 2048 + FirstName + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + lastName + 305 + 40 + 1000 + + 75628096 + 2048 + Last Name + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + age + 305 + 10 + 3.4028234663852886e+38 + + 75628096 + 2048 + Age + + + 6 + System + headerColor + + 3 + MQA + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3 + 2 + + + 17 + -692060160 + + + 1 + 0 + 15 + 0 + YES + 0 + + + {{1, 17}, {954, 635}} + + + + + 4 + + + + -2147483392 + {{-100, -100}, {15, 504}} + + + _doScroller: + 0.97528830313014825 + + + + -2147483392 + {{-100, -100}, {713, 15}} + + 1 + + _doScroller: + 0.91060025542784162 + + + + 2304 + + YES + + + {{1, 0}, {954, 17}} + + + + + 4 + + + + {956, 653} + + + 530 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 266 + + YES + + + 265 + {{748, 6}, {188, 22}} + + YES + + 343014976 + 268436544 + + + First Name | Last Name + + YES + 1 + + 6 + System + textBackgroundColor + + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + + YES + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType + + + YES + cancel + + + + + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + autosave + 255 + + + + {{0, 650}, {956, 34}} + + NSCustomView + + + {{181, 0}, {956, 684}} + + NSView + + + {{0, -2}, {1137, 684}} + + YES + 2 + + + {1137, 682} + + + {{0, 0}, {1680, 1028}} + {1.79769e+308, 1.79769e+308} + + + AppController + + + + YES + firstName + lastName + age + + YES + + YES + YES + YES + YES + + + + + YES + + + delegate + + + + 822 + + + + searchField + + + + 907 + + + + dataSource + + + + 909 + + + + table + + + + 937 + + + + searchBar + + + + 940 + + + + theWindow + + + + 941 + + + + delegate + + + + 942 + + + + smartOutlineView + + + + 943 + + + + searchFieldFilter: + + + + 946 + + + + delegate + + + + 948 + + + + contentArray: tableArray + + + + + + contentArray: tableArray + contentArray + tableArray + 2 + + + 949 + + + + value: arrangedObjects.firstName + + + + + + value: arrangedObjects.firstName + value + arrangedObjects.firstName + 2 + + + 952 + + + + value: arrangedObjects.lastName + + + + + + value: arrangedObjects.lastName + value + arrangedObjects.lastName + 2 + + + 954 + + + + value: arrangedObjects.age + + + + + + value: arrangedObjects.age + value + arrangedObjects.age + 2 + + + 956 + + + + filterPredicate: filterPredicate + + + + + + filterPredicate: filterPredicate + filterPredicate + filterPredicate + 2 + + + 958 + + + + tableController + + + + 959 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 367 + + + YES + + + + + + 368 + + + YES + + + + + + 821 + + + + + 921 + + + YES + + + + + + + 836 + + + YES + + + + + + + + 839 + + + YES + + + + + + 838 + + + + + 837 + + + + + 841 + + + YES + + + + + + 846 + + + YES + + + + + + + 891 + + + YES + + + + + + + + + 895 + + + + + 894 + + + YES + + + + + + + + 893 + + + + + 892 + + + + + 900 + + + YES + + + + + + 897 + + + YES + + + + + + 896 + + + YES + + + + + + 899 + + + + + 898 + + + + + 901 + + + + + 844 + + + + + 924 + + + + + 939 + + + YES + + + + + + 847 + + + YES + + + + + + 848 + + + + + + + YES + + YES + -3.IBPluginDependency + 367.IBEditorWindowLastContentRect + 367.IBPluginDependency + 367.IBWindowTemplateEditedContentRect + 367.NSWindowTemplate.visibleAtLaunch + 367.editorWindowContentRectSynchronizationRect + 367.windowTemplate.maxSize + 368.IBPluginDependency + 836.IBPluginDependency + 837.IBPluginDependency + 838.IBPluginDependency + 839.CustomClassName + 839.IBPluginDependency + 841.IBPluginDependency + 844.IBPluginDependency + 846.IBPluginDependency + 846.IBViewBoundsToFrameTransform + 847.IBPluginDependency + 847.IBViewBoundsToFrameTransform + 848.IBPluginDependency + 891.IBPluginDependency + 891.IBViewBoundsToFrameTransform + 892.IBPluginDependency + 893.IBPluginDependency + 894.IBPluginDependency + 895.IBPluginDependency + 896.IBPluginDependency + 897.IBPluginDependency + 898.IBPluginDependency + 899.IBPluginDependency + 921.IBViewBoundsToFrameTransform + 924.IBPluginDependency + 939.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + {{42, 195}, {1137, 682}} + com.apple.InterfaceBuilder.CocoaPlugin + {{42, 195}, {1137, 682}} + + {{11, 666}, {480, 270}} + {3.40282e+38, 3.40282e+38} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BadgedOutlineView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUNJAABCQAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABD84AAxCNAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAAAAAAAAxCIAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAAAAAAAAxCUAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 959 + + + + YES + + AppController + NSObject + + searchFieldFilter: + id + + + searchFieldFilter: + + searchFieldFilter: + id + + + + YES + + YES + searchBar + searchField + smartOutlineView + table + tableController + theWindow + + + YES + NSCustomView + NSSearchField + BadgedOutlineView + NSTableView + NSArrayController + NSWindow + + + + YES + + YES + searchBar + searchField + smartOutlineView + table + tableController + theWindow + + + YES + + searchBar + NSCustomView + + + searchField + NSSearchField + + + smartOutlineView + BadgedOutlineView + + + table + NSTableView + + + tableController + NSArrayController + + + theWindow + NSWindow + + + + + IBUserSource + + + + + BadgedOutlineView + NSOutlineView + + IBUserSource + + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + + 3 + + diff --git a/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib b/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib new file mode 100644 index 000000000..d8ad2dafb --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;24E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;33E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;106E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;107E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;108E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;109E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;109E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;109E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;109E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;110E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;110E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;111E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;114E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;37E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;118E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;109E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;120E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;121E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;121E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;121E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;124E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;125E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;131E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;110E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;131E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;132E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;133E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;134E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;1;0E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;135E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;136E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;137E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;138E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;139E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;140E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;142E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;143E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;144E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;147E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;148E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;149E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;108E;K;11;$aalignmentD;K;6;CP$UIDd;3;119E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;152E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;153E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;110E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;110E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;110E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;108E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;119E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;154E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;109E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;109E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;109E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;155E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;110E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;131E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;157E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;159E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;25E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;154E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;160E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;161E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;162E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;163E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;125E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;22E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;60E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;165E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;165E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;165E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;165E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;131E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;110E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;131E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;166E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;108E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;121E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;171E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;108E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;172E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;173E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;25E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;108E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;174E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;154E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;16;$aimage-positionD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;109E;K;11;$aalignmentD;K;6;CP$UIDd;3;108E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;180E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;110E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;109E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;109E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;181E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;3;182E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;183E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;184E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;185E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;186E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;187E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;188E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;154E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;134E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;109E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;109E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;191E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;110E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;131E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;193E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;108E;K;11;$aalignmentD;K;6;CP$UIDd;3;119E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;121E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;153E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;131E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;197E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;108E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;119E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;121E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;121E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;199E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;200E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;202E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;26E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;146E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;203E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;204E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;205E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;16;$aimage-positionD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;109E;K;11;$aalignmentD;K;6;CP$UIDd;3;108E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;206E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;110E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;109E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;109E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;207E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;208E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;114E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;209E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;37E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;109E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;154E;E;S;1;0S;1;2S;2;35S;1;3S;1;4S;1;5S;1;6S;1;7S;1;9S;1;8S;2;10S;2;15S;2;11S;2;12S;2;14S;2;13S;2;16S;2;17S;2;18S;12;File's OwnerS;2;19S;2;20S;2;22S;2;21S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;1;1D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;212E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;213E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;214E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;103E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;103E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;S;13;AppControllerD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;E;E;d;1;2d;1;0F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;E;E;S;21;{{492, 51}, {15, 49}}S;18;{{0, 0}, {15, 49}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;4;0.98S;0;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;40E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;35E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;225E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;226E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;114E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;227E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;28E;E;S;19;{{0, 0}, {506, 99}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;220E;E;E;d;2;18S;11;rule-editorS;6;normalT;d;2;75d;2;25d;1;3S;7;rowTypeS;8;criteriaS;13;displayValuesS;10;boundArrayS;7;subrowsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;33;_CPRuleEditorViewUnboundRowHolderK;8;$classesA;S;33;_CPRuleEditorViewUnboundRowHolderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;141E;K;12;CPBoundArrayD;K;6;CP$UIDd;3;221E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;33E;E;E;S;8;containsS;17;_popUpItemAction:d;7;1048576d;2;99S;20;{{17, 18}, {45, 17}}S;18;{{0, 0}, {45, 17}}d;2;36S;9;textfieldS;5;Name:d;4;3072d;1;1d;3;300D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;E;E;S;9;ends withd;1;9S;3;AllS;22;{{20, 50}, {508, 101}}S;20;{{0, 0}, {508, 101}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;166E;E;E;S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;228E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;228E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;E;S;8;lastNameD;K;10;$classnameS;20;CPExpression_keypathK;8;$classesA;S;20;CPExpression_keypathS;21;CPExpression_functionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;168E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;229E;K;11;CPArgumentsD;K;6;CP$UIDd;3;230E;K;9;CPOperandD;K;6;CP$UIDd;3;232E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;E;E;S;15;is greater thanS;11;begins withS;3;AnyS;9;firstNameD;K;6;$classD;K;6;CP$UIDd;3;168E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;229E;K;11;CPArgumentsD;K;6;CP$UIDd;3;233E;K;9;CPOperandD;K;6;CP$UIDd;3;232E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;134E;E;S;22;{{477, 164}, {51, 24}}S;18;{{0, 0}, {51, 24}}S;6;buttonS;8;borderedS;2;OKS;25;of the following are trueS;10;{548, 172}S;10;{548, 522}S;8;CPWindowS;24;{{571, 393}, {548, 204}}d;2;79S;16;Predicate EditorS;12;is less thanS;20;{{0, 0}, {548, 204}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;59E;E;E;d;3;700D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;E;E;S;21;{{64, 11}, {468, 29}}S;19;{{0, 0}, {468, 29}}S;19;bezeled+placeholderD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;237E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;38E;E;E;S;2;isS;13;CPApplicationS;3;ageD;K;6;$classD;K;6;CP$UIDd;3;168E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;229E;K;11;CPArgumentsD;K;6;CP$UIDd;3;238E;K;9;CPOperandD;K;6;CP$UIDd;3;232E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;134E;E;S;22;{{391, 164}, {76, 24}}S;18;{{0, 0}, {76, 24}}S;6;CancelS;24;{{-100, 186}, {360, 15}}S;19;{{0, 0}, {360, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:S;8;delegateS;15;folderNameFieldS;15;predicateEditorS;14;predicateSheetS;11;closeSheet:D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;25E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;54E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;246E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;26E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;247E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;248E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;24E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;249E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;250E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;252E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;108E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;121E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;153E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;131E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;197E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;108E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;109E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;19;{{1, 1}, {506, 99}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;253E;E;S;16;{{0, 0}, {0, 0}}S;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;255E;E;E;D;K;10;$classnameS;17;CPExpression_selfK;8;$classesA;S;17;CPExpression_selfS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;231E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;256E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;55E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;257E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;258E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;39E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;259E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;260E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;179E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;109E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;119E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;109E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;261E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;262E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;108E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;121E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;153E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;131E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;131E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;197E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;108E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;109E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;263E;E;E;S;18;{{7, 7}, {58, 24}}S;18;{{0, 0}, {58, 24}}S;12;popup-buttonD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;242E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;264E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;265E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;110E;E;S;20;{{71, 7}, {167, 24}}S;19;{{0, 0}, {167, 24}}S;20;{{1, -1}, {506, 99}}S;19;{{37, 7}, {57, 24}}S;18;{{0, 0}, {57, 24}}S;21;{{100, 7}, {115, 24}}S;19;{{0, 0}, {115, 24}}S;20;{{218, 1}, {32, 25}}S;18;{{0, 0}, {32, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;154E;E;E;D;K;10;$classnameS;21;CPExpression_constantK;8;$classesA;S;21;CPExpression_constantS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;15;CPConstantValueD;K;6;CP$UIDd;3;167E;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;15;CPConstantValueD;K;6;CP$UIDd;3;174E;E;S;19;{{37, 7}, {89, 24}}S;18;{{0, 0}, {89, 24}}S;20;{{132, 7}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;21;{{234, 1}, {167, 25}}S;19;{{0, 0}, {167, 25}}D;K;6;$classD;K;6;CP$UIDd;3;254E;K;15;CPConstantValueD;K;6;CP$UIDd;3;202E;E;S;5;Ariald;2;11f;12;0.9100000262E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.xib b/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.xib new file mode 100644 index 000000000..facd33868 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.xib @@ -0,0 +1,1530 @@ + + + + 1060 + 10H574 + 823 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 823 + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + AppController + + + FirstResponder + + + NSApplication + + + 79 + 2 + {{571, 431}, {548, 204}} + 611844096 + Predicate Editor + NSWindow + + {548, 500} + {548, 150} + + + 256 + + + + 268 + {{67, 167}, {461, 22}} + + YES + + -1804468671 + 272630784 + + + LucidaGrande + 13 + 1044 + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 268 + {{17, 169}, {45, 17}} + + YES + + 68288064 + 272630784 + Name: + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + + + + 274 + + + + 2304 + + + + 274 + + + + 274 + + + + 290 + + + + 257 + {{478, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + + + + LucidaGrande-Bold + 12 + 16 + + + + add + + + + + _addOption: + + -2038284033 + 36 + + LucidaGrande + 12 + 4883 + + + 400 + 75 + + + + + -2147483391 + {{458, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + - + + + + remove + + + + + _deleteOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 256 + {{7, 3}, {58, 19}} + + + -1 + YES + + 67239488 + 4196352 + + LucidaGrande + 11 + 3100 + + + + -2038284033 + 36 + + LucidaGrande + 11 + 16 + + + 400 + 75 + + + Any + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + + YES + + + + + + + All + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{71, 3}, {167, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + -2038284033 + 36 + + + 400 + 75 + + + of the following are true + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + + + + + + 3 + YES + YES + 2 + + + + {506, 25} + + + 0 + 0 + + + + + + + 2 + {{7, 3}, {58, 19}} + {{71, 3}, {167, 19}} + + + + + 2 + 0 + 0 + 0 + 0 + + + + + NO + NO + + + + + + + + 2 + {{7, 3}, {58, 19}} + {{71, 3}, {167, 19}} + + + 0 + 0 + YES + + + + 290 + + + + 257 + {{478, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + + + + + + add + + + + + _addOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 257 + {{458, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + - + + + + remove + + + + + _deleteOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 256 + {{37, 3}, {89, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + 3 + valueForKey: + + 1 + + + + 10 + firstName + + + + + -2038284033 + 36 + + + 400 + 75 + + + firstName + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + lastName + + 1048576 + 2147483647 + + + _popUpItemAction: + + 3 + valueForKey: + + + + 10 + lastName + + + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{132, 3}, {99, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + + -2038284033 + 36 + + + 400 + 75 + + + begins with + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + ends with + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + contains + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{237, 4}, {160, 18}} + + + YES + + 343014976 + 4326400 + + + + YES + + + + + + {{0, 25}, {506, 25}} + + + 1 + 1 + + + + + + + + 3 + {{37, 3}, {89, 19}} + {{132, 3}, {99, 19}} + {{237, 4}, {160, 18}} + + + + + 1 + 3 + 0 + 0 + 700 + + + + + + NO + YES + + + + + + + + + + + + 3 + {{37, 3}, {89, 19}} + {{132, 3}, {99, 19}} + {{237, 4}, {160, 18}} + + + 0 + 0 + YES + + + + 290 + + + + 257 + {{478, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + + + + + + add + + + + + _addOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 257 + {{458, 4}, {18, 18}} + + + -1 + YES + + 67239424 + 134348800 + - + + + + remove + + + + + _deleteOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 256 + {{37, 3}, {57, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + 3 + valueForKey: + + + + 10 + age + + + + + -2038284033 + 36 + + + 400 + 75 + + + age + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{100, 3}, {115, 19}} + + + -1 + YES + + 67239488 + 4196352 + + + + -2038284033 + 36 + + + 400 + 75 + + + is + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + is less than + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + is greater than + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{221, 4}, {25, 18}} + + + YES + + 343014976 + 4326400 + + + + YES + + + + + + {{0, 50}, {506, 25}} + + + 2 + 1 + + + + + + + + 3 + {{37, 3}, {57, 19}} + {{100, 3}, {115, 19}} + {{221, 4}, {25, 18}} + + + + + 1 + 0 + 0 + 0 + 300 + + + + + + NO + YES + + + + + + + + + + + + 3 + {{37, 3}, {57, 19}} + {{100, 3}, {115, 19}} + {{221, 4}, {25, 18}} + + + 0 + 0 + YES + + + {{1, 1}, {506, 99}} + + + + + + NSRuleEditorItemPBoardType + + {506, 99} + + + YES + 75 + 25 + YES + NO + YES + 3 + rowType + subrows + criteria + displayValues + boundArray + NSMutableDictionary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{1, 1}, {506, 99}} + + + + + 3 + MC45MTAwMDAwMjYyAA + + 4 + + + + -2147483392 + {{492, 1}, {15, 49}} + + + _doScroller: + 0.97999999999999998 + + + + -2147483392 + {{-100, -100}, {360, 15}} + + 1 + + _doScroller: + + + {{20, 53}, {508, 101}} + + + 530 + + + + + + + 289 + {{477, 12}, {51, 25}} + + 1 + YES + + 67239424 + 134217728 + OK + + + -2038152961 + 134 + + + 400 + 75 + + + + + 289 + {{391, 12}, {76, 25}} + + YES + + 67239424 + 134217728 + Cancel + + + -2038152961 + 134 + + + 400 + 75 + + + + {548, 204} + + + {{0, 0}, {1680, 1028}} + {548, 172} + {548, 522} + + + + + + + delegate + + + + 36 + + + + predicateSheet + + + + 43 + + + + closeSheet: + + + + 68 + + + + predicateEditor + + + + 69 + + + + folderNameField + + + + 70 + + + + closeSheet: + + + + 84 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + + + + Sheet + + + 2 + + + + + + + + + + + + 24 + + + + + + + + 25 + + + + + 26 + + + + + + + + 27 + + + + + 44 + + + + + + + + + + 45 + + + + + 46 + + + + + 47 + + + + + + + + + + 48 + + + + + + + + + 49 + + + + + + + + + 50 + + + + + + + + + 51 + + + + + + + + + + 57 + + + + + 58 + + + + + 60 + + + + + + + + + 61 + + + + + + + + 62 + + + + + 63 + + + + + 64 + + + + + 65 + + + + + + + + 66 + + + + + 78 + + + + + 79 + + + + + 80 + + + + + 81 + + + + + + + + 82 + + + + + 85 + + + + + + + + + 86 + + + + + + + + 90 + + + + + + + + + + 94 + + + + + 98 + + + + + 99 + + + + + 100 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{439, 592}, {548, 204}} + com.apple.InterfaceBuilder.CocoaPlugin + {{439, 592}, {548, 204}} + + + + {548, 500} + {548, 150} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDGgAAwzsAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBiAAAwzYAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBoAAAwxgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{487, 675}, {126, 41}} + com.apple.InterfaceBuilder.CocoaPlugin + {{569, 618}, {137, 98}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABD7oAAwiQAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDw4AAwiQAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 100 + + + + + AppController + NSObject + + closeSheet: + id + + + closeSheet: + + closeSheet: + id + + + + NSTextField + NSPredicateEditor + NSWindow + + + + folderNameField + NSTextField + + + predicateEditor + NSPredicateEditor + + + predicateSheet + NSWindow + + + + IBUserSource + + + + + NSObject + + IBUserSource + + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + YES + + 3 + + {9, 8} + {7, 2} + + + diff --git a/Tests/Manual/SmartFoldersDemo/Resources/SmartFolder.png b/Tests/Manual/SmartFoldersDemo/Resources/SmartFolder.png new file mode 100644 index 0000000000000000000000000000000000000000..85e175cb06bc2ce986149ea6b08ec0de360f9a39 GIT binary patch literal 1672 zcmV;326y?1P)OxUmx)+xsE<|058wJ6lBI4eaLa8FAHch8BA+6~`Y@5G%^YiBY`+fJ#OU57# zRf?Nla&!OAJ?A^$IrqE~x!3+@2DDE5IkP-8H~GTpiSg;DJNG;1mns*&n_v9mbJt(J z*17+0=SF(bGLLl6PCkG7&9`2EEo12Abbt5wTyU)X?mHq!r{+HV__I@u-RF0@-Ubj$ zuz!5)=#!osmc9K0ufI8S7K~NE#Esht?{&5fpqQIE{MfOn6OI$?bw`drF@2)9 zxAfkgg8v|J?#Ca#?F`{IfEQ1_{D!7!rqjHw_o+&AbZqdEba5x+=-5lKd@6GM@ssa= z@X@o5Haz(1UuA8(dUo~twNH$h=||t5nVB7a>Y2minl1tsB#vXr zWOOyA>nMtq%{YP#jt&a}B!G56@gDC-0LC-w)&U}y%St|9 z&~@9kZ$=0^54VM(h|1UlKT>C57|G(rW%2z`DKjz|DfRbB|GtvstgMpdS>@6-cp9oZ z37{QNiGEQ!eLs+9vvE^zwVW-_^My3A6G%Gp0@2d={Cq`fHCyI?zAR457tP2>1|0(M zN*C7+WMN@R8qJ0*F0LpLystcmBb|-F!Y~xr-qanZStFW|o9t~6K0N1~Ghk(fxn zdd-*di2=NxoZ`39XvvkzA5!ejNq~&LaDEjbitzMA#>NjR@A50 z7ziR&11OZ_K@tXgvnIWz0vy-G%w|=xxAWx5= zOs#Xei9JJ1(@;$EjEy5@lQ6VH;QLJ@2>d4F;kJ@Qq!6oBdNFV15p!KK*r##9cx%I! z{rByILS{27Tqx_eY`l^lY1BOcHsP;GSCLF500`pma{>kf@ZR+q0whc-6v0DMM6?rA zgYErL7A~x!dYO{RYI6RUCF$$$Q50`%)TPviR{<~S$dSnh+D?cx8%c##N;>}08Q69V z7{WY=8FzY})c&1(*xFzmL%E3J(p|I=hAa{i&#qvIU2C8^Xwp|IV$a0=1o%(qR%B#s z08Aiz+bs=2I)ZsR85lmQ2wsBL0`iVTP4B6(a^*U_({XM{z2V}?;Z;C+AzwshXeg;Z zs+uR+tclp0kPBt$w?AcMvcysz}acsi$k+C&Hf z9W=yP=ne{phqCLUQl;I;6XKq2`!G5rxq=DBgR;KniHq`Ecf8~diqHC*E0fa)#Iyir z_Mo%?hI*)jo%6KZb4}Lae9R=o$HgI#U0KR?!UDhl)lFB%Mh2v2!$Yv;xgIhe6d-QJ zE@pcqn`0#yP%(>#%)`F4B!M`a|d@I#TbhH^$<3^p(4A>7IeT82Ae#fq;ea SC>NOk00004Tx0C)kdlFv&UK@`Won;haNRO7D0=?Kn4FmhHKj=P7+=_O;&n7cJ<-L-Zq&6BTDXoqkD^Tjcxzn!MT@ma%m6?Z*Dr z=F0kURZr}kRBv%=sJmP~2xt*1dWwpZlIIj>CBN|;k2WRAqLj;%SIH4Ko0%YgBX<=Q z|ByVVct>(g6s7MG*|76v8wj@iM$|Cl((zu!TBvePfrR;eP_SQ3ahEfR&AZPs z4K90=*#;wpQ5cAFnTTUr&6Kx@CD`MA!teU8+GnY`E?!|N=+(rcv+S0OB~KscA66fa6RqcPWrsABe;VaWf`&2pA*Tnsu=02lN$C zX7v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/SmartFoldersDemo/Resources/tableArray.plist b/Tests/Manual/SmartFoldersDemo/Resources/tableArray.plist new file mode 100644 index 000000000..31317585f --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/Resources/tableArray.plist @@ -0,0 +1,96 @@ + + + + + + birthDate + 2010-05-16 10:40:55 +0000 + firstName + Jimmy + lastName + McNulty + age + 46 + + + birthDate + 2010-05-12 10:40:55 +0000 + firstName + Kima + lastName + Georges + age + 41 + + + birthDate + 2010-04-31 10:40:55 +0000 + firstName + Lester + lastName + Freamon + age + 57 + + + birthDate + 2010-02-16 10:40:55 +0000 + firstName + kevin + lastName + Russel + age + 37 + + + birthDate + 2010-01-16 10:40:55 +0000 + firstName + William + lastName + Moreland + age + 53 + + + birthDate + 2007-12-16 10:40:55 +0000 + firstName + Cedric + lastName + Daniels + age + 47 + + + birthDate + 2008-11-16 10:40:55 +0000 + firstName + Roland + lastName + Prysbylewski + age + 27 + + + birthDate + 2007-10-16 10:40:55 +0000 + firstName + Omar + lastName + Little + age + 29 + + + birthDate + 2008-09-16 10:40:55 +0000 + firstName + Avon + lastName + Barkstale + age + 36 + + + diff --git a/Tests/Manual/SmartFoldersDemo/index-debug.html b/Tests/Manual/SmartFoldersDemo/index-debug.html new file mode 100644 index 000000000..a987ded85 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/index-debug.html @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + SmartFoldersDemo + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/SmartFoldersDemo/index.html b/Tests/Manual/SmartFoldersDemo/index.html new file mode 100644 index 000000000..130870d18 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + SmartFoldersDemo + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/SmartFoldersDemo/main.j b/Tests/Manual/SmartFoldersDemo/main.j new file mode 100644 index 000000000..c446f82f7 --- /dev/null +++ b/Tests/Manual/SmartFoldersDemo/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * null + * + * Created by You on November 25, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tools/nib2cib/NSAppKit.j b/Tools/nib2cib/NSAppKit.j index 1003a954e..79ef4f13b 100644 --- a/Tools/nib2cib/NSAppKit.j +++ b/Tools/nib2cib/NSAppKit.j @@ -47,7 +47,9 @@ @import "NSObjectController.j" @import "NSOutlineView.j" @import "NSPopUpButton.j" +@import "NSPredicateEditor.j" @import "NSResponder.j" +@import "NSRuleEditor.j" @import "NSScrollView.j" @import "NSScroller.j" @import "NSSearchField.j" diff --git a/Tools/nib2cib/NSExpression.j b/Tools/nib2cib/NSExpression.j new file mode 100644 index 000000000..52f2c09ef --- /dev/null +++ b/Tools/nib2cib/NSExpression.j @@ -0,0 +1,199 @@ +@import + +@implementation NSKeyPathExpression : CPExpression_keypath +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_keypath class]; +} + +@end + +@implementation CPKeyPathSpecifierExpression : CPExpression_constant +{ +} + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var keyPath = [aCoder decodeObjectForKey:@"NSKeyPath"]; + self = [super initWithValue:keyPath]; + return self; +} + +@end + +@implementation NSKeyPathSpecifierExpression : CPKeyPathSpecifierExpression +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_constant class]; +} + +@end + +@implementation CPExpression_constant (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var value = [aCoder decodeObjectForKey:@"NSConstantValue"]; + return [self initWithValue:value]; +} + +@end + +@implementation NSConstantValueExpression : CPExpression_constant +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_constant class]; +} + +@end + +@implementation CPExpression_function (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var type = [aCoder decodeIntForKey:@"NSExpressionType"], + operand = [aCoder decodeObjectForKey:@"NSOperand"], + selector = CPSelectorFromString([aCoder decodeObjectForKey:@"NSSelectorName"]), + args = [aCoder decodeObjectForKey:@"NSArguments"]; + + return [self initWithTarget:operand selector:selector arguments:args type:type]; +} + +@end + +@implementation NSFunctionExpression : CPExpression_function +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_function class]; +} + +@end + +@implementation CPExpression_set (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var type = [aCoder decodeIntForKey:@"NSExpressionType"], + left = [aCoder decodeObjectForKey:@"NSLeftExpression"], + right = [aCoder decodeObjectForKey:@"NSRightExpression"]; + + return [self initWithType:type left:left right:right]; +} + +@end + +@implementation NSSetExpression : CPExpression_set +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_set class]; +} + +@end + +@implementation NSSelfExpression : CPExpression_self +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [super init]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_self class]; +} + +@end + +@implementation CPExpression_variable (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var variable = [aCoder decodeObjectForKey:@"NSVariable"]; + return [self initWithVariable:variable]; +} + +@end + +@implementation NSVariableExpression : CPExpression_variable +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_variable class]; +} + +@end + +@implementation CPExpression_aggregate (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var collection = [aCoder decodeObjectForKey:@"NSCollection"]; + return [self initWithAggregate:collection]; +} + +@end + +@implementation NSAggregateExpression : CPExpression_aggregate +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPExpression_aggregate class]; +} + +@end diff --git a/Tools/nib2cib/NSFoundation.j b/Tools/nib2cib/NSFoundation.j index d49818b1a..499e2a544 100644 --- a/Tools/nib2cib/NSFoundation.j +++ b/Tools/nib2cib/NSFoundation.j @@ -21,6 +21,7 @@ */ @import "NSArray.j" +@import "NSExpression.j" @import "NSDictionary.j" @import "NSMutableString.j" @import "NSSet.j" diff --git a/Tools/nib2cib/NSPredicateEditor.j b/Tools/nib2cib/NSPredicateEditor.j new file mode 100644 index 000000000..2ef4ea8a1 --- /dev/null +++ b/Tools/nib2cib/NSPredicateEditor.j @@ -0,0 +1,94 @@ +/* + * NSPredicateEditor.j + * nib2cib + * + * Created by cacaodev. + * Copyright 2010. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation CPPredicateEditor (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [super NS_initWithCoder:aCoder]; + + if (self) + { + _allTemplates = [aCoder decodeObjectForKey:@"NSPredicateTemplates"]; + } + + return self; +} + +@end + +@implementation NSPredicateEditor : CPPredicateEditor +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPPredicateEditor class]; +} + +@end + +@implementation CPPredicateEditorRowTemplate (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [super init]; + + if (self) + { + _templateType = [aCoder decodeIntForKey:@"NSPredicateTemplateType"]; + _predicateOptions = [aCoder decodeIntForKey:@"NSPredicateTemplateOptions"]; + _predicateModifier = [aCoder decodeIntForKey:@"NSPredicateTemplateModifier"]; + _leftAttributeType = [aCoder decodeIntForKey:@"NSPredicateTemplateLeftAttributeType"]; + _rightAttributeType = [aCoder decodeIntForKey:@"NSPredicateTemplateRightAttributeType"]; + _leftIsWildcard = [aCoder decodeBoolForKey:@"NSPredicateTemplateLeftIsWildcard"]; + _rightIsWildcard = [aCoder decodeBoolForKey:@"NSPredicateTemplateRightIsWildcard"]; + _views = [aCoder decodeObjectForKey:@"NSPredicateTemplateViews"]; + } + + return self; +} + +@end + +@implementation NSPredicateEditorRowTemplate : CPPredicateEditorRowTemplate +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPPredicateEditorRowTemplate class]; +} + +@end diff --git a/Tools/nib2cib/NSRuleEditor.j b/Tools/nib2cib/NSRuleEditor.j new file mode 100644 index 000000000..8955626f4 --- /dev/null +++ b/Tools/nib2cib/NSRuleEditor.j @@ -0,0 +1,111 @@ +/* + * NSRuleEditor.j + * nib2cib + * + * Created by cacaodev. + * Copyright 2010. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +@import +@import + +@import "NSCell.j" +@import "NSControl.j" + +@implementation CPRuleEditor (NSCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [super NS_initWithCoder:aCoder]; + + if (self) + { + _alignmentGridWidth = [aCoder decodeFloatForKey:@"NSRuleEditorAlignmentGridWidth"]; + _sliceHeight = [aCoder decodeDoubleForKey:@"NSRuleEditorSliceHeight"]; + _stringsFilename = [aCoder decodeObjectForKey:@"NSRuleEditorStringsFileName"]; + _editable = [aCoder decodeBoolForKey:@"NSRuleEditorEditable"]; + _allowsEmptyCompoundRows = [aCoder decodeBoolForKey:@"NSRuleEditorAllowsEmptyCompoundRows"]; + _disallowEmpty = [aCoder decodeBoolForKey:@"NSRuleEditorDisallowEmpty"]; + _nestingMode = [aCoder decodeIntForKey:@"NSRuleEditorNestingMode"]; + _typeKeyPath = [aCoder decodeObjectForKey:@"NSRuleEditorRowTypeKeyPath"]; + _itemsKeyPath = [aCoder decodeObjectForKey:@"NSRuleEditorItemsKeyPath"]; + _valuesKeyPath = [aCoder decodeObjectForKey:@"NSRuleEditorValuesKeyPath"]; + _subrowsArrayKeyPath = [aCoder decodeObjectForKey:@"NSRuleEditorSubrowsArrayKeyPath"]; + _boundArrayKeyPath = [aCoder decodeObjectForKey:@"NSRuleEditorBoundArrayKeyPath"]; + + //_slicesHolder = [aCoder decodeObjectForKey:@"NSRuleEditorViewSliceHolder"]; + _boundArrayOwner = [aCoder decodeObjectForKey:@"NSRuleEditorBoundArrayOwner"]; + _slices = [aCoder decodeObjectForKey:@"NSRuleEditorSlices"]; + _ruleDelegate = [aCoder decodeObjectForKey:@"NSRuleEditorDelegate"]; + } + + return self; +} + +@end + +@implementation NSRuleEditor : CPRuleEditor +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPRuleEditor class]; +} + +@end + +@implementation _NSRuleEditorViewSliceHolder : _CPRuleEditorViewSliceHolder +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [_CPRuleEditorViewSliceHolder class]; +} + +@end + +@implementation _NSRuleEditorViewUnboundRowHolder : _CPRuleEditorViewUnboundRowHolder +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + if (self = [super init]) + boundArray = [aCoder decodeObjectForKey:@"NSBoundArray"]; + + return self; +} + +- (Class)classForKeyedArchiver +{ + return [_CPRuleEditorViewUnboundRowHolder class]; +} + +@end From ea660e3dd4854e1fdd824b89f7ef3e7b4d989bf6 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Mon, 18 Apr 2011 12:49:35 +0200 Subject: [PATCH 12/78] CPPredicateEditorRowtemplate: Fixed a bug when menu item titles and their corresponding keypath expressions where different and templates created in IB. Fixed a bug appearing in Xcode4 IB when titles and keypath where identical. --- AppKit/CPRuleEditor/CPPredicateEditor.j | 2 +- .../CPPredicateEditorRowTemplate.j | 60 ++---- .../Resources/MainMenu.cib | 2 +- .../Resources/MainMenu.xib | 193 ++++++++++++------ 4 files changed, 149 insertions(+), 108 deletions(-) diff --git a/AppKit/CPRuleEditor/CPPredicateEditor.j b/AppKit/CPRuleEditor/CPPredicateEditor.j index 809935f7e..f067fab7c 100644 --- a/AppKit/CPRuleEditor/CPPredicateEditor.j +++ b/AppKit/CPRuleEditor/CPPredicateEditor.j @@ -170,7 +170,7 @@ if ([titles containsObject:title]) { - CPLogConsole("CPPredicate does not support templates merging yet. Ignoring duplicate template: " + [t description]); + CPLogConsole("CPPredicateEditor does not support templates merging yet. Ignoring duplicate template: " + [t description]); continue; } diff --git a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j index e470fbe7c..4a0102bff 100644 --- a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j +++ b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j @@ -231,7 +231,7 @@ CPTransformableAttributeType = 1800; var subpredicates = [predicate subpredicates]; if ([subpredicates count] == 0) return nil; - + return subpredicates; } @@ -476,44 +476,7 @@ CPTransformableAttributeType = 1800; - (id)copy { - var t = [[CPPredicateEditorRowTemplate alloc] init], - views; - - [t _setTemplateType:_templateType]; - [t _setOptions:_predicateOptions]; - [t _setModifier:_predicateModifier]; - [t _setLeftAttributeType:_leftAttributeType]; - [t _setRightAttributeType:_rightAttributeType]; - [t setLeftIsWildcard:_leftIsWildcard]; - [t setRightIsWildcard:_rightIsWildcard]; - - if (_templateType == 2) - { - var left = [self _viewFromCompoundTypes:[self compoundTypes]], - right = [_views objectAtIndex:1]; - views = [CPArray arrayWithObjects:left,right]; - } - else if (_templateType == 1) - { - var left = [self _viewFromExpressions:[self leftExpressions]], - middle = [self _viewFromOperatorTypes:[self operators]], - right; - - if (_rightIsWildcard == YES) - right = [self _viewFromAttributeType:_rightAttributeType]; - else - right = [self _viewFromExpressions:[self rightExpressions]]; - - views = [CPArray arrayWithObjects:left,middle,right]; - } - - var count = [views count]; - while (count--) - [views[count] setObjectValue:[_views[count] objectValue]]; - - [t setTemplateViews:views]; - - return t; + return [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:self]]; } + (id)_operatorsForAttributeType:(CPAttributeType)attributeType @@ -786,7 +749,26 @@ var CPPredicateTemplateTypeKey = @"CPPredicateTemplateType", _leftIsWildcard = [coder decodeBoolForKey:CPPredicateTemplateLeftIsWildcardKey]; _rightIsWildcard = [coder decodeBoolForKey:CPPredicateTemplateRightIsWildcardKey]; _views = [coder decodeObjectForKey:CPPredicateTemplateViewsKey]; + + // In Xcode 4, when the menu item title == template's expression keypath, representedObject is empty. + // So we need to regenerate expressions from titles. + if (_templateType == 1 && _leftIsWildcard == NO) + { + var itemArray = [_views[0] itemArray], + count = [itemArray count]; + + for (var i = 0; i < count; i++) + { + var item = itemArray[i]; + if ([item representedObject] == nil) + { + var exp = [CPExpression expressionForKeyPath:[item title]]; + [item setRepresentedObject:exp]; + } + } + } } + return self; } diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib index fc0aeb751..d44a518e7 100644 --- a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;202E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;D;K;6;CP$UIDd;3;365E;D;K;6;CP$UIDd;3;366E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;368E;D;K;6;CP$UIDd;3;369E;D;K;6;CP$UIDd;3;370E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;372E;D;K;6;CP$UIDd;3;373E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;376E;D;K;6;CP$UIDd;3;377E;D;K;6;CP$UIDd;3;378E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;380E;D;K;6;CP$UIDd;3;381E;D;K;6;CP$UIDd;3;382E;D;K;6;CP$UIDd;3;383E;D;K;6;CP$UIDd;3;384E;D;K;6;CP$UIDd;3;385E;D;K;6;CP$UIDd;3;386E;D;K;6;CP$UIDd;3;387E;D;K;6;CP$UIDd;3;388E;D;K;6;CP$UIDd;3;389E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;391E;D;K;6;CP$UIDd;3;392E;D;K;6;CP$UIDd;3;393E;D;K;6;CP$UIDd;3;394E;D;K;6;CP$UIDd;3;395E;D;K;6;CP$UIDd;3;396E;D;K;6;CP$UIDd;3;397E;D;K;6;CP$UIDd;3;398E;D;K;6;CP$UIDd;3;399E;D;K;6;CP$UIDd;3;400E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;402E;D;K;6;CP$UIDd;3;403E;D;K;6;CP$UIDd;3;404E;D;K;6;CP$UIDd;3;406E;D;K;6;CP$UIDd;3;407E;D;K;6;CP$UIDd;3;408E;D;K;6;CP$UIDd;3;409E;D;K;6;CP$UIDd;3;410E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;412E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;414E;D;K;6;CP$UIDd;3;415E;D;K;6;CP$UIDd;3;416E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;418E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;420E;D;K;6;CP$UIDd;3;421E;D;K;6;CP$UIDd;3;422E;D;K;6;CP$UIDd;3;423E;D;K;6;CP$UIDd;3;424E;D;K;6;CP$UIDd;3;425E;D;K;6;CP$UIDd;3;426E;D;K;6;CP$UIDd;3;427E;D;K;6;CP$UIDd;3;428E;D;K;6;CP$UIDd;3;429E;D;K;6;CP$UIDd;3;430E;D;K;6;CP$UIDd;3;431E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;433E;D;K;6;CP$UIDd;3;434E;D;K;6;CP$UIDd;3;435E;D;K;6;CP$UIDd;3;436E;D;K;6;CP$UIDd;3;437E;D;K;6;CP$UIDd;3;438E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;440E;D;K;6;CP$UIDd;3;441E;D;K;6;CP$UIDd;3;442E;D;K;6;CP$UIDd;3;443E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;445E;D;K;6;CP$UIDd;3;446E;D;K;6;CP$UIDd;3;447E;D;K;6;CP$UIDd;3;448E;D;K;6;CP$UIDd;3;449E;D;K;6;CP$UIDd;3;450E;D;K;6;CP$UIDd;3;451E;D;K;6;CP$UIDd;3;452E;D;K;6;CP$UIDd;3;453E;D;K;6;CP$UIDd;3;454E;D;K;6;CP$UIDd;3;455E;D;K;6;CP$UIDd;3;456E;D;K;6;CP$UIDd;3;457E;D;K;6;CP$UIDd;3;458E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;460E;D;K;6;CP$UIDd;3;461E;D;K;6;CP$UIDd;3;462E;D;K;6;CP$UIDd;3;463E;D;K;6;CP$UIDd;3;464E;D;K;6;CP$UIDd;3;465E;D;K;6;CP$UIDd;3;466E;D;K;6;CP$UIDd;3;467E;D;K;6;CP$UIDd;3;468E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;470E;D;K;6;CP$UIDd;3;471E;D;K;6;CP$UIDd;3;472E;D;K;6;CP$UIDd;3;473E;D;K;6;CP$UIDd;3;474E;D;K;6;CP$UIDd;3;475E;D;K;6;CP$UIDd;3;476E;D;K;6;CP$UIDd;3;477E;D;K;6;CP$UIDd;3;478E;D;K;6;CP$UIDd;3;479E;D;K;6;CP$UIDd;3;480E;D;K;6;CP$UIDd;3;481E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;483E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;485E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;486E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;490E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;46E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;491E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;493E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;496E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;497E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;500E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;501E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;490E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;96E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;491E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;504E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;507E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;507E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;511E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;517E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;95E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;133E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;521E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;522E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;523E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;524E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;525E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;526E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;527E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;528E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;532E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;533E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;500E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;501E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;490E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;146E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;491E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;536E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;537E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;538E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;539E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;540E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;544E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;50E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;20E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;545E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;508E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;509E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;508E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;546E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;547E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;548E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;549E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;550E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;551E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;552E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;553E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;46E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;556E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;557E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;558E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;560E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;561E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;562E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;563E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;516E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;564E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;565E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;566E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;566E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;568E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;569E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;570E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;484E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;492E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;509E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;508E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;508E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;508E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;508E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;571E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;508E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;573E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;574E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;575E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;576E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;578E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;27E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;580E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;581E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;582E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;583E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;584E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;585E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;586E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;587E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;197E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;588E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;589E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;516E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;564E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;590E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;591E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;592E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;593E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;594E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;595E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;596E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;597E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;598E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;84E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;599E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;600E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;96E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;602E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;603E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;604E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;605E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;576E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;606E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;607E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;608E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;607E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;610E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;612E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;613E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;614E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;615E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;616E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;617E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;618E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;619E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;620E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;598E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;621E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;622E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;623E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;624E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;625E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;626E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;627E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;628E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;629E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;630E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;148E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;631E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;599E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;600E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;146E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;555E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;484E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;632E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;633E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;634E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;492E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;635E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;636E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;637E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;518E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;638E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;640E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;641E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;642E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;71E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;26E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;545E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;508E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;508E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;508E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;643E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;644E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;645E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;647E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;648E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;649E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;650E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;651E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;618E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;652E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;653E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;587E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;654E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;655E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;656E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;493E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;484E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;484E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;484E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;657E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;509E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;508E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;658E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;656E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;659E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;660E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;492E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;661E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;662E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;663E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;664E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;665E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;667E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;668E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;669E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;509E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;508E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;670E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;671E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;672E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;673E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;674E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;675E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;676E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;492E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;678E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;509E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;509E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;509E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;516E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;492E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;680E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;681E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;682E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;669E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;683E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;684E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;686E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;27E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;687E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;688E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;689E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;690E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;691E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;492E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;692E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;508E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;694E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;516E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;492E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;695E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;696E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;697E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;669E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;683E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;35E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;698E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;699E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;130E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;700E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;576E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;699E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;701E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;702E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;703E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;704E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;705E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;706E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;669E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;531E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;707E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;516E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;708E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;516E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;709E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;512E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;710E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;711E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;673E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;649E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;99E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;43E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;712E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;713E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;714E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;640E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;715E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;566E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;90E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;42E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;545E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;545E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;508E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;508E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;508E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;716E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;717E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;718E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;671E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$aimage-positionD;K;6;CP$UIDd;3;516E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;719E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;630E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;720E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;721E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;195E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;722E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;723E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;590E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;724E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;725E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;516E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;484E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;484E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;484E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;484E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;509E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;509E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;726E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;663E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;664E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;665E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;727E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;728E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;669E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;509E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;508E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;156E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;729E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;730E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;731E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;628E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;484E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;492E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;493E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;732E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;733E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;484E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;493E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;734E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;735E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;736E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;737E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;738E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;739E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;740E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;741E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;742E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;743E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;744E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;646E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;615E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;80E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;76E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;745E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;746E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;748E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;557E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;51E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;749E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;750E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;751E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;510E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;752E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;528E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;510E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;513E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$aimage-positionD;K;6;CP$UIDd;3;484E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;484E;K;11;$aalignmentD;K;6;CP$UIDd;3;516E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;493E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;509E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;484E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;753E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;754E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;751E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;755E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;696E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;756E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;757E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;178E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;544E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;758E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;758E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;759E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;544E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;690E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;760E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;508E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;509E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;509E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;761E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;762E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;669E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;3;763E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;764E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;765E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;766E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;767E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;768E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;769E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;771E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;772E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;773E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;774E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;775E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;776E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;777E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;778E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;779E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;642E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;642E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;568E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;569E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;570E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;484E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;492E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;509E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;508E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;508E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;508E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;508E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;780E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;508E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;781E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;782E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;24E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;783E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;784E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;785E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;786E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;787E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;788E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;789E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;587E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;103E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;790E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;791E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;740E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;161E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;602E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;519E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;72E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;24E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;721E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;792E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;793E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;793E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;794E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;795E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;796E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;797E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;798E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;711E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;508E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;509E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;2;10S;1;8S;1;9S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;32S;2;31S;2;33S;2;35S;2;34S;2;36S;2;38S;2;37S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;56S;2;52S;2;51S;2;53S;2;55S;2;54S;2;57S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;71S;2;72S;2;73S;2;74S;2;75S;2;76S;2;77S;2;78S;2;79S;2;80S;2;81S;2;82S;2;83S;2;84S;2;85S;2;86S;2;87S;2;88S;2;89S;2;90S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;107S;3;106S;3;105S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;114S;3;115S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;127S;3;124S;3;125S;3;126S;3;123S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136S;3;137S;3;138S;3;139S;3;140S;3;141S;3;142S;3;143S;3;144S;3;145S;3;146S;3;147S;3;148S;3;149S;12;File's OwnerS;3;150S;3;151S;3;152S;3;153S;3;154S;3;155S;3;156S;3;157S;3;158S;3;159S;3;160S;3;161S;3;162S;3;163S;3;164S;3;165S;3;166S;3;167S;3;168S;3;169S;3;170S;3;171S;3;172S;3;173S;3;174S;3;175S;3;176S;3;177S;3;178S;3;179S;3;180S;3;181S;3;182S;3;183S;3;184S;3;185D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;58E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;801E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;179E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;802E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;122E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;803E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;167E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;184E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;805E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;157E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;806E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;807E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;799E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;810E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;811E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;812E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;86E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;814E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;815E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;816E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;817E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;818E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;819E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;820E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;822E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;145E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;823E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;824E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;825E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;826E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;827E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;828E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;829E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;830E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;69E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;831E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;832E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;833E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;181E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;834E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;25E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;835E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;836E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;837E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;838E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;839E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;840E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;841E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;842E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;843E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;844E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;845E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;118E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;846E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;159E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;847E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;848E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;849E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;850E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;851E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;852E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;853E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;854E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;855E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;856E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;857E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;858E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;859E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;170E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;860E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;861E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;862E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;863E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;864E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;865E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;866E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;867E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;868E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;869E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;179E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;870E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;871E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;872E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;873E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;876E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;87E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;877E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;64E;E;E;d;1;0S;24;{{-100, 249}, {360, 15}}S;19;{{0, 0}, {360, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4d;1;1S;14;Start Speakingd;7;1048576S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;100E;E;E;S;4;UndoS;1;zS;21;{{1, -37}, {223, 15}}S;19;{{0, 0}, {223, 15}}f;18;0.9953917050691244S;0;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;121E;E;E;S;6;is notS;17;_popUpItemAction:d;1;5T;F;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;157E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;946E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;947E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;948E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;157E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;21;{{72, 175}, {33, 18}}S;18;{{0, 0}, {33, 18}}d;2;36S;9;check-boxS;8;borderedd;1;2S;1;≠S;4;HelpS;14;submenuAction:S;4;Kernd;1;9S;22;{{144, 201}, {84, 18}}S;18;{{0, 0}, {84, 18}}S;9;Ends WithS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;2;68E;E;E;S;20;{{9, 399}, {25, 24}}S;18;{{0, 0}, {25, 24}}S;6;buttonS;17;selected+borderedS;1;+S;6;Print…S;1;pS;6;CenterS;1;|S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;39E;E;E;S;22;{{20, 74}, {611, 164}}S;20;{{0, 0}, {611, 164}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;544E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;3;546E;E;E;S;10;scrollviewS;6;normalD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;543E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;878E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;758E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;879E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;880E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;179E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;46E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;12;Preferences…S;1;,S;15;Constant ValuesS;22;{{601, 242}, {30, 24}}S;18;{{0, 0}, {30, 24}}S;21;{{336, 79}, {15, 84}}S;18;{{0, 0}, {15, 84}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;17;0.977011501789093S;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;3;117E;E;E;S;11;Use DefaultS;5;RaiseS;11;Show ColorsS;1;CS;12;Smart QuotesS;1;gS;7;StringsD;K;6;$classD;K;6;CP$UIDd;3;543E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;889E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;906E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;487E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;891E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;58E;E;S;19;{{0, 0}, {216, 95}}S;9;tableviewd;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;155E;E;E;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;572E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;883E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;884E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;13;AppControllerS;10;Copy RulerS;1;cd;7;1310720S;6;stringD;K;10;$classnameS;20;CPExpression_keypathK;8;$classesA;S;20;CPExpression_keypathS;21;CPExpression_functionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;579E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;885E;K;11;CPArgumentsD;K;6;CP$UIDd;3;886E;K;9;CPOperandD;K;6;CP$UIDd;3;888E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;669E;E;S;22;{{189, 175}, {33, 18}}S;1;S;8;Use NoneS;4;SaveS;1;sS;20;{{9, 30}, {218, 97}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;566E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;716E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;146E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;d;1;6S;21;{{14, 227}, {96, 18}}S;7;MatchesD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;89E;E;E;S;4;EditS;11;begins withS;8;containsS;10;Select AllS;1;aD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;907E;D;K;6;CP$UIDd;3;908E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;666E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;909E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;896E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;484E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;503E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;898E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;899E;K;6;$afontD;K;6;CP$UIDd;3;910E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;15;$acontent-insetD;K;6;CP$UIDd;3;911E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;503E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;492E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;484E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;503E;E;S;23;{{701, 34}, {242, 440}}S;20;{{0, 0}, {242, 440}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;510E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;912E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;913E;E;S;6;{0, 0}S;15;Revert to SavedS;10;Align LeftS;1;{S;11;Align RightS;1;}S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;134E;E;E;S;20;About NewApplicationS;4;RedoS;1;ZS;21;{{6, 265}, {223, 24}}S;19;{{0, 0}, {223, 24}}S;12;popup-buttonS;7;Use AllS;9;SubscriptS;16;Smart Copy/PasteS;1;fS;21;{{10, 127}, {25, 24}}S;7;NumbersS;5;Find…S;11;Hide OthersS;19;Quit NewApplicationS;1;qS;20;{{0, 0}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;915E;E;E;S;11;rule-editord;2;75d;2;26S;6;formatS;7;rowTypeS;8;criteriaS;13;displayValuesS;10;boundArrayS;7;subrowsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;33;_CPRuleEditorViewUnboundRowHolderK;8;$classesA;S;33;_CPRuleEditorViewUnboundRowHolderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;770E;K;12;CPBoundArrayD;K;6;CP$UIDd;3;916E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;106E;E;E;S;22;Use Selection for Findd;1;7S;1;eS;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;151E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;572E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;883E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;884E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;11;Paste StyleS;3;CutS;1;xS;6;ItalicS;1;iS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;2;32E;E;E;S;9;UnderlineS;1;uD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;88E;E;E;S;20;{{0, 0}, {960, 534}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;87E;E;E;S;7;TightenS;3;NewS;1;nS;10;Clear MenuS;8;delegateS;11;addTemplateS;9;leftTableS;15;predicateEditorS;14;predicateFieldS;20;rightExpressionsTypeS;10;rightTableS;11;templateBoxS;6;windowS;10;dataSourceS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;7;addRow:S;17;displayPredicate:S;22;predicateEditorAction:S;15;addLeftKeyPath:S;16;updateOperators:S;25;selectRightAttributeType:S;17;addRightConstant:S;12;addTemplate:S;20;{{1, 1}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;917E;E;S;16;{{0, 0}, {0, 0}}S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;919E;E;E;D;K;10;$classnameS;17;CPExpression_selfK;8;$classesA;S;17;CPExpression_selfS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;887E;E;S;19;{{1, 1}, {216, 95}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;693E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;920E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;27E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;921E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;922E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;183E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;924E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;925E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;926E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;927E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;677E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;928E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;516E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;503E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;679E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;508E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;508E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;694E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;516E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;484E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;930E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;897E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;931E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;932E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;509E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;900E;K;4;nameD;K;6;CP$UIDd;3;933E;K;6;valuesD;K;6;CP$UIDd;3;935E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;902E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;936E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;937E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;938E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;939E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;940E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;941E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;942E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;943E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;747E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;492E;K;11;$aalignmentD;K;6;CP$UIDd;3;484E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;492E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;516E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;944E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;900E;K;4;nameD;K;6;CP$UIDd;3;933E;K;6;valuesD;K;6;CP$UIDd;3;945E;E;D;K;6;$classD;K;6;CP$UIDd;3;902E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;936E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;949E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;950E;D;K;6;CP$UIDd;3;951E;D;K;6;CP$UIDd;3;952E;D;K;6;CP$UIDd;3;493E;E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;914E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;179E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;484E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;758E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;758E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;179E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;953E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;493E;E;E;D;K;10;$classnameS;21;CPExpression_constantK;8;$classesA;S;21;CPExpression_constantS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;918E;K;15;CPConstantValueD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;D;K;6;CP$UIDd;3;493E;E;E;S;19;{{37, 8}, {79, 24}}S;18;{{0, 0}, {79, 24}}D;K;6;$classD;K;6;CP$UIDd;3;897E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;955E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;956E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;509E;E;S;20;{{122, 8}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;21;{{224, 1}, {167, 25}}S;19;{{0, 0}, {167, 25}}S;19;bezeled+placeholderD;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;929E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;667E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;667E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;953E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;934E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;957E;K;6;normalD;K;6;CP$UIDd;3;898E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;918E;K;15;CPConstantValueD;K;6;CP$UIDd;3;686E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;958E;E;S;18;{{7, 8}, {58, 24}}S;18;{{0, 0}, {58, 24}}D;K;6;$classD;K;6;CP$UIDd;2;23E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;959E;E;S;20;{{71, 8}, {167, 24}}S;19;{{0, 0}, {167, 24}}D;K;6;$classD;K;6;CP$UIDd;3;929E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;727E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;881E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;881E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;727E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;953E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;3;934E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;957E;K;6;normalD;K;6;CP$UIDd;3;898E;E;E;S;20;{{1, 1}, {240, 438}}S;20;{{0, 0}, {240, 438}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;62E;E;E;f;4;0.42f;12;0.8911290323f;12;0.8901341359f;12;0.8899458051d;2;18f;12;0.9100000262S;5;Ariald;2;11D;K;6;$classD;K;6;CP$UIDd;3;897E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;931E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;932E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;508E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;961E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;962E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;963E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;938E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;964E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;938E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;965E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;506E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;941E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;495E;E;S;3;AnyS;3;AllS;25;of the following are trueE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;D;K;6;CP$UIDd;3;365E;D;K;6;CP$UIDd;3;366E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;368E;D;K;6;CP$UIDd;3;369E;D;K;6;CP$UIDd;3;370E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;372E;D;K;6;CP$UIDd;3;373E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;376E;D;K;6;CP$UIDd;3;377E;D;K;6;CP$UIDd;3;378E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;380E;D;K;6;CP$UIDd;3;381E;D;K;6;CP$UIDd;3;382E;D;K;6;CP$UIDd;3;383E;D;K;6;CP$UIDd;3;384E;D;K;6;CP$UIDd;3;385E;D;K;6;CP$UIDd;3;386E;D;K;6;CP$UIDd;3;387E;D;K;6;CP$UIDd;3;388E;D;K;6;CP$UIDd;3;389E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;391E;D;K;6;CP$UIDd;3;392E;D;K;6;CP$UIDd;3;393E;D;K;6;CP$UIDd;3;394E;D;K;6;CP$UIDd;3;395E;D;K;6;CP$UIDd;3;396E;D;K;6;CP$UIDd;3;397E;D;K;6;CP$UIDd;3;398E;D;K;6;CP$UIDd;3;399E;D;K;6;CP$UIDd;3;400E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;402E;D;K;6;CP$UIDd;3;403E;D;K;6;CP$UIDd;3;404E;D;K;6;CP$UIDd;3;406E;D;K;6;CP$UIDd;3;407E;D;K;6;CP$UIDd;3;408E;D;K;6;CP$UIDd;3;409E;D;K;6;CP$UIDd;3;410E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;412E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;414E;D;K;6;CP$UIDd;3;415E;D;K;6;CP$UIDd;3;416E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;418E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;420E;D;K;6;CP$UIDd;3;421E;D;K;6;CP$UIDd;3;422E;D;K;6;CP$UIDd;3;423E;D;K;6;CP$UIDd;3;424E;D;K;6;CP$UIDd;3;425E;D;K;6;CP$UIDd;3;426E;D;K;6;CP$UIDd;3;427E;D;K;6;CP$UIDd;3;428E;D;K;6;CP$UIDd;3;429E;D;K;6;CP$UIDd;3;430E;D;K;6;CP$UIDd;3;431E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;433E;D;K;6;CP$UIDd;3;434E;D;K;6;CP$UIDd;3;435E;D;K;6;CP$UIDd;3;436E;D;K;6;CP$UIDd;3;437E;D;K;6;CP$UIDd;3;438E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;440E;D;K;6;CP$UIDd;3;441E;D;K;6;CP$UIDd;3;442E;D;K;6;CP$UIDd;3;443E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;445E;D;K;6;CP$UIDd;3;446E;D;K;6;CP$UIDd;3;447E;D;K;6;CP$UIDd;3;448E;D;K;6;CP$UIDd;3;449E;D;K;6;CP$UIDd;3;450E;D;K;6;CP$UIDd;3;451E;D;K;6;CP$UIDd;3;452E;D;K;6;CP$UIDd;3;453E;D;K;6;CP$UIDd;3;454E;D;K;6;CP$UIDd;3;455E;D;K;6;CP$UIDd;3;456E;D;K;6;CP$UIDd;3;457E;D;K;6;CP$UIDd;3;458E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;460E;D;K;6;CP$UIDd;3;461E;D;K;6;CP$UIDd;3;462E;D;K;6;CP$UIDd;3;463E;D;K;6;CP$UIDd;3;464E;D;K;6;CP$UIDd;3;465E;D;K;6;CP$UIDd;3;466E;D;K;6;CP$UIDd;3;467E;D;K;6;CP$UIDd;3;468E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;470E;D;K;6;CP$UIDd;3;471E;D;K;6;CP$UIDd;3;472E;D;K;6;CP$UIDd;3;473E;D;K;6;CP$UIDd;3;474E;D;K;6;CP$UIDd;3;475E;D;K;6;CP$UIDd;3;476E;D;K;6;CP$UIDd;3;477E;D;K;6;CP$UIDd;3;478E;D;K;6;CP$UIDd;3;479E;D;K;6;CP$UIDd;3;480E;D;K;6;CP$UIDd;3;481E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;173E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;103E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;483E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;485E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;488E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;489E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;118E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;118E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;496E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;497E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;499E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;501E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;504E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;505E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;511E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;84E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;53E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;512E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;513E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;513E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;513E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;514E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;515E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;517E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;518E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;521E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;83E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;524E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;525E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;526E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;528E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;529E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;530E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;531E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;513E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;532E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;515E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;533E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;536E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;537E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;530E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;150E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;540E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;541E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;542E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;543E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;544E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;545E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;546E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;547E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;548E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;549E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;550E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;551E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;150E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;553E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;554E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;496E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;555E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;556E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;90E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;557E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;26E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;560E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;561E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;563E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;564E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;566E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;501E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;567E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;568E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;569E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;570E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;571E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;561E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;572E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;573E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;574E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;575E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;515E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;487E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;487E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;487E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;487E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;531E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;531E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;576E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;577E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;82E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;185E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;578E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;574E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;61E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;579E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;580E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;581E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;582E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;583E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;584E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;585E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;588E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;589E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;495E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;590E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;592E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;593E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;594E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;595E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;596E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;601E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;602E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;603E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;604E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;577E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;605E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;522E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;606E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;608E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;609E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;26E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;610E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;612E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;501E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;613E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;505E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;614E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;615E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;199E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;187E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;512E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;513E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;513E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;513E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;616E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;515E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;617E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;618E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;621E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;495E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;622E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;513E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;625E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;515E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;495E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;524E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;525E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;526E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;626E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;627E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;530E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;531E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;513E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;556E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;628E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;496E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;487E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;487E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;487E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;629E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;531E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;513E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;630E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;631E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;632E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;633E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;634E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;635E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;636E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;637E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;638E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;615E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;615E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;640E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;641E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;642E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;487E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;495E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;531E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;513E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;513E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;513E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;513E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;643E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;513E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;645E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;646E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;648E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;649E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;650E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;651E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;530E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;652E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;175E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;173E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;653E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;654E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;656E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;496E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;150E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;657E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;658E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;659E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;650E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;660E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;661E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;662E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;663E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;662E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;664E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;665E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;666E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;667E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;667E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;668E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;666E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;669E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;513E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;531E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;531E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;670E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;671E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;530E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;3;672E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;673E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;674E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;675E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;676E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;677E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;678E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;680E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;681E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;682E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;683E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;684E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;686E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;166E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;687E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;688E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;689E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;666E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;145E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;22E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;512E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;513E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;531E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;513E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;690E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;691E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;580E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;692E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;693E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;694E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;695E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;696E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;697E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;698E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;699E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;700E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;495E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;701E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;702E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;703E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;704E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;705E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;702E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;126E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;706E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;707E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;708E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;709E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;710E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;490E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;711E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;585E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;712E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;713E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;714E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;715E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;716E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;717E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;718E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;715E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;719E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;720E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;721E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;722E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;580E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;511E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;640E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;641E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;642E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;487E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;495E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;531E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;513E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;513E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;513E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;513E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;723E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;513E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;724E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;725E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;726E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;727E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;728E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;729E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;730E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;731E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;732E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;118E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;609E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;118E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;610E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;733E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;29E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;636E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;734E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;551E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;735E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;736E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;737E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;738E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;496E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;657E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;739E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;740E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;741E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;742E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;743E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;581E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;744E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;589E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;745E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;746E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;747E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;748E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;749E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;750E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;751E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;752E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;753E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;515E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;150E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;533E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;754E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;755E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;756E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;729E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;487E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;495E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;496E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;757E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;758E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;487E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;496E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;759E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;686E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;760E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;761E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;762E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;763E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;764E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;765E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;766E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;767E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;768E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;515E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;769E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;770E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;771E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;772E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;773E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;774E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;530E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;600E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;652E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;775E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;776E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;490E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;698E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;124E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;46E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;777E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;549E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;46E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;633E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;93E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;46E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;778E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;779E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;780E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;495E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;781E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;531E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;531E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;531E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;515E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;495E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;545E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;782E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;783E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;784E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;86E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;557E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;86E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;86E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;785E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;706E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;786E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;707E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;787E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;788E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;751E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;162E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;789E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;790E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;499E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;791E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;792E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;793E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;794E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;795E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;86E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;608E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;86E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;609E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;86E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;610E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;796E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;797E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;798E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;799E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;26S;2;25S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;37S;2;35S;2;36S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;51S;2;52S;2;53S;2;54S;2;55S;2;56S;2;57S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;71S;2;72S;2;73S;2;74S;2;75S;2;76S;2;77S;2;81S;2;79S;2;80S;2;78S;2;82S;2;83S;2;84S;2;85S;2;86S;2;87S;2;88S;12;File's OwnerS;2;90S;2;89S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;107S;3;104S;3;106S;3;105S;3;108S;3;109S;3;110S;3;111S;3;113S;3;112S;3;115S;3;114S;3;116S;3;117S;3;118S;3;119S;3;121S;3;120S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136S;3;137S;3;138S;3;139S;3;140S;3;141S;3;142S;3;143S;3;144S;3;145S;3;147S;3;146S;3;148S;3;149S;3;150S;3;151S;3;152S;3;153S;3;154S;3;155S;3;156S;3;157S;3;158S;3;159S;3;160S;3;161S;3;162S;3;163S;3;164S;3;165S;3;166S;3;167S;3;168S;3;169S;3;170S;3;171S;3;172S;3;173S;3;174S;3;175S;3;176S;3;177S;3;178S;3;179S;3;180S;3;181S;3;182S;3;183S;3;184S;3;185D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;144E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;801E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;96E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;802E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;113E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;803E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;103E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;805E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;142E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;806E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;165E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;807E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;810E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;811E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;812E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;814E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;815E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;816E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;817E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;818E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;819E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;820E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;822E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;823E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;151E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;824E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;825E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;826E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;827E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;828E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;829E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;830E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;831E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;832E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;833E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;834E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;835E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;836E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;837E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;838E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;839E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;840E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;841E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;842E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;843E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;844E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;845E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;846E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;847E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;848E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;849E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;850E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;851E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;181E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;852E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;24E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;853E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;69E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;854E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;114E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;855E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;856E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;56E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;857E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;858E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;859E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;860E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;861E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;862E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;863E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;864E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;865E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;866E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;867E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;868E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;869E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;870E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;113E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;871E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;872E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;873E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;72E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;876E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;877E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;878E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;E;E;S;3;CutS;1;xd;7;1048576d;1;0S;24;{{-100, 249}, {360, 15}}S;19;{{0, 0}, {360, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4d;1;1S;9;ends withS;17;_popUpItemAction:d;1;9S;10;Copy RulerS;1;cd;7;1310720D;K;6;$classD;K;6;CP$UIDd;3;169E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;165E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;948E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;949E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;950E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;165E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;S;21;{{9, 302}, {218, 97}}S;19;{{0, 0}, {218, 97}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;511E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;3;514E;E;E;d;2;36S;10;scrollviewS;6;normalD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;510E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;879E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;880E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;881E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;142E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;d;1;2S;0;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;3;190E;E;E;S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;202E;E;E;S;3;NewS;1;nS;4;HelpS;14;submenuAction:d;3;213d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;527E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;883E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;884E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;487E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;516E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;886E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;887E;K;6;$afontD;K;6;CP$UIDd;3;889E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;15;$acontent-insetD;K;6;CP$UIDd;3;891E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;516E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;495E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;487E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;516E;E;d;1;3F;S;9;Find NextS;1;gS;18;Customize Toolbar…S;14;Check SpellingS;1;;S;11;Smart LinksS;1;Gd;7;1179648S;5;RaiseS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{335, 77}, {960, 534}}d;2;15S;6;WindowS;17;Jump to SelectionS;1;jS;5;LowerS;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;177E;E;E;S;13;SubstitutionsS;11;Use DefaultS;7;StringsS;6;ItalicS;1;iS;4;EditS;21;{{1, -37}, {223, 15}}S;19;{{0, 0}, {223, 15}}f;18;0.9953917050691244S;12;Show ToolbarS;1;td;7;1572864S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;31E;E;E;S;10;Copy StyleS;10;Align LeftS;1;{S;11;Align RightS;1;}S;10;Show FontsS;5;CloseS;1;wS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;36E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;892E;D;K;6;CP$UIDd;3;893E;E;E;S;4;KernS;6;LoosenS;11;Paste RulerS;1;vS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;45E;E;E;d;1;6S;21;{{14, 227}, {96, 18}}S;18;{{0, 0}, {96, 18}}S;9;check-boxS;8;borderedS;7;MatchesS;8;ServicesS;21;{{14, 175}, {33, 18}}S;18;{{0, 0}, {33, 18}}S;1;=S;13;Stop SpeakingS;22;{{189, 175}, {33, 18}}S;1;S;22;{{601, 242}, {30, 24}}S;18;{{0, 0}, {30, 24}}S;6;Print…S;1;pS;8;delegateS;11;addTemplateS;9;leftTableS;15;predicateEditorS;14;predicateFieldS;20;rightExpressionsTypeS;10;rightTableS;11;templateBoxS;6;windowS;10;dataSourceS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;7;addRow:S;17;displayPredicate:S;22;predicateEditorAction:S;15;addLeftKeyPath:S;16;updateOperators:S;25;selectRightAttributeType:S;17;addRightConstant:S;12;addTemplate:S;19;{{1, 1}, {216, 95}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;142E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;624E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;918E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;920E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;885E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;921E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;922E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;531E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;888E;K;4;nameD;K;6;CP$UIDd;3;923E;K;6;valuesD;K;6;CP$UIDd;3;925E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;890E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;926E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;927E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;928E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;929E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;931E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;932E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;933E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;934E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;888E;K;4;nameD;K;6;CP$UIDd;3;923E;K;6;valuesD;K;6;CP$UIDd;3;935E;E;D;K;6;$classD;K;6;CP$UIDd;3;890E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;926E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;191E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;936E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;937E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;28E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;938E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;939E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;940E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;941E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;942E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;516E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;513E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;625E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;515E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;487E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;944E;E;E;D;K;10;$classnameS;17;CPExpression_selfK;8;$classesA;S;17;CPExpression_selfS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;907E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;909E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;113E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;667E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;667E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;945E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{1, 1}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;113E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;624E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;946E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;947E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;487E;D;K;6;CP$UIDd;3;487E;D;K;6;CP$UIDd;3;487E;D;K;6;CP$UIDd;3;951E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;952E;D;K;6;CP$UIDd;3;953E;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;496E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;E;E;D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;919E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;528E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;528E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;945E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;924E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;955E;K;6;normalD;K;6;CP$UIDd;3;886E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;956E;E;S;18;{{7, 8}, {58, 24}}S;18;{{0, 0}, {58, 24}}D;K;6;$classD;K;6;CP$UIDd;3;885E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;957E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;958E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;531E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;959E;E;S;20;{{71, 8}, {167, 24}}S;19;{{0, 0}, {167, 24}}D;K;6;$classD;K;6;CP$UIDd;3;919E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;626E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;626E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;945E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;3;924E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;955E;K;6;normalD;K;6;CP$UIDd;3;886E;E;E;S;19;{{37, 8}, {79, 24}}S;18;{{0, 0}, {79, 24}}S;20;{{122, 8}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;21;{{224, 1}, {167, 25}}S;19;{{0, 0}, {167, 25}}S;19;bezeled+placeholderD;K;10;$classnameS;21;CPExpression_constantK;8;$classesA;S;21;CPExpression_constantS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;943E;K;15;CPConstantValueD;K;6;CP$UIDd;3;646E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;496E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;943E;K;15;CPConstantValueD;K;6;CP$UIDd;3;961E;E;S;20;{{1, 1}, {240, 438}}S;20;{{0, 0}, {240, 438}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;77E;E;E;f;4;0.42f;12;0.8911290323f;12;0.8901341359f;12;0.8899458051D;K;6;$classD;K;6;CP$UIDd;3;885E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;921E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;922E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;513E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;962E;D;K;6;CP$UIDd;3;963E;E;E;S;5;Ariald;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;964E;E;E;f;12;0.9100000262S;6;stringD;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;965E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;927E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;966E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;927E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;496E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;967E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;931E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;S;3;AnyS;3;AllS;25;of the following are trueE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib index 9e96ff71a..8ba421b09 100644 --- a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib @@ -2,16 +2,33 @@ 1050 - 10H574 - 823 + 10J869 + 1306 1038.35 461.00 com.apple.InterfaceBuilder.CocoaPlugin - 823 + 1306 - - + + NSPopUpButtonCell + NSScroller + NSPredicateEditor + NSMenuItem + NSMenu + NSTextFieldCell + NSScrollView + NSButtonCell + NSButton + NSBox + NSTableView + NSPopUpButton + NSPredicateEditorRowTemplate + NSCustomObject + NSView + NSWindowTemplate + NSTextField + NSTableColumn com.apple.InterfaceBuilder.CocoaPlugin @@ -1093,7 +1110,6 @@ Window NSWindow - {1.79769e+308, 1.79769e+308} 256 @@ -1103,6 +1119,7 @@ 268 {{601, 264}, {30, 30}} + YES @@ -1133,6 +1150,7 @@ 270 {{20, 476}, {611, 22}} + YES -1804468671 @@ -1177,16 +1195,17 @@ 274 - + 290 - - + + 257 {{581, 4}, {18, 18}} - - + + + -1 YES @@ -1204,9 +1223,9 @@ - + _addOption: - + -2038284033 36 @@ -1219,12 +1238,13 @@ 75 - - + + 257 {{561, 4}, {18, 18}} - - + + + -1 YES @@ -1238,9 +1258,9 @@ - + _deleteOption: - + -2038284033 36 @@ -1250,10 +1270,11 @@ - + 256 {{7, 4}, {58, 19}} - + + -1 YES @@ -1317,11 +1338,12 @@ - + 256 {{71, 4}, {167, 19}} - - + + + -1 YES @@ -1364,6 +1386,7 @@ {609, 26} + 0 0 @@ -1377,7 +1400,7 @@ {{7, 4}, {58, 19}} {{71, 4}, {167, 19}} - + 2 @@ -1393,7 +1416,7 @@ NO - + @@ -1401,21 +1424,22 @@ 2 {{7, 4}, {58, 19}} {{71, 4}, {167, 19}} - - + + 0 0 YES - + 290 - - + + 257 {{581, 4}, {18, 18}} - + + -1 YES @@ -1430,9 +1454,9 @@ - + _addOption: - + -2038284033 36 @@ -1441,12 +1465,13 @@ 75 - - + + 257 {{561, 4}, {18, 18}} - - + + + -1 YES @@ -1460,9 +1485,9 @@ - + _deleteOption: - + -2038284033 36 @@ -1472,10 +1497,11 @@ - + 256 {{37, 4}, {79, 19}} - + + -1 YES @@ -1505,7 +1531,7 @@ 75 - string + astring 1048576 2147483647 @@ -1553,10 +1579,11 @@ - + 256 {{122, 4}, {99, 19}} - + + -1 YES @@ -1636,11 +1663,12 @@ - + 256 {{227, 4}, {160, 18}} - - + + + YES 343014976 @@ -1661,6 +1689,7 @@ {{0, 26}, {609, 26}} + 1 1 @@ -1676,7 +1705,7 @@ {{122, 4}, {99, 19}} {{227, 4}, {160, 18}} - + 1 @@ -1693,11 +1722,11 @@ YES - + - + @@ -1706,8 +1735,8 @@ {{37, 4}, {79, 19}} {{122, 4}, {99, 19}} {{227, 4}, {160, 18}} - - + + 0 0 YES @@ -1715,7 +1744,8 @@ {609, 162} - + + @@ -1723,6 +1753,7 @@ {609, 162} + YES 75 @@ -1744,8 +1775,8 @@ - - + + @@ -1755,9 +1786,9 @@ - - - + + + @@ -1772,8 +1803,8 @@ - - + + @@ -1784,6 +1815,7 @@ {{1, 1}, {609, 162}} + @@ -1797,6 +1829,7 @@ -2147483392 {{336, 1}, {15, 84}} + _doScroller: @@ -1807,6 +1840,7 @@ -2147483392 {{-100, -100}, {360, 15}} + 1 @@ -1815,6 +1849,7 @@ {{20, 296}, {611, 164}} + 530 @@ -1834,6 +1869,7 @@ 268 {{9, 11}, {25, 25}} + YES -2080244224 @@ -1862,6 +1898,7 @@ 256 {216, 95} + YES @@ -1938,6 +1975,7 @@ {{1, 1}, {216, 95}} + @@ -1948,6 +1986,7 @@ -2147483392 {{224, 17}, {15, 102}} + _doScroller: @@ -1958,6 +1997,7 @@ -2147483392 {{1, 119}, {223, 15}} + 1 @@ -1967,6 +2007,7 @@ {{9, 311}, {218, 97}} + 562 @@ -1979,6 +2020,7 @@ 268 {{144, 219}, {84, 18}} + 9 YES @@ -2008,6 +2050,7 @@ 268 {{6, 145}, {223, 26}} + YES @@ -2074,6 +2117,7 @@ 268 {{14, 219}, {96, 18}} + 8 YES @@ -2098,6 +2142,7 @@ 268 {{72, 245}, {33, 18}} + 5 YES @@ -2122,6 +2167,7 @@ 268 {{127, 245}, {33, 18}} + 2 YES @@ -2146,6 +2192,7 @@ 268 {{144, 193}, {78, 18}} + 99 YES @@ -2170,6 +2217,7 @@ 268 {{14, 245}, {33, 18}} + 4 YES @@ -2194,6 +2242,7 @@ 268 {{7, 416}, {142, 17}} + YES @@ -2224,6 +2273,7 @@ 256 {216, 95} + YES @@ -2279,6 +2329,7 @@ {{1, 1}, {216, 95}} + @@ -2289,6 +2340,7 @@ -2147483392 {{224, 17}, {15, 102}} + _doScroller: @@ -2299,6 +2351,7 @@ -2147483392 {{1, 119}, {223, 15}} + 1 @@ -2308,6 +2361,7 @@ {{9, 39}, {218, 97}} + 562 @@ -2320,6 +2374,7 @@ 268 {{10, 283}, {25, 25}} + YES @@ -2341,6 +2396,7 @@ 268 {{14, 193}, {96, 18}} + 6 YES @@ -2365,6 +2421,7 @@ 268 {{189, 245}, {33, 18}} + YES @@ -2386,11 +2443,13 @@ {{1, 1}, {240, 438}} + {{701, 60}, {242, 440}} + {0, 0} @@ -2419,6 +2478,7 @@ 265 {{837, 20}, {103, 25}} + YES -1543373312 @@ -2435,12 +2495,13 @@ - {960, 534} + {{7, 11}, {960, 534}} + {{0, 0}, {1680, 1028}} - {1.79769e+308, 1.79769e+308} + {1e+13, 1e+13} AppController @@ -4835,12 +4896,11 @@ IBProjectSource - ./classes-xjh84/AppController.h + ./Classes/AppController.h NSDocument - NSObject id id @@ -4877,7 +4937,7 @@ IBProjectSource - ./classes-xjh84/NSDocument.h + ./Classes/NSDocument.h @@ -4889,7 +4949,6 @@ YES - ../PredicateEditor.xcodeproj 3 {9, 8} From 2b52f7d8daefbe54f2e4917858f6bd824bda179c Mon Sep 17 00:00:00 2001 From: cacaodev Date: Fri, 29 Apr 2011 14:33:58 +0200 Subject: [PATCH 13/78] - Fixed a bug where the right control was incorrectly recreated with a default value when switching operators. - As per cocoa, the predicate is recomputed when you send the right control action, not when you change text. Update-as-you-type can be turned ON by subclassing -_sendsActionOnIncompleteTextChange method. Default is NO. - Rewrote _reconfigureSubviews method, should be faster. --- AppKit/CPRuleEditor/CPPredicateEditor.j | 78 ++- .../CPPredicateEditorRowTemplate.j | 8 +- AppKit/CPRuleEditor/CPRuleEditor.j | 181 ++++-- .../CPRuleEditor/_CPPredicateEditorRowNode.j | 85 ++- .../CPRuleEditor/_CPRuleEditorViewSliceRow.j | 285 ++++----- .../CPPredicateEditorCibTest/AppController.j | 9 +- .../Resources/MainMenu.cib | 2 +- .../Resources/MainMenu.xib | 547 ++++++++++++------ 8 files changed, 778 insertions(+), 417 deletions(-) diff --git a/AppKit/CPRuleEditor/CPPredicateEditor.j b/AppKit/CPRuleEditor/CPPredicateEditor.j index f067fab7c..b26bdc520 100644 --- a/AppKit/CPRuleEditor/CPPredicateEditor.j +++ b/AppKit/CPRuleEditor/CPPredicateEditor.j @@ -315,7 +315,9 @@ if (menuItemIndex == -1 || [[treeChild title] isEqual:[currentView titleOfSelectedItem]]) { - var node = [_CPPredicateEditorRowNode _rowNodeFromTree:treeChild withTemplate:aTemplate]; + var node = [_CPPredicateEditorRowNode rowNodeFromTree:treeChild]; + [node applyTemplate:aTemplate withViews:templateViews forOriginalTemplate:originalTemplate]; + [criteria addObject:node]; [values addObject:[node displayValue]]; break; @@ -334,9 +336,9 @@ - (void)_updatePredicate { - //[self willChangeValueForKey:@"objectValue"]; + [self willChangeValueForKey:@"objectValue"]; [self _updatePredicateFromRows]; - //[self didChangeValueForKey:@"objectValue"]; + [self didChangeValueForKey:@"objectValue"]; } - (void)_updatePredicateFromRows @@ -366,34 +368,41 @@ - (id)_predicateFromRowItem:(id)rowItem { var subpredicates = [CPArray array], - subrows = [rowItem valueForKey:[super subrowsKeyPath]], + rowType = [rowItem valueForKey:_typeKeyPath]; + + if (rowType == CPRuleEditorRowTypeCompound) + { + var subrows = [rowItem valueForKey:_subrowsArrayKeyPath], count = [subrows count]; - for (var i = 0; i < count; i++) - { - var predicate = [self _predicateFromRowItem:subrows[i]]; - [subpredicates addObject:predicate]; + for (var i = 0; i < count; i++) + { + var subrow = [subrows objectAtIndex:i]; + var predicate = [self _predicateFromRowItem:subrow]; + [subpredicates addObject:predicate]; + } } - var criteria = [rowItem valueForKey:[super criteriaKeyPath]], - displayValues = [rowItem valueForKey:[super displayValuesKeyPath]], - leftNode = [criteria objectAtIndex:0], - templateViews = [leftNode templateViews], - count = [criteria count]; + var criteria = [rowItem valueForKey:_itemsKeyPath], + displayValues = [rowItem valueForKey:_valuesKeyPath], + count = [criteria count], + lastItem = [criteria lastObject], + template = [lastItem templateForRow], + templateViews = [template templateViews]; for (var j = 0; j < count; j++) { var view = [templateViews objectAtIndex:j], value = [displayValues objectAtIndex:j]; + [[criteria objectAtIndex:j] setTemplateViews:templateViews]; - if ([view respondsToSelector:@selector(selectItemWithTitle:)]) + if ([view isKindOfClass:[CPPopUpButton class]]) [view selectItemWithTitle:value]; - else + else if ([view respondsToSelector:@selector(setObjectValue:)]) [view setObjectValue:[value objectValue]]; - } - return [[leftNode templateForRow] predicateWithSubpredicates:subpredicates]; + return [template predicateWithSubpredicates:subpredicates]; } - (CPCompoundPredicateType)_compoundPredicateTypeForRootRows @@ -403,32 +412,39 @@ #pragma mark Control delegate +- (void)_sendRuleAction +{ + [self _updatePredicate]; + [super _sendRuleAction]; +} + +- (BOOL)_sendsActionOnIncompleteTextChange +{ + return NO; +} + +/* - (void)_setDefaultTargetAndActionOnView:(CPView)view { if ([view isKindOfClass:[CPControl class]]) { - [view setAction:@selector(_templateControlValueDidChange:)]; [view setTarget:self]; + [view setAction:@selector(_templateControlValueDidChange:)]; } } - -- (void)controlTextDidEndEditing:(CPNotification)notification -{ - [self _updatePredicate]; -} - - (void)_templateControlValueDidChange:(id)sender { - //[self _updatePredicate]; } - - (void)controlTextDidBeginEditing:(CPNotification)notification { } - +- (void)controlTextDidEndEditing:(CPNotification)notification +{ +} - (void)controlTextDidChange:(CPNotification)notification { } +*/ #pragma mark RuleEditor delegate methods @@ -439,24 +455,22 @@ var trees = (type == CPRuleEditorRowTypeSimple) ? _rootTrees : _rootHeaderTrees; return [trees count]; } - return [[rowItem children] count]; } -- (id)_queryChild:(int)index ofItem:(id)rowItem withRowType:(int)type +- (id)_queryChild:(int)childIndex ofItem:(id)rowItem withRowType:(int)type { if (rowItem == nil) { var trees = (type == CPRuleEditorRowTypeSimple) ? _rootTrees : _rootHeaderTrees; - return [_CPPredicateEditorRowNode rowNodeFromTree:trees[index]]; + return [_CPPredicateEditorRowNode rowNodeFromTree:trees[childIndex]]; } - return [[rowItem children] objectAtIndex:index]; + return [[rowItem children] objectAtIndex:childIndex]; } - (id)_queryValueForItem:(id)rowItem inRow:(int)rowIndex { - [rowItem copyTemplateIfNecessary]; return [rowItem displayValue]; } diff --git a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j index 4a0102bff..dbca2884a 100644 --- a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j +++ b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j @@ -657,18 +657,18 @@ CPTransformableAttributeType = 1800; if (attributeType >= CPInteger16AttributeType && attributeType <= CPFloatAttributeType) { - view = [self _textFieldWithFrame:CGRectMake(0,0,50,26)]; + view = [self _textFieldWithFrame:CGRectMake(0, 0, 50, 26)]; } else if (attributeType == CPStringAttributeType) { - view = [self _textFieldWithFrame:CGRectMake(0,0,150,26)]; + view = [self _textFieldWithFrame:CGRectMake(0, 0, 150, 26)]; } else if (attributeType == CPBooleanAttributeType) { - view = [[CPCheckBox alloc] initWithFrame:CGRectMake(0,0,50,26)]; + view = [[CPCheckBox alloc] initWithFrame:CGRectMake(0, 0, 50, 26)]; } else if (attributeType == CPDateAttributeType) - view = [[CPDatePicker alloc] initWithFrame:CGRectMake(0,0,150,26)]; + view = [[CPDatePicker alloc] initWithFrame:CGRectMake(0, 0, 150, 26)]; else return nil; diff --git a/AppKit/CPRuleEditor/CPRuleEditor.j b/AppKit/CPRuleEditor/CPRuleEditor.j index 2121af3e5..824413a4c 100644 --- a/AppKit/CPRuleEditor/CPRuleEditor.j +++ b/AppKit/CPRuleEditor/CPRuleEditor.j @@ -60,7 +60,7 @@ var itemsContext = "items", /*! @ingroup appkit @class CPRuleEditor - + @brief A view for creating and configuring criteria. A CPRuleEditor object is a view that allows the user to visually create and configure a list of options which are expressed by the rule editor as a predicate (see Predicate documentation). The view has a delegate which offers a tree of choices to the view. The choices are presented by the view to the user as a row of popup buttons, static text fields, and custom views. Each row in the list represents a particular path down the tree of choices. @@ -157,7 +157,6 @@ var itemsContext = "items", [self setBoundArrayKeyPath:@"boundArray"]; _slicesHolder = [[_CPRuleEditorViewSliceHolder alloc] initWithFrame:[self bounds]]; - [_slicesHolder setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; [self addSubview:_slicesHolder]; _boundArrayOwner = [[_CPRuleEditorViewUnboundRowHolder alloc] init]; @@ -182,6 +181,8 @@ var itemsContext = "items", var animation = [[CPViewAnimation alloc] initWithDuration:0.5 animationCurve:CPAnimationEaseInOut]; [self setAnimation:animation]; + [_slicesHolder setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; + _dropLineView = [self _createSliceDropSeparator]; [_slicesHolder addSubview:_dropLineView]; @@ -617,7 +618,7 @@ TODO: implement if (lastSelected >= [self numberOfRows]) [CPException raise:CPRangeException reason:@"row indexes " + indexes + " are out of range"]; - + if (!extend) [self _deselectAll]; @@ -627,7 +628,7 @@ TODO: implement rowIndex = [slice rowIndex], contains = [indexes containsIndex:rowIndex]; shouldSelect = (contains && !(extend && [slice _isSelected])); - + if (contains) [slice _setSelected:shouldSelect]; [slice _setLastSelected:(rowIndex == lastSelected)]; @@ -1053,7 +1054,7 @@ TODO: implement @param rowType The type of the row. @return An object representing the requested child (or root) criterion. This object is used by the delegate to represent that position in the tree, and is passed as a parameter in subsequent calls to the delegate. @discussion This method is required. - + - (id)ruleEditor:(CPRuleEditor)editor child:(CPInteger)index forCriterion:(id)criterion withRowType:(CPRuleEditorRowType)rowType */ @@ -1358,9 +1359,9 @@ TODO: implement - (CPMutableArray)_getItemsAndValuesToAddForRow:(int)rowIndex ofType:(CPRuleEditorRowType)type { - var cachedItemsAndValues = _itemsAndValuesToAddForRowType[type]; - if (cachedItemsAndValues) - return cachedItemsAndValues; + //var cachedItemsAndValues = _itemsAndValuesToAddForRowType[type]; + //if (cachedItemsAndValues) + // return cachedItemsAndValues; var itemsAndValues = [CPMutableArray array], items = [CPMutableArray array], @@ -1513,41 +1514,38 @@ TODO: implement } } -- (void)_changedItem:(id)oldItem toItem:(id)newItem inRow:(int)rowIndex atCriteriaIndex:(int)indexInCriteria +- (void)_changedItem:(id)fromItem toItem:(id)toItem inRow:(int)aRow atCriteriaIndex:(int)fromItemIndex { - var criteria = [self criteriaForRow:rowIndex], - values = [self displayValuesForRow:rowIndex], - type = [self rowTypeForRow:rowIndex], + var criteria = [self criteriaForRow:aRow], + displayValues = [self displayValuesForRow:aRow], + rowType = [self rowTypeForRow:aRow], + anItem = toItem; + //fromItemIndex = [criteria indexOfObjectIdenticalTo:fromItem]; - itemToAdd = newItem, - relativeIndexInCriteria = 0, - num_childs = 1000, + var items = [criteria subarrayWithRange:CPMakeRange(0, fromItemIndex)], + values = [displayValues subarrayWithRange:CPMakeRange(0, fromItemIndex)]; - remainingRange = CPMakeRange(0, indexInCriteria), - finalCriteria = [[CPMutableArray alloc] initWithArray:[criteria subarrayWithRange:remainingRange]], - finalValues = [[CPMutableArray alloc] initWithArray:[values subarrayWithRange:remainingRange]]; + _lastRow = aRow; - while (num_childs > 0) + while (YES) { - var displayvalue = [self _queryValueForItem:itemToAdd inRow:rowIndex]; + [items addObject:anItem]; + var value = [self _queryValueForItem:anItem inRow:aRow]; + [values addObject:value]; - [finalCriteria addObject:itemToAdd]; - [finalValues addObject:displayvalue]; + if (![self _queryNumberOfChildrenOfItem:anItem withRowType:rowType]) + break; - num_childs = [self _queryNumberOfChildrenOfItem:itemToAdd withRowType:type]; - - if (num_childs > 0) - itemToAdd = [self _queryChild:0 ofItem:itemToAdd withRowType:type]; - - relativeIndexInCriteria++; + anItem = [self _queryChild:0 ofItem:anItem withRowType:rowType]; } - var object = [[self _rowCacheForIndex:rowIndex] rowObject]; - [object setValue:finalCriteria forKey:_itemsKeyPath]; - [object setValue:finalValues forKey:_valuesKeyPath]; - - [[_slices objectAtIndex:rowIndex] _reconfigureSubviews]; + var object = [[self _rowCacheForIndex:aRow] rowObject]; + [object setValue:items forKey:_itemsKeyPath]; + [object setValue:values forKey:_valuesKeyPath]; + var slice = [_slices objectAtIndex:aRow]; + [slice _reconfigureSubviews]; + [self _sendRuleAction]; [self _postRuleOptionChangedNotification]; } @@ -1667,11 +1665,17 @@ TODO: implement return; } - if ([observableController respondsToSelector:@selector(objectClass)]) - _rowClass = [observableController objectClass]; - if ([binding isEqualToString:@"rows"]) - [self _setBoundDataSource:observableController withKeyPath:keyPath options:options]; + { + if ([observableController respondsToSelector:@selector(objectClass)]) + _rowClass = [observableController objectClass]; + + [self _setBoundDataSource:observableController withKeyPath:keyPath options:options]; + } + else if ([binding isEqualToString:CPValueBinding]) + [super bind:binding toObject:observableController withKeyPath:keyPath options:options]; + else + [CPException raise:CPInvalidArgumentException reason:"Keypath or bound object cannot be nil"]; } - (void)unbind:(id)object @@ -1801,19 +1805,18 @@ TODO: implement - (void)animationDidEnd:(CPViewAnimation)animation { - var nextSimple = [self _getItemsAndValuesToAddForRow:0 ofType:CPRuleEditorRowTypeSimple], - nextCompound = [self _getItemsAndValuesToAddForRow:0 ofType:CPRuleEditorRowTypeCompound]; +// var nextSimple = [self _getItemsAndValuesToAddForRow:0 ofType:CPRuleEditorRowTypeSimple], +// nextCompound = [self _getItemsAndValuesToAddForRow:0 ofType:CPRuleEditorRowTypeCompound]; - _itemsAndValuesToAddForRowType = {CPRuleEditorRowTypeSimple:nextSimple, CPRuleEditorRowTypeCompound:nextCompound}; +// _itemsAndValuesToAddForRowType = {CPRuleEditorRowTypeSimple:nextSimple, CPRuleEditorRowTypeCompound:nextCompound}; } - (void)_updateSliceRows { var width = [self frame].size.width, - count = [_slices count], - i; + count = [_slices count]; - for (i = 0; i < count; i++) + for (var i = 0; i < count; i++) { var slice = [_slices objectAtIndex:i], targetRect = CGRectMake(0, i * _sliceHeight, width, _sliceHeight); @@ -1937,7 +1940,7 @@ TODO: implement var modifierFlags = [event modifierFlags], extend = (modifierFlags & CPCommandKeyMask) || (modifierFlags & CPShiftKeyMask), rowIndexes = [CPIndexSet indexSetWithIndex:[slice rowIndex]]; - + [self selectRowIndexes:rowIndexes byExtendingSelection:extend]; } @@ -2091,7 +2094,7 @@ TODO: implement if ([selected_indices containsIndex:mainRowIndex]) [draggingRows addIndexes:selected_indices]; _draggingRows = [self _includeSubslicesForSlicesAtIndexes:draggingRows]; - + var firstIndex = [_draggingRows firstIndex], firstSlice = [_slices objectAtIndex:firstIndex], dragview = [[CPView alloc] initWithFrame:[firstSlice frame]]; @@ -2307,6 +2310,61 @@ TODO: implement [self sendAction:[self action] to:[self target]]; } +- (BOOL)_sendsActionOnIncompleteTextChange +{ + return YES; +} + +- (void)_getAllAvailableItems:(id)items values:(id)values asChildrenOfItem:(id)parentItem inRow:(int)aRow +{ + var type, + indexofCriterion, + numOfChildren; + + var availItems = [CPMutableArray array], + availValues = [CPMutableArray array]; + + var criterion = nil, + value = nil; + + _lastRow = aRow; + type = [self rowTypeForRow:aRow]; + numOfChildren = [self _queryNumberOfChildrenOfItem:parentItem withRowType:type]; + + var criteria = [self criteriaForRow:aRow]; + indexofCriterion = [criteria indexOfObject:criterion]; + + if (parentItem != nil + && indexofCriterion != CPNotFound + && indexofCriterion < [criteria count] - 1) + { + var next = indexofCriterion + 1; + + criterion = [criteria objectAtIndex:next]; + var values = [self displayValuesForRow:aRow]; + value = [values objectAtIndex:next]; + } + + for (var i = 0; i < numOfChildren; ++i) + { + var aChild = [self _queryChild:i ofItem:parentItem withRowType:type]; + var availChild = aChild, + availValue = value; + + if ( criterion != aChild ) + availValue = [self _queryValueForItem:aChild inRow:aRow]; + + if ( !availValue ) + availValue = [self _queryValueForItem:availChild inRow:aRow]; + + [availItems addObject:availChild]; + [availValues addObject:availValue]; + } + + [items addObjectsFromArray:availItems]; + [values addObjectsFromArray:availValues]; +} + @end var CPRuleEditorAlignmentGridWidthKey = @"CPRuleEditorAlignmentGridWidth", @@ -2508,24 +2566,31 @@ var dropSeparatorColor = [CPColor colorWithHexString:@"4886ca"]; @end -@implementation CPControl (ToolTip) +@implementation CPObject (CPRuleEditorSliceRow) -- (void)setToolTip:(CPString)aToolTip +- (int)valueType { - if (_toolTip == aToolTip) - return; + var result = 0; - _toolTip = aToolTip; -#if PLATFORM(DOM) - _DOMElement.title = aToolTip; -#endif -} + var isString = [self isKindOfClass:[CPString class]]; + if ( !isString ) + { + var isView = [self isKindOfClass:[CPView class]]; + result = 1; + if ( !isView ) + { + var ismenuItem = [self isKindOfClass:[CPMenuItem class]]; + result = 2; + if ( !ismenuItem ) + { + [CPException raise:CPGenericException reason:@"Unknown Type For " + self]; + result = -1; + } + } + } -- (CPString)toolTip -{ - return _toolTip; + return result; } @end - /*! @endcond */ \ No newline at end of file diff --git a/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j b/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j index 412ed6ed6..439b8d037 100644 --- a/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j +++ b/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j @@ -12,60 +12,101 @@ CPArray children @accessors(copy); } -- (BOOL)applyTemplate:(id)template withViews:(id)views forOriginalTemplate:(id)arg3 -{ - return YES; // not in use -} - + (id)rowNodeFromTree:(id)aTree { - return [_CPPredicateEditorRowNode _rowNodeFromTree:aTree withTemplate:[aTree template]]; + var mapTable = {}; + return [_CPPredicateEditorRowNode _rowNodeFromTree:aTree withTemplateTable:mapTable]; } -+ (id)_rowNodeFromTree:(id)aTree withTemplate:(id)template ++ (id)_rowNodeFromTree:(id)aTree withTemplateTable:(id)templateTable { - var nodeChildren = [CPArray array], + var node, + views, + copiedContainer; + + node = [[_CPPredicateEditorRowNode alloc] init]; + node.tree = aTree; + + var template = [aTree template], + uuid = [template UID]; + + var cachedNode = templateTable[uuid]; + + if (cachedNode == nil) + { + views = [CPMutableArray array]; + copiedContainer = [CPMutableArray array]; + templateTable[uuid] = node; + } + else + { + views = [cachedNode templateViews]; + copiedContainer = [cachedNode copiedTemplateContainer]; + } + + node.templateViews = views; + node.copiedTemplateContainer = copiedContainer; + + var nodeChildren = [CPMutableArray array], treeChildren = [aTree children], count = [treeChildren count]; for (var i = 0; i < count; i++) { - var childnode = [self _rowNodeFromTree:treeChildren[i] withTemplate:template]; - [nodeChildren addObject:childnode]; + var treeChild = treeChildren[i], + child = [_CPPredicateEditorRowNode _rowNodeFromTree:treeChild withTemplateTable:templateTable]; + + [nodeChildren addObject:child]; } - var node = [_CPPredicateEditorRowNode new]; - [node setTree:aTree]; - [node setCopiedTemplateContainer:[CPMutableArray arrayWithObject:template]]; - [node setTemplateViews:[template templateViews]]; [node setChildren:nodeChildren]; return node; } +- (BOOL)applyTemplate:(id)template withViews:(id)views forOriginalTemplate:(id)originalTemplate +{ + var t = [tree template]; + if (t !== template) + { + [templateViews setArray:views]; + [copiedTemplateContainer removeAllObjects]; + [copiedTemplateContainer addObject:template]; + } + + var count = [children count]; + for (var i; i < count; i++) + [children[i] applyTemplate:template withViews:views forOriginalTemplate:originalTemplate]; +} - (BOOL)isEqual:(id)node { - return (self === node || tree === [node tree]); + if (![node isKindOfClass:[_CPPredicateEditorRowNode class]]) + return NO; + + return (tree === [node tree]); } - (void)copyTemplateIfNecessary { - if ([[self templateForRow] rightIsWildcard]) + if ([copiedTemplateContainer count] == 0) { + CPLogConsole("COPYING TEMPLATE"); var copy = [[tree template] copy]; - [self setCopiedTemplateContainer:[CPMutableArray arrayWithObject:copy]]; - [self setTemplateViews:[copy templateViews]]; + [copiedTemplateContainer addObject:copy]; + [templateViews addObjectsFromArray:[copy templateViews]]; } } - (CPView)templateView { + [self copyTemplateIfNecessary]; return [templateViews objectAtIndex:[tree indexIntoTemplate]]; } - (id)templateForRow { + [self copyTemplateIfNecessary]; return [copiedTemplateContainer lastObject]; } @@ -77,15 +118,15 @@ - (id)displayValue { var title = [self title]; - if (title == nil) - return [self templateView]; + if (title != nil) + return title; - return title; + return [self templateView]; } - (CPString)description { - return [CPString stringWithFormat:@"<%@ %@ %@ %p>", [self className], [self title], [self displayValue], self]; + return [CPString stringWithFormat:@"<%@ %@ %@ tree:%@ tviews:%@", [self className],[self UID], [self title], [tree UID], [templateViews description]]; } @end \ No newline at end of file diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j index 4805c95f5..235bf3828 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j @@ -41,8 +41,8 @@ var CONTROL_HEIGHT = 16., _addButton = [self _createAddRowButton]; _subtractButton = [self _createDeleteRowButton]; - [_addButton setToolTip:[_ruleEditor _toolTipForAddSimpleRowButton]]; - [_subtractButton setToolTip:[_ruleEditor _toolTipForDeleteRowButton]]; + //[_addButton setToolTip:[_ruleEditor _toolTipForAddSimpleRowButton]]; + //[_subtractButton setToolTip:[_ruleEditor _toolTipForDeleteRowButton]]; [_addButton setHidden:!editable]; [_subtractButton setHidden:!editable]; [self addSubview:_addButton]; @@ -81,15 +81,16 @@ var CONTROL_HEIGHT = 16., - (CPMenuItem)_createMenuItemWithTitle:(CPString )title { title = [[_ruleEditor standardLocalizer] localizedStringForString:title]; - return [[CPMenuItem alloc] initWithTitle:title action:nil keyEquivalent:@""]; + var mItem = [[CPMenuItem alloc] initWithTitle:title action:nil keyEquivalent:@""]; + return mItem; } - (CPPopUpButton)_createPopUpButtonWithItems:(CPArray)itemsArray selectedItemIndex:(int)index { - var title = [[itemsArray objectAtIndex:index] title], - font = [_ruleEditor font], + var title = [[itemsArray objectAtIndex:index] title]; + var font = [_ruleEditor font], width = [title sizeWithFont:font].width + 20, - rect = CGRectMake(0, ([_ruleEditor rowHeight] - CONTROL_HEIGHT)/2, (width - width % 40) + 80, CONTROL_HEIGHT); + rect = CGRectMake(0, 0, (width - width % 40) + 80, CONTROL_HEIGHT); var popup = [[_CPRuleEditorPopUpButton alloc] initWithFrame:rect]; [popup setValue:font forThemeAttribute:@"font"]; @@ -143,10 +144,10 @@ var CONTROL_HEIGHT = 16., { var layoutdict = [sender representedObject], newItem = [layoutdict objectForKey:@"item"], - indexInCriteria = [[layoutdict objectForKey:@"indexInCriteria"] intValue], + indexInCriteria = [layoutdict objectForKey:@"indexInCriteria"], oldItem = [_correspondingRuleItems objectAtIndex:indexInCriteria]; - if (newItem != oldItem) + if (![newItem isEqual:oldItem]) { [_correspondingRuleItems replaceObjectAtIndex:indexInCriteria withObject:newItem]; [_ruleEditor _changedItem:oldItem toItem:newItem inRow:_rowIndex atCriteriaIndex:indexInCriteria]; @@ -172,150 +173,189 @@ var CONTROL_HEIGHT = 16., - (void)_reconfigureSubviews { - var numItems; - currentItem = nil, - optionView = nil, - indexInCriteria = 0, + var ruleItems, + criteria, + repObject, + menuItem, + ruleView, + criterion, + parent, + numberOfCriteria, + numberOfChildren, + firstResponderIndex; - rowtype = [_ruleEditor rowTypeForRow:_rowIndex], - displayValues = [_ruleEditor displayValuesForRow:_rowIndex]; + var ruleItems = [CPMutableArray array]; [self _emptyRulePartSubviews]; - [_correspondingRuleItems removeAllObjects]; - while ((numItems = [_ruleEditor _queryNumberOfChildrenOfItem:currentItem withRowType:rowtype]) > 0) + criteria = [_ruleEditor criteriaForRow:_rowIndex]; + numberOfCriteria = [criteria count]; + + firstResponderIndex = numberOfCriteria - 1; + var responder = [[self window] firstResponder]; + if (responder) + firstResponderIndex = [_ruleOptionViews indexOfObjectIdenticalTo:responder]; + + for (var i = 0; i < numberOfCriteria; i++) { - var isCustomRightControl = NO; - isStaticTextField = NO, - isPopupMenu = NO, - isMultiValue = numItems > 1, - selectedMenuItemIndex = 0, - selectedItem = nil, - current_display_value = nil, + ruleView = nil; + parent = nil; + criterion = [criteria objectAtIndex:i]; - itemsArray = [CPMutableArray array], - display_value_cached = [displayValues objectAtIndex:indexInCriteria]; + if (i > 0) + parent = [criteria objectAtIndex:i - 1]; - for (var childIndex = 0; childIndex < numItems; childIndex++) + var childItems = [], + childValues = []; + + [_ruleEditor _getAllAvailableItems:childItems values:childValues asChildrenOfItem:parent inRow:_rowIndex]; + + numberOfChildren = [childItems count]; + if (numberOfChildren > 1) { - var childItem = [_ruleEditor _queryChild:childIndex ofItem:currentItem withRowType:rowtype]; - current_display_value = [_ruleEditor _queryValueForItem:childItem inRow:_rowIndex]; + var menuItems = [CPMutableArray arrayWithCapacity:numberOfChildren]; - if (isMultiValue) + var selectedIndex = [childItems indexOfObject:criterion]; + if (selectedIndex == CPNotFound) + break; + + for (var j = 0; j < numberOfChildren; ++j) { - var menuItem; + var childItem = [childItems objectAtIndex:j]; + var childValue = [childValues objectAtIndex:j]; - if ([current_display_value isKindOfClass:[CPString class]]) - menuItem = [self _createMenuItemWithTitle:current_display_value]; - else if ([current_display_value isKindOfClass:[CPMenuItem class]]) - menuItem = current_display_value; - else - [CPException raise:CPInternalInconsistencyException reason:@"Display value must be a string or a menu item"]; - - var layoutDictionary = [CPDictionary dictionaryWithObjectsAndKeys:childItem, @"item", indexInCriteria, @"indexInCriteria"]; - - [menuItem setAction:@selector(_ruleOptionPopupChangedAction:)]; - [menuItem setTarget:self]; - [menuItem setRepresentedObject:layoutDictionary]; - [menuItem setTag:indexInCriteria]; - - [itemsArray addObject:menuItem]; - isPopupMenu = YES; - - if ((childIndex == numItems - 1 && selectedItem == nil) - || ([current_display_value isEqual:display_value_cached]) - || ([current_display_value isKindOfClass:[CPView class]] - && [[current_display_value objectValue] isEqualTo:[display_value_cached objectValue]])) + if ([childValue isKindOfClass:[CPMenuItem class]]) { - selectedItem = childItem; - selectedMenuItemIndex = childIndex; + [[childValue menu] removeItem:childValue]; + menuItem = childValue; } + else + { + if ([childValue isEqualToString:@""]) + menuItem = [self _createMenuSeparatorItem]; + else + { + menuItem = [self _createMenuItemWithTitle:childValue]; + [menuItem setTarget:self]; + [menuItem setAction:@selector(_ruleOptionPopupChangedAction:)]; + } + } + + repObject = [CPDictionary dictionaryWithObjectsAndKeys:childItem, @"item", childValue, @"value", i, @"indexInCriteria"]; + [menuItem setRepresentedObject:repObject]; + [menuItems addObject:menuItem]; } - else if ([current_display_value isKindOfClass:[CPString class]]) + + ruleView = [self _createPopUpButtonWithItems:menuItems selectedItemIndex:selectedIndex]; + } + else + { + var value = [childValues objectAtIndex:0]; + var type = [value valueType]; + + if (type === 0) + ruleView = [self _createStaticTextFieldWithStringValue:value]; + else { - isStaticTextField = YES; - selectedItem = childItem; - selectedMenuItemIndex =0; + if (type !== 1) + { + [CPException raise:CPInternalInconsistencyException reason:@"Display value must be a string or a menu item"]; + continue; + } + + ruleView = value; + [ruleView setTarget:self]; + [ruleView setAction:@selector(_sendRuleAction:)]; + if ([ruleView respondsToSelector:@selector(setDelegate:)]) + [ruleView setDelegate:self]; } - else if ([current_display_value isKindOfClass:[CPView class]]) - { - isCustomRightControl = YES; - selectedItem = childItem; - selectedMenuItemIndex = 0; - } else - [CPException raise:CPInternalInconsistencyException reason:@"Display value must be a string or a custom control"]; } - if (isPopupMenu) + if (ruleView != nil) { - optionView = [self _createPopUpButtonWithItems:itemsArray selectedItemIndex:selectedMenuItemIndex]; - } - else if (isStaticTextField) - { - optionView = [self _createStaticTextFieldWithStringValue:[current_display_value description]]; - } - else if (isCustomRightControl) - { - optionView = display_value_cached; //display_value_cached - [optionView setTarget:self]; - [optionView setAction:@selector(_sendRuleAction:)]; - if ([optionView respondsToSelector:@selector(setEditable:)]) - [optionView setEditable:editable]; - } + [_ruleOptionViews addObject:ruleView]; + var frame = [ruleView frame]; + [_ruleOptionInitialViewFrames addObject:frame]; + [_ruleOptionFrames addObject:frame]; - if (optionView) - { - [_ruleOptionViews addObject:optionView]; - [_ruleOptionInitialViewFrames addObject:[optionView frame]]; - [_ruleOptionFrames addObject:[optionView frame]]; - } + if (!criterion) + criterion = [CPNull null]; - [_correspondingRuleItems addObject:selectedItem]; - currentItem = selectedItem; - indexInCriteria++; + [ruleItems addObject:criterion]; + } } - [self _relayoutSubviewsWidthChanged:(CGRectGetWidth([self frame]) != [_ruleEditor rowHeight])]; + [_correspondingRuleItems setArray:ruleItems]; + + if (!editable) + [self _updateEnabledStateForSubviews]; + + [self _relayoutSubviewsWidthChanged:YES]; + + if (firstResponderIndex != CPNotFound) + { + var aView = [_ruleOptionViews objectAtIndex:firstResponderIndex]; + [[self window] makeFirstResponder:aView]; // This is not working. bug in CPPopUpButton firstResponder ? + } + + //[self setNeedsDisplay:YES]; +} + +- (void)_updateEnabledStateForSubviews +{ + [_ruleOptionViews makeObjectsPerformSelector:@selector(setEnabled:) withObject:NO]; } - (void)layoutSubviews { + // CPLogConsole(_cmd); [self _relayoutSubviewsWidthChanged:YES]; } - (void)_relayoutSubviewsWidthChanged:(BOOL)widthChanged { var optionViewOriginX, + leftHorizontalPadding, + leftButtonMinX, rowHeight = [_ruleEditor rowHeight], count = [_ruleOptionViews count], sliceFrame = [self frame]; - if (widthChanged) - optionViewOriginX = [self _leftmostViewFixedHorizontalPadding] + [self _indentationHorizontalPadding]*[self indentation]; - for (var i = 0; i < count; i++) - { - var ruleOptionView = _ruleOptionViews[i], - optionFrame = _ruleOptionFrames[i], - initialFrame = _ruleOptionInitialViewFrames[i]; - - optionFrame.origin.y = (rowHeight - CGRectGetHeight(optionFrame))/2 - 2; - if (widthChanged) - { - optionFrame.origin.x = optionViewOriginX; - optionFrame.size.width = MIN(CGRectGetMinX(optionFrame) + CGRectGetWidth(initialFrame), CGRectGetMinX([_subtractButton frame]) - [self _rowButtonsLeftHorizontalPadding]) - CGRectGetMinX(optionFrame); - } - - [ruleOptionView setFrame:optionFrame]; - [self addSubview:ruleOptionView]; - if (widthChanged) - optionViewOriginX += CGRectGetWidth(optionFrame) + [self _interviewHorizontalPadding]; - } - var buttonFrame = CGRectMake(CGRectGetWidth(sliceFrame) - BUTTON_HEIGHT - [self _rowButtonsRightHorizontalPadding], ([_ruleEditor rowHeight] - BUTTON_HEIGHT)/2 - 2, BUTTON_HEIGHT, BUTTON_HEIGHT); [_addButton setFrame:buttonFrame]; buttonFrame.origin.x -= BUTTON_HEIGHT + [self _rowButtonsInterviewHorizontalPadding]; [_subtractButton setFrame:buttonFrame]; + + if (widthChanged) + { + optionViewOriginX = [self _leftmostViewFixedHorizontalPadding] + [self _indentationHorizontalPadding] * _indentation; + leftHorizontalPadding = [self _rowButtonsLeftHorizontalPadding]; + leftButtonMinX = CGRectGetMinX(buttonFrame); + } + + for (var i = 0; i < count; i++) + { + var ruleOptionView = _ruleOptionViews[i], + optionFrame = _ruleOptionFrames[i]; + + optionFrame.origin.y = (rowHeight - CGRectGetHeight(optionFrame))/2 - 2; + if (widthChanged) + { + optionFrame.origin.x = optionViewOriginX; + if (i == count - 1 && ![self _isRulePopup:ruleOptionView]) + { + var initialFrame = _ruleOptionInitialViewFrames[i]; + optionFrame.size.width = MIN(CGRectGetWidth(initialFrame), leftButtonMinX - leftHorizontalPadding - optionViewOriginX); + } + } + + [ruleOptionView setFrame:optionFrame]; + [self addSubview:ruleOptionView]; + + if (widthChanged) + optionViewOriginX += CGRectGetWidth(optionFrame) + [self _interviewHorizontalPadding]; + } } - (void)_updateButtonVisibilities @@ -438,31 +478,10 @@ var CONTROL_HEIGHT = 16., - (void)_textDidChange:(CPNotification)aNotif { - if ([[aNotif object] superview] == self) + if ([[aNotif object] superview] == self && [_ruleEditor _sendsActionOnIncompleteTextChange]) [_ruleEditor _sendRuleAction]; } -/* -- (BOOL)_dropsIndentWhenImmediatelyBelow -{ -} -- (double)_minWidthForPass:(int)pass forView:(id)view withProposedMinWidth:(double)minWidth -{ -} -- (id)_sortOptionDictionariesByLayoutOrder:(id)fp8 -{ -} -- (void)_setHideNonPartDrawing:(BOOL)value -{ -} -- (void)_tightenResizables:(id)fp8 intoGivenWidth:(double)fp12 -{ -} -- (void)_updateEnabledStateForSubviews -{ -} -*/ - @end @implementation _CPRuleEditorTextField : CPTextField @@ -490,4 +509,4 @@ var CONTROL_HEIGHT = 16., return [self superview]; } -@end \ No newline at end of file +@end diff --git a/Tests/Manual/CPPredicateEditorCibTest/AppController.j b/Tests/Manual/CPPredicateEditorCibTest/AppController.j index 4820b139b..c6a078a23 100644 --- a/Tests/Manual/CPPredicateEditorCibTest/AppController.j +++ b/Tests/Manual/CPPredicateEditorCibTest/AppController.j @@ -11,7 +11,7 @@ @implementation AppController : CPObject { CPWindow window; - CPRuleEditor predicateEditor; + CPPredicateEditor predicateEditor; CPTextField predicateField; CPTableView leftTable; @@ -33,6 +33,9 @@ [templateBox setCornerRadius:10]; [self updateAddTemplateButton]; + + [predicateEditor setAction:@selector(predicateEditorAction:)]; + [predicateEditor setTarget:self]; [window setBackgroundColor:[CPColor colorWithHexString:@"f3f4f5"]]; [window setFullBridge:YES]; @@ -47,13 +50,13 @@ - (IBAction)predicateEditorAction:(id)sender { - [predicateEditor reloadPredicate]; +// CPLogConsole(_cmd + [predicateEditor displayValuesForRow:1]); [predicateField setStringValue:[[predicateEditor objectValue] predicateFormat]]; } - (void)ruleEditorRowsDidChange:(CPNotification)notification { - CPLogConsole(_cmd); + } // Templates maker diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib index d44a518e7..b69a2fe54 100644 --- a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;D;K;6;CP$UIDd;3;365E;D;K;6;CP$UIDd;3;366E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;368E;D;K;6;CP$UIDd;3;369E;D;K;6;CP$UIDd;3;370E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;372E;D;K;6;CP$UIDd;3;373E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;376E;D;K;6;CP$UIDd;3;377E;D;K;6;CP$UIDd;3;378E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;380E;D;K;6;CP$UIDd;3;381E;D;K;6;CP$UIDd;3;382E;D;K;6;CP$UIDd;3;383E;D;K;6;CP$UIDd;3;384E;D;K;6;CP$UIDd;3;385E;D;K;6;CP$UIDd;3;386E;D;K;6;CP$UIDd;3;387E;D;K;6;CP$UIDd;3;388E;D;K;6;CP$UIDd;3;389E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;391E;D;K;6;CP$UIDd;3;392E;D;K;6;CP$UIDd;3;393E;D;K;6;CP$UIDd;3;394E;D;K;6;CP$UIDd;3;395E;D;K;6;CP$UIDd;3;396E;D;K;6;CP$UIDd;3;397E;D;K;6;CP$UIDd;3;398E;D;K;6;CP$UIDd;3;399E;D;K;6;CP$UIDd;3;400E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;402E;D;K;6;CP$UIDd;3;403E;D;K;6;CP$UIDd;3;404E;D;K;6;CP$UIDd;3;406E;D;K;6;CP$UIDd;3;407E;D;K;6;CP$UIDd;3;408E;D;K;6;CP$UIDd;3;409E;D;K;6;CP$UIDd;3;410E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;412E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;414E;D;K;6;CP$UIDd;3;415E;D;K;6;CP$UIDd;3;416E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;418E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;420E;D;K;6;CP$UIDd;3;421E;D;K;6;CP$UIDd;3;422E;D;K;6;CP$UIDd;3;423E;D;K;6;CP$UIDd;3;424E;D;K;6;CP$UIDd;3;425E;D;K;6;CP$UIDd;3;426E;D;K;6;CP$UIDd;3;427E;D;K;6;CP$UIDd;3;428E;D;K;6;CP$UIDd;3;429E;D;K;6;CP$UIDd;3;430E;D;K;6;CP$UIDd;3;431E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;433E;D;K;6;CP$UIDd;3;434E;D;K;6;CP$UIDd;3;435E;D;K;6;CP$UIDd;3;436E;D;K;6;CP$UIDd;3;437E;D;K;6;CP$UIDd;3;438E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;440E;D;K;6;CP$UIDd;3;441E;D;K;6;CP$UIDd;3;442E;D;K;6;CP$UIDd;3;443E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;445E;D;K;6;CP$UIDd;3;446E;D;K;6;CP$UIDd;3;447E;D;K;6;CP$UIDd;3;448E;D;K;6;CP$UIDd;3;449E;D;K;6;CP$UIDd;3;450E;D;K;6;CP$UIDd;3;451E;D;K;6;CP$UIDd;3;452E;D;K;6;CP$UIDd;3;453E;D;K;6;CP$UIDd;3;454E;D;K;6;CP$UIDd;3;455E;D;K;6;CP$UIDd;3;456E;D;K;6;CP$UIDd;3;457E;D;K;6;CP$UIDd;3;458E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;460E;D;K;6;CP$UIDd;3;461E;D;K;6;CP$UIDd;3;462E;D;K;6;CP$UIDd;3;463E;D;K;6;CP$UIDd;3;464E;D;K;6;CP$UIDd;3;465E;D;K;6;CP$UIDd;3;466E;D;K;6;CP$UIDd;3;467E;D;K;6;CP$UIDd;3;468E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;470E;D;K;6;CP$UIDd;3;471E;D;K;6;CP$UIDd;3;472E;D;K;6;CP$UIDd;3;473E;D;K;6;CP$UIDd;3;474E;D;K;6;CP$UIDd;3;475E;D;K;6;CP$UIDd;3;476E;D;K;6;CP$UIDd;3;477E;D;K;6;CP$UIDd;3;478E;D;K;6;CP$UIDd;3;479E;D;K;6;CP$UIDd;3;480E;D;K;6;CP$UIDd;3;481E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;173E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;103E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;483E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;485E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;488E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;489E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;118E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;118E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;496E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;497E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;499E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;501E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;504E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;505E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;511E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;84E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;53E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;512E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;513E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;513E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;513E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;514E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;515E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;517E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;518E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;521E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;83E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;524E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;525E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;526E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;528E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;529E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;530E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;531E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;513E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;532E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;515E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;533E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;536E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;537E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;530E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;150E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;540E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;541E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;542E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;543E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;544E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;545E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;546E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;547E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;548E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;549E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;550E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;551E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;150E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;553E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;554E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;496E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;555E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;556E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;90E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;557E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;26E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;560E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;561E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;563E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;564E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;566E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;501E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;567E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;568E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;569E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;570E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;571E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;561E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;572E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;573E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;574E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;575E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;515E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;487E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;487E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;487E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;487E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;531E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;531E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;576E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;577E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;82E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;185E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;578E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;574E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;61E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;579E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;580E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;581E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;582E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;583E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;584E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;585E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;588E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;589E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;495E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;590E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;592E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;593E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;594E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;595E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;596E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;601E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;602E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;603E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;604E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;577E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;605E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;522E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;606E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;608E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;609E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;26E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;610E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;612E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;501E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;613E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;505E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;614E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;615E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;199E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;187E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;512E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;513E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;513E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;513E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;616E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;515E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;617E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;618E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;621E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;495E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;622E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;513E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;625E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;515E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;495E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;524E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;525E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;526E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;626E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;627E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;530E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;531E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;513E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;556E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;628E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;496E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;487E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;487E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;487E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;629E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;531E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;513E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;630E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;631E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;632E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;633E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;634E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;635E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;636E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;637E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;638E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;615E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;615E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;640E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;641E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;642E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;487E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;495E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;531E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;513E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;513E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;513E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;513E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;643E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;513E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;645E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;646E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;648E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;649E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;650E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;651E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;530E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;652E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;175E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;173E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;653E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;654E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;656E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;496E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;150E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;657E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;658E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;659E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;650E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;660E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;661E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;662E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;663E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;662E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;664E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;665E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;112E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;666E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;667E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;667E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;668E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;666E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;669E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;513E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;531E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;531E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;670E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;671E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;530E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;3;672E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;673E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;674E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;675E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;676E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;677E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;678E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;680E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;681E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;682E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;683E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;684E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;685E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;686E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;166E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;687E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;688E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;689E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;666E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;145E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;22E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;512E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;512E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;513E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;531E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;513E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;690E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;691E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;580E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;692E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;693E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;694E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;695E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;696E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;697E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;698E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;699E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;700E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;495E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;701E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;702E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;703E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;704E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;705E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;702E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;126E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;552E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;706E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;707E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;708E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;709E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;710E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;490E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;711E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;585E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;712E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;713E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;714E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;715E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;716E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;717E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;718E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;715E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;719E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;720E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;721E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;722E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;580E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;511E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;640E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;641E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;642E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;487E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;495E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;531E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;513E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;513E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;513E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;513E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;723E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;513E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;724E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;725E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;726E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;727E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;728E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;729E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;730E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;731E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;732E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;118E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;609E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;118E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;610E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;733E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;29E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;636E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;734E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;551E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;735E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;736E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;737E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;738E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;496E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;657E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;739E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;740E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;741E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;742E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;743E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;581E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;744E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;589E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;745E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;746E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;747E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;748E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;749E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;750E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;751E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;752E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;753E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;515E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;150E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;533E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;754E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;755E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;756E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;729E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;487E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;495E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;496E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;757E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;758E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;487E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;496E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;759E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;686E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;760E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;761E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;762E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;763E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;764E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;765E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;766E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;767E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;768E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;515E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;769E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;770E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;771E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;772E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;773E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;774E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;530E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;600E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;652E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;775E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;776E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;490E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;698E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;124E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;46E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;777E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;549E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;46E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;633E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;93E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;46E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;778E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;779E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;780E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;495E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;781E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;531E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;531E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;531E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;515E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;495E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;545E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;782E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;783E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;784E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;86E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;557E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;86E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;86E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;785E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;706E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;786E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;28E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;707E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;787E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;788E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;751E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;523E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;162E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;166E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;789E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;790E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;499E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;791E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;792E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;793E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;794E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;591E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;586E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;16;$aimage-positionD;K;6;CP$UIDd;3;515E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;795E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;86E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;608E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;86E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;492E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;609E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;86E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;610E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;487E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;170E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;796E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;797E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;170E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;599E;K;16;$aimage-positionD;K;6;CP$UIDd;3;487E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;487E;K;11;$aalignmentD;K;6;CP$UIDd;3;515E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;496E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;600E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;531E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;487E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;513E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;516E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;531E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;798E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;799E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;26S;2;25S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;37S;2;35S;2;36S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;51S;2;52S;2;53S;2;54S;2;55S;2;56S;2;57S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;71S;2;72S;2;73S;2;74S;2;75S;2;76S;2;77S;2;81S;2;79S;2;80S;2;78S;2;82S;2;83S;2;84S;2;85S;2;86S;2;87S;2;88S;12;File's OwnerS;2;90S;2;89S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;107S;3;104S;3;106S;3;105S;3;108S;3;109S;3;110S;3;111S;3;113S;3;112S;3;115S;3;114S;3;116S;3;117S;3;118S;3;119S;3;121S;3;120S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136S;3;137S;3;138S;3;139S;3;140S;3;141S;3;142S;3;143S;3;144S;3;145S;3;147S;3;146S;3;148S;3;149S;3;150S;3;151S;3;152S;3;153S;3;154S;3;155S;3;156S;3;157S;3;158S;3;159S;3;160S;3;161S;3;162S;3;163S;3;164S;3;165S;3;166S;3;167S;3;168S;3;169S;3;170S;3;171S;3;172S;3;173S;3;174S;3;175S;3;176S;3;177S;3;178S;3;179S;3;180S;3;181S;3;182S;3;183S;3;184S;3;185D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;144E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;801E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;96E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;802E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;113E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;803E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;103E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;805E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;142E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;806E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;165E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;807E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;800E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;810E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;811E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;812E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;814E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;815E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;816E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;817E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;818E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;819E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;820E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;822E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;823E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;151E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;824E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;825E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;826E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;827E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;828E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;829E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;830E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;831E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;832E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;833E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;834E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;835E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;836E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;837E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;838E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;839E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;840E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;841E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;842E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;843E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;844E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;845E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;846E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;847E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;848E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;849E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;850E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;851E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;181E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;852E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;24E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;853E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;69E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;854E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;114E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;855E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;856E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;56E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;857E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;858E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;859E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;860E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;861E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;862E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;863E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;864E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;865E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;866E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;867E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;868E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;869E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;870E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;113E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;871E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;872E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;873E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;72E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;876E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;877E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;405E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;878E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;E;E;S;3;CutS;1;xd;7;1048576d;1;0S;24;{{-100, 249}, {360, 15}}S;19;{{0, 0}, {360, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4d;1;1S;9;ends withS;17;_popUpItemAction:d;1;9S;10;Copy RulerS;1;cd;7;1310720D;K;6;$classD;K;6;CP$UIDd;3;169E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;165E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;948E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;949E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;950E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;165E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;S;21;{{9, 302}, {218, 97}}S;19;{{0, 0}, {218, 97}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;511E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;3;514E;E;E;d;2;36S;10;scrollviewS;6;normalD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;510E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;879E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;880E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;490E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;881E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;142E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;d;1;2S;0;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;3;190E;E;E;S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;202E;E;E;S;3;NewS;1;nS;4;HelpS;14;submenuAction:d;3;213d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;527E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;883E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;884E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;487E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;516E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;886E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;887E;K;6;$afontD;K;6;CP$UIDd;3;889E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;15;$acontent-insetD;K;6;CP$UIDd;3;891E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;516E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;495E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;487E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;516E;E;d;1;3F;S;9;Find NextS;1;gS;18;Customize Toolbar…S;14;Check SpellingS;1;;S;11;Smart LinksS;1;Gd;7;1179648S;5;RaiseS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{335, 77}, {960, 534}}d;2;15S;6;WindowS;17;Jump to SelectionS;1;jS;5;LowerS;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;177E;E;E;S;13;SubstitutionsS;11;Use DefaultS;7;StringsS;6;ItalicS;1;iS;4;EditS;21;{{1, -37}, {223, 15}}S;19;{{0, 0}, {223, 15}}f;18;0.9953917050691244S;12;Show ToolbarS;1;td;7;1572864S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;31E;E;E;S;10;Copy StyleS;10;Align LeftS;1;{S;11;Align RightS;1;}S;10;Show FontsS;5;CloseS;1;wS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;36E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;892E;D;K;6;CP$UIDd;3;893E;E;E;S;4;KernS;6;LoosenS;11;Paste RulerS;1;vS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;45E;E;E;d;1;6S;21;{{14, 227}, {96, 18}}S;18;{{0, 0}, {96, 18}}S;9;check-boxS;8;borderedS;7;MatchesS;8;ServicesS;21;{{14, 175}, {33, 18}}S;18;{{0, 0}, {33, 18}}S;1;=S;13;Stop SpeakingS;22;{{189, 175}, {33, 18}}S;1;S;22;{{601, 242}, {30, 24}}S;18;{{0, 0}, {30, 24}}S;6;Print…S;1;pS;8;delegateS;11;addTemplateS;9;leftTableS;15;predicateEditorS;14;predicateFieldS;20;rightExpressionsTypeS;10;rightTableS;11;templateBoxS;6;windowS;10;dataSourceS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;7;addRow:S;17;displayPredicate:S;22;predicateEditorAction:S;15;addLeftKeyPath:S;16;updateOperators:S;25;selectRightAttributeType:S;17;addRightConstant:S;12;addTemplate:S;19;{{1, 1}, {216, 95}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;142E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;624E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;918E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;920E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;885E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;921E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;922E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;531E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;888E;K;4;nameD;K;6;CP$UIDd;3;923E;K;6;valuesD;K;6;CP$UIDd;3;925E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;890E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;926E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;927E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;928E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;929E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;931E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;932E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;933E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;934E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;888E;K;4;nameD;K;6;CP$UIDd;3;923E;K;6;valuesD;K;6;CP$UIDd;3;935E;E;D;K;6;$classD;K;6;CP$UIDd;3;890E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;926E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;191E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;936E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;937E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;28E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;938E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;939E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;655E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;495E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;487E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;495E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;515E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;940E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;941E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;620E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;942E;K;6;$afontD;K;6;CP$UIDd;3;930E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;487E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;516E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;623E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;513E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;513E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;625E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;515E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;487E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;944E;E;E;D;K;10;$classnameS;17;CPExpression_selfK;8;$classesA;S;17;CPExpression_selfS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;907E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;909E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;113E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;487E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;667E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;667E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;945E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{1, 1}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;113E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;624E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;946E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;947E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;487E;D;K;6;CP$UIDd;3;487E;D;K;6;CP$UIDd;3;487E;D;K;6;CP$UIDd;3;951E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;952E;D;K;6;CP$UIDd;3;953E;D;K;6;CP$UIDd;3;954E;D;K;6;CP$UIDd;3;496E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;D;K;6;CP$UIDd;3;496E;E;E;D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;919E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;528E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;528E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;945E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;924E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;955E;K;6;normalD;K;6;CP$UIDd;3;886E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;956E;E;S;18;{{7, 8}, {58, 24}}S;18;{{0, 0}, {58, 24}}D;K;6;$classD;K;6;CP$UIDd;3;885E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;957E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;958E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;531E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;516E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;959E;E;S;20;{{71, 8}, {167, 24}}S;19;{{0, 0}, {167, 24}}D;K;6;$classD;K;6;CP$UIDd;3;919E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;626E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;882E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;882E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;626E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;945E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;3;924E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;955E;K;6;normalD;K;6;CP$UIDd;3;886E;E;E;S;19;{{37, 8}, {79, 24}}S;18;{{0, 0}, {79, 24}}S;20;{{122, 8}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;21;{{224, 1}, {167, 25}}S;19;{{0, 0}, {167, 25}}S;19;bezeled+placeholderD;K;10;$classnameS;21;CPExpression_constantK;8;$classesA;S;21;CPExpression_constantS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;943E;K;15;CPConstantValueD;K;6;CP$UIDd;3;646E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;496E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;943E;K;15;CPConstantValueD;K;6;CP$UIDd;3;961E;E;S;20;{{1, 1}, {240, 438}}S;20;{{0, 0}, {240, 438}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;77E;E;E;f;4;0.42f;12;0.8911290323f;12;0.8901341359f;12;0.8899458051D;K;6;$classD;K;6;CP$UIDd;3;885E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;921E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;922E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;513E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;962E;D;K;6;CP$UIDd;3;963E;E;E;S;5;Ariald;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;964E;E;E;f;12;0.9100000262S;6;stringD;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;965E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;927E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;966E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;927E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;496E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;967E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;498E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;496E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;931E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;486E;E;S;3;AnyS;3;AllS;25;of the following are trueE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;D;K;6;CP$UIDd;3;365E;D;K;6;CP$UIDd;3;366E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;368E;D;K;6;CP$UIDd;3;369E;D;K;6;CP$UIDd;3;370E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;372E;D;K;6;CP$UIDd;3;373E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;376E;D;K;6;CP$UIDd;3;377E;D;K;6;CP$UIDd;3;378E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;380E;D;K;6;CP$UIDd;3;381E;D;K;6;CP$UIDd;3;382E;D;K;6;CP$UIDd;3;383E;D;K;6;CP$UIDd;3;384E;D;K;6;CP$UIDd;3;385E;D;K;6;CP$UIDd;3;386E;D;K;6;CP$UIDd;3;387E;D;K;6;CP$UIDd;3;388E;D;K;6;CP$UIDd;3;389E;D;K;6;CP$UIDd;3;390E;D;K;6;CP$UIDd;3;391E;D;K;6;CP$UIDd;3;392E;D;K;6;CP$UIDd;3;393E;D;K;6;CP$UIDd;3;394E;D;K;6;CP$UIDd;3;395E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;397E;D;K;6;CP$UIDd;3;398E;D;K;6;CP$UIDd;3;399E;D;K;6;CP$UIDd;3;400E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;402E;D;K;6;CP$UIDd;3;403E;D;K;6;CP$UIDd;3;404E;D;K;6;CP$UIDd;3;405E;D;K;6;CP$UIDd;3;406E;D;K;6;CP$UIDd;3;407E;D;K;6;CP$UIDd;3;408E;D;K;6;CP$UIDd;3;409E;D;K;6;CP$UIDd;3;410E;D;K;6;CP$UIDd;3;412E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;414E;D;K;6;CP$UIDd;3;415E;D;K;6;CP$UIDd;3;416E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;418E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;420E;D;K;6;CP$UIDd;3;421E;D;K;6;CP$UIDd;3;422E;D;K;6;CP$UIDd;3;423E;D;K;6;CP$UIDd;3;424E;D;K;6;CP$UIDd;3;425E;D;K;6;CP$UIDd;3;426E;D;K;6;CP$UIDd;3;427E;D;K;6;CP$UIDd;3;428E;D;K;6;CP$UIDd;3;429E;D;K;6;CP$UIDd;3;430E;D;K;6;CP$UIDd;3;431E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;433E;D;K;6;CP$UIDd;3;434E;D;K;6;CP$UIDd;3;435E;D;K;6;CP$UIDd;3;436E;D;K;6;CP$UIDd;3;437E;D;K;6;CP$UIDd;3;438E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;440E;D;K;6;CP$UIDd;3;441E;D;K;6;CP$UIDd;3;442E;D;K;6;CP$UIDd;3;443E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;445E;D;K;6;CP$UIDd;3;446E;D;K;6;CP$UIDd;3;447E;D;K;6;CP$UIDd;3;448E;D;K;6;CP$UIDd;3;449E;D;K;6;CP$UIDd;3;450E;D;K;6;CP$UIDd;3;451E;D;K;6;CP$UIDd;3;452E;D;K;6;CP$UIDd;3;453E;D;K;6;CP$UIDd;3;454E;D;K;6;CP$UIDd;3;455E;D;K;6;CP$UIDd;3;456E;D;K;6;CP$UIDd;3;457E;D;K;6;CP$UIDd;3;458E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;460E;D;K;6;CP$UIDd;3;461E;D;K;6;CP$UIDd;3;462E;D;K;6;CP$UIDd;3;463E;D;K;6;CP$UIDd;3;464E;D;K;6;CP$UIDd;3;465E;D;K;6;CP$UIDd;3;466E;D;K;6;CP$UIDd;3;467E;D;K;6;CP$UIDd;3;468E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;470E;D;K;6;CP$UIDd;3;471E;D;K;6;CP$UIDd;3;472E;D;K;6;CP$UIDd;3;473E;D;K;6;CP$UIDd;3;474E;D;K;6;CP$UIDd;3;475E;D;K;6;CP$UIDd;3;476E;D;K;6;CP$UIDd;3;477E;D;K;6;CP$UIDd;3;478E;D;K;6;CP$UIDd;3;479E;D;K;6;CP$UIDd;3;480E;D;K;6;CP$UIDd;3;481E;D;K;6;CP$UIDd;3;482E;D;K;6;CP$UIDd;3;483E;D;K;6;CP$UIDd;3;484E;D;K;6;CP$UIDd;3;485E;D;K;6;CP$UIDd;3;486E;D;K;6;CP$UIDd;3;487E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;2;52E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;202E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;488E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;489E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;490E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;491E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;492E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;493E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;494E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;494E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;494E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;494E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;495E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;495E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;496E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;497E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;498E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;499E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;199E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;503E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;504E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;501E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;494E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;494E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;494E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;505E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;495E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;506E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;507E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;508E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;509E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;510E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;511E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;512E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;145E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;514E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;515E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;516E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;518E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;519E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;520E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;495E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;506E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;521E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;522E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;525E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;526E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;532E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;104E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;72E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;533E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;506E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;495E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;506E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;534E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;537E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;520E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;539E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;540E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;541E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;542E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;543E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;546E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;547E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;548E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;549E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;550E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;551E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;497E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;23E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;552E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;553E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;554E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;16;$aimage-positionD;K;6;CP$UIDd;3;494E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;501E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;556E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;494E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;557E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;558E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;559E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;89E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;196E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;560E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;561E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;562E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;563E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;564E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;68E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;565E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;563E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;567E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;568E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;569E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;570E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;571E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;572E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;574E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;575E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;576E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;577E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;128E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;102E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;533E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;506E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;506E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;506E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;578E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;579E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;202E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;580E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;26E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;581E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;582E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;583E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;584E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;585E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;564E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;586E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;587E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;588E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;589E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;592E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;593E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;37E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;594E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;494E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;501E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;595E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;596E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;598E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;554E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;16;$aimage-positionD;K;6;CP$UIDd;3;494E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;501E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;599E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;494E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;600E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;601E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;602E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;23E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;603E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;604E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;23E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;605E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;606E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;607E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;566E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;608E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;609E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;612E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;613E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;614E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;615E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;616E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;617E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;618E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;619E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;170E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;620E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;621E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;622E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;511E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;621E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;624E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;625E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;626E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;627E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;628E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;559E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;629E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;630E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;631E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;632E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;633E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;634E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;635E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;48E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;185E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;636E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;637E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;185E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;592E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;638E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;185E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;639E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;494E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;640E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;641E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;642E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;643E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;644E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;645E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;646E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;145E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;626E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;87E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;100E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;577E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;647E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;647E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;577E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;648E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;649E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;650E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;494E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;511E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;495E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;506E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;506E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;506E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;506E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;651E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;506E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;653E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;62E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;654E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;655E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;62E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;592E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;593E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;62E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;594E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;494E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;656E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;657E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;501E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;658E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;659E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;660E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;592E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;638E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;37E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;639E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;494E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;661E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;662E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;663E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;664E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;665E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;666E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;667E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;501E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;23E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;658E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;668E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;669E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;670E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;671E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;68E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;672E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;673E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;488E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;674E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;675E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;676E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;571E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;61E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;643E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;95E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;677E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;26E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;678E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;679E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;680E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;681E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;682E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;520E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;556E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;683E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;684E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;685E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;501E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;686E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;687E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;560E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;54E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;62E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;636E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;637E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;62E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;592E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;638E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;62E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;639E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;494E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;640E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;688E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;689E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;520E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;23E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;538E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;690E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;607E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;613E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;691E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;675E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;692E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;693E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;694E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;695E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;696E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;697E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;698E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;554E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;16;$aimage-positionD;K;6;CP$UIDd;3;494E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;501E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;556E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;494E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;699E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;170E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;590E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;700E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;609E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;701E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;702E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;703E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;621E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;704E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;705E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;706E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;707E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;708E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;709E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;710E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;711E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;712E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;646E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;713E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;642E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;714E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;715E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;716E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;717E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;718E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;176E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;719E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;202E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;720E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;721E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;493E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;603E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;722E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;683E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;124E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;196E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;723E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;510E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;511E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;724E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;725E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;726E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;727E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;199E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;54E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;728E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;729E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;642E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;730E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;731E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;732E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;493E;K;11;$aalignmentD;K;6;CP$UIDd;3;511E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;733E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;734E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;495E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;495E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;495E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;493E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;511E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;735E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;3;100E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;736E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;647E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;647E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;736E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;648E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;649E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;650E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;494E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;511E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;495E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;506E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;506E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;506E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;506E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;737E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;506E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;738E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;739E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;740E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;699E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;741E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;742E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;743E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;675E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;744E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;745E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;746E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;698E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;554E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;16;$aimage-positionD;K;6;CP$UIDd;3;494E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;493E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;501E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;556E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;494E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;747E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;718E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;748E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;514E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;515E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;516E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;749E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;750E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;520E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;495E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;506E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;711E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;144E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;751E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;511E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;752E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;506E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;535E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;495E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;543E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;753E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;635E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;754E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;755E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;185E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;654E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;655E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;185E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;592E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;593E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;185E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;594E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;494E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;656E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;756E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;202E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;757E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;575E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;758E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;736E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;92E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;183E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;533E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;533E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;506E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;506E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;506E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;759E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;26E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;532E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;760E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;760E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;761E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;532E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;762E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;763E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;3;506E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;495E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;3;506E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;764E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;765E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;520E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;3;535E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;766E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;767E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;768E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;769E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;770E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;771E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;773E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;774E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;775E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;776E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;777E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;778E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;581E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;635E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;182E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;544E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;20E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;501E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;494E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;3;494E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;3;494E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;505E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;495E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;506E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;779E;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;780E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;781E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;762E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;732E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;782E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;493E;K;11;$aalignmentD;K;6;CP$UIDd;3;511E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;783E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;734E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;506E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;506E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;506E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;785E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;493E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;511E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;676E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;786E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;787E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;788E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;23E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;789E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;790E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;563E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;692E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;791E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;792E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;170E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;52E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;793E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;794E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;203E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;796E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;797E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;798E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;598E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;494E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;511E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;501E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;799E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;800E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;494E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;501E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;801E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;573E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;493E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;802E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;621E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;573E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;610E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;16;$aimage-positionD;K;6;CP$UIDd;3;493E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;803E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;495E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;494E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;28S;2;27S;2;26S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;35S;2;36S;2;37S;2;38S;2;39S;2;41S;2;40S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;52S;2;51S;2;53S;2;54S;2;55S;2;59S;2;57S;2;58S;2;56S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;70S;2;69S;2;74S;2;68S;2;72S;2;73S;2;71S;2;75S;2;76S;2;77S;2;78S;2;79S;2;80S;2;81S;2;82S;2;83S;2;84S;2;85S;2;86S;2;87S;2;88S;2;89S;2;90S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;105S;3;106S;12;File's OwnerS;3;107S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;116S;3;115S;3;117S;3;114S;3;118S;3;119S;3;120S;3;121S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136S;3;137S;3;138S;3;139S;3;140S;3;141S;3;142S;3;143S;3;144S;3;145S;3;146S;3;148S;3;147S;3;149S;3;150S;3;151S;3;152S;3;153S;3;154S;3;155S;3;156S;3;157S;3;158S;3;159S;3;160S;3;161S;3;162S;3;163S;3;164S;3;165S;3;166S;3;167S;3;168S;3;169S;3;170S;3;171S;3;172S;3;173S;3;174S;3;175S;3;176S;3;177S;3;178S;3;179S;3;180S;3;181S;3;182S;3;183S;3;184S;3;185S;3;186S;3;187S;3;188D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;115E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;74E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;805E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;101E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;806E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;188E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;807E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;195E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;808E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;202E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;809E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;168E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;810E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;204E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;811E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;812E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;813E;E;D;K;6;$classD;K;6;CP$UIDd;3;396E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;804E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;814E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;815E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;816E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;817E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;818E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;819E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;820E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;821E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;822E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;823E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;824E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;825E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;113E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;826E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;827E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;114E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;115E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;828E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;829E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;830E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;831E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;832E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;833E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;834E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;835E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;28E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;836E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;837E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;838E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;839E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;840E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;841E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;842E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;843E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;35E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;844E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;845E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;846E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;847E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;848E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;849E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;850E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;851E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;852E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;853E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;854E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;855E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;167E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;856E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;857E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;858E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;859E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;860E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;861E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;862E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;863E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;864E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;865E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;159E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;866E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;867E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;868E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;869E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;870E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;871E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;872E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;873E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;93E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;874E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;188E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;875E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;876E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;877E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;878E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;205E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;880E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;881E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;84E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;879E;E;D;K;6;$classD;K;6;CP$UIDd;3;411E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;112E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;882E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;91E;E;E;S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;2d;1;0F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;883E;D;K;6;CP$UIDd;3;884E;E;E;S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;77E;E;E;S;6;stringS;17;_popUpItemAction:d;1;1d;7;1048576S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;3;120E;E;E;d;3;700T;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;885E;D;K;6;CP$UIDd;3;886E;D;K;6;CP$UIDd;3;887E;E;E;S;14;Check SpellingS;1;;S;2;isd;1;4S;7;TightenS;8;Use Noned;3;213d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;517E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;888E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;888E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;889E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;890E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;494E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;535E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;892E;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;888E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;888E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;732E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;893E;K;6;$afontD;K;6;CP$UIDd;3;895E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;493E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;15;$acontent-insetD;K;6;CP$UIDd;3;897E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;535E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;734E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;511E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;494E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;535E;E;d;1;3S;4;RedoS;1;Zd;7;1179648S;27;Check Spelling While TypingS;22;{{20, 74}, {611, 164}}S;20;{{0, 0}, {611, 164}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;532E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;534E;E;E;d;2;36S;10;scrollviewS;6;normalD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;531E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;898E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;760E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;899E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;900E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;188E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;888E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;888E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;S;0;S;6;one opS;11;Smart LinksS;1;GS;7;matchesd;1;6S;10;Align LeftS;1;{S;13;SubstitutionsS;14;submenuAction:S;11;SuperscriptS;11;Align RightS;1;}S;5;LowerS;21;{{7, 11}, {960, 534}}S;20;{{0, 0}, {960, 534}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;2;74E;E;E;S;22;{{601, 242}, {30, 24}}S;18;{{0, 0}, {30, 24}}S;6;buttonS;17;selected+borderedS;1;+S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;2;64E;E;E;S;4;FontS;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;137E;E;E;S;5;PasteS;1;vS;11;Open RecentS;11;Paste Styled;7;1572864S;3;CutS;1;xS;19;NewApplication HelpS;1;?S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;93E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;204E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;947E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;948E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;949E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;204E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;946E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;S;20;{{9, 30}, {218, 97}}S;19;{{0, 0}, {218, 97}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;577E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;578E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;531E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;62E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;901E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;647E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;902E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;62E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;590E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;903E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;62E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;888E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;888E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;62E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;S;15;Constant ValuesS;12;Show ToolbarS;1;tS;8;MinimizeS;1;mS;4;BoldS;1;bS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;113E;E;E;S;24;{{-100, 249}, {360, 15}}S;19;{{0, 0}, {360, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:S;6;DeleteS;23;{{837, 486}, {103, 24}}S;19;{{0, 0}, {103, 24}}d;2;33S;12;Add TemplateS;12;Preferences…S;1;,S;9;Find NextS;1;gS;17;Jump to SelectionS;1;jS;11;Hide OthersS;1;hS;21;{{14, 227}, {96, 18}}S;18;{{0, 0}, {96, 18}}S;9;check-boxS;8;borderedS;7;MatchesS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;153E;E;E;d;1;9S;22;{{144, 201}, {84, 18}}S;18;{{0, 0}, {84, 18}}S;9;Ends WithS;13;Stop SpeakingS;22;{{189, 175}, {33, 18}}S;18;{{0, 0}, {33, 18}}S;1;S;8;delegateS;11;addTemplateS;9;leftTableS;15;predicateEditorS;14;predicateFieldS;20;rightExpressionsTypeS;10;rightTableS;11;templateBoxS;6;windowS;10;dataSourceS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;7;addRow:S;17;displayPredicate:S;22;predicateEditorAction:S;15;addLeftKeyPath:S;16;updateOperators:S;25;selectRightAttributeType:S;17;addRightConstant:S;12;addTemplate:D;K;6;$classD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;920E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;921E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;922E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;924E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;925E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;926E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;199E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;927E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;928E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;929E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;930E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;931E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;932E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;732E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;933E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;493E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;535E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;734E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;506E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;506E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;506E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;785E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;493E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;494E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;935E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;891E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;936E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;937E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;495E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;894E;K;4;nameD;K;6;CP$UIDd;3;938E;K;6;valuesD;K;6;CP$UIDd;3;940E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;896E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;941E;E;S;20;{{1, 1}, {609, 162}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;188E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;784E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;942E;E;S;19;{{1, 1}, {216, 95}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;784E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;943E;E;S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;944E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;894E;K;4;nameD;K;6;CP$UIDd;3;938E;K;6;valuesD;K;6;CP$UIDd;3;945E;E;D;K;6;$classD;K;6;CP$UIDd;3;896E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;941E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;E;E;D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;911E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;760E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;760E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;188E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;946E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;86E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;927E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;928E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;129E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;929E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;930E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;795E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;611E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;511E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;494E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;511E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;1;0E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;493E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;494E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;931E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;932E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;732E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;933E;K;6;$afontD;K;6;CP$UIDd;3;923E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;493E;K;11;$aalignmentD;K;6;CP$UIDd;3;494E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;535E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;734E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;506E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;506E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;506E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;785E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;493E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;494E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;501E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;494E;D;K;6;CP$UIDd;3;494E;D;K;6;CP$UIDd;3;494E;D;K;6;CP$UIDd;3;950E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;951E;D;K;6;CP$UIDd;3;952E;D;K;6;CP$UIDd;3;953E;D;K;6;CP$UIDd;3;501E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;954E;E;S;18;{{7, 8}, {58, 24}}S;18;{{0, 0}, {58, 24}}D;K;6;$classD;K;6;CP$UIDd;3;891E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;955E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;956E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;535E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;957E;E;S;20;{{71, 8}, {167, 24}}S;19;{{0, 0}, {167, 24}}S;19;{{37, 8}, {79, 24}}S;18;{{0, 0}, {79, 24}}S;20;{{122, 8}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;21;{{224, 1}, {167, 25}}S;19;{{0, 0}, {167, 25}}S;19;bezeled+placeholderD;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;934E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;518E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;888E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;888E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;518E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;946E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;939E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;958E;K;6;normalD;K;6;CP$UIDd;3;892E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;959E;D;K;6;CP$UIDd;3;959E;D;K;6;CP$UIDd;3;959E;D;K;6;CP$UIDd;3;501E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;501E;D;K;6;CP$UIDd;3;501E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;934E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;749E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;888E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;888E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;749E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;946E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;E;D;K;6;$classD;K;6;CP$UIDd;3;939E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;958E;K;6;normalD;K;6;CP$UIDd;3;892E;E;E;d;2;18S;20;{{1, 1}, {240, 438}}S;20;{{0, 0}, {240, 438}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;84E;E;E;f;4;0.42f;12;0.8911290323f;12;0.8901341359f;12;0.8899458051D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;960E;D;K;6;CP$UIDd;3;961E;E;E;S;5;Ariald;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;962E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;891E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;936E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;937E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;506E;E;f;12;0.9100000262D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;963E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;920E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;964E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;920E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;501E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;965E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;500E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;501E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;924E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;502E;E;S;3;AnyS;3;AllS;25;of the following are trueE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib index 8ba421b09..482348609 100644 --- a/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib +++ b/Tests/Manual/CPPredicateEditorCibTest/Resources/MainMenu.xib @@ -1151,11 +1151,12 @@ {{20, 476}, {611, 22}} + YES -1804468671 268436480 - string ENDSWITH "foo" + string MATCHES "foo" YES @@ -1195,17 +1196,17 @@ 274 - + 290 - - + + 257 {{581, 4}, {18, 18}} - + - + -1 YES @@ -1223,9 +1224,9 @@ - + _addOption: - + -2038284033 36 @@ -1238,13 +1239,13 @@ 75 - - - 257 + + + -2147483391 {{561, 4}, {18, 18}} - + - + -1 YES @@ -1258,9 +1259,9 @@ - + _deleteOption: - + -2038284033 36 @@ -1270,10 +1271,10 @@ - + 256 {{7, 4}, {58, 19}} - + -1 @@ -1338,12 +1339,12 @@ - + 256 {{71, 4}, {167, 19}} - + - + -1 YES @@ -1400,7 +1401,7 @@ {{7, 4}, {58, 19}} {{71, 4}, {167, 19}} - + 2 @@ -1416,7 +1417,7 @@ NO - + @@ -1424,23 +1425,23 @@ 2 {{7, 4}, {58, 19}} {{71, 4}, {167, 19}} - - + + 0 0 YES - + 290 - - + + 257 {{581, 4}, {18, 18}} - + - + -1 YES @@ -1454,9 +1455,9 @@ - + _addOption: - + -2038284033 36 @@ -1465,13 +1466,13 @@ 75 - - + + 257 {{561, 4}, {18, 18}} - + - + -1 YES @@ -1485,9 +1486,9 @@ - + _deleteOption: - + -2038284033 36 @@ -1497,10 +1498,10 @@ - + 256 {{37, 4}, {79, 19}} - + -1 @@ -1509,19 +1510,6 @@ 67239488 4196352 - - 3 - valueForKey: - - 1 - - - - 10 - string - - - -2038284033 36 @@ -1529,9 +1517,9 @@ 400 75 - + - astring + string 1048576 2147483647 @@ -1539,15 +1527,14 @@ _popUpItemAction: - YES - - + + string2 @@ -1556,17 +1543,6 @@ _popUpItemAction: - - 3 - valueForKey: - - - - 10 - string2 - - - @@ -1579,10 +1555,10 @@ - + 256 {{122, 4}, {99, 19}} - + -1 @@ -1591,7 +1567,7 @@ 67239488 4196352 - + -2038284033 36 @@ -1599,9 +1575,9 @@ 400 75 - + - begins with + is 1048576 2147483647 @@ -1609,48 +1585,24 @@ _popUpItemAction: - + YES - - + + - is not + matches 1048576 2147483647 _popUpItemAction: - - - - - - ends with - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - contains - - 1048576 - 2147483647 - - - _popUpItemAction: - + @@ -1663,12 +1615,12 @@ - + 256 {{227, 4}, {160, 18}} - + - + YES 343014976 @@ -1705,7 +1657,7 @@ {{122, 4}, {99, 19}} {{227, 4}, {160, 18}} - + 1 @@ -1722,11 +1674,11 @@ YES - + - + @@ -1735,8 +1687,240 @@ {{37, 4}, {79, 19}} {{122, 4}, {99, 19}} {{227, 4}, {160, 18}} - - + + + 0 + 0 + YES + + + + 290 + + + + 257 + {{581, 4}, {18, 18}} + + + + -1 + YES + + 67239424 + 134348800 + + + + + + add + + + + + _addOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 257 + {{561, 4}, {18, 18}} + + + + -1 + YES + + 67239424 + 134348800 + - + + + + remove + + + + + _deleteOption: + + -2038284033 + 36 + + + 400 + 75 + + + + + 256 + {{37, 4}, {79, 19}} + + + + -1 + YES + + 67239488 + 4196352 + + + -2038284033 + 36 + + + 400 + 75 + + + one op + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{122, 4}, {99, 19}} + + + + -1 + YES + + 67239488 + 4196352 + + + + -2038284033 + 36 + + + 400 + 75 + + + is + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + + YES + + + + + + + 3 + YES + YES + 2 + + + + + 256 + {{227, 4}, {160, 18}} + + + + YES + + 343014976 + 4326400 + + + + YES + + + + + + {{0, 52}, {609, 26}} + + + + 2 + 1 + + + + + + + + 3 + {{37, 4}, {79, 19}} + {{122, 4}, {99, 19}} + {{227, 4}, {160, 18}} + + + + + 1 + 0 + 0 + 0 + 700 + + + + + + NO + YES + + + + + + + + + + + + 3 + {{37, 4}, {79, 19}} + {{122, 4}, {99, 19}} + {{227, 4}, {160, 18}} + + 0 0 YES @@ -1745,7 +1929,7 @@ {609, 162} - + @@ -1758,10 +1942,10 @@ YES 75 26 - format + YES NO - NO + YES 3 rowType subrows @@ -1775,8 +1959,8 @@ - - + + @@ -1786,9 +1970,9 @@ - - - + + + @@ -1798,17 +1982,33 @@ + + + + + + + + + + + + + + - - + + + + @@ -1862,7 +2062,7 @@ - 256 + 274 @@ -1870,6 +2070,7 @@ {{9, 11}, {25, 25}} + YES -2080244224 @@ -4145,6 +4346,7 @@ + @@ -4166,8 +4368,8 @@ 1057 - - + + @@ -4175,43 +4377,11 @@ 1058 - - - - + + - - 1060 - - - - - 1063 - - - - - 1071 - - - - - 1072 - - - - - 1073 - - - - - 1074 - - - 1309 @@ -4512,6 +4682,61 @@ + + 1346 + + + + + 1347 + + + + + 1348 + + + + + 1349 + + + + + 1350 + + + + + + + + + 1351 + + + + + + + + 1355 + + + + + + + + 1359 + + + + + 1366 + + + @@ -4529,12 +4754,6 @@ com.apple.InterfaceBuilder.CocoaPlugin {{596, 852}, {216, 23}} - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -4799,7 +5018,7 @@ - 1345 + 1366 From 8ae94c2745a51edad9c7d4ca6590036a864a34db Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 23 May 2011 13:46:09 -0400 Subject: [PATCH 14/78] Put CPBox in the right documentation module and add some basic documentation. --- AppKit/CPBox.j | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/AppKit/CPBox.j b/AppKit/CPBox.j index f9994b5e7..1e5de960f 100644 --- a/AppKit/CPBox.j +++ b/AppKit/CPBox.j @@ -35,6 +35,12 @@ CPLineBorder = 1; CPBezelBorder = 2; CPGrooveBorder = 3; +/*! + @ingroup appkit + @class CPBox + + A CPBox is a simple view which can display a border. +*/ @implementation CPBox : CPView { CPBoxType _boxType; @@ -89,16 +95,46 @@ CPGrooveBorder = 3; // Configuring Boxes +/*! + Returns the receiver's border rectangle. + + @return the border rectangle of the box +*/ - (CPRect)borderRect { return [self bounds]; } +/*! + Returns the receiver's border type. Possible values are: + +
+    CPNoBorder
+    CPLineBorder
+    CPBezelBorder
+    CPGrooveBorder
+    
+ + @return the border type of the box +*/ - (CPBorderType)borderType { return _borderType; } + +/*! + Sets the receiver's border type. Valid values are: + +
+    CPNoBorder
+    CPLineBorder
+    CPBezelBorder
+    CPGrooveBorder
+    
+ + @param borderType the border type to use +*/ - (void)setBorderType:(CPBorderType)aBorderType { if (_borderType === aBorderType) @@ -108,11 +144,41 @@ CPGrooveBorder = 3; [self setNeedsDisplay:YES]; } +/*! + Returns the receiver's box type. Possible values are: + +
+    CPBoxPrimary
+    CPBoxSecondary
+    CPBoxSeparator
+    CPBoxOldStyle
+    CPBoxCustom
+    
+ + (In the current implementation, all values act the same except CPBoxSeparator.) + + @return the box type of the box. +*/ - (CPBoxType)boxType { return _boxType; } +/*! + Sets the receiver's box type. Valid values are: + +
+    CPBoxPrimary
+    CPBoxSecondary
+    CPBoxSeparator
+    CPBoxOldStyle
+    CPBoxCustom
+    
+ + (In the current implementation, all values act the same except CPBoxSeparator.) + + @param aBoxType the box type of the box. +*/ - (void)setBoxType:(CPBoxType)aBoxType { if (_boxType === aBoxType) From 249a63af95bb72c26a931fb991f2cdc97c3d4e8e Mon Sep 17 00:00:00 2001 From: Klaas Pieter Annema Date: Tue, 24 May 2011 12:28:25 +0200 Subject: [PATCH 15/78] don't use remove method for removeMany selector --- Foundation/CPArray+KVO.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Foundation/CPArray+KVO.j b/Foundation/CPArray+KVO.j index ad05ef8c6..d8e404f31 100644 --- a/Foundation/CPArray+KVO.j +++ b/Foundation/CPArray+KVO.j @@ -127,7 +127,7 @@ _removeManySEL = sel_getName(@"remove" + capitalizedKey + "AtIndexes:"); if ([_proxyObject respondsToSelector:_removeManySEL]) - _remove = [_proxyObject methodForSelector:_removeManySEL]; + _removeMany = [_proxyObject methodForSelector:_removeManySEL]; _replaceManySEL = sel_getName(@"replace" + capitalizedKey + "AtIndexes:with" + capitalizedKey + ":"); if ([_proxyObject respondsToSelector:_replaceManySEL]) From 815e64356d874a2f9499ad5f61aaae53b872c34c Mon Sep 17 00:00:00 2001 From: Klaas Pieter Annema Date: Tue, 24 May 2011 12:29:23 +0200 Subject: [PATCH 16/78] implement _minimumFrameSize in CPButton --- AppKit/CPButton.j | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/AppKit/CPButton.j b/AppKit/CPButton.j index 911a56d5b..095d3d0a3 100644 --- a/AppKit/CPButton.j +++ b/AppKit/CPButton.j @@ -560,14 +560,9 @@ CPButtonImageOffset = 3.0; return bounds; } -/*! - Adjust the size of the button to fit the title and surrounding button image. -*/ -- (void)sizeToFit +- (CGSize)_minimumFrameSize { - [self layoutSubviews]; - - var size, + var size = CGSizeMakeZero(), contentView = [self ephemeralSubviewNamed:@"content-view"]; if (contentView) @@ -591,9 +586,19 @@ CPButtonImageOffset = 3.0; if (maxSize.height >= 0.0) size.height = MIN(size.height, maxSize.height); - [self setFrameSize:size]; + return size; +} - if (contentView) +/*! + Adjust the size of the button to fit the title and surrounding button image. +*/ +- (void)sizeToFit +{ + [self layoutSubviews]; + + [self setFrameSize:[self _minimumFrameSize]]; + + if ([self ephemeralSubviewNamed:@"content-view"]) [self layoutSubviews]; } From d6b3efaae84e653884a0eea7687f5623a9e27e31 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Thu, 26 May 2011 13:00:46 -0700 Subject: [PATCH 17/78] Pin ranges to valid values. --- Foundation/CPPredicate/CPComparisonPredicate.j | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Foundation/CPPredicate/CPComparisonPredicate.j b/Foundation/CPPredicate/CPComparisonPredicate.j index b5707c891..c668c9282 100644 --- a/Foundation/CPPredicate/CPComparisonPredicate.j +++ b/Foundation/CPPredicate/CPComparisonPredicate.j @@ -438,14 +438,18 @@ var CPComparisonPredicateModifier, reg = new RegExp(rhs.escapeForRegExp(),commut); return reg.test(lhs); - case CPBeginsWithPredicateOperatorType: var range = CPMakeRange(0,[rhs length]); - if (_options & CPCaseInsensitivePredicateOption) string_compare_options |= CPCaseInsensitiveSearch; - if (_options & CPDiacriticInsensitivePredicateOption) string_compare_options |= CPDiacriticInsensitiveSearch; + case CPBeginsWithPredicateOperatorType: var range = CPMakeRange(0, MIN([lhs length], [rhs length])); + if (_options & CPCaseInsensitivePredicateOption) + string_compare_options |= CPCaseInsensitiveSearch; + if (_options & CPDiacriticInsensitivePredicateOption) + string_compare_options |= CPDiacriticInsensitiveSearch; return ([lhs compare:rhs options:string_compare_options range:range] == CPOrderedSame); - case CPEndsWithPredicateOperatorType: var range = CPMakeRange([lhs length] - [rhs length],[rhs length]); - if (_options & CPCaseInsensitivePredicateOption) string_compare_options |= CPCaseInsensitiveSearch; - if (_options & CPDiacriticInsensitivePredicateOption) string_compare_options |= CPDiacriticInsensitiveSearch; + case CPEndsWithPredicateOperatorType: var range = CPMakeRange(MAX([lhs length] - [rhs length], 0), MIN([lhs length], [rhs length])); + if (_options & CPCaseInsensitivePredicateOption) + string_compare_options |= CPCaseInsensitiveSearch; + if (_options & CPDiacriticInsensitivePredicateOption) + string_compare_options |= CPDiacriticInsensitiveSearch; return ([lhs compare:rhs options:string_compare_options range:range] == CPOrderedSame); case CPCustomSelectorPredicateOperatorType: return [lhs performSelector:_customSelector withObject:rhs]; From b3cbc7e362c4bdb33e0c274711be4a4f0b6a6c0f Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Thu, 26 May 2011 14:29:51 -0700 Subject: [PATCH 18/78] Test app and unit test to validate pinned ranges in beginsWith/endsWith predicate comparison. --- Tests/Foundation/CPPredicateTest.j | 22 + .../predicateWithFormat/AppController.j | 150 +++ Tests/Manual/predicateWithFormat/Info.plist | 10 + Tests/Manual/predicateWithFormat/Jakefile | 94 ++ .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 927 ++++++++++++++++++ .../predicateWithFormat/Resources/spinner.gif | Bin 0 -> 1849 bytes .../predicateWithFormat/index-debug.html | 103 ++ Tests/Manual/predicateWithFormat/index.html | 77 ++ Tests/Manual/predicateWithFormat/main.j | 18 + 10 files changed, 1402 insertions(+) create mode 100644 Tests/Manual/predicateWithFormat/AppController.j create mode 100644 Tests/Manual/predicateWithFormat/Info.plist create mode 100644 Tests/Manual/predicateWithFormat/Jakefile create mode 100644 Tests/Manual/predicateWithFormat/Resources/MainMenu.cib create mode 100644 Tests/Manual/predicateWithFormat/Resources/MainMenu.xib create mode 100644 Tests/Manual/predicateWithFormat/Resources/spinner.gif create mode 100644 Tests/Manual/predicateWithFormat/index-debug.html create mode 100644 Tests/Manual/predicateWithFormat/index.html create mode 100644 Tests/Manual/predicateWithFormat/main.j diff --git a/Tests/Foundation/CPPredicateTest.j b/Tests/Foundation/CPPredicateTest.j index 3090e506b..602d3a6d3 100644 --- a/Tests/Foundation/CPPredicateTest.j +++ b/Tests/Foundation/CPPredicateTest.j @@ -189,6 +189,28 @@ [self assertTrue:[pred evaluateWithObject:dict] message:"'"+ [pred description] + "' should be true"]; } +- (void)testBeginsWithEndsWithPredicate +{ + // This always worked + var data = ["To", "Tom", "Tomb", "Tomboy"], + pred = [CPPredicate predicateWithFormat:@"SELF beginsWith 'To'"], + result = [data filteredArrayUsingPredicate:pred]; + + [self assertTrue:result.length === 4 message:"'" + [pred description] + "' should return [\"To\", \"Tom\", \"Tomb\", \"Tomboy\"]"]; + + // Make sure beginsWith comparison string longer than source strings works + pred = [CPPredicate predicateWithFormat:@"SELF beginsWith 'Tomb'"]; + result = [data filteredArrayUsingPredicate:pred]; + + [self assertTrue:[result isEqual:["Tomb", "Tomboy"]] message:"'" + [pred description] + "' should return [\"Tomb\", \"Tomboy\"]"]; + + // Make sure endsWith comparison string longer than source strings works + pred = [CPPredicate predicateWithFormat:@"SELF endsWith 'boy'"]; + result = [data filteredArrayUsingPredicate:pred]; + + [self assertTrue:[result isEqual:["Tomboy"]] message:"'" + [pred description] + "' should return [\"Tomboy\"]"]; +} + - (void)testNilComparisons { // Custom Selector Predicate diff --git a/Tests/Manual/predicateWithFormat/AppController.j b/Tests/Manual/predicateWithFormat/AppController.j new file mode 100644 index 000000000..28da72e6d --- /dev/null +++ b/Tests/Manual/predicateWithFormat/AppController.j @@ -0,0 +1,150 @@ +/* + * AppController.j + * predicateWithFormat + * + * Created by aparajita on May 25, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import + +var usesNewCode = NO; + +@implementation AppController : CPObject +{ + CPWindow theWindow; + CPPopUpButton dataMenu; + CPPopUpButton comparisonMenu; + CPPopUpButton nameMenu; + CPTextField resultsField; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + useNewCode = usesNewCode; +} + +- (void)awakeFromCib +{ +} + +- (BOOL)useNewCode +{ + return usesNewCode; +} + +- (void)setUseNewCode:(BOOL)flag +{ + usesNewCode = flag; +} + +- (void)search:(id)sender +{ + var results = @""; + + try + { + var format = [CPString stringWithFormat:@"SELF %@ %%@", [comparisonMenu titleOfSelectedItem]], + predicate = [CPPredicate predicateWithFormat:format, [nameMenu titleOfSelectedItem]], + data = [[dataMenu titleOfSelectedItem]], + searchResults = [data filteredArrayUsingPredicate:predicate], + + results = searchResults.join("\n"); + [resultsField setTextColor:[CPColor blackColor]]; + } + catch (ex) + { + results = [ex reason]; + [resultsField setTextColor:[CPColor redColor]]; + } + + [resultsField setStringValue:@"Result: " + results]; +} + +@end + +var CPComparisonPredicateModifier, + CPPredicateOperatorType; + +@implementation CPComparisonPredicate (test) + +- (BOOL)_evaluateValue:lhs rightValue:rhs +{ + var leftIsNil = (lhs == nil || [lhs isEqual:[CPNull null]]), + rightIsNil = (rhs == nil || [rhs isEqual:[CPNull null]]); + + if ((leftIsNil || rightIsNil) && _type != CPCustomSelectorPredicateOperatorType) + return (leftIsNil == rightIsNil && + (_type == CPEqualToPredicateOperatorType || + _type == CPLessThanOrEqualToPredicateOperatorType || + _type == CPGreaterThanOrEqualToPredicateOperatorType)); + + var string_compare_options = 0; + + // left and right should be casted first [CAST()] following 10.5 rules. + switch (_type) + { + case CPLessThanPredicateOperatorType: return ([lhs compare:rhs] == CPOrderedAscending); + case CPLessThanOrEqualToPredicateOperatorType: return ([lhs compare:rhs] != CPOrderedDescending); + case CPGreaterThanPredicateOperatorType: return ([lhs compare:rhs] == CPOrderedDescending); + case CPGreaterThanOrEqualToPredicateOperatorType: return ([lhs compare:rhs] != CPOrderedAscending); + case CPEqualToPredicateOperatorType: return [lhs isEqual:rhs]; + case CPNotEqualToPredicateOperatorType: return (![lhs isEqual:rhs]); + + case CPMatchesPredicateOperatorType: var commut = (_options & CPCaseInsensitivePredicateOption) ? "gi":"g"; + if (_options & CPDiacriticInsensitivePredicateOption) + { + lhs = lhs.stripDiacritics(); + rhs = rhs.stripDiacritics(); + } + return (new RegExp(rhs,commut)).test(lhs); + + case CPLikePredicateOperatorType: if (_options & CPDiacriticInsensitivePredicateOption) + { + lhs = lhs.stripDiacritics(); + rhs = rhs.stripDiacritics(); + } + var commut = (_options & CPCaseInsensitivePredicateOption) ? "gi":"g", + reg = new RegExp(rhs.escapeForRegExp(),commut); + return reg.test(lhs); + + case CPBeginsWithPredicateOperatorType: var range = usesNewCode ? CPMakeRange(0, MIN([lhs length], [rhs length])) : CPMakeRange(0,[rhs length]); + if (_options & CPCaseInsensitivePredicateOption) string_compare_options |= CPCaseInsensitiveSearch; + if (_options & CPDiacriticInsensitivePredicateOption) string_compare_options |= CPDiacriticInsensitiveSearch; + return ([lhs compare:rhs options:string_compare_options range:range] == CPOrderedSame); + + case CPEndsWithPredicateOperatorType: var range = usesNewCode ? CPMakeRange(MAX([lhs length] - [rhs length], 0), MIN([lhs length], [rhs length])) : CPMakeRange([lhs length] - [rhs length],[rhs length]); + if (_options & CPCaseInsensitivePredicateOption) string_compare_options |= CPCaseInsensitiveSearch; + if (_options & CPDiacriticInsensitivePredicateOption) string_compare_options |= CPDiacriticInsensitiveSearch; + return ([lhs compare:rhs options:string_compare_options range:range] == CPOrderedSame); + + case CPCustomSelectorPredicateOperatorType: return [lhs performSelector:_customSelector withObject:rhs]; + + case CPInPredicateOperatorType: var a = lhs; // swap + lhs = rhs; + rhs = a; + case CPContainsPredicateOperatorType: if (![lhs isKindOfClass:[CPString class]]) + { + if (![lhs respondsToSelector: @selector(objectEnumerator)]) + [CPException raise:CPInvalidArgumentException reason:@"The left/right hand side for a CONTAINS/IN operator must be a collection or a string"]; + + return [lhs containsObject:rhs]; + } + + if (_options & CPCaseInsensitivePredicateOption) + string_compare_options |= CPCaseInsensitiveSearch; + if (_options & CPDiacriticInsensitivePredicateOption) + string_compare_options |= CPDiacriticInsensitiveSearch; + + return ([lhs rangeOfString:rhs options:string_compare_options].location != CPNotFound); + + case CPBetweenPredicateOperatorType: if ([rhs count] < 2) + [CPException raise:CPInvalidArgumentException reason:@"The right hand side for a BETWEEN operator must contain 2 objects"]; + + return ([lhs compare:rhs[0]] == CPOrderedDescending && [lhs compare:rhs[1]] == CPOrderedAscending); + + default: return NO; + } +} + +@end diff --git a/Tests/Manual/predicateWithFormat/Info.plist b/Tests/Manual/predicateWithFormat/Info.plist new file mode 100644 index 000000000..1857a66d9 --- /dev/null +++ b/Tests/Manual/predicateWithFormat/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + test + + diff --git a/Tests/Manual/predicateWithFormat/Jakefile b/Tests/Manual/predicateWithFormat/Jakefile new file mode 100644 index 000000000..654a5bcb8 --- /dev/null +++ b/Tests/Manual/predicateWithFormat/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * test + * + * Created by aparajita on May 25, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("test", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "test.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("test"); + task.setIdentifier("com.aparajita.test"); + task.setVersion("1.0"); + task.setAuthor("Victory-Heart Productions"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("test"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["test"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "test", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "test", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "test")); + OS.system(["press", "-f", FILE.join("Build", "Release", "test"), FILE.join("Build", "Deployment", "test")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "test")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "test"), FILE.join("Build", "Desktop", "test", "test.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "test", "test.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "test")); + print("----------------------------"); +} diff --git a/Tests/Manual/predicateWithFormat/Resources/MainMenu.cib b/Tests/Manual/predicateWithFormat/Resources/MainMenu.cib new file mode 100644 index 000000000..d356e5c88 --- /dev/null +++ b/Tests/Manual/predicateWithFormat/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;94E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;29E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;34E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;95E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;96E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;2;97E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;48E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;104E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;105E;K;6;$afontD;K;6;CP$UIDd;3;107E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;108E;K;11;$aalignmentD;K;6;CP$UIDd;3;109E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;110E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;111E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;112E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;108E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;109E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;40E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;114E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;115E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;118E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;109E;K;11;$aalignmentD;K;6;CP$UIDd;3;100E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;109E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;113E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;100E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;119E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;120E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;121E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;105E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;123E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;126E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;127E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;128E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;129E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;130E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;27E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;131E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;48E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;29E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;118E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;109E;K;11;$aalignmentD;K;6;CP$UIDd;3;100E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;109E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;113E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;100E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;134E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;24E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;137E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;105E;K;16;$aimage-positionD;K;6;CP$UIDd;3;108E;K;6;$afontD;K;6;CP$UIDd;3;107E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;100E;K;11;$aalignmentD;K;6;CP$UIDd;3;100E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;109E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;138E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;113E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;100E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;139E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;123E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;123E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;142E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;24E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;120E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;48E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;143E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;144E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;16;$aimage-positionD;K;6;CP$UIDd;3;100E;K;6;$afontD;K;6;CP$UIDd;3;118E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;100E;K;11;$aalignmentD;K;6;CP$UIDd;3;108E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;109E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;146E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;113E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;100E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;100E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;119E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;48E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;120E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;39E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;100E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;148E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;118E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;109E;K;11;$aalignmentD;K;6;CP$UIDd;3;100E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;100E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;109E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;113E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;108E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;100E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;49E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;149E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;110E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;150E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;29E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;S;18;Menu Item (Tomboy)S;21;Static Text (Result:)S;20;Button Cell (Search)S;13;Pop Up ButtonS;31;Pop Up Button Cell (beginsWith)S;14;Menu Item (To)S;12;Content ViewS;19;Menu (OtherViews)-1S;16;Menu Item (Tomb)S;15;Window (Window)S;12;File's OwnerS;25;Text Field Cell (Result:)S;15;Menu Item (Tom)S;15;Pop Up Button-1S;20;Menu Item (endsWith)S;24;Check Box (Use new code)S;15;Menu Item (boy)S;19;Menu (OtherViews)-2S;26;Button Cell (Use new code)S;17;Menu (OtherViews)S;22;Menu Item (beginsWith)S;18;Menu Item (Tomb)-1S;23;Pop Up Button Cell (To)S;30;Round Textured Button (Search)S;25;Pop Up Button Cell (To)-1S;16;Menu Item (To)-1S;11;ApplicationS;14;App ControllerS;15;Pop Up Button-2S;17;Object ControllerS;14;Menu Item (om)D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;91E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;158E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;93E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;159E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;160E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;161E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;163E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;E;E;S;6;TomboyS;17;_popUpItemAction:d;7;1048576d;1;0S;22;{{38, 128}, {321, 17}}S;19;{{0, 0}, {321, 17}}d;2;36S;9;textfieldS;6;normalD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;106E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;164E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;165E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;113E;E;d;1;2d;1;4T;S;7;Result:d;4;3072F;S;22;{{154, 26}, {123, 24}}S;19;{{0, 0}, {123, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;106E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;164E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;165E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;110E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;113E;E;S;2;Tod;1;1S;20;{{0, 0}, {571, 179}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;37E;E;E;S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;38E;E;E;S;4;TombS;28;{1.79769e+308, 1.79769e+308}S;8;CPWindowS;24;{{335, 128}, {571, 179}}d;1;7S;6;WindowS;3;TomS;21;{{303, 26}, {94, 24}}S;18;{{0, 0}, {94, 24}}S;8;endsWithS;21;{{39, 74}, {109, 18}}S;19;{{0, 0}, {109, 18}}S;9;check-boxS;12;Use new codeS;3;boyD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;20E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;35E;E;E;S;10;beginsWithS;21;{{422, 25}, {77, 24}}S;18;{{0, 0}, {77, 24}}S;6;buttonS;6;SearchS;13;AppControllerS;20;{{33, 26}, {94, 24}}S;19;CPMutableDictionaryS;2;omS;8;delegateS;14;comparisonMenuS;8;dataMenuS;8;nameMenuS;12;resultsFieldS;9;theWindowS;7;contentS;7;search:S;27;value: selection.useNewCodeS;5;valueS;20;selection.useNewCodeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;10;CP.objectsD;E;E;S;17;Arial, sans-serifd;2;12E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/predicateWithFormat/Resources/MainMenu.xib b/Tests/Manual/predicateWithFormat/Resources/MainMenu.xib new file mode 100644 index 000000000..e4baa6e0c --- /dev/null +++ b/Tests/Manual/predicateWithFormat/Resources/MainMenu.xib @@ -0,0 +1,927 @@ + + + + 1050 + 10J869 + 804 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 804 + + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{335, 571}, {571, 179}} + 1946157056 + Window + NSWindow + + {1.79769e+308, 1.79769e+308} + + + 256 + + YES + + + 268 + {{38, 34}, {321, 17}} + + YES + + 68288064 + 272630784 + Result: + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{302, 127}, {100, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + To + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + om + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Tomb + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + boy + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 268 + {{153, 127}, {129, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + beginsWith + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + endsWith + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 268 + {{424, 128}, {77, 25}} + + YES + + 67239424 + 134217728 + Search + + + -2038152961 + 163 + + + 400 + 75 + + + + + 268 + {{32, 127}, {100, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + To + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Tom + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Tomb + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Tomboy + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 268 + {{39, 87}, {109, 18}} + + YES + + 67239424 + 0 + Use new code + + + 1211912703 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + {571, 179} + + + {{0, 0}, {1440, 878}} + {1.79769e+308, 1.79769e+308} + + + AppController + + + + YES + useNewCode + + YES + + + + + + YES + + + delegate + + + + 451 + + + + resultsField + + + + 474 + + + + nameMenu + + + + 475 + + + + search: + + + + 476 + + + + theWindow + + + + 477 + + + + comparisonMenu + + + + 484 + + + + dataMenu + + + + 498 + + + + content + + + + 503 + + + + value: selection.useNewCode + + + + + + value: selection.useNewCode + value + selection.useNewCode + 2 + + + 505 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + + 450 + + + + + 464 + + + YES + + + + + + 465 + + + YES + + + + + + 466 + + + YES + + + + + + + + + 467 + + + + + 468 + + + + + 469 + + + + + 470 + + + YES + + + + + + 471 + + + + + 472 + + + YES + + + + + + 473 + + + + + 478 + + + YES + + + + + + 479 + + + YES + + + + + + 480 + + + YES + + + + + + + 482 + + + + + 483 + + + + + 485 + + + + + 491 + + + YES + + + + + + 492 + + + YES + + + + + + 493 + + + YES + + + + + + + + + 494 + + + + + 495 + + + + + 496 + + + + + 497 + + + + + 499 + + + YES + + + + + + 500 + + + + + 502 + + + + + + + YES + + YES + -3.IBPluginDependency + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 372.IBPluginDependency + 464.IBPluginDependency + 464.IBViewBoundsToFrameTransform + 465.IBPluginDependency + 466.IBEditorWindowLastContentRect + 466.IBPluginDependency + 467.IBPluginDependency + 468.IBPluginDependency + 469.IBPluginDependency + 470.IBPluginDependency + 471.IBPluginDependency + 472.IBPluginDependency + 472.IBViewBoundsToFrameTransform + 473.IBPluginDependency + 478.IBPluginDependency + 478.IBViewBoundsToFrameTransform + 479.IBPluginDependency + 480.IBEditorWindowLastContentRect + 480.IBPluginDependency + 482.IBPluginDependency + 483.IBPluginDependency + 485.IBPluginDependency + 491.IBPluginDependency + 491.IBViewBoundsToFrameTransform + 492.IBPluginDependency + 493.IBEditorWindowLastContentRect + 493.IBPluginDependency + 494.IBPluginDependency + 495.IBPluginDependency + 496.IBPluginDependency + 497.IBPluginDependency + 499.IBPluginDependency + 500.IBPluginDependency + 502.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + {{441, 973}, {571, 179}} + com.apple.InterfaceBuilder.CocoaPlugin + {{441, 973}, {571, 179}} + + {{33, 99}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwzQAAA + + com.apple.InterfaceBuilder.CocoaPlugin + {{732, 1043}, {122, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCAAAAwiwAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDAgAAwzIAAA + + com.apple.InterfaceBuilder.CocoaPlugin + {{560, 1083}, {142, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCLAAAwzEAAA + + com.apple.InterfaceBuilder.CocoaPlugin + {{462, 1043}, {122, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 505 + + + + YES + + AppController + + theWindow + NSWindow + + + theWindow + + theWindow + NSWindow + + + + IBProjectSource + ./Classes/AppController.h + + + + AppController + NSObject + + search: + id + + + search: + + search: + id + + + + YES + + YES + comparisonMenu + dataMenu + nameMenu + resultsField + + + YES + id + id + id + id + + + + YES + + YES + comparisonMenu + dataMenu + nameMenu + resultsField + + + YES + + comparisonMenu + id + + + dataMenu + id + + + nameMenu + id + + + resultsField + id + + + + + IBUserSource + + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + NSSwitch + + + YES + {9, 8} + {7, 2} + {15, 15} + + + + diff --git a/Tests/Manual/predicateWithFormat/Resources/spinner.gif b/Tests/Manual/predicateWithFormat/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/predicateWithFormat/index-debug.html b/Tests/Manual/predicateWithFormat/index-debug.html new file mode 100644 index 000000000..bb7f1eabe --- /dev/null +++ b/Tests/Manual/predicateWithFormat/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + test + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/predicateWithFormat/index.html b/Tests/Manual/predicateWithFormat/index.html new file mode 100644 index 000000000..8629cc826 --- /dev/null +++ b/Tests/Manual/predicateWithFormat/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + test + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/predicateWithFormat/main.j b/Tests/Manual/predicateWithFormat/main.j new file mode 100644 index 000000000..4ffd55e17 --- /dev/null +++ b/Tests/Manual/predicateWithFormat/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * test + * + * Created by aparajita on May 25, 2011. + * Copyright 2011, Victory-Heart Productions All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From 6eb4bf665600415ef96a3107d5cf114a36aff01c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 26 May 2011 23:59:08 -0400 Subject: [PATCH 19/78] Add temporary @ref and @deref analogs. --- Foundation/Jakefile | 2 +- Foundation/Ref.h | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 Foundation/Ref.h diff --git a/Foundation/Jakefile b/Foundation/Jakefile index 3f339a409..90a5bdba9 100644 --- a/Foundation/Jakefile +++ b/Foundation/Jakefile @@ -42,7 +42,7 @@ foundationTask = framework ("Foundation", function(foundationTask) foundationTask.setInfoPlistPath("Info.plist"); foundationTask.setEnvironments(require("objective-j/jake/environment").ObjJ); - var INCLUDES = "--include \"../AppKit/Platform/Platform.h\""; + var INCLUDES = "--include \"../AppKit/Platform/Platform.h\" --include \"Ref.h\""; if ($CONFIGURATION === "Release") foundationTask.setCompilerFlags("-O " + INCLUDES); diff --git a/Foundation/Ref.h b/Foundation/Ref.h new file mode 100644 index 000000000..4f4038fe6 --- /dev/null +++ b/Foundation/Ref.h @@ -0,0 +1,30 @@ +/* + * Ref.h + * Foundation + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* +Temporary macros to substitute for @ref and @deref functionality in a future version of Objective-J. Since these are C macros rather than a part of Preprocessor.js they can only be used within Cappuccino itself. +*/ + +// @ref +#define AT_REF(x) function(__input) { if (arguments.length) return x = __input; return x; } +// @deref (kind of) +#define AT_DEREF(x, ...) x(##__VA_ARGS__) From 607f681780b698085f91ec57ababbe61a04f586c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 26 May 2011 23:59:49 -0400 Subject: [PATCH 20/78] Typo fix. --- AppKit/Platform/Platform.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/Platform/Platform.h b/AppKit/Platform/Platform.h index ef099399d..da33f068a 100644 --- a/AppKit/Platform/Platform.h +++ b/AppKit/Platform/Platform.h @@ -1,5 +1,5 @@ /* - * Platform.j + * Platform.h * AppKit * * Created by Francisco Tolmasky. From e4950bd831116ac5c8582dff0a709460c7448a5e Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 01:26:28 -0400 Subject: [PATCH 21/78] Fixed: duplicate observer notification for array controller addObject: (on arrangedObjects). --- AppKit/CPArrayController.j | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index d98f159d7..0d9fe2b49 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -70,7 +70,8 @@ + (CPSet)keyPathsForValuesAffectingArrangedObjects { - return [CPSet setWithObjects:"content", "filterPredicate", "sortDescriptors"]; + // Also depends on "filterPredicate" but we'll handle that manually. + return [CPSet setWithObjects:"content", "sortDescriptors"]; } + (CPSet)keyPathsForValuesAffectingSelection @@ -488,7 +489,14 @@ */ - (void)setFilterPredicate:(CPPredicate)value { + if (_filterPredicate === value) + return; + + // __setFilterPredicate will call _rearrangeObjects without + // sending notifications, so we must send them instead. + [self willChangeValueForKey:@"arrangedObjects"]; [self __setFilterPredicate:value]; + [self didChangeValueForKey:@"arrangedObjects"]; } /* @@ -501,8 +509,7 @@ return; _filterPredicate = value; - // Use the non-notification version since arrangedObjects already depends - // on filterPredicate. + // Use the non-notification version. [self _rearrangeObjects]; } @@ -745,6 +752,7 @@ else [self _rearrangeObjects]; + // This will also send notificaitons for arrangedObjects. [self didChangeValueForKey:@"content"]; if (_clearsFilterPredicateOnInsertion) [self didChangeValueForKey:@"filterPredicate"]; From a1a06c3f753b85cdf162ee51149c59488e64917f Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 01:47:25 -0400 Subject: [PATCH 22/78] Performance test array controller addObject: when clearing the filter predicate. --- Tests/AppKit/CPArrayControllerPerformance.j | 75 +++++++++++++++++---- 1 file changed, 61 insertions(+), 14 deletions(-) diff --git a/Tests/AppKit/CPArrayControllerPerformance.j b/Tests/AppKit/CPArrayControllerPerformance.j index 083f9b343..0e73ffffd 100644 --- a/Tests/AppKit/CPArrayControllerPerformance.j +++ b/Tests/AppKit/CPArrayControllerPerformance.j @@ -2,16 +2,17 @@ @import @import +var ELEMENTS = 200, + REPEATS = 25; + @implementation CPArrayControllerPerformance : OJTestCase -- (void)testRearrangeObjects +- (CPArrayController)setupWithElements:(int)aCount { - var ELEMENTS = 200, - REPEATS = 25, - ac = [CPArrayController new], + var ac = [CPArrayController new], array = []; - for (var i = 0; i < ELEMENTS; i++) + for (var i = 0; i < aCount; i++) { var s = [Sortable new]; [s setA:i]; @@ -19,15 +20,17 @@ array.push(s); } - var descriptors = [ - [CPSortDescriptor sortDescriptorWithKey:"a" ascending:NO], - ]; - [ac setContent:array]; - [ac setFilterPredicate:[CPPredicate predicateWithFormat:@"(b != %@)", 0]]; + return ac; +} + +- (void)testRearrangeObjects +{ + var ac = [self setupWithElements:ELEMENTS]; + // Filter alone var start = (new Date).getTime(); for (var i = 0; i < REPEATS; i++) @@ -41,7 +44,7 @@ for (var j = 0, count = [sorted count]; j < count; j++) { if (sorted[j].b == 0) - [self fail:"b == 0 should be filtered out (position: "+j+")"]; + [self fail:"b == 0 should be filtered out (position: " + j + ")"]; last = sorted[j]; } } @@ -49,7 +52,9 @@ CPLog.warn("testRearrangeObjects, filter: "+(end-start)+"ms"); - [ac setSortDescriptors:descriptors]; + [ac setSortDescriptors:[ + [CPSortDescriptor sortDescriptorWithKey:"a" ascending:NO], + ]]; // Filter and sort. start = (new Date).getTime(); @@ -64,9 +69,9 @@ for (var j = 0, count = [sorted count]; j < count; j++) { if (sorted[j].b == 0) - [self fail:"b == 0 should be filtered out (position: "+j+")"]; + [self fail:"b == 0 should be filtered out (position: " + j + ")"]; if (sorted[j].a >= last) - [self fail:"array values should be descending (position: "+j+")"]; + [self fail:"array values should be descending (position: " + j + ")"]; last = sorted[j]; } } @@ -75,6 +80,40 @@ CPLog.warn("testRearrangeObjects, filter and sort: "+(end-start)+"ms"); } +- (void)testAddObject_ +{ + var ac = [self setupWithElements:ELEMENTS], + predicate = [ac filterPredicate], + content = [[ac content] copy]; + + // Add object while clearing the predicate. + [ac setClearsFilterPredicateOnInsertion:YES]; + + [ac setSortDescriptors:[ + [CPSortDescriptor sortDescriptorWithKey:"a" ascending:NO], + ]]; + + var start = (new Date).getTime(); + for (var i = 0; i < REPEATS; i++) + { + [ac setFilterPredicate:predicate]; + [ac addObject:[Sortable sortableWithA:i B:i * 2]]; + + var sorted = [ac arrangedObjects], + last = ELEMENTS; + + // Verify that all is well. + for (var j = 0, count = [sorted count]; j < count; j++) + { + if (sorted[j].a >= last) + [self fail:"array values should be descending (position: " + j + ")"]; + last = sorted[j]; + } + } + var end = (new Date).getTime(); + CPLog.warn("testAddObject_, sorted, clear filter on insert: " + (end - start) + "ms"); +} + @end @implementation Sortable : CPObject @@ -83,4 +122,12 @@ int b @accessors; } ++ (id)sortableWithA:(int)anA B:(int)aB +{ + var r = [Sortable new]; + r.a = anA; + r.b = aB; + return r; +} + @end \ No newline at end of file From 2e5081b137dd575a9a6a80a7098b3fcba9a3e9d4 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 02:02:13 -0400 Subject: [PATCH 23/78] Optimise array controller addObject: by eliminating entirely pointless rearrange when added objects did not pass the filter. Also avoided double rearrange if clearsFilterPredicateOnInsertion. CPArrayControllerPerformance.j execution time on "testAddObject_, sorted, filtered" down from ~420ms to ~60ms on my machine. --- AppKit/CPArrayController.j | 28 +++++++++++++++------ Tests/AppKit/CPArrayControllerPerformance.j | 26 ++++++++++++++++++- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index 0d9fe2b49..42ad4acc3 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -719,8 +719,12 @@ if (![self canAdd]) return; - if (_clearsFilterPredicateOnInsertion) + var willClearPredicate = NO; + if (_clearsFilterPredicateOnInsertion && _filterPredicate) + { [self willChangeValueForKey:@"filterPredicate"]; + willClearPredicate = YES; + } [self willChangeValueForKey:@"content"]; @@ -735,11 +739,15 @@ [_contentObject addObject:object]; _disableSetContent = NO; - if (_clearsFilterPredicateOnInsertion) - [self __setFilterPredicate:nil]; - - if (_filterPredicate === nil || [_filterPredicate evaluateWithObject:object]) + if (willClearPredicate) { + // Full rearrange needed due to changed filter. + _filterPredicate = nil; + [self _rearrangeObjects]; + } + else if (_filterPredicate === nil || [_filterPredicate evaluateWithObject:object]) + { + // Insert directly into the array. var pos = [_arrangedObjects insertObject:object inArraySortedByDescriptors:_sortDescriptors]; // selectionIndexes change notification will be fired as a result of the @@ -749,12 +757,16 @@ else [_selectionIndexes shiftIndexesStartingAtIndex:pos by:1]; } - else - [self _rearrangeObjects]; + /* + else if (_filterPredicate !== nil) + ... + // Implies _filterPredicate && ![_filterPredicate evaluateWithObject:object], so the new object does + // not appear in arrangedObjects and we do not have to update at all. + */ // This will also send notificaitons for arrangedObjects. [self didChangeValueForKey:@"content"]; - if (_clearsFilterPredicateOnInsertion) + if (willClearPredicate) [self didChangeValueForKey:@"filterPredicate"]; } diff --git a/Tests/AppKit/CPArrayControllerPerformance.j b/Tests/AppKit/CPArrayControllerPerformance.j index 0e73ffffd..98137b1ee 100644 --- a/Tests/AppKit/CPArrayControllerPerformance.j +++ b/Tests/AppKit/CPArrayControllerPerformance.j @@ -94,7 +94,7 @@ var ELEMENTS = 200, ]]; var start = (new Date).getTime(); - for (var i = 0; i < REPEATS; i++) + for (var i = 0; i < REPEATS / 2; i++) { [ac setFilterPredicate:predicate]; [ac addObject:[Sortable sortableWithA:i B:i * 2]]; @@ -112,6 +112,30 @@ var ELEMENTS = 200, } var end = (new Date).getTime(); CPLog.warn("testAddObject_, sorted, clear filter on insert: " + (end - start) + "ms"); + + [ac setClearsFilterPredicateOnInsertion:NO]; + [ac setFilterPredicate:predicate]; + + var start = (new Date).getTime(); + for (var i = 0; i < REPEATS; i++) + { + [ac addObject:[Sortable sortableWithA:i B:i % 3]]; + + var sorted = [ac arrangedObjects], + last = ELEMENTS; + + // Verify that all is well. + for (var j = 0, count = [sorted count]; j < count; j++) + { + if (sorted[j].b == 0) + [self fail:"b == 0 should be filtered out (position: " + j + ")"]; + if (sorted[j].a >= last) + [self fail:"array values should be descending (position: " + j + ")"]; + last = sorted[j]; + } + } + var end = (new Date).getTime(); + CPLog.warn("testAddObject_, sorted, filtered: " + (end - start) + "ms"); } @end From cf04fcc9d050032c3350d9ba3a1a6d25b6a461a8 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 02:06:27 -0400 Subject: [PATCH 24/78] Verify correctness of observation notifications on arrangedObjects when the addObjects: message is sent. --- Tests/AppKit/CPArrayControllerTest.j | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Tests/AppKit/CPArrayControllerTest.j b/Tests/AppKit/CPArrayControllerTest.j index 5d5a85157..992852b9f 100644 --- a/Tests/AppKit/CPArrayControllerTest.j +++ b/Tests/AppKit/CPArrayControllerTest.j @@ -412,6 +412,32 @@ [self assert:newSelection equals:[arrayController selectionIndexes] message:@"selection was not set properly"]; } +- (void)testObservationDuringAddObject_ +{ + var arrayController = [self arrayController]; + + [arrayController addObserver:self forKeyPath:@"arrangedObjects" options:CPKeyValueObservingOptionOld | CPKeyValueObservingOptionNew context:nil]; + + // Add something to clear. + [arrayController setFilterPredicate:[CPPredicate predicateWithFormat:@"(name != %@)", "Francisco"]]; + observations = []; + var aPerson = [Employee employeeWithName:@"Alexander" department:[Department departmentWithName:@"Cosmic Path Finding"]]; + + [arrayController setClearsFilterPredicateOnInsertion:NO]; + [self assert:0 equals:[observations count] message:@"no observations before addObject test"]; + [arrayController addObject:aPerson]; + [self assert:1 equals:[observations count] message:@"exactly 1 notification for addObject (clearsFilterPredicate NO)"]; + + observations = []; + + // Even that this is on, adding an object should only result in one notification. + [arrayController setClearsFilterPredicateOnInsertion:YES]; + + [self assert:0 equals:[observations count] message:@"no observations before addObject test"]; + [arrayController addObject:aPerson]; + [self assert:1 equals:[observations count] message:@"exactly 1 notification for addObject (clearsFilterPredicate YES)"]; +} + - (void)testCompoundKeyPaths { var departmentNameField = [[CPTextField alloc] init]; From 888fc89f86db61470f0409ffcad6335487ac2399 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 17:53:39 -0400 Subject: [PATCH 25/78] Foundation for CPLevelIndicator. --- AppKit/AppKit.j | 1 + AppKit/CPLevelIndicator.j | 154 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 AppKit/CPLevelIndicator.j diff --git a/AppKit/AppKit.j b/AppKit/AppKit.j index babd86e25..e1cad8bd8 100644 --- a/AppKit/AppKit.j +++ b/AppKit/AppKit.j @@ -59,6 +59,7 @@ @import "CPImage.j" @import "CPImageView.j" @import "CPKeyBinding.j" +@import "CPLevelIndicator.j" @import "CPMenu.j" @import "CPMenuItem.j" @import "CPOpenPanel.j" diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j new file mode 100644 index 000000000..a8dfafbb0 --- /dev/null +++ b/AppKit/CPLevelIndicator.j @@ -0,0 +1,154 @@ +/* + * CPLevelIndicator.j + * AppKit + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPControl.j" + +CPTickMarkBelow = 0; +CPTickMarkAbove = 1; +CPTickMarkLeft = CPTickMarkAbove; +CPTickMarkRight = CPTickMarkBelow; + +CPRelevancyLevelIndicatorStyle = 0; +CPContinuousCapacityLevelIndicatorStyle = 1; +CPDiscreteCapacityLevelIndicatorStyle = 2; +CPRatingLevelIndicatorStyle = 3; + +/*! + @ingroup appkit + @class CPLevelIndicator + + CPLevelIndicator is a control which indicates a value visually on a scale. +*/ +@implementation CPLevelIndicator : CPControl +{ + CPLevelIndicator _levelIndicatorStyle @accessors; + double _minValue @accessors; + double _maxValue @accessors; + double _warningValue @accessors; + double _criticalValue @accessors; + CPTickMarkPosition _tickMarkPosition @accessors; + int _numberOfTickMarks @accessors; + int _numberOfMajorTickMarks @accessors; +} + +- (id)initWithFrame:(CGRect)aFrame +{ + self = [super initWithFrame:aFrame]; + + if (self) + { + _levelIndicatorStyle = CPDiscreteCapacityLevelIndicatorStyle; + _maxValue = 2; + _warningValue = 2; + _criticalValue = 2; + } + + return self; +} + +/* +- (CPLevelIndicatorStyle)style; +- (void)setLevelIndicatorStyle:(CPLevelIndicatorStyle)style; + +- (double)minValue; +- (void)setMinValue:(double)minValue; + +- (double)maxValue; +- (void)setMaxValue:(double)maxValue; + +- (double)warningValue; +- (void)setWarningValue:(double)warningValue; + +- (double)criticalValue; +- (void)setCriticalValue:(double)criticalValue; + +- (CPTickMarkPosition)tickMarkPosition; +- (void)setTickMarkPosition:(CPTickMarkPosition)position; + +- (int)numberOfTickMarks; +- (void)setNumberOfTickMarks:(int)count; + +- (int)numberOfMajorTickMarks; +- (void)setNumberOfMajorTickMarks:(int)count; + +- (double)tickMarkValueAtIndex:(int)index; +- (CGRect)rectOfTickMarkAtIndex:(int)index; +*/ + +@end + +var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", + CPLevelIndicatorMinValueKey = "CPLevelIndicatorMinValueKey", + CPLevelIndicatorMaxValueKey = "CPLevelIndicatorMaxValueKey", + CPLevelIndicatorWarningValueKey = "CPLevelIndicatorWarningValueKey", + CPLevelIndicatorCriticalValueKey = "CPLevelIndicatorCriticalValueKey", + CPLevelIndicatorTickMarkPositionKey = "CPLevelIndicatorTickMarkPositionKey", + CPLevelIndicatorNumberOfTickMarksKey = "CPLevelIndicatorNumberOfTickMarksKey", + CPLevelIndicatorNumberOfMajorTickMarksKey = "CPLevelIndicatorNumberOfMajorTickMarksKey"; + +@implementation CPLevelIndicator (CPCoding) + +- (id)initWithCoder:(CPCoder)aCoder +{ + self = [super initWithCoder:aCoder]; + + if (self) + { + _levelIndicatorStyle = [aCoder decodeIntForKey:CPLevelIndicatorStyleKey]; + _minValue = [aCoder decodeDoubleForKey:CPLevelIndicatorMinValueKey]; + _maxValue = [aCoder decodeDoubleForKey:CPLevelIndicatorMaxValueKey]; + _warningValue = [aCoder decodeDoubleForKey:CPLevelIndicatorWarningValueKey]; + _criticalValue = [aCoder decodeDoubleForKey:CPLevelIndicatorCriticalValueKey]; + _tickMarkPosition = [aCoder decodeIntForKey:CPLevelIndicatorTickMarkPositionKey]; + _numberOfTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfTickMarksKey]; + _numberOfMajorTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; + + [self setNeedsLayout]; + [self setNeedsDisplay:YES]; + } + + return self; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [super encodeWithCoder:aCoder]; + + _minValue = [aCoder decodeDoubleForKey:CPLevelIndicatorMinValueKey]; + _maxValue = [aCoder decodeDoubleForKey:CPLevelIndicatorMaxValueKey]; + _warningValue = [aCoder decodeDoubleForKey:CPLevelIndicatorWarningValueKey]; + _criticalValue = [aCoder decodeDoubleForKey:CPLevelIndicatorCriticalValueKey]; + _tickMarkPosition = [aCoder decodeIntForKey:CPLevelIndicatorTickMarkPositionKey]; + _numberOfTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfTickMarksKey]; + _numberOfMajorTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; + + [aCoder encodeInt:_levelIndicatorStyle forKey:CPLevelIndicatorStyleKey]; + [aCoder encodeDouble:_minValue forKey:CPLevelIndicatorMinValueKey]; + [aCoder encodeDouble:_maxValue forKey:CPLevelIndicatorMaxValueKey]; + [aCoder encodeDouble:_warningValue forKey:CPLevelIndicatorWarningValueKey]; + [aCoder encodeDouble:_criticalValue forKey:CPLevelIndicatorCriticalValueKey]; + [aCoder encodeInt:_tickMarkPosition forKey:CPLevelIndicatorTickMarkPositionKey]; + [aCoder encodeInt:_numberOfTickMarks forKey:CPLevelIndicatorNumberOfTickMarksKey]; + [aCoder encodeInt:_numberOfMajorTickMarks forKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; +} + +@end From 5419272e4808a8ed78d591e0508ff9729b548fc5 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 18:08:17 -0400 Subject: [PATCH 26/78] Fixed: don't import NSSlider.j in NSSlider.j. --- Tools/nib2cib/NSSlider.j | 3 --- 1 file changed, 3 deletions(-) diff --git a/Tools/nib2cib/NSSlider.j b/Tools/nib2cib/NSSlider.j index e8923b57e..8e80eb887 100644 --- a/Tools/nib2cib/NSSlider.j +++ b/Tools/nib2cib/NSSlider.j @@ -22,9 +22,6 @@ @import -@import "NSSlider.j" - - @implementation CPSlider (CPCoding) - (id)NS_initWithCoder:(CPCoder)aCoder From ceaea9c5b02082290bd654d975ee60d9e4640795 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 18:44:16 -0400 Subject: [PATCH 27/78] Remove leftover reference code. --- AppKit/CPLevelIndicator.j | 8 -------- 1 file changed, 8 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index a8dfafbb0..96dbf6abb 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -133,14 +133,6 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", { [super encodeWithCoder:aCoder]; - _minValue = [aCoder decodeDoubleForKey:CPLevelIndicatorMinValueKey]; - _maxValue = [aCoder decodeDoubleForKey:CPLevelIndicatorMaxValueKey]; - _warningValue = [aCoder decodeDoubleForKey:CPLevelIndicatorWarningValueKey]; - _criticalValue = [aCoder decodeDoubleForKey:CPLevelIndicatorCriticalValueKey]; - _tickMarkPosition = [aCoder decodeIntForKey:CPLevelIndicatorTickMarkPositionKey]; - _numberOfTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfTickMarksKey]; - _numberOfMajorTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; - [aCoder encodeInt:_levelIndicatorStyle forKey:CPLevelIndicatorStyleKey]; [aCoder encodeDouble:_minValue forKey:CPLevelIndicatorMinValueKey]; [aCoder encodeDouble:_maxValue forKey:CPLevelIndicatorMaxValueKey]; From 3f2607c2d0b61510064f25fc69e1a25bd6e52d4b Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 28 May 2011 18:44:32 -0400 Subject: [PATCH 28/78] CPLevelIndicator nib2cib support. --- Tools/nib2cib/NSAppKit.j | 1 + Tools/nib2cib/NSLevelIndicator.j | 103 +++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 Tools/nib2cib/NSLevelIndicator.j diff --git a/Tools/nib2cib/NSAppKit.j b/Tools/nib2cib/NSAppKit.j index 79ef4f13b..ad4143650 100644 --- a/Tools/nib2cib/NSAppKit.j +++ b/Tools/nib2cib/NSAppKit.j @@ -40,6 +40,7 @@ @import "NSFormatter.j" @import "NSIBObjectData.j" @import "NSImageView.j" +@import "NSLevelIndicator.j" @import "NSMatrix.j" @import "NSMenu.j" @import "NSMenuItem.j" diff --git a/Tools/nib2cib/NSLevelIndicator.j b/Tools/nib2cib/NSLevelIndicator.j new file mode 100644 index 000000000..8981a597b --- /dev/null +++ b/Tools/nib2cib/NSLevelIndicator.j @@ -0,0 +1,103 @@ +/* + * NSLevelIndicator.j + * nib2cib + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation CPLevelIndicator (CPCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + var cell = [aCoder decodeObjectForKey:@"NSCell"]; + + _minValue = [cell minValue]; + _maxValue = [cell maxValue]; + + self = [super NS_initWithCoder:aCoder]; + + if (self) + { + _levelIndicatorStyle = [cell levelIndicatorStyle]; + _warningValue = [cell warningValue]; + _criticalValue = [cell criticalValue]; + _tickMarkPosition = [cell tickMarkPosition]; + _numberOfTickMarks = [cell numberOfTickMarks]; + _numberOfMajorTickMarks = [cell numberOfMajorTickMarks]; + } + + return self; +} + +@end + +@implementation NSLevelIndicator : CPLevelIndicator +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPLevelIndicator class]; +} + +@end + +@implementation NSLevelIndicatorCell : NSCell +{ + CPLevelIndicator _levelIndicatorStyle @accessors(readonly, getter=levelIndicatorStyle); + double _minValue @accessors(readonly, getter=minValue); + double _maxValue @accessors(readonly, getter=maxValue); + double _warningValue @accessors(readonly, getter=warningValue); + double _criticalValue @accessors(readonly, getter=criticalValue); + CPTickMarkPosition _tickMarkPosition @accessors(readonly, getter=tickMarkPosition); + int _numberOfTickMarks @accessors(readonly, getter=numberOfTickMarks); + int _numberOfMajorTickMarks @accessors(readonly, getter=numberOfMajorTickMarks); +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + self = [super initWithCoder:aCoder]; + + if (self) + { + _objectValue = [aCoder decodeDoubleForKey:@"NSValue"]; + + _minValue = [aCoder decodeDoubleForKey:@"NSMinValue"] || 0; + _maxValue = [aCoder decodeDoubleForKey:@"NSMaxValue"]; + _warningValue = [aCoder decodeDoubleForKey:@"NSWarningValue"]; + _criticalValue = [aCoder decodeDoubleForKey:@"NSCriticalValue"]; + + _levelIndicatorStyle = [aCoder decodeIntForKey:@"NSIndicatorStyle"] || 0; + + // None of these are included in the XIB if the defaults are used. + _tickMarkPosition = [aCoder decodeIntForKey:@"NSTickMarkPosition"] || 0; + _numberOfTickMarks = [aCoder decodeIntForKey:@"NSNumberOfTickMarks"] || 0; + _numberOfTickMarks = [aCoder decodeIntForKey:@"NSNumberOfMajorTickMarks"] || 0; + } + + return self; +} + +@end From e9d0be1b6a8d0573cfc97bd033c514848235dfbb Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 15:17:28 -0400 Subject: [PATCH 29/78] Level indicator drawing. --- AppKit/CPLevelIndicator.j | 124 ++++++++++++++++++ .../level-indicator-bezel-center.png | Bin 0 -> 126 bytes .../level-indicator-bezel-left.png | Bin 0 -> 202 bytes .../level-indicator-bezel-right.png | Bin 0 -> 216 bytes ...evel-indicator-segment-critical-center.png | Bin 0 -> 187 bytes .../level-indicator-segment-critical-left.png | Bin 0 -> 259 bytes ...level-indicator-segment-critical-right.png | Bin 0 -> 275 bytes .../level-indicator-segment-empty-center.png | Bin 0 -> 170 bytes .../level-indicator-segment-empty-left.png | Bin 0 -> 229 bytes .../level-indicator-segment-empty-right.png | Bin 0 -> 240 bytes .../level-indicator-segment-normal-center.png | Bin 0 -> 187 bytes .../level-indicator-segment-normal-left.png | Bin 0 -> 246 bytes .../level-indicator-segment-normal-right.png | Bin 0 -> 268 bytes ...level-indicator-segment-warning-center.png | Bin 0 -> 180 bytes .../level-indicator-segment-warning-left.png | Bin 0 -> 252 bytes .../level-indicator-segment-warning-right.png | Bin 0 -> 259 bytes 16 files changed, 124 insertions(+) create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-bezel-left.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-bezel-right.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-center.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-left.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-center.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png create mode 100644 AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-right.png diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 96dbf6abb..e22679251 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -32,6 +32,14 @@ CPContinuousCapacityLevelIndicatorStyle = 1; CPDiscreteCapacityLevelIndicatorStyle = 2; CPRatingLevelIndicatorStyle = 3; +var _CPLevelIndicatorBezelColor = nil, + _CPLevelIndicatorSegmentEmptyColor = nil, + _CPLevelIndicatorSegmentNormalColor = nil, + _CPLevelIndicatorSegmentWarningColor = nil, + _CPLevelIndicatorSegmentCriticalColor = nil, + + _CPLevelIndicatorSpacing = 1; + /*! @ingroup appkit @class CPLevelIndicator @@ -50,6 +58,56 @@ CPRatingLevelIndicatorStyle = 3; int _numberOfMajorTickMarks @accessors; } ++ (void)initialize +{ + var bundle = [CPBundle bundleForClass:CPLevelIndicator]; + + _CPLevelIndicatorBezelColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: + [ + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-bezel-left.png"] size:CGSizeMake(3.0, 18.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-bezel-center.png"] size:CGSizeMake(1.0, 18.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-bezel-right.png"] size:CGSizeMake(3.0, 18.0)] + ] + isVertical:NO + ]]; + + _CPLevelIndicatorSegmentEmptyColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: + [ + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-empty-left.png"] size:CGSizeMake(3.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-empty-center.png"] size:CGSizeMake(1.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-empty-right.png"] size:CGSizeMake(3.0, 17.0)] + ] + isVertical:NO + ]]; + + _CPLevelIndicatorSegmentNormalColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: + [ + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-normal-left.png"] size:CGSizeMake(3.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-normal-center.png"] size:CGSizeMake(1.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-normal-right.png"] size:CGSizeMake(3.0, 17.0)] + ] + isVertical:NO + ]]; + + _CPLevelIndicatorSegmentWarningColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: + [ + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-warning-left.png"] size:CGSizeMake(3.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-warning-center.png"] size:CGSizeMake(1.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-warning-right.png"] size:CGSizeMake(3.0, 17.0)] + ] + isVertical:NO + ]]; + + _CPLevelIndicatorSegmentCriticalColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: + [ + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-critical-left.png"] size:CGSizeMake(3.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-critical-center.png"] size:CGSizeMake(1.0, 17.0)], + [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-critical-right.png"] size:CGSizeMake(3.0, 17.0)] + ] + isVertical:NO + ]]; +} + - (id)initWithFrame:(CGRect)aFrame { self = [super initWithFrame:aFrame]; @@ -60,11 +118,75 @@ CPRatingLevelIndicatorStyle = 3; _maxValue = 2; _warningValue = 2; _criticalValue = 2; + + [self _init]; } return self; } +- (void)_init +{ + // TODO Make themable and style dependent. + [self setBackgroundColor:_CPLevelIndicatorBezelColor]; +} + +- (void)layoutSubviews +{ + var segmentCount = _maxValue - _minValue; + + if (segmentCount <= 0) + return; + + var filledColor = _CPLevelIndicatorSegmentNormalColor, + value = [self doubleValue]; + + if (value < _criticalValue) + filledColor = _CPLevelIndicatorSegmentCriticalColor; + else if (value < _warningValue) + filledColor = _CPLevelIndicatorSegmentWarningColor; + + for (var i = 0; i < segmentCount; i++) + { + var bezelView = [self layoutEphemeralSubviewNamed:"segment-bezel-" + i + positioned:CPWindowAbove + relativeToEphemeralSubviewNamed:nil]; + + [bezelView setBackgroundColor:(_minValue + i) < value ? filledColor : _CPLevelIndicatorSegmentEmptyColor]; + } +} + +- (CPView)createEphemeralSubviewNamed:(CPString)aName +{ + return [[CPView alloc] initWithFrame:_CGRectMakeZero()]; +} + +- (CGRect)rectForEphemeralSubviewNamed:(CPString)aViewName +{ + if (aViewName.indexOf("segment-bezel") === 0) + { + var segment = parseInt(aViewName.substring("segment-bezel-".length), 10), + segmentCount = _maxValue - _minValue; + + if (segment >= segmentCount) + return _CGRectMakeZero(); + + var bounds = [self bounds], + segmentWidth = FLOOR(bounds.size.width / segmentCount), + segmentFrame = CGRectCreateCopy([self bounds]); + + segmentFrame.size.height -= 1; + segmentFrame.origin.x = segmentWidth * segment; + // Make the last segment use up the remaining space. + segmentFrame.size.width = segment < segmentCount - 1 ? segmentWidth - _CPLevelIndicatorSpacing : bounds.size.width - segmentFrame.origin.x; + + return segmentFrame; + } + + return _CGRectMakeZero(); +} + + /* - (CPLevelIndicatorStyle)style; - (void)setLevelIndicatorStyle:(CPLevelIndicatorStyle)style; @@ -122,6 +244,8 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", _numberOfTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfTickMarksKey]; _numberOfMajorTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; + [self _init]; + [self setNeedsLayout]; [self setNeedsDisplay:YES]; } diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png new file mode 100644 index 0000000000000000000000000000000000000000..783567602a607e80d7f97b9459c4e482276f4d46 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{J!3HE}g>Tsdq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6)AYSIEGZ*N?NgcwRd90pC2FV)z}mk@E!c~;-Yd~0|PU| Xz5N`~R@pg{K(!2>u6{1-oD!M8U}fi7AzZCsS>JigG+%978H@C9PS#IyosJ!GI|#bXxuYe={wtt;J8DKE1oq zVip${SDcQHj*X84pLqvk$gu-ozQ2#3AZNgE(%`VAhLHnbo}^d`bH|m#J;CR{$M3JJ yZ9X~2w)okZPI>#fnp7S>KDL)1nJNVo4lqcoJ3X~~lvV(=m%-E3&t;ucLK6VS)J3NN literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-right.png new file mode 100644 index 0000000000000000000000000000000000000000..d4718c06fb52c0cdbf92c0eea3a3cf2342d1536f GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^%s?!}!3HGfElOzwQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>JimE(a978H@C9PS#x;rHyVF&M#=QEz4pI;vl5D@U_-rj2d znGunZtRf;Jd;b0Xz5FE0l(dAz#D|PUI}XYS{P_J{Uw97ll*D6t%ugOnOLR1A@UT5I zqpI%judlospXWY3-Y*}2ey(-7kVbLe&zqam*MzT+i~SD-Zy6Zb7@GY3BytbDu?4z< N!PC{xWt~$(696RJR^0#q literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png new file mode 100644 index 0000000000000000000000000000000000000000..e92f7983e22918a0f2782b0fa30fb603a2e7e54e GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{N!3HE{4j&T&Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jief!o978H@C2351rkh?N`~2hlPFL5-jh(JR(;7P``ZqMb zynno$$ERN2J|W@P=O1&WMEkMnQ80C jPlg8ftNw)WDjZ_tDnm{r-UW|Bb7xJ literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png new file mode 100644 index 0000000000000000000000000000000000000000..19b9a3312807e67018adfd38fe76ea5e393f6a35 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^%s?#2!3HEH%*6D8lw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqNScLjv*Ddl60m$OHE5i*ua(~JMI5}$sF&LpWTrnSKmbZ zGc=GWx>0RmR8&~pY+bP0 Hl+XkK2ZCx% literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png new file mode 100644 index 0000000000000000000000000000000000000000..283244ade916c6b8ee72bddd8601588332992b3c GIT binary patch literal 275 zcmV+u0qp*XP)np|H+tLb zvH15@=Ge!dPnlRXbon^!JskfrFc`A1NXr9NFmMAoJS>cS0w4~5`DzdwHb_%cw>QRZ9EUrHVN^m7f+nAHFQ Z1^_A)Naej%#^wM3002ovPDHLkV1hWgbZY8U}fi7AzZCsS>JihMj>978H@>73jsctC-N<>2$B4T&M`(Ip;pPhDZ-;jn(t zF!No&@xPftro*ua(~JFWizznf7}QDUc0p1is7 z&)?tI1H8RYPn#SNP{&aIE%FED4mef=Rzo%(-& z98V||J4m!=_Vn~{@Nsi<&p6ETq=s4QL-Wj;GaETq{QJ-;tggrW_SZQH5fPRkVZI|_ c42*0HO;Mq8Yxc=s2Rezt)78&qol`;+0KZyR^8f$< literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2f96a6d2e6c92c9237ee702a1ff7cb982994f2cf GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^%s?#2!3HEH%*6D8lw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqDh`Ejv*DdlGdzWe?BQ8VF%L@_nFK6=I&~rK0W-|$H&M0 zXR@%e{@k)C|@E>ppY7 oO{G%l-(O!%|Ns9V&nu9?V9b-?_AWkeI?#0tp00i_>zopr0B)jT8~^|S literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png new file mode 100644 index 0000000000000000000000000000000000000000..6389653e82b1f9773ad16c9b71cc7203d9fb61b8 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{N!3HE{4j&T&Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jief!o978H@C9PPsN-KRvmGLM0$t?Xs%##(STQCc&Yx6T- z-adc6hL?VvWjrC{Qv)-N1R`d8>ozdo*e wWe&f;#D1COAJ=z~L)YEe@rMnp|!=}sa zVd4EP^X(z$Qzl74IX+n(e#d|R{u#0eaY+JIFmV6>|Con`la&X=Vfg#^FEh)xpP#`T zpfYBbw_jc$WMG_s|G1c0zWn$Am0@RL`TFxCR7RAU<@@h%Fg+|RfBybLn8wP=hA@qv zO9;$)0+L~8-(Eaf3N)e_xC6>?>h~tcX$4+0jgXL5MTh>hgFUU SzJKfh00008U}fi7AzZCsS>Jio!fy978H@=^WX})u154df|5H1qG$1W#3*D{}Q@xcTF>M z%{7rq38!?6g1kF|hr%+>aAnyxd+{zf!ThY|PiM?l>7I|Q!CDEo%@%AG_9)vbcj|ZX cPZkM=Z$D&WPV8BIA7}%Er>mdKI;Vst0BM>)(f|Me literal 0 HcmV?d00001 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png new file mode 100644 index 0000000000000000000000000000000000000000..17f50d2ad1fa7a5ae6e0b6d15c3e0fd6c7668f9a GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^%s?#2!3HEH%*6D8lw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqIsS!jv*DdlFpnKPD)Ei*ua(~+crl=vE91-in)E&lfM(6 z{;y|q&dUpTS5wo=n^yl{qTiBvQPeEa@BdWX?8dHa3JDRuw;^cyrxo-CNi&)%*v<1kCex8BCauk6CY z{2hl2etdj+)z2zRMo^ah8=u!qxS3j3^P6nod9zF8@ zc;}A#=A0ZM2PSrQZ9Z;pSI7VV84OuiSY&}J7`XraW8h(7W)=W(82jID zD8tP1`}adA=Rbn;_b&rT*&CQL79i&>LfMZW-(kvFSbqNekC5TyWJDOi!66EjdCknk z#KZ$+vi<-n`^E%he1H7-@nxXVN15;3c`0@D==U{1>D2%M1_0b@PgnsoTL%CD002ov JPDHLkV1m)3Yjgkr literal 0 HcmV?d00001 From b4dabb6c35442b347c3547693cfc46fe5374e108 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 15:26:21 -0400 Subject: [PATCH 30/78] Fix level indicator property names. --- AppKit/CPLevelIndicator.j | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index e22679251..943627326 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -48,14 +48,14 @@ var _CPLevelIndicatorBezelColor = nil, */ @implementation CPLevelIndicator : CPControl { - CPLevelIndicator _levelIndicatorStyle @accessors; - double _minValue @accessors; - double _maxValue @accessors; - double _warningValue @accessors; - double _criticalValue @accessors; - CPTickMarkPosition _tickMarkPosition @accessors; - int _numberOfTickMarks @accessors; - int _numberOfMajorTickMarks @accessors; + CPLevelIndicator _levelIndicatorStyle @accessors(property=levelIndicatorStyle); + double _minValue @accessors(property=minValue); + double _maxValue @accessors(property=maxValue); + double _warningValue @accessors(property=warningValue); + double _criticalValue @accessors(property=criticalValue); + CPTickMarkPosition _tickMarkPosition @accessors(property=tickMarkPosition); + int _numberOfTickMarks @accessors(property=numberOfTickMarks); + int _numberOfMajorTickMarks @accessors(property=numberOfMajorTickMarks); } + (void)initialize @@ -186,7 +186,6 @@ var _CPLevelIndicatorBezelColor = nil, return _CGRectMakeZero(); } - /* - (CPLevelIndicatorStyle)style; - (void)setLevelIndicatorStyle:(CPLevelIndicatorStyle)style; From b2e13919e0c66fe1474eaeb90a22ee73b994e199 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 15:41:53 -0400 Subject: [PATCH 31/78] Support for editing level indicators. --- AppKit/CPLevelIndicator.j | 61 +++++++++++++++++++++++++++++++- Tools/nib2cib/NSLevelIndicator.j | 2 ++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 943627326..5cdb46b3b 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -56,6 +56,8 @@ var _CPLevelIndicatorBezelColor = nil, CPTickMarkPosition _tickMarkPosition @accessors(property=tickMarkPosition); int _numberOfTickMarks @accessors(property=numberOfTickMarks); int _numberOfMajorTickMarks @accessors(property=numberOfMajorTickMarks); + + BOOL _isEditable; } + (void)initialize @@ -186,6 +188,59 @@ var _CPLevelIndicatorBezelColor = nil, return _CGRectMakeZero(); } +/*! + Sets whether or not the receiver level indicator can be edited. +*/ +- (void)setEditable:(BOOL)shouldBeEditable +{ + if (_isEditable === shouldBeEditable) + return; + + _isEditable = shouldBeEditable; +} + +/*! + Returns \c YES if the textfield is currently editable by the user. +*/ +- (BOOL)isEditable +{ + return _isEditable; +} + +- (void)mouseDown:(CPEvent)anEvent +{ + if (![self isEditable] || ![self isEnabled]) + return; + + var type = [anEvent type], + location = [self convertPoint:[anEvent locationInWindow] fromView:nil]; + + if (type == CPLeftMouseDown) + { + var segmentCount = _maxValue - _minValue; + + if (segmentCount <= 0) + return; + + for (var i = 0; i < segmentCount; i++) + { + var rect = [self rectForEphemeralSubviewNamed:"segment-bezel-" + i]; + + if (CGRectContainsPoint(rect, location)) + { + [self setDoubleValue:(_minValue + i + 1)]; + [self sendAction:[self action] to:[self target]]; + return; + } + } + } +} + +- (void)mouseUp:(CPEvent)anEvent +{ + // Don't do anything special on mouse up, e.g. don't fire the action. +} + /* - (CPLevelIndicatorStyle)style; - (void)setLevelIndicatorStyle:(CPLevelIndicatorStyle)style; @@ -224,7 +279,8 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", CPLevelIndicatorCriticalValueKey = "CPLevelIndicatorCriticalValueKey", CPLevelIndicatorTickMarkPositionKey = "CPLevelIndicatorTickMarkPositionKey", CPLevelIndicatorNumberOfTickMarksKey = "CPLevelIndicatorNumberOfTickMarksKey", - CPLevelIndicatorNumberOfMajorTickMarksKey = "CPLevelIndicatorNumberOfMajorTickMarksKey"; + CPLevelIndicatorNumberOfMajorTickMarksKey = "CPLevelIndicatorNumberOfMajorTickMarksKey", + CPLevelIndicatorIsEditableKey = "CPLevelIndicatorIsEditableKey"; @implementation CPLevelIndicator (CPCoding) @@ -243,6 +299,8 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", _numberOfTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfTickMarksKey]; _numberOfMajorTickMarks = [aCoder decodeIntForKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; + _isEditable = [aCoder decodeBoolForKey:CPLevelIndicatorIsEditableKey]; + [self _init]; [self setNeedsLayout]; @@ -264,6 +322,7 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", [aCoder encodeInt:_tickMarkPosition forKey:CPLevelIndicatorTickMarkPositionKey]; [aCoder encodeInt:_numberOfTickMarks forKey:CPLevelIndicatorNumberOfTickMarksKey]; [aCoder encodeInt:_numberOfMajorTickMarks forKey:CPLevelIndicatorNumberOfMajorTickMarksKey]; + [aCoder encodeBool:_isEditable forKey:CPLevelIndicatorIsEditableKey]; } @end diff --git a/Tools/nib2cib/NSLevelIndicator.j b/Tools/nib2cib/NSLevelIndicator.j index 8981a597b..e62a62d19 100644 --- a/Tools/nib2cib/NSLevelIndicator.j +++ b/Tools/nib2cib/NSLevelIndicator.j @@ -41,6 +41,8 @@ _tickMarkPosition = [cell tickMarkPosition]; _numberOfTickMarks = [cell numberOfTickMarks]; _numberOfMajorTickMarks = [cell numberOfMajorTickMarks]; + + [self setEditable:[cell isEditable]]; } return self; From ed8811e66b8b222f7e3e91947444fb3e052a871a Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 16:04:27 -0400 Subject: [PATCH 32/78] Click and drag edit support for level indicators. --- AppKit/CPLevelIndicator.j | 62 +++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 5cdb46b3b..66c983452 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -58,6 +58,8 @@ var _CPLevelIndicatorBezelColor = nil, int _numberOfMajorTickMarks @accessors(property=numberOfMajorTickMarks); BOOL _isEditable; + + BOOL _isTracking; } + (void)initialize @@ -212,33 +214,63 @@ var _CPLevelIndicatorBezelColor = nil, if (![self isEditable] || ![self isEnabled]) return; - var type = [anEvent type], - location = [self convertPoint:[anEvent locationInWindow] fromView:nil]; + [self _trackMouse:anEvent]; +} - if (type == CPLeftMouseDown) +- (void)_trackMouse:(CPEvent)anEvent +{ + var type = [anEvent type]; + + if (type == CPLeftMouseDown || type == CPLeftMouseDragged) { var segmentCount = _maxValue - _minValue; if (segmentCount <= 0) return; - for (var i = 0; i < segmentCount; i++) - { - var rect = [self rectForEphemeralSubviewNamed:"segment-bezel-" + i]; + var location = [self convertPoint:[anEvent locationInWindow] fromView:nil], + bounds = [self bounds], + oldValue = [self doubleValue]; + newValue = oldValue; - if (CGRectContainsPoint(rect, location)) + // Moving the mouse outside of the widget to the left sets it + // to its minimum, and moving outside on the right sets it to + // its maximum. + if (type == CPLeftMouseDragged && location.x < 0) + { + newValue = _minValue; + } + else if (type == CPLeftMouseDragged && location.x > bounds.size.width) + { + newValue = _maxValue; + } + else + { + for (var i = 0; i < segmentCount; i++) { - [self setDoubleValue:(_minValue + i + 1)]; - [self sendAction:[self action] to:[self target]]; - return; + var rect = [self rectForEphemeralSubviewNamed:"segment-bezel-" + i]; + + // Once we're tracking the mouse, we only care about horizontal mouse movement. + if (location.x >= CGRectGetMinX(rect) && location.x < CGRectGetMaxX(rect)) + { + newValue = (_minValue + i + 1); + break; + } } } - } -} -- (void)mouseUp:(CPEvent)anEvent -{ - // Don't do anything special on mouse up, e.g. don't fire the action. + if (newValue != oldValue) + [self setDoubleValue:newValue]; + + // Track the mouse to support click and slide value editing. + _isTracking = YES; + [CPApp setTarget:self selector:@selector(_trackMouse:) forNextEventMatchingMask:CPLeftMouseDraggedMask | CPLeftMouseUpMask untilDate:nil inMode:nil dequeue:YES]; + } + else if (_isTracking) + { + _isTracking = NO; + [self sendAction:[self action] to:[self target]]; + } } /* From 85c5094c8be4c0e9eb4ca625dcc2f1218cb7e13b Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 16:17:40 -0400 Subject: [PATCH 33/78] Manual test for level indicator. --- Tests/Manual/CPLevelIndicator/AppController.j | 30 + Tests/Manual/CPLevelIndicator/Info.plist | 10 + Tests/Manual/CPLevelIndicator/Jakefile | 94 + .../CPLevelIndicator/Resources/MainMenu.cib | 1 + .../CPLevelIndicator/Resources/MainMenu.xib | 3426 +++++++++++++++++ .../CPLevelIndicator/Resources/spinner.gif | Bin 0 -> 1849 bytes .../Manual/CPLevelIndicator/index-debug.html | 103 + Tests/Manual/CPLevelIndicator/index.html | 77 + Tests/Manual/CPLevelIndicator/main.j | 18 + 9 files changed, 3759 insertions(+) create mode 100644 Tests/Manual/CPLevelIndicator/AppController.j create mode 100644 Tests/Manual/CPLevelIndicator/Info.plist create mode 100644 Tests/Manual/CPLevelIndicator/Jakefile create mode 100644 Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib create mode 100644 Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib create mode 100644 Tests/Manual/CPLevelIndicator/Resources/spinner.gif create mode 100644 Tests/Manual/CPLevelIndicator/index-debug.html create mode 100644 Tests/Manual/CPLevelIndicator/index.html create mode 100644 Tests/Manual/CPLevelIndicator/main.j diff --git a/Tests/Manual/CPLevelIndicator/AppController.j b/Tests/Manual/CPLevelIndicator/AppController.j new file mode 100644 index 000000000..624f05478 --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/AppController.j @@ -0,0 +1,30 @@ +/* + * AppController.j + * CPLevelIndicator + * + * Created by Alexander Ljungberg on May 28, 2011. + * Copyright 2011, WireLoad All rights reserved. + */ + +@import + + +@implementation AppController : CPObject +{ + CPWindow theWindow; //this "outlet" is connected automatically by the Cib +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. +} + +- (void)awakeFromCib +{ + // This is called when the cib is done loading. + // You can implement this method on any object instantiated from a Cib. + // It's a useful hook for setting up current UI values, and other things. + +} + +@end diff --git a/Tests/Manual/CPLevelIndicator/Info.plist b/Tests/Manual/CPLevelIndicator/Info.plist new file mode 100644 index 000000000..877388578 --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPLevelIndicator + + diff --git a/Tests/Manual/CPLevelIndicator/Jakefile b/Tests/Manual/CPLevelIndicator/Jakefile new file mode 100644 index 000000000..bd57b7a0d --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * CPLevelIndicator + * + * Created by Alexander Ljungberg on May 28, 2011. + * Copyright 2011, WireLoad All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPLevelIndicator", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPLevelIndicator.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPLevelIndicator"); + task.setIdentifier("com.yourcompany.CPLevelIndicator"); + task.setVersion("1.0"); + task.setAuthor("WireLoad"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPLevelIndicator"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPLevelIndicator"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPLevelIndicator", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPLevelIndicator", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPLevelIndicator")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPLevelIndicator"), FILE.join("Build", "Deployment", "CPLevelIndicator")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPLevelIndicator")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPLevelIndicator"), FILE.join("Build", "Desktop", "CPLevelIndicator", "CPLevelIndicator.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPLevelIndicator", "CPLevelIndicator.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPLevelIndicator")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib new file mode 100644 index 000000000..8de91a8e2 --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;132E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;365E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;366E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;373E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;35E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;376E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;377E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;16;CPLevelIndicatorK;8;$classesA;S;16;CPLevelIndicatorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;381E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;382E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;383E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;385E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;380E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;387E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;386E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;380E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;380E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;106E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;392E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;393E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;394E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;395E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;374E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;396E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;399E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;144E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;403E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;413E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;415E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;382E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;383E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;385E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;416E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;385E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;385E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;380E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;380E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;25E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;86E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;25E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;88E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;385E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;428E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;429E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;431E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;382E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;383E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;385E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;380E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;385E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;385E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;380E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;380E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;409E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;432E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;433E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;434E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;428E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;435E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;34E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;439E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;440E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;385E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;97E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;128E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;448E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;449E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;450E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;451E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;452E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;453E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;454E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;455E;K;6;$afontD;K;6;CP$UIDd;3;457E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;386E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;388E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;408E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;388E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;385E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;386E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;461E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;462E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;464E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;466E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;467E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;468E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;469E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;421E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;472E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;149E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;422E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;475E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;478E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;399E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;378E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;480E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;481E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;483E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;445E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;485E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;486E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;488E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;452E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;453E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;454E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;455E;K;6;$afontD;K;6;CP$UIDd;3;489E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;386E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;388E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;408E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;388E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;385E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;386E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;109E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;495E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;497E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;389E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;498E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;499E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;491E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;500E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;502E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;132E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;506E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;507E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;508E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;510E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;511E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;452E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;453E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;454E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;455E;K;6;$afontD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;386E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;388E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;408E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;388E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;385E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;386E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;39E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;514E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;439E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;517E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;518E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;519E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;524E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;525E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;505E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;526E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;527E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;528E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;529E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;530E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;127E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;25E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;531E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;385E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;532E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;533E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;439E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;537E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;524E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;525E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;538E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;539E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;540E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;541E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;402E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;543E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;544E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;546E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;547E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;548E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;524E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;549E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;474E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;550E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;519E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;128E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;551E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;552E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;553E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;554E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;555E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;556E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;2;13S;1;7S;1;9S;2;10S;2;12S;1;8S;2;11S;2;14S;12;File's OwnerS;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;35S;2;36S;2;37S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;51S;2;50S;2;52S;2;53S;2;54S;2;55S;2;57S;2;56S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;72S;2;71S;2;73S;2;74S;2;75S;2;76S;2;77S;2;78S;2;79S;2;80S;2;81S;2;82S;2;90S;2;84S;2;85S;2;83S;2;87S;2;88S;2;89S;2;86S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;105S;3;106S;3;107S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;114S;3;115S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;294E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;557E;E;D;K;6;$classD;K;6;CP$UIDd;3;294E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;558E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;560E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;561E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;563E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;564E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;567E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;568E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;569E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;570E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;571E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;572E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;131E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;573E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;574E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;575E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;576E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;579E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;580E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;581E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;582E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;583E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;584E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;585E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;125E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;586E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;587E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;588E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;589E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;590E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;21E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;591E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;592E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;593E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;594E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;595E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;596E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;597E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;598E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;599E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;600E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;602E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;93E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;603E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;604E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;605E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;606E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;607E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;608E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;610E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;27E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;612E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;613E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;614E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;615E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;616E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;617E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;619E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;120E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;99E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;62E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;64E;E;E;S;4;CopyS;1;cd;7;1048576S;12;Show ToolbarS;1;td;7;1572864S;13;AppControllerS;14;NewApplicationS;14;submenuAction:S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;135E;E;E;S;6;WindowS;5;Lowerd;1;0S;21;{{20, 85}, {304, 18}}S;19;{{0, 0}, {304, 18}}d;2;34S;6;normald;1;2d;1;4d;1;6T;S;4;HelpS;4;ZoomS;11;Show ColorsS;1;CS;21;{{7, 11}, {448, 125}}S;20;{{0, 0}, {448, 125}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;99E;E;E;S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;3;147E;E;E;S;10;Copy Rulerd;7;1310720S;7;SmallerS;1;-S;4;KernS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;2;27E;E;E;S;8;Save As…S;1;Sd;7;1179648S;0;F;S;14;Start SpeakingS;11;Use DefaultS;10;Select AllS;1;aS;7;TightenS;21;{{20, 54}, {304, 18}}d;2;-2S;10;Copy StyleS;3;NewS;1;nS;7;Use AllS;4;FontS;4;FindS;27;Check Grammar With SpellingS;9;Find NextS;1;gS;9;SubscriptS;22;Use Selection for Findd;1;7S;1;eS;10;Show FontsS;21;{{20, 22}, {304, 18}}S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{213, 163}, {448, 125}}S;16;Level IndicatorsS;10;Align LeftS;1;{S;6;Italicd;1;1S;1;iS;12;Smart QuotesS;7;JustifyS;11;Hide OthersS;1;hS;20;Spelling and GrammarS;10;Clear MenuS;14;Show Spelling…S;1;:S;4;RedoS;1;ZS;22;{{326, 79}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;33S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;456E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;621E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;622E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;409E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;409E;E;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;459E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;623E;E;S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;101E;E;E;S;5;CloseS;1;wS;3;CutS;1;xS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;30E;E;E;S;5;PasteS;1;vS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;116E;E;E;S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;133E;E;E;S;18;Customize Toolbar…S;8;MinimizeS;1;mS;11;Paste RulerS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;3;142E;E;E;S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;57E;E;E;S;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;140E;E;E;S;22;{{326, 47}, {104, 29}}D;K;6;$classD;K;6;CP$UIDd;3;456E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;621E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;622E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;409E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;409E;E;S;20;About NewApplicationS;6;SpeechS;15;Revert to SavedS;6;DeleteS;12;Preferences…S;1;,S;13;Page Setup...S;1;PD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;134E;E;E;S;13;Stop SpeakingD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;107E;E;E;S;6;Print…S;1;pS;8;Use NoneS;6;LoosenS;4;FileS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;2;53E;E;E;S;11;Paste StyleS;5;Open…S;1;oS;22;{{326, 16}, {104, 29}}D;K;6;$classD;K;6;CP$UIDd;3;456E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;621E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;622E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;409E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;409E;E;S;27;Check Spelling While TypingS;11;SuperscriptS;5;Find…S;1;fS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;93E;E;E;S;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;75E;E;E;S;5;RaiseS;13;Find Previousd;1;3S;1;GD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;110E;E;E;S;17;Jump to SelectionS;1;jS;19;NewApplication HelpS;1;?S;4;BoldS;1;bS;16;Smart Copy/PasteS;6;CenterS;1;|S;19;Hide NewApplicationS;11;Smart LinksS;11;Align RightS;1;}S;18;Bring All to FrontS;8;Show AllD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;112E;E;E;S;9;UnderlineS;1;uS;10;Show RulerS;19;Quit NewApplicationS;1;qS;6;BiggerS;1;+D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;89E;E;E;S;14;Check SpellingS;1;;S;4;UndoS;1;zS;4;SaveS;1;sS;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;17;takeIntValueFrom:S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;439E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib new file mode 100644 index 000000000..e58e1de03 --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib @@ -0,0 +1,3426 @@ + + + + 1050 + 10J3210 + 1306 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 1306 + + + YES + NSView + NSMenu + NSWindowTemplate + NSMenuItem + NSTextField + NSTextFieldCell + NSLevelIndicatorCell + NSLevelIndicator + NSCustomObject + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + NewApplication + + YES + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide NewApplication + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + 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 + + YES + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + 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 + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + 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 + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 7 + 2 + {{213, 890}, {448, 125}} + 1948778496 + Level Indicators + NSWindow + + + + 256 + + YES + + + 266 + {{20, 85}, {304, 18}} + + + + YES + + 130560 + 0 + + 2 + 2 + 2 + 2 + 2 + + + + + 266 + {{20, 22}, {304, 18}} + + + + YES + + 270663168 + 0 + + 2 + 6 + 4 + 2 + 2 + + + + + 266 + {{20, 53}, {304, 18}} + + + + YES + + 270663168 + 0 + + 2 + -2 + 2 + 2 + 2 + 2 + + + + + 265 + {{332, 83}, {96, 22}} + + + + YES + + -1804468671 + 272630784 + + + LucidaGrande + 13 + 1044 + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 265 + {{332, 20}, {96, 22}} + + + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 265 + {{332, 52}, {96, 22}} + + + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + {{7, 11}, {448, 125}} + + + + + {{0, 0}, {1920, 1178}} + {1e+13, 1e+13} + + + AppController + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + 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 + + + + showHelp: + + + + 360 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + 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 + + + + alignLeft: + + + + 442 + + + + alignJustified: + + + + 443 + + + + copyRuler: + + + + 444 + + + + alignCenter: + + + + 445 + + + + toggleRuler: + + + + 446 + + + + alignRight: + + + + 447 + + + + pasteRuler: + + + + 448 + + + + terminate: + + + + 449 + + + + delegate + + + + 451 + + + + theWindow + + + + 459 + + + + takeIntValueFrom: + + + + 478 + + + + takeIntValueFrom: + + + + 479 + + + + takeIntValueFrom: + + + + 480 + + + + takeIntValueFrom: + + + + 481 + + + + takeIntValueFrom: + + + + 482 + + + + takeIntValueFrom: + + + + 483 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 75 + + + 3 + + + 80 + + + 8 + + + 78 + + + 6 + + + 72 + + + + + 82 + + + 9 + + + 124 + + + YES + + + + + + 77 + + + 5 + + + 73 + + + 1 + + + 79 + + + 7 + + + 112 + + + 10 + + + 74 + + + 2 + + + 125 + + + YES + + + + + + 126 + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + YES + + + + 2 + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + + 375 + + + YES + + + + + + 376 + + + YES + + + + + + + 377 + + + YES + + + + + + 378 + + + YES + + + + + + 379 + + + YES + + + + + + + + + + + + + 380 + + + + + 381 + + + + + 382 + + + + + 383 + + + + + 384 + + + + + 385 + + + + + 386 + + + + + 387 + + + + + 388 + + + YES + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + YES + + + + + + 398 + + + YES + + + + + + 399 + + + YES + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + YES + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + YES + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + YES + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 450 + + + + + 466 + + + YES + + + + + + 467 + + + YES + + + + + + 468 + + + YES + + + + + + 469 + + + YES + + + + + + 470 + + + YES + + + + + + 471 + + + YES + + + + + + 472 + + + + + 473 + + + + + 474 + + + + + 475 + + + + + 476 + + + + + 477 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 112.IBPluginDependency + 112.ImportedFromIB2 + 124.IBPluginDependency + 124.ImportedFromIB2 + 125.IBPluginDependency + 125.ImportedFromIB2 + 125.editorWindowContentRectSynchronizationRect + 126.IBPluginDependency + 126.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 371.IBEditorWindowLastContentRect + 371.IBNSWindowAutoPositionCentersHorizontal + 371.IBNSWindowAutoPositionCentersVertical + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 372.IBPluginDependency + 375.IBPluginDependency + 376.IBEditorWindowLastContentRect + 376.IBPluginDependency + 377.IBPluginDependency + 378.IBPluginDependency + 379.IBPluginDependency + 380.IBPluginDependency + 381.IBPluginDependency + 382.IBPluginDependency + 383.IBPluginDependency + 384.IBPluginDependency + 385.IBPluginDependency + 386.IBPluginDependency + 387.IBPluginDependency + 388.IBEditorWindowLastContentRect + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBPluginDependency + 392.IBPluginDependency + 393.IBPluginDependency + 394.IBPluginDependency + 395.IBPluginDependency + 396.IBPluginDependency + 397.IBPluginDependency + 398.IBPluginDependency + 399.IBPluginDependency + 400.IBPluginDependency + 401.IBPluginDependency + 402.IBPluginDependency + 403.IBPluginDependency + 404.IBPluginDependency + 405.IBPluginDependency + 406.IBPluginDependency + 407.IBPluginDependency + 408.IBPluginDependency + 409.IBPluginDependency + 410.IBPluginDependency + 411.IBPluginDependency + 412.IBPluginDependency + 413.IBPluginDependency + 414.IBPluginDependency + 415.IBPluginDependency + 416.IBPluginDependency + 417.IBPluginDependency + 418.IBPluginDependency + 419.IBPluginDependency + 450.IBPluginDependency + 466.IBPluginDependency + 467.IBPluginDependency + 468.IBPluginDependency + 469.IBPluginDependency + 470.IBPluginDependency + 471.IBPluginDependency + 472.IBPluginDependency + 473.IBPluginDependency + 474.IBPluginDependency + 475.IBPluginDependency + 476.IBPluginDependency + 477.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 72.IBPluginDependency + 72.ImportedFromIB2 + 73.IBPluginDependency + 73.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{596, 852}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{522, 812}, {146, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{143, 285}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{303, 221}, {480, 360}} + + + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + {{33, 99}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{437, 242}, {86, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{523, 2}, {178, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{155, 102}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + + + + YES + + + + + 483 + + + + YES + + AppController + NSObject + + IBProjectSource + ./Classes/AppController.h + + + + NSDocument + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + + printDocument: + id + + + revertDocumentToSaved: + id + + + runPageLayout: + id + + + saveDocument: + id + + + saveDocumentAs: + id + + + saveDocumentTo: + id + + + + + IBProjectSource + ./Classes/NSDocument.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {9, 8} + {7, 2} + + + + diff --git a/Tests/Manual/CPLevelIndicator/Resources/spinner.gif b/Tests/Manual/CPLevelIndicator/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPLevelIndicator/index-debug.html b/Tests/Manual/CPLevelIndicator/index-debug.html new file mode 100644 index 000000000..2a39dc38f --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + CPLevelIndicator + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPLevelIndicator/index.html b/Tests/Manual/CPLevelIndicator/index.html new file mode 100644 index 000000000..5da5ba3cc --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + CPLevelIndicator + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPLevelIndicator/main.j b/Tests/Manual/CPLevelIndicator/main.j new file mode 100644 index 000000000..7a956f1f5 --- /dev/null +++ b/Tests/Manual/CPLevelIndicator/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPLevelIndicator + * + * Created by Alexander Ljungberg on May 28, 2011. + * Copyright 2011, WireLoad All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From 19090de3801b47bba051a6232b5073cf1d59187c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 16:47:36 -0400 Subject: [PATCH 34/78] Relayout level indicator as needed. --- AppKit/CPLevelIndicator.j | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 66c983452..6eb42ed44 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -276,19 +276,45 @@ var _CPLevelIndicatorBezelColor = nil, /* - (CPLevelIndicatorStyle)style; - (void)setLevelIndicatorStyle:(CPLevelIndicatorStyle)style; +*/ -- (double)minValue; -- (void)setMinValue:(double)minValue; +- (void)setMinValue:(double)minValue +{ + if (_minValue === minValue) + return; + _minValue = minValue; -- (double)maxValue; -- (void)setMaxValue:(double)maxValue; + [self setNeedsLayout]; +} + +- (void)setMaxValue:(double)maxValue +{ + if (_maxValue === maxValue) + return; + _maxValue = maxValue; + + [sef setNeedsLayout]; +} -- (double)warningValue; - (void)setWarningValue:(double)warningValue; +{ + if (_warningValue === warningValue) + return; + _warningValue = warningValue; + + [sef setNeedsLayout]; +} -- (double)criticalValue; - (void)setCriticalValue:(double)criticalValue; +{ + if (_criticalValue === criticalValue) + return; + _criticalValue = criticalValue; + [sef setNeedsLayout]; +} + +/* - (CPTickMarkPosition)tickMarkPosition; - (void)setTickMarkPosition:(CPTickMarkPosition)position; From 4316192b8dd0a3c67c5268b422bdc3236bf0d1f9 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 21:24:41 -0400 Subject: [PATCH 35/78] Support NSButtonCell (e.g. checkboxes) in table columns through nib2cib. --- Tools/nib2cib/NSButton.j | 255 ++++++++++++++++++---------------- Tools/nib2cib/NSTableColumn.j | 8 +- 2 files changed, 142 insertions(+), 121 deletions(-) diff --git a/Tools/nib2cib/NSButton.j b/Tools/nib2cib/NSButton.j index 1cbda554e..1fb108cde 100644 --- a/Tools/nib2cib/NSButton.j +++ b/Tools/nib2cib/NSButton.j @@ -61,131 +61,146 @@ var NSButtonIsBorderedMask = 0x00800000, if (self) { - var cell = [aCoder decodeObjectForKey:@"NSCell"], - alternateImage = [cell alternateImage], - positionOffsetSizeWidth = 0, - positionOffsetOriginX = 0, - positionOffsetOriginY = 0; - - if ([alternateImage isKindOfClass:[NSButtonImageSource class]]) - { - /* - Because CPCheckBox and CPRadio are direct subclasses, - we can just change the class of this object. In the - case of CPRadio, we can add its _radioGroup ivar by setting it - directly on self. - */ - if ([alternateImage imageName] === @"NSSwitch") - self.isa = [CPCheckBox class]; - - else if ([alternateImage imageName] === @"NSRadioButton") - { - self.isa = [CPRadio class]; - self._radioGroup = [CPRadioGroup new]; - } - } - - NIB_CONNECTION_EQUIVALENCY_TABLE[[cell UID]] = self; - - _title = [cell title]; - _controlSize = CPRegularControlSize; - - [self setBordered:[cell isBordered]]; - _bezelStyle = [cell bezelStyle]; - - - // clean up: - switch (_bezelStyle) - { - // implemented: - case CPRoundedBezelStyle: - positionOffsetOriginY = 6; - positionOffsetOriginX = 4; - positionOffsetSizeWidth = -12; - break; - case CPTexturedRoundedBezelStyle: - positionOffsetOriginY = 2; - positionOffsetOriginX = -2; - positionOffsetSizeWidth = 0; - break; - case CPHUDBezelStyle: - break; - // approximations: - case CPRoundRectBezelStyle: - positionOffsetOriginY = -3; - positionOffsetOriginX = -2; - positionOffsetSizeWidth = 0; - _bezelStyle = CPRoundedBezelStyle; - break; - case CPSmallSquareBezelStyle: - positionOffsetOriginX = -2; - positionOffsetSizeWidth = 0; - _bezelStyle = CPTexturedRoundedBezelStyle; - break; - case CPThickSquareBezelStyle: - case CPThickerSquareBezelStyle: - case CPRegularSquareBezelStyle: - positionOffsetOriginY = 3; - positionOffsetOriginX = 0; - positionOffsetSizeWidth = -4; - _bezelStyle = CPTexturedRoundedBezelStyle; - break; - case CPTexturedSquareBezelStyle: - positionOffsetOriginY = 4; - positionOffsetOriginX = -1; - positionOffsetSizeWidth = -2; - _bezelStyle = CPTexturedRoundedBezelStyle; - break; - case CPShadowlessSquareBezelStyle: - positionOffsetOriginY = 5; - positionOffsetOriginX = -2; - positionOffsetSizeWidth = 0; - _bezelStyle = CPTexturedRoundedBezelStyle; - break; - case CPRecessedBezelStyle: - positionOffsetOriginY = -3; - positionOffsetOriginX = -2; - positionOffsetSizeWidth = 0; - _bezelStyle = CPHUDBezelStyle; - break; - // unsupported - case CPRoundedDisclosureBezelStyle: - case CPHelpButtonBezelStyle: - case CPCircularBezelStyle: - case CPDisclosureBezelStyle: - CPLog.warn("NSButton [%s]: unsupported bezel style: %d", _title == null ? "" : '"' + _title + '"', _bezelStyle); - _bezelStyle = CPHUDBezelStyle; - break; - // error: - default: - CPLog.warn("NSButton [%s]: unknown bezel style: %d", _title == null ? "" : '"' + _title + '"', _bezelStyle); - _bezelStyle = CPHUDBezelStyle; - } - - if ([cell isBordered]) - { - CPLog.debug("NSButton [%s]: adjusting height from %d to %d", _title == null ? "" : '"' + _title + '"', _frame.size.height, CPButtonDefaultHeight); - _frame.size.height = CPButtonDefaultHeight; - - // Reposition the buttons according to its particular offsets - _frame.origin.x += positionOffsetOriginX; - _frame.origin.y += positionOffsetOriginY; - _frame.size.width += positionOffsetSizeWidth; - _bounds.size.width += positionOffsetSizeWidth; - - _bounds.size.height = CPButtonDefaultHeight; - } - - _keyEquivalent = [cell keyEquivalent]; - _keyEquivalentModifierMask = [cell keyEquivalentModifierMask]; - - _allowsMixedState = [cell allowsMixedState]; - [self setImagePosition:[cell imagePosition]]; + var cell = [aCoder decodeObjectForKey:@"NSCell"]; + self = [self NS_initWithCell:cell]; } return self; } +/*! + Intialise a button given a cell. This method is meant for reuse by controls which contain + cells other than CPButton itself. +*/ +- (id)NS_initWithCell:(NSCell)cell +{ + var alternateImage = [cell alternateImage], + positionOffsetSizeWidth = 0, + positionOffsetOriginX = 0, + positionOffsetOriginY = 0; + + if ([alternateImage isKindOfClass:[NSButtonImageSource class]]) + { + /* + Because CPCheckBox and CPRadio are direct subclasses, + we can just change the class of this object. In the + case of CPRadio, we can add its _radioGroup ivar by setting it + directly on self. + + When swizzling the class, make sure to update the theme + attributes. + */ + if ([alternateImage imageName] === @"NSSwitch") + { + self.isa = [CPCheckBox class]; + } + else if ([alternateImage imageName] === @"NSRadioButton") + { + self.isa = [CPRadio class]; + self._radioGroup = [CPRadioGroup new]; + } + } + + NIB_CONNECTION_EQUIVALENCY_TABLE[[cell UID]] = self; + + _title = [cell title]; + _controlSize = CPRegularControlSize; + + [self setBordered:[cell isBordered]]; + _bezelStyle = [cell bezelStyle]; + + + // clean up: + switch (_bezelStyle) + { + // implemented: + case CPRoundedBezelStyle: + positionOffsetOriginY = 6; + positionOffsetOriginX = 4; + positionOffsetSizeWidth = -12; + break; + case CPTexturedRoundedBezelStyle: + positionOffsetOriginY = 2; + positionOffsetOriginX = -2; + positionOffsetSizeWidth = 0; + break; + case CPHUDBezelStyle: + break; + // approximations: + case CPRoundRectBezelStyle: + positionOffsetOriginY = -3; + positionOffsetOriginX = -2; + positionOffsetSizeWidth = 0; + _bezelStyle = CPRoundedBezelStyle; + break; + case CPSmallSquareBezelStyle: + positionOffsetOriginX = -2; + positionOffsetSizeWidth = 0; + _bezelStyle = CPTexturedRoundedBezelStyle; + break; + case CPThickSquareBezelStyle: + case CPThickerSquareBezelStyle: + case CPRegularSquareBezelStyle: + positionOffsetOriginY = 3; + positionOffsetOriginX = 0; + positionOffsetSizeWidth = -4; + _bezelStyle = CPTexturedRoundedBezelStyle; + break; + case CPTexturedSquareBezelStyle: + positionOffsetOriginY = 4; + positionOffsetOriginX = -1; + positionOffsetSizeWidth = -2; + _bezelStyle = CPTexturedRoundedBezelStyle; + break; + case CPShadowlessSquareBezelStyle: + positionOffsetOriginY = 5; + positionOffsetOriginX = -2; + positionOffsetSizeWidth = 0; + _bezelStyle = CPTexturedRoundedBezelStyle; + break; + case CPRecessedBezelStyle: + positionOffsetOriginY = -3; + positionOffsetOriginX = -2; + positionOffsetSizeWidth = 0; + _bezelStyle = CPHUDBezelStyle; + break; + // unsupported + case CPRoundedDisclosureBezelStyle: + case CPHelpButtonBezelStyle: + case CPCircularBezelStyle: + case CPDisclosureBezelStyle: + CPLog.warn("NSButton [%s]: unsupported bezel style: %d", _title == null ? "" : '"' + _title + '"', _bezelStyle); + _bezelStyle = CPHUDBezelStyle; + break; + // error: + default: + CPLog.warn("NSButton [%s]: unknown bezel style: %d", _title == null ? "" : '"' + _title + '"', _bezelStyle); + _bezelStyle = CPHUDBezelStyle; + } + + if ([cell isBordered]) + { + CPLog.debug("NSButton [%s]: adjusting height from %d to %d", _title == null ? "" : '"' + _title + '"', _frame.size.height, CPButtonDefaultHeight); + _frame.size.height = CPButtonDefaultHeight; + + // Reposition the buttons according to its particular offsets + _frame.origin.x += positionOffsetOriginX; + _frame.origin.y += positionOffsetOriginY; + _frame.size.width += positionOffsetSizeWidth; + _bounds.size.width += positionOffsetSizeWidth; + + _bounds.size.height = CPButtonDefaultHeight; + } + + _keyEquivalent = [cell keyEquivalent]; + _keyEquivalentModifierMask = [cell keyEquivalentModifierMask]; + + _allowsMixedState = [cell allowsMixedState]; + [self setImagePosition:[cell imagePosition]]; + + return self; +} + @end @implementation NSButton : CPButton diff --git a/Tools/nib2cib/NSTableColumn.j b/Tools/nib2cib/NSTableColumn.j index 785227901..adf0ae598 100644 --- a/Tools/nib2cib/NSTableColumn.j +++ b/Tools/nib2cib/NSTableColumn.j @@ -23,6 +23,7 @@ @import @import +@import @implementation CPTableColumn (NSCoding) @@ -42,7 +43,7 @@ [_dataView setImageScaling:[dataViewCell imageScaling]]; [_dataView setImageAlignment:[dataViewCell imageAlignment]]; } - else + else if ([dataViewCell isKindOfClass:[NSTextFieldCell class]]) { _dataView = [[CPTextField alloc] initWithFrame:CPRectMakeZero()]; @@ -72,6 +73,11 @@ if (![textColor isEqual:defaultColor]) [_dataView setTextColor:[dataViewCell textColor]]; } + else if ([dataViewCell isKindOfClass:[NSButtonCell class]]) + { + _dataView = [[CPButton alloc] initWithFrame:CGRectMakeZero()]; + _dataView = [_dataView NS_initWithCell:dataViewCell]; + } [_dataView setValue:[dataViewCell alignment] forThemeAttribute:@"alignment"]; From 8fdcbac2bd1211db2dd6c7ee043ebfe3ff0213cf Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 29 May 2011 23:18:30 -0400 Subject: [PATCH 36/78] Fix CPTableColumn width, minWidth and maxWidth encoding. --- AppKit/CPTableColumn.j | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTableColumn.j b/AppKit/CPTableColumn.j index b50e87485..1f3eaac90 100644 --- a/AppKit/CPTableColumn.j +++ b/AppKit/CPTableColumn.j @@ -428,7 +428,7 @@ CPTableColumnUserResizingMask = 1 << 1; var x = [self tableView]._cachedDataViews[dataViewUID]; if (x && x.length) - return x.pop(); + return x.pop(); // if we haven't cached an archive of the data view, do it now if (!_dataViewData[dataViewUID]) @@ -738,9 +738,9 @@ var CPTableColumnIdentifierKey = @"CPTableColumnIdentifierKey", { [aCoder encodeObject:_identifier forKey:CPTableColumnIdentifierKey]; - [aCoder encodeObject:_width forKey:CPTableColumnWidthKey]; - [aCoder encodeObject:_minWidth forKey:CPTableColumnMinWidthKey]; - [aCoder encodeObject:_maxWidth forKey:CPTableColumnMaxWidthKey]; + [aCoder encodeFloat:_width forKey:CPTableColumnWidthKey]; + [aCoder encodeFloat:_minWidth forKey:CPTableColumnMinWidthKey]; + [aCoder encodeFloat:_maxWidth forKey:CPTableColumnMaxWidthKey]; [aCoder encodeObject:_headerView forKey:CPTableColumnHeaderViewKey]; [aCoder encodeObject:_dataView forKey:CPTableColumnDataViewKey]; From 2b8fa11b84645f63b9a2abbcf291a130996fa9de Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 00:03:12 -0400 Subject: [PATCH 37/78] Optimise level indicator archiving (don't record static background colour). --- AppKit/CPLevelIndicator.j | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 6eb42ed44..6a9812c12 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -370,7 +370,11 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", - (void)encodeWithCoder:(CPCoder)aCoder { + // There's no reason to encode the background. + var background = [self backgroundColor]; + [self setBackgroundColor:nil]; [super encodeWithCoder:aCoder]; + [self setBackgroundColor:background]; [aCoder encodeInt:_levelIndicatorStyle forKey:CPLevelIndicatorStyleKey]; [aCoder encodeDouble:_minValue forKey:CPLevelIndicatorMinValueKey]; From a34155da61376df9c7b76f263beb438b86666e99 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 00:43:07 -0400 Subject: [PATCH 38/78] Whitespace cleanup. --- Objective-J/CFPropertyList.js | 87 ++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/Objective-J/CFPropertyList.js b/Objective-J/CFPropertyList.js index 4666b899f..80f0f6e0c 100644 --- a/Objective-J/CFPropertyList.js +++ b/Objective-J/CFPropertyList.js @@ -240,14 +240,14 @@ CFPropertyListSerializers[CFPropertyList.Format280North_v1_0] = "integer": function(/*Integer*/ anInteger) { var string = "" + anInteger; - + return INTEGER_MARKER + ';' + string.length + ';' + string; }, "real": function(/*Float*/ aFloat) { var string = "" + aFloat; - + return FLOAT_MARKER + ';' + string.length + ';' + string; }, @@ -259,7 +259,7 @@ CFPropertyListSerializers[CFPropertyList.Format280North_v1_0] = for (; index < count; ++index) string += serializePropertyList(anArray[index], serializers); - + return string + END_MARKER + ';'; }, @@ -340,57 +340,57 @@ var textContent = function(nodes) var _plist_traverseNextNode = function(anXMLNode, stayWithin, stack) { var node = anXMLNode; - + PLIST_FIRST_CHILD(node); - + // If this element has a child, traverse to it. if (node) return node; - + // If not, first check if it is a container class (as opposed to a designated leaf). // If it is, then we have to pop this container off the stack, since it is empty. if (NODE_NAME(anXMLNode) === PLIST_ARRAY || NODE_NAME(anXMLNode) === PLIST_DICTIONARY) stack.pop(); - + // If not, next check whether it has a sibling. else { if (node === stayWithin) return NULL; - + node = anXMLNode; - + PLIST_NEXT_SIBLING(node); - + if (node) - return node; + return node; } - + // If it doesn't, start working our way back up the node tree. node = anXMLNode; - + // While we have a node and it doesn't have a sibling (and we're within our stayWithin), // keep moving up. while (node) { var next = node; - + PLIST_NEXT_SIBLING(next); - + // If we have a next sibling, just go to it. if (next) return next; - + var node = PARENT_NODE(node); - - // If we are being asked to move up, and our parent is the stay within, then just + + // If we are being asked to move up, and our parent is the stay within, then just if (stayWithin && node === stayWithin) return NULL; - + // Pop the stack if we have officially "moved up" stack.pop(); } - + return NULL; } @@ -428,13 +428,13 @@ var ARRAY_MARKER = "A", function propertyListFrom280NorthString(/*String*/ aString) { var stream = new MarkedStream(aString), - + marker = NULL, - + key = "", object = NULL, plistObject = NULL, - + containers = [], currentContainer = NULL; @@ -445,12 +445,12 @@ function propertyListFrom280NorthString(/*String*/ aString) containers.pop(); continue; } - + var count = containers.length; - + if (count) currentContainer = containers[count - 1]; - + if (marker === KEY_MARKER) { key = stream.getString(); @@ -465,26 +465,27 @@ function propertyListFrom280NorthString(/*String*/ aString) case DICTIONARY_MARKER: object = new CFMutableDictionary(); containers.push(object); break; - + case FLOAT_MARKER: object = parseFloat(stream.getString()); break; + case INTEGER_MARKER: object = parseInt(stream.getString(), 10); break; - + case STRING_MARKER: object = stream.getString(); break; - + case TRUE_MARKER: object = YES; break; case FALSE_MARKER: object = NO; break; - + default: throw new Error("*** " + marker + " marker not recognized in Plist."); } if (!plistObject) plistObject = object; - + else if (currentContainer) // If the container is an array... if (currentContainer.slice) @@ -492,7 +493,7 @@ function propertyListFrom280NorthString(/*String*/ aString) else currentContainer.setValueForKey(key, object); } - + return plistObject; } @@ -539,7 +540,7 @@ CFPropertyList.propertyListFromXML = function(/*String | XMLNode*/ aStringOrXMLN // Skip over DOCTYPE and so forth. while (IS_OF_TYPE(XMLNode, XML_DOCUMENT) || IS_OF_TYPE(XMLNode, XML_XML)) PLIST_FIRST_CHILD(XMLNode); - + // Skip over the DOCTYPE... see a pattern? if (IS_DOCUMENTTYPE(XMLNode)) PLIST_NEXT_SIBLING(XMLNode); @@ -551,19 +552,19 @@ CFPropertyList.propertyListFromXML = function(/*String | XMLNode*/ aStringOrXMLN var key = "", object = NULL, plistObject = NULL, - + plistNode = XMLNode, - + containers = [], currentContainer = NULL; - + while (XMLNode = _plist_traverseNextNode(XMLNode, plistNode, containers)) { var count = containers.length; - + if (count) currentContainer = containers[count - 1]; - + if (NODE_NAME(XMLNode) === PLIST_KEY) { key = TEXT_CONTENT(XMLNode); @@ -590,22 +591,22 @@ CFPropertyList.propertyListFromXML = function(/*String | XMLNode*/ aStringOrXMLN object = decodeHTMLComponent(FIRST_CHILD(XMLNode) ? TEXT_CONTENT(XMLNode) : ""); break; - + case PLIST_BOOLEAN_TRUE: object = YES; break; case PLIST_BOOLEAN_FALSE: object = NO; break; - + case PLIST_DATA: object = new CFMutableData(); object.bytes = FIRST_CHILD(XMLNode) ? CFData.decodeBase64ToArray(TEXT_CONTENT(XMLNode), YES) : []; break; - + default: throw new Error("*** " + NODE_NAME(XMLNode) + " tag not recognized in Plist."); } if (!plistObject) plistObject = object; - + else if (currentContainer) // If the container is an array... if (currentContainer.slice) @@ -613,7 +614,7 @@ CFPropertyList.propertyListFromXML = function(/*String | XMLNode*/ aStringOrXMLN else currentContainer.setValueForKey(key, object); } - + return plistObject; } From 71364c9b1a30fc037bf31b92df6859bab57a3243 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 00:51:35 -0400 Subject: [PATCH 39/78] Fixed: very large numbers written to 280north1 plist files would be read back as very small numbers. This affected nib2cib and cib files in particular. --- Objective-J/CFPropertyList.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Objective-J/CFPropertyList.js b/Objective-J/CFPropertyList.js index 80f0f6e0c..da935afba 100644 --- a/Objective-J/CFPropertyList.js +++ b/Objective-J/CFPropertyList.js @@ -120,7 +120,12 @@ function serializePropertyList(/*CFPropertyList*/ aPropertyList, /*Object*/ seri else if (type === "number") { - if (FLOOR(aPropertyList) === aPropertyList) + // A number like 3.4028234663852885e+54 should not be written as an integer, even that it is + // an integer - it'd be awfully long if written by expanding it. Worse, if written as an + // integer with scientific notation the parseInt() used to read it back will parse it as + // just 3, thereby wasting many hours of sanity when you're trying to nib2cib a table and + // columns are mysteriously showing up 3 pixels wide. + if (FLOOR(aPropertyList) === aPropertyList && ("" + aPropertyList).indexOf('e') == -1) type = "integer"; else type = "real"; From a6ee37e03035001ea83d0863c6284c7922e6a59c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 00:56:28 -0400 Subject: [PATCH 40/78] Support level indicators as table cells through nib2cib. --- AppKit/CPTableView.j | 3 +-- Tools/nib2cib/NSLevelIndicator.j | 30 ++++++++++++++++++++++-------- Tools/nib2cib/NSTableColumn.j | 5 +++++ 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 104b292db..c2f28dcf9 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -1544,7 +1544,6 @@ NOT YET IMPLEMENTED _numberOfHiddenColumns += 1; _tableColumnRanges[index] = CPMakeRange(x, 0.0); } - else { var width = [_tableColumns[index] width] + _intercellSpacing.width; @@ -1843,7 +1842,7 @@ NOT YET IMPLEMENTED leftInset = FLOOR(_intercellSpacing.width / 2.0), topInset = FLOOR(_intercellSpacing.height / 2.0); - return _CGRectMake(tableColumnRange.location + leftInset, _CGRectGetMinY(rectOfRow) + topInset, tableColumnRange.length - _intercellSpacing.width, _CGRectGetHeight(rectOfRow) - _intercellSpacing.height); + return _CGRectMake(tableColumnRange.location + leftInset, _CGRectGetMinY(rectOfRow) + topInset, tableColumnRange.length - _intercellSpacing.width, _CGRectGetHeight(rectOfRow) - _intercellSpacing.height); } /*! diff --git a/Tools/nib2cib/NSLevelIndicator.j b/Tools/nib2cib/NSLevelIndicator.j index e62a62d19..172915429 100644 --- a/Tools/nib2cib/NSLevelIndicator.j +++ b/Tools/nib2cib/NSLevelIndicator.j @@ -28,6 +28,7 @@ { var cell = [aCoder decodeObjectForKey:@"NSCell"]; + // Initialise before [super ...] to ensure setObjectValue constrains the values properly. _minValue = [cell minValue]; _maxValue = [cell maxValue]; @@ -35,19 +36,32 @@ if (self) { - _levelIndicatorStyle = [cell levelIndicatorStyle]; - _warningValue = [cell warningValue]; - _criticalValue = [cell criticalValue]; - _tickMarkPosition = [cell tickMarkPosition]; - _numberOfTickMarks = [cell numberOfTickMarks]; - _numberOfMajorTickMarks = [cell numberOfMajorTickMarks]; - - [self setEditable:[cell isEditable]]; + self = [self NS_initWithCell:cell]; } return self; } +/*! + Intialise the receiver given a cell. This method is meant for reuse by controls which contain + cells other than CPLevelIndicator itself. +*/ +- (id)NS_initWithCell:(NSCell)cell +{ + _minValue = [cell minValue]; + _maxValue = [cell maxValue]; + _levelIndicatorStyle = [cell levelIndicatorStyle]; + _warningValue = [cell warningValue]; + _criticalValue = [cell criticalValue]; + _tickMarkPosition = [cell tickMarkPosition]; + _numberOfTickMarks = [cell numberOfTickMarks]; + _numberOfMajorTickMarks = [cell numberOfMajorTickMarks]; + + [self setEditable:[cell isEditable]]; + + return self; +} + @end @implementation NSLevelIndicator : CPLevelIndicator diff --git a/Tools/nib2cib/NSTableColumn.j b/Tools/nib2cib/NSTableColumn.j index adf0ae598..f573c29f8 100644 --- a/Tools/nib2cib/NSTableColumn.j +++ b/Tools/nib2cib/NSTableColumn.j @@ -78,6 +78,11 @@ _dataView = [[CPButton alloc] initWithFrame:CGRectMakeZero()]; _dataView = [_dataView NS_initWithCell:dataViewCell]; } + else if ([dataViewCell isKindOfClass:[NSLevelIndicatorCell class]]) + { + _dataView = [[CPLevelIndicator alloc] initWithFrame:CGRectMakeZero()]; + _dataView = [_dataView NS_initWithCell:dataViewCell]; + } [_dataView setValue:[dataViewCell alignment] forThemeAttribute:@"alignment"]; From fe606e47571211bb18888c6d009fd66c76e61f2d Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 30 May 2011 17:06:39 +0200 Subject: [PATCH 41/78] fix typo + wrong sizing behaviour with too much segment --- AppKit/CPLevelIndicator.j | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 6a9812c12..a920d83b9 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -176,13 +176,12 @@ var _CPLevelIndicatorBezelColor = nil, return _CGRectMakeZero(); var bounds = [self bounds], - segmentWidth = FLOOR(bounds.size.width / segmentCount), + basicSegmentWidth = bounds.size.width / segmentCount; segmentFrame = CGRectCreateCopy([self bounds]); + segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); + segmentFrame.size.width = FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; segmentFrame.size.height -= 1; - segmentFrame.origin.x = segmentWidth * segment; - // Make the last segment use up the remaining space. - segmentFrame.size.width = segment < segmentCount - 1 ? segmentWidth - _CPLevelIndicatorSpacing : bounds.size.width - segmentFrame.origin.x; return segmentFrame; } @@ -293,7 +292,7 @@ var _CPLevelIndicatorBezelColor = nil, return; _maxValue = maxValue; - [sef setNeedsLayout]; + [self setNeedsLayout]; } - (void)setWarningValue:(double)warningValue; @@ -302,7 +301,7 @@ var _CPLevelIndicatorBezelColor = nil, return; _warningValue = warningValue; - [sef setNeedsLayout]; + [self setNeedsLayout]; } - (void)setCriticalValue:(double)criticalValue; @@ -311,7 +310,7 @@ var _CPLevelIndicatorBezelColor = nil, return; _criticalValue = criticalValue; - [sef setNeedsLayout]; + [self setNeedsLayout]; } /* From e6f029c1fad30d681c77c292f8bdd6ae0cdb000b Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 30 May 2011 17:17:42 +0200 Subject: [PATCH 42/78] use all remaining space for last segment --- AppKit/CPLevelIndicator.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index a920d83b9..d49108162 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -180,7 +180,7 @@ var _CPLevelIndicatorBezelColor = nil, segmentFrame = CGRectCreateCopy([self bounds]); segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); - segmentFrame.size.width = FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; + segmentFrame.size.width = (segment == segmentCount - 1) ? bounds.size.width - segmentFrame.origin.x : FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; segmentFrame.size.height -= 1; return segmentFrame; From 6338b01cb4a70a1815361c1201aacb4785318a38 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 11:56:52 -0400 Subject: [PATCH 43/78] Fix accidental global. --- AppKit/CPLevelIndicator.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index d49108162..e3ab78fb8 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -176,7 +176,7 @@ var _CPLevelIndicatorBezelColor = nil, return _CGRectMakeZero(); var bounds = [self bounds], - basicSegmentWidth = bounds.size.width / segmentCount; + basicSegmentWidth = bounds.size.width / segmentCount, segmentFrame = CGRectCreateCopy([self bounds]); segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); From d199bd86e60d26ae0a4d0bde0ddb1a67312358b5 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 12:42:19 -0400 Subject: [PATCH 44/78] More square level indicator segments which look better when each segment is very small. Colour and shadowing tweaks. Removed most of control border for a cleaner look. --- .../level-indicator-bezel-center.png | Bin 126 -> 126 bytes .../level-indicator-bezel-left.png | Bin 202 -> 166 bytes .../level-indicator-bezel-right.png | Bin 216 -> 165 bytes .../level-indicator-segment-critical-center.png | Bin 187 -> 189 bytes .../level-indicator-segment-critical-left.png | Bin 259 -> 209 bytes .../level-indicator-segment-critical-right.png | Bin 275 -> 239 bytes .../level-indicator-segment-empty-center.png | Bin 170 -> 169 bytes .../level-indicator-segment-empty-left.png | Bin 229 -> 198 bytes .../level-indicator-segment-empty-right.png | Bin 240 -> 205 bytes .../level-indicator-segment-normal-center.png | Bin 187 -> 188 bytes .../level-indicator-segment-normal-left.png | Bin 246 -> 216 bytes .../level-indicator-segment-normal-right.png | Bin 268 -> 241 bytes .../level-indicator-segment-warning-center.png | Bin 180 -> 188 bytes .../level-indicator-segment-warning-left.png | Bin 252 -> 213 bytes .../level-indicator-segment-warning-right.png | Bin 259 -> 238 bytes 15 files changed, 0 insertions(+), 0 deletions(-) diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png index 783567602a607e80d7f97b9459c4e482276f4d46..e35825eca6c712e93c439f5f4ceaef54379a54c7 100644 GIT binary patch delta 47 zcmb=cn-HQUoK*4W$H#g#HiZRz2middxHyu5k&WT-0gh?hC)dql00K`}KbLh*2~7a- CXcGPa delta 47 zcmb=cn-HSqomlbb$H#g#HiZRz2midds2tb8z|3%OKS#7xc8(+i5O})!xvXsKL%tD zBb@X1?_UP&%78LBl;M`aZ8SN0K+a(d4i1)t@_zyZ7yziGHp|oQBliFR002ovPDHLk FV1mAVD<%K{ delta 151 zcmV;I0BHZE0oVbMNq>4tL_t(|+G4D$tBYh{V7Lv$=a}cupMO|TP*CFDy?YOtSXo&G z6ciM^{{8!>$pn;UU}0h50dly(91!^X_b(Hi1C(LLE(7G?mSI6QfJi;en0kKw`t=Pc z^PT0#j~`#pojZ3DD07ba*|TS?SFc`O|NsC0?EnD=0D@0W7!Ym1>^%Sg002ovPDHLk FV1fv)NC*G` diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png index e92f7983e22918a0f2782b0fa30fb603a2e7e54e..8330b0bce7d56d551021ac4800055a7dd7be0e07 100644 GIT binary patch delta 123 zcmV->0EGX$0lfi`NpxRHL_t(|+F}R@2w28&Sz7u(!`rD-|1)u`sWC9I^6)S){eSn4 zf$8_nTMSIUE?xw(?%ri!`t#@!1JmEvuYs~ZzB4efTNpDiv1zI^FfmI>010t124*G` d%bx%N1^{)$9X5Tm`X~SZ002ovPDHLkV1mxgG@$?h delta 121 zcmV-<0EYj)0lNW^Npf9DL_t(|+F~e{<}GJ<9p~|%iA6<|fr&*@mVt?pPk@2x-^X_h zOn)CgU|{<5_&$*P?lp*b!@%_O$9D#%AOHR{FmW<5GBB|Vi!v}Vaq|MT@$xY+-+KI1 b4Isb(wIUmggwg~Y00000NkvXXu0mjfu^u*$ diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png index 19b9a3312807e67018adfd38fe76ea5e393f6a35..653fb908e60e1a8db29a6e4985f814b5f70ed6b3 100644 GIT binary patch delta 144 zcmV;B0B`?;0?`4GNq=)mL_t(|+F}d{2&iUYV9*9)1{NkJCauPkCnLceW@hHUQdLz9 zFqwbcYHAE{8CD)11n2*|cL>h!o3{|0Ul%XJIe$=O{ychwkoo)iHIivRz9Ts77RCq; yo2EK~!z?9%a2vC@7+mId+p8~?APzu)0RT8WEQSIFh3^0W00{s|MNUMnLSTYRJ~(Lr delta 194 zcmV;z06qWF0fPdNNq?nDL_t(|+F~r0=4EDJV6X;a9hU$98Ei{r`HNW;)$CaQF)$c% z*n2oKa&dEmI6SPXTHHWo3@m^C|7T|86JP*yfO?q!eS8Pu0F^QSef)p{uI$g_`%szx zK>Y4CR1Z+uzjtq-%7FOikMA&L|CxUP)q**HfktyOF(Qm+7dsY(bG|XMvi)FWW9MK3 w>N))Q@#D)3tgPP|{e?JLfGWa)*a{%P0O7zqDmEIWwEzGB07*qoM6N<$g24M-4gdfE diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png index 283244ade916c6b8ee72bddd8601588332992b3c..b4cd626e5474a28e4959032b65c9f42e8ff7ab3c 100644 GIT binary patch delta 174 zcmV;f08#&w0`CEkNq><^L_t(|+F}d{2w27d0aqC>OH2O;vFgpum$67yRe^<>4;=W* z#I2^r0K!a6O#fI|d3Yc)%*=mT{=a*N;QYRM3&Hty@gju7!u*%%_uab;APkiG!}RCT zBL)x#EBpKUHB8SRmj6G#BMe}-Fh+3LG}RFtW+@2>=MRV@E++=&Fg^eHkEQL^mrAIz cdjJ6j09QCTZ$@({=>Px#07*qoM6N<$f*CGPBLDyZ delta 210 zcmV;@04@LT0h0odNq@CTL_t(|+F~r0=FMVYV7LOrN0~Qz+w8IU_f_WD$DdD`ST%I{ zIP5(f|1mHavam?Y1643^135e_jC=wh4#S`S|Cw3-eS8Pz{Qu9u%<}i~126}ujG5)n zH z7w&#&W?*X#thIuf3C=meF$TESy6nC0Ev0~}3W^B$2Z@O16JP*R+8u~@MJ{Uq0000< KMNUMnLSTY7SS!B( diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-left.png index d5f5215e3b4802d69b62d80c97354b46c11e3e98..1610a148e5fe66bbaf470cf6ba53946a839b1adb 100644 GIT binary patch delta 132 zcmV-~0DJ%C0mcE4NquNZL_t(|+H}sr4S*mFh2a)@AS}QRx(ruGF)|3dISGU|Ruicg zN#5bhpEO|3`2c`b2jrYvN-5g|?>(oK;4Knkgjqre1`#pz-VLp_iJ{NR7lWC9t|6j< mhzvUWn{Jk~*1F%g1Q-Bi8!C-K@#bFu0000h)L_t(|+G4D)uV-dpV6X;a9hQIp{@GeuS{BR6$=R{|{rlHY zOH0dq+bY diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png index 2f96a6d2e6c92c9237ee702a1ff7cb982994f2cf..6da29ed04ac5395c538d5818d02ab6b98a0341bf 100644 GIT binary patch delta 140 zcmV;70CWHF0nGuBNq=uiL_t(|+EmU_3VW95Ium`67N{I=mz3jj~ztWEHi2~ z*x=h>{18G|rn|N&=X_ipW1P`@Kh|1nMr-YWQmUabMlP*2L9JC#N)Zsz1NwrIndS2P u1^|Lyf<6R2)0<5@=SoUx?buHN1^^P0Gsek~H~;_u002ovP6b4+LSTX;N;^0J delta 175 zcmV;g08szU0q_BkNq>?_L_t(|+G4D)ug_v&V7LOrN13Niow|pYmsjTT3w7Kq$ROnV&p)B6a=x^)>(h d|6dIdU;r}=U`Fm=ZkGT6002ovPDHLkV1j6cR5Abn diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png index 6389653e82b1f9773ad16c9b71cc7203d9fb61b8..1aff699df4cf5cd91467f1d40f57931e9745f708 100644 GIT binary patch delta 122 zcmV-=0EPd%0lWc_NpoIFL_t(|+F}R@2w29zaFyXdQ-w%01Ct$x8v~O%vnB)6?>}D| znBM$&#K83U+cgkzoq_4ukJ~`8Ur!jAzW@8oz{JBLz`!KMr^>*@&o0Wq#LF(sz--Lv c{}Uj<0OTth6FOoTD*ylh07*qoM6N<$g2cEvq5uE@ delta 121 zcmV-<0EYj(0lNW^Npf9DL_t(|+G41xsw!ugdNcArlLU_v1Ct<^I0F+WD-Q$Hx1XOG znBIPQ0VTft_`tyQ_2)+hrtiPMF);o4`-_2zm6eTwiJwb|fr*`!lYxnYjf;Vq`;~?o bK!5=N1dAIIIwSaB00000NkvXXu0mjfBUv^B diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png index 850ba7801b31178a0416455952509d10a48d0ad6..f1fa2a310b6a31487527cbf6cdb0abf0059264e9 100644 GIT binary patch delta 151 zcmV;I0BHaA0oVbMNq>4tL_t(|+F}d{2&iUYV9;g&fuNwEr3_aY{(~?JGc)tw3Xy2A z1Pc=r(?2^7HwXtLqt2{};Qapc6~TG);}L@M_}eu&=g;GB*AX($e%waLy!rJ6A@lv; zX9S0bLjb{%;!{O%_}N7fZsTPahRfW3F;$@w!~qB}0C9dUWDqVS0n`8h002ovPDHLk FV1hj>LWlqW delta 181 zcmV;m080PZ0rmlqNq?A0L_t(|+G4D#s$ynfV6X;a9hQIp{@DuIye;Nb_+|&<7|QDK zJF>EhaI^gX|DQ*kUyd87jDh9v-@nY9tUL^04p15Mx1XOG;4*K&yg-dI`x`>$&);7N(^y&A5HkE+LU5UHEdM!wFtagmFfIXQ4!^&|ewpPT*LRRZ j*WKCihZTse00ImE69id03Z-uJ00000NkvXXu0mjfX%Sc( diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png index ef4e9055793e6bde5c73636b5622cd888a0fbb01..73bd31d670a9def2cc8c253afeeb7954c5a58fe7 100644 GIT binary patch delta 176 zcmV;h08jsn0`UQmNq>_`L_t(|+F}d{2w27d0arojKL`f}1ubQ%5Qzp0-(~*wm&K05 z4a~XEwCx{@I{9$?a<2IBd4b=1N z378|m%>0Mt`@hd%jxb0M4~GE404Y9IFy{}5!_O`X=6nEgcq!S1!JJP_O#fJ3OjW3a e=wY}A5MTgCE;ezUaY|qS0000)(uV7LOrN14N>%k5#|{VntDA?H&jNkKV2 zSsi}IfB*g&vIucW0#z_@|NsA(hlP`s2gG6c`}Z$1%eSAO!5pA6W|p^KULa&(oPYng zm|4F3_yCn*XJPsJ^CMJ7l$quG?{6?YEG&Qi{z90>%F2c?jYOYI2+Vl`l3{1%WB{uC z0hIa1!t#&n`_b4;(I}NFKcmAybs$2~aU;x^ORgMV0f9wDN002ovPDHLk FV1ik;Xh;A6 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-center.png index 6cc8a2d5a00070510e4471eeb07f5bd19339ede2..03146d2e77a46d4c0d3545567b831ebc6c12885f 100644 GIT binary patch delta 122 zcmV-=0EPdw0lWc_NpoIFL_t(|+F}R@2w28&{VcMVCLj@ c{s|CZ0Q_JZMiCLC-No!U~L_t(|+APGe3V17&>$j$ruOJ_`V!YZ)+uSM))aXd zLT5N|Zrl;VR%px$YCVHW4WP&a=6w8#T(ujF@dZ;VVB0pJwG&8owI0g*bNK`q0QUGC UT*$nu-v9sr07*qoM6N<$f>vfSJpcdz diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png index 17f50d2ad1fa7a5ae6e0b6d15c3e0fd6c7668f9a..a20197be0a155e320067790817644d013c26aa0f 100644 GIT binary patch delta 148 zcmV;F0BisJ0o4JJNq=`qL_t(|+F}d{2&iUYV9;g&fuNwErPt3g{0CtcW@hHU!VBAp=wy1A+ro z1{8RMQ1CZ4~WBX`0?Y% pmw^J`8GU?sS%50Sf!GQlzyQtKM_DIe*Gm8Z002ovPDHLkV1oE!R|5b5 diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-right.png index 0e42c1ea7f20bebb42d4c21d2a91644f7829f6c3..b61d495bdccd1ea3db35232a3e41d0a94a20e5e0 100644 GIT binary patch delta 173 zcmV;e08;;h0`38jNq>+@L_t(|+F}d{2w27d0aqEWpJn(D!a+enOId^^g2BSf%uIh- zxOhCk944kc|Cm_W3>iR}nVI=7%g>+hpvr)p&z~+KIA1=)IIMqJetdrb|#*2F(&ElQmkC00000NkvXXu0mjfgrQMm delta 194 zcmV;z06qWi0fPdNNq?nDL_t(|+G5Ph6Ut&>V7LOrM;RVH^8R?|j{4@D93clLc6Mz( zZf;k{|Nj{bSy)(Pfhrid|NUd&VPR$#0C5=p{{7F)^7rpMFb62Z%<}v9Ln!Azg7fz; z14!8$m@*b1=Pg3nk00M*%2-%_{``-S;pAjQ7{I|H3YB@y%sa%y!~ Date: Mon, 30 May 2011 12:44:00 -0400 Subject: [PATCH 45/78] Test level indicator with many segments. --- Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib | 2 +- Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib index 8de91a8e2..ad53860a6 100644 --- a/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib +++ b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;132E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;365E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;366E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;373E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;35E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;376E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;377E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;16;CPLevelIndicatorK;8;$classesA;S;16;CPLevelIndicatorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;381E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;382E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;383E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;385E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;380E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;387E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;386E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;380E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;380E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;106E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;392E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;393E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;394E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;395E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;374E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;396E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;399E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;144E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;403E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;413E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;415E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;382E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;383E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;385E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;416E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;385E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;385E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;380E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;380E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;25E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;86E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;25E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;88E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;385E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;428E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;429E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;431E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;382E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;383E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;384E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;385E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;380E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;385E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;385E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;380E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;380E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;409E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;432E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;433E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;434E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;428E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;435E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;34E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;439E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;440E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;385E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;97E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;128E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;448E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;449E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;450E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;451E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;452E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;453E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;454E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;455E;K;6;$afontD;K;6;CP$UIDd;3;457E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;386E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;388E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;408E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;388E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;385E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;386E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;461E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;462E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;464E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;466E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;467E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;468E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;469E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;421E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;472E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;149E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;422E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;475E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;149E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;478E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;399E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;378E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;480E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;481E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;483E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;445E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;485E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;486E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;487E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;488E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;452E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;453E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;454E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;455E;K;6;$afontD;K;6;CP$UIDd;3;489E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;386E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;388E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;408E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;388E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;385E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;386E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;109E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;495E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;497E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;389E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;498E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;499E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;491E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;500E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;502E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;132E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;506E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;507E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;508E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;510E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;380E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;511E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;452E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;453E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;454E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;455E;K;6;$afontD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;386E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;388E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;408E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;388E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;388E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;385E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;386E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;39E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;514E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;439E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;517E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;518E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;519E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;524E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;525E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;505E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;526E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;527E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;528E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;529E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;530E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;127E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;25E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;531E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;385E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;532E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;533E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;439E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;537E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;524E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;525E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;538E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;539E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;540E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;541E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;402E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;543E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;544E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;546E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;547E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;548E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;524E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;549E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;474E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;550E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;519E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;375E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;128E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;551E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;97E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;552E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;388E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;553E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;554E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;555E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;556E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;369E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;2;13S;1;7S;1;9S;2;10S;2;12S;1;8S;2;11S;2;14S;12;File's OwnerS;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;35S;2;36S;2;37S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;51S;2;50S;2;52S;2;53S;2;54S;2;55S;2;57S;2;56S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;72S;2;71S;2;73S;2;74S;2;75S;2;76S;2;77S;2;78S;2;79S;2;80S;2;81S;2;82S;2;90S;2;84S;2;85S;2;83S;2;87S;2;88S;2;89S;2;86S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;105S;3;106S;3;107S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;114S;3;115S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;3;136D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;294E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;557E;E;D;K;6;$classD;K;6;CP$UIDd;3;294E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;558E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;560E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;561E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;563E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;564E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;567E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;568E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;569E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;570E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;571E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;572E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;131E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;573E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;574E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;575E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;576E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;579E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;580E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;581E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;582E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;583E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;584E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;585E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;125E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;586E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;587E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;588E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;589E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;590E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;21E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;591E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;592E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;593E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;594E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;595E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;596E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;597E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;598E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;599E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;600E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;602E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;93E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;603E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;604E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;605E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;606E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;607E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;608E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;610E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;27E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;612E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;613E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;614E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;615E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;616E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;617E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;619E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;120E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;99E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;62E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;64E;E;E;S;4;CopyS;1;cd;7;1048576S;12;Show ToolbarS;1;td;7;1572864S;13;AppControllerS;14;NewApplicationS;14;submenuAction:S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;135E;E;E;S;6;WindowS;5;Lowerd;1;0S;21;{{20, 85}, {304, 18}}S;19;{{0, 0}, {304, 18}}d;2;34S;6;normald;1;2d;1;4d;1;6T;S;4;HelpS;4;ZoomS;11;Show ColorsS;1;CS;21;{{7, 11}, {448, 125}}S;20;{{0, 0}, {448, 125}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;99E;E;E;S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;3;147E;E;E;S;10;Copy Rulerd;7;1310720S;7;SmallerS;1;-S;4;KernS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;2;27E;E;E;S;8;Save As…S;1;Sd;7;1179648S;0;F;S;14;Start SpeakingS;11;Use DefaultS;10;Select AllS;1;aS;7;TightenS;21;{{20, 54}, {304, 18}}d;2;-2S;10;Copy StyleS;3;NewS;1;nS;7;Use AllS;4;FontS;4;FindS;27;Check Grammar With SpellingS;9;Find NextS;1;gS;9;SubscriptS;22;Use Selection for Findd;1;7S;1;eS;10;Show FontsS;21;{{20, 22}, {304, 18}}S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{213, 163}, {448, 125}}S;16;Level IndicatorsS;10;Align LeftS;1;{S;6;Italicd;1;1S;1;iS;12;Smart QuotesS;7;JustifyS;11;Hide OthersS;1;hS;20;Spelling and GrammarS;10;Clear MenuS;14;Show Spelling…S;1;:S;4;RedoS;1;ZS;22;{{326, 79}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;33S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;456E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;621E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;622E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;409E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;409E;E;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;459E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;623E;E;S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;101E;E;E;S;5;CloseS;1;wS;3;CutS;1;xS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;30E;E;E;S;5;PasteS;1;vS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;116E;E;E;S;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;133E;E;E;S;18;Customize Toolbar…S;8;MinimizeS;1;mS;11;Paste RulerS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;3;142E;E;E;S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;57E;E;E;S;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;140E;E;E;S;22;{{326, 47}, {104, 29}}D;K;6;$classD;K;6;CP$UIDd;3;456E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;621E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;622E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;409E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;409E;E;S;20;About NewApplicationS;6;SpeechS;15;Revert to SavedS;6;DeleteS;12;Preferences…S;1;,S;13;Page Setup...S;1;PD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;134E;E;E;S;13;Stop SpeakingD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;107E;E;E;S;6;Print…S;1;pS;8;Use NoneS;6;LoosenS;4;FileS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;2;53E;E;E;S;11;Paste StyleS;5;Open…S;1;oS;22;{{326, 16}, {104, 29}}D;K;6;$classD;K;6;CP$UIDd;3;456E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;621E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;622E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;409E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;409E;E;S;27;Check Spelling While TypingS;11;SuperscriptS;5;Find…S;1;fS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;93E;E;E;S;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;75E;E;E;S;5;RaiseS;13;Find Previousd;1;3S;1;GD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;110E;E;E;S;17;Jump to SelectionS;1;jS;19;NewApplication HelpS;1;?S;4;BoldS;1;bS;16;Smart Copy/PasteS;6;CenterS;1;|S;19;Hide NewApplicationS;11;Smart LinksS;11;Align RightS;1;}S;18;Bring All to FrontS;8;Show AllD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;112E;E;E;S;9;UnderlineS;1;uS;10;Show RulerS;19;Quit NewApplicationS;1;qS;6;BiggerS;1;+D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;89E;E;E;S;14;Check SpellingS;1;;S;4;UndoS;1;zS;4;SaveS;1;sS;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;17;takeIntValueFrom:S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;439E;D;K;6;CP$UIDd;3;439E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;D;K;6;CP$UIDd;3;285E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;288E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;352E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;354E;D;K;6;CP$UIDd;3;355E;D;K;6;CP$UIDd;3;356E;D;K;6;CP$UIDd;3;357E;D;K;6;CP$UIDd;3;358E;D;K;6;CP$UIDd;3;359E;D;K;6;CP$UIDd;3;360E;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;362E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;364E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;20E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;98E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;365E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;366E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;368E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;374E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;375E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;10;$classnameS;16;CPLevelIndicatorK;8;$classesA;S;16;CPLevelIndicatorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;377E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;378E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;376E;K;11;$aalignmentD;K;6;CP$UIDd;3;376E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;381E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;382E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;368E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;376E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;383E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;384E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;385E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;376E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;376E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;387E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;390E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;391E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;392E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;393E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;394E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;395E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;396E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;402E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;374E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;375E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;407E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;58E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;413E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;414E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;415E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;416E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;77E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;418E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;422E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;425E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;393E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;427E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;95E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;429E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;378E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;376E;K;11;$aalignmentD;K;6;CP$UIDd;3;376E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;368E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;382E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;368E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;376E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;368E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;368E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;368E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;376E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;376E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;368E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;431E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;434E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;435E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;425E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;408E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;436E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;437E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;141E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;439E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;136E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;444E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;445E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;402E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;446E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;447E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;448E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;449E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;450E;K;6;$afontD;K;6;CP$UIDd;3;452E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;368E;K;11;$aalignmentD;K;6;CP$UIDd;3;382E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;386E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;453E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;386E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;386E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;386E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;368E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;382E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;133E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;458E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;459E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;447E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;448E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;449E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;450E;K;6;$afontD;K;6;CP$UIDd;3;460E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;368E;K;11;$aalignmentD;K;6;CP$UIDd;3;382E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;386E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;453E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;386E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;386E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;386E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;368E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;382E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;462E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;463E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;368E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;72E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;468E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;416E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;469E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;444E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;473E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;474E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;466E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;475E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;476E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;477E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;478E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;479E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;378E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;376E;K;11;$aalignmentD;K;6;CP$UIDd;3;376E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;368E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;382E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;3;368E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;3;480E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;3;368E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;3;368E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;3;368E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;3;376E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;3;376E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;132E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;483E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;484E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;485E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;487E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;488E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;489E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;490E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;491E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;492E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;77E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;428E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;494E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;422E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;376E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;497E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;447E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;448E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;449E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;450E;K;6;$afontD;K;6;CP$UIDd;3;498E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;368E;K;11;$aalignmentD;K;6;CP$UIDd;3;382E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;386E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;453E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;386E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;386E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;386E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;368E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;382E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;417E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;499E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;95E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;41E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;502E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;505E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;506E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;507E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;508E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;510E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;511E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;396E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;512E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;382E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;514E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;512E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;517E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;410E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;518E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;519E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;397E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;41E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;524E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;41E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;526E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;527E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;528E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;402E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;529E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;41E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;530E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;531E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;532E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;533E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;106E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;41E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;93E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;535E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;456E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;536E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;537E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;538E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;442E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;539E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;540E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;541E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;402E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;542E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;543E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;438E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;544E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;545E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;546E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;547E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;548E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;549E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;374E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;550E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;551E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;481E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;552E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;553E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;554E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;555E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;444E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;98E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;445E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;402E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;409E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;92E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;556E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;557E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;558E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;559E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;133E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;370E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;386E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;404E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;S;3;136S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;1;7S;1;8S;1;9S;2;10S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;19S;2;20S;2;21S;2;26S;2;23S;2;24S;2;25S;2;22S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;35S;2;36S;2;37S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;50S;2;49S;2;51S;2;52S;2;53S;2;54S;2;55S;2;56S;2;57S;2;58S;2;59S;2;60S;2;61S;2;62S;2;63S;12;File's OwnerS;2;65S;2;67S;2;66S;2;64S;2;79S;2;68S;2;70S;2;71S;2;72S;2;73S;2;74S;2;75S;2;80S;2;77S;2;78S;2;69S;2;76S;2;81S;2;82S;2;84S;2;83S;2;85S;2;86S;2;87S;2;88S;2;89S;2;90S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;105S;3;106S;3;107S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;114S;3;115S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129S;3;130S;3;131S;3;132S;3;133S;3;134S;3;135S;1;0D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;294E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;44E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;560E;E;D;K;6;$classD;K;6;CP$UIDd;3;294E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;561E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;563E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;564E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;35E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;567E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;568E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;569E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;570E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;71E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;571E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;572E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;573E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;574E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;575E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;576E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;21E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;579E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;580E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;27E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;581E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;582E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;583E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;118E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;584E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;585E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;586E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;587E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;588E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;23E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;589E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;590E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;591E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;592E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;593E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;594E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;595E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;596E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;597E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;598E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;599E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;600E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;26E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;602E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;603E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;604E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;605E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;606E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;607E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;608E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;115E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;609E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;610E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;611E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;612E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;613E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;614E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;615E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;616E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;617E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;619E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;620E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;621E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;622E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;97E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;623E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;25E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;623E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;623E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;623E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;25E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;623E;E;D;K;6;$classD;K;6;CP$UIDd;3;297E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;85E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;623E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;E;E;S;9;Find Nextd;1;2S;1;gd;7;1048576S;8;Show AllS;5;LowerS;5;Find…d;1;1S;1;fd;1;0S;21;{{20, 85}, {304, 18}}S;19;{{0, 0}, {304, 18}}d;2;34S;6;normald;2;13d;1;4d;2;50d;2;20d;2;10T;S;7;JustifyS;4;CopyS;1;cS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{213, 163}, {448, 125}}d;1;7S;16;Level IndicatorsS;11;Hide OthersS;1;hd;7;1572864S;11;Paste StyleS;1;vS;4;RedoS;1;Zd;7;1179648S;0;F;S;16;Smart Copy/PasteS;4;SaveS;1;sS;8;ServicesS;14;submenuAction:S;4;HelpS;18;Bring All to FrontS;19;Quit NewApplicationS;1;qS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;100E;E;E;S;6;SpeechS;4;FindS;13;AppControllerS;3;CutS;1;xS;12;Show ToolbarS;1;tS;13;Stop SpeakingS;10;Copy Rulerd;7;1310720S;22;Use Selection for FindS;1;eS;11;Open RecentS;21;{{20, 22}, {304, 18}}S;4;BoldS;1;bS;8;Use NoneS;12;Preferences…S;1;,S;11;Paste RulerS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;BaselineS;6;DeleteS;6;LoosenS;5;RaiseS;13;SubstitutionsS;11;Smart Linksd;1;3S;1;GS;22;{{326, 47}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;33S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;451E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;624E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;625E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;404E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;404E;E;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;626E;E;S;14;NewApplicationS;6;Print…S;1;pS;22;{{326, 79}, {104, 29}}D;K;6;$classD;K;6;CP$UIDd;3;451E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;624E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;625E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;404E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;404E;E;S;3;NewS;1;nS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;68E;E;E;S;12;Smart QuotesS;4;KernS;10;Select AllS;1;aD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;47E;E;E;S;6;BiggerS;1;+S;5;PasteS;4;UndoS;1;zD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;61E;E;E;S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;37E;E;E;S;21;{{20, 54}, {304, 18}}d;2;-2S;6;WindowS;4;EditS;21;{{7, 11}, {448, 125}}S;20;{{0, 0}, {448, 125}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;66E;E;E;S;5;CloseS;1;wS;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;31E;E;E;S;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;121E;E;E;S;14;Start SpeakingS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;99E;E;E;S;10;Show FontsS;22;{{326, 16}, {104, 29}}D;K;6;$classD;K;6;CP$UIDd;3;451E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;624E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;625E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;404E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;107E;E;E;S;10;Clear MenuS;27;Check Grammar With SpellingS;4;ZoomS;18;Customize Toolbar…S;11;Use DefaultS;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;110E;E;E;S;17;Jump to SelectionS;1;jS;11;Show ColorsS;1;CS;19;Hide NewApplicationS;4;TextS;7;SmallerS;1;-S;8;MinimizeS;1;mD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;57E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;E;E;S;10;Copy StyleS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;3;103E;E;E;S;20;About NewApplicationS;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;7;Use AllS;13;Page Setup...S;1;PS;14;Show Spelling…S;1;:S;19;NewApplication HelpS;1;?S;10;Show RulerS;11;SuperscriptD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;42E;E;E;S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;39E;E;E;S;15;Revert to SavedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;64E;E;E;S;8;Save As…S;1;SS;9;UnderlineS;1;uD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;22E;E;E;S;10;Align LeftS;1;{S;11;Align RightS;1;}S;6;ItalicS;1;iS;7;TightenS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;38E;E;E;S;9;SubscriptS;13;Find PreviousS;5;Open…S;1;oS;6;CenterS;1;|S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;17;takeIntValueFrom:S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;374E;D;K;6;CP$UIDd;3;374E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib index e58e1de03..e3a18a0a5 100644 --- a/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib +++ b/Tests/Manual/CPLevelIndicator/Resources/MainMenu.xib @@ -1163,10 +1163,10 @@ 270663168 0 - 2 - 6 - 4 - 2 + 13 + 50 + 20 + 10 2
From 7cc6fa348c35072d86bf7e58abe807d8b8d4e2c1 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 12:56:35 -0400 Subject: [PATCH 46/78] Less flashy level indicator colours. --- .../level-indicator-segment-critical-center.png | Bin 189 -> 184 bytes .../level-indicator-segment-critical-left.png | Bin 209 -> 215 bytes .../level-indicator-segment-critical-right.png | Bin 239 -> 235 bytes .../level-indicator-segment-normal-center.png | Bin 188 -> 191 bytes .../level-indicator-segment-normal-left.png | Bin 216 -> 212 bytes .../level-indicator-segment-normal-right.png | Bin 241 -> 242 bytes .../level-indicator-segment-warning-center.png | Bin 188 -> 186 bytes .../level-indicator-segment-warning-left.png | Bin 213 -> 216 bytes .../level-indicator-segment-warning-right.png | Bin 238 -> 229 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png index 8330b0bce7d56d551021ac4800055a7dd7be0e07..73c27b640b98b10791aebd1941444844116538f7 100644 GIT binary patch delta 118 zcmV-+0Ez#-0k{E>NpD(7L_t(|+6>9P3V}Qj3@DY3)2k{YmrAEQc!9|Bi zg8G)T9C+_fT)@X8MsRZuoQ(nB-oZO(Ati8>BGf9;8u*O?QYlbr4KCJ#t1#^$Jih<~ Y0Lk(i?S~zRNB{r;07*qoM6N<$g73dEJ^%m! delta 123 zcmV->0EGXz0lfi`NpxRHL_t(|+F}R@2w28&Sz7u(!`rD-|1)u`sWC9I^6)S){eSn4 zf$8_nTMSIUE?xw(?%ri!`t#@!1JmEvuYs~ZzB4efTNpDiv1zI^FfmI>010t124*G` d%bx%N1^{)$9X5Tm`X~SZ002ovPDHLkV1mtDG@bwe diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png index 653fb908e60e1a8db29a6e4985f814b5f70ed6b3..f7c0e99a3124b19a406fb5df2f389815bb2fa196 100644 GIT binary patch delta 150 zcmV;H0BQfx0oMVLNq>1sL_t(|+F}d{2&iUYV9;g&fuNwErPmo4{(~?JGc)sF;jl2U z1Pc=r(?3oP4G0G$!y+n*;Qaag8NvDf=n)d<{(U&-&##v+5i-BtzD3CV`Sb}P^Z(Z` z1c!-@4Z&d(6hv^?B_$DV_NyrT_o{ delta 144 zcmV;B0B`@-0nq`FNq=)mL_t(|+F}d{2&iUYV9*9)1{NkJCauPkCnLceW@hHUQdLz9 zFqwbcYHAE{8CD)11n2*|cL>h!o3{|0Ul%XJIe$=O{ychwkoo)iHIivRz9Ts77RCq; yo2EK~!z?9%a2vC@7+mId+p8~?APzu)0RT8WEQSIFh3^0W00{s|MNUMnLSTYM{w diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png index b4cd626e5474a28e4959032b65c9f42e8ff7ab3c..66861d4545f29418724a6110c6581dd6c2666dfa 100644 GIT binary patch delta 170 zcmV;b09F6*0qX&fNq>z=L_t(|+F}d{2w27d0aqEWGcf!I;h>VPIkA|NsB8 zaB6CTIZQWh{9|Gf6=eWnW@hHUEPp<^L_t(|+F}d{2w27d0aqC>OH2O;vFgpum$67yRe^<>4;=W* z#I2^r0K!a6O#fI|d3Yc)%*=mT{=a*N;QYRM3&Hty@gju7!u*%%_uab;APkiG!}RCT zBL)x#EBpKUHB8SRmj6G#BMe}-Fh+3LG}RFtW+@2>=MRV@E++=&Fg^eHkEQL^mrAIz cdjJ6j09QCTZ$@({=>Px#07*qoM6N<$f>cpYdH?_b diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png index 1aff699df4cf5cd91467f1d40f57931e9745f708..8f8ee5b89cf55d2b1c361b182cea3046eb67e81b 100644 GIT binary patch delta 125 zcmV-@0D}L#0lxu|Np@jLL_t(|+62Kd4uU`wMbVo#g))QE&=@vA%_=A;CNXZ2HMs^t z&^RLeV3c!+G4@>V{MD8>RAn_P+y$8#db~$8r2(boiDrADb^D<2Z$okp9gZI5;f#VW faLuW+U4Q`q=Cm6VT6^i100000NkvXXu0mjf>=88I delta 122 zcmV-=0EPd*0lWc_NpoIFL_t(|+F}R@2w29zaFyXdQ-w%01Ct$x8v~O%vnB)6?>}D| znBM$&#K83U+cgkzoq_4ukJ~`8Ur!jAzW@8oz{JBLz`!KMr^>*@&o0Wq#LF(sz--Lv c{}Uj<0OTth6FOoTD*ylh07*qoM6N<$g2tdZrT_o{ diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png index f1fa2a310b6a31487527cbf6cdb0abf0059264e9..ff0c4d5453e2a75847e82f08ea8ba54b65fb808e 100644 GIT binary patch delta 147 zcmV;E0Brx*0n`DINq=@pL_t(|+F}d{2&iUYV9*9)1{NkJCN0Lcb&+5WGc)sFH<3^V zn9M(EPBjL&3_r6Zg7fp|PXy=vmp2H`yU(xSoIjtxzemV?{rL$Y^W*n7gv_6RzY!cJ zW@ZG3or4R(;o;^(xQ&~OA1-tI*&OLg5C4tL_t(|+F}d{2&iUYV9;g&fuNwEr3_aY{(~?JGc)tw3Xy2A z1Pc=r(?2^7HwXtLqt2{};Qapc6~TG);}L@M_}eu&=g;GB*AX($e%waLy!rJ6A@lv; zX9S0bLjb{%;!{O%_}N7fZsTPahRfW3F;$@w!~qB}0C9dUWDqVS0n`8h002ovPDHLk FV1g+fLS_H} diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png b/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png index 73bd31d670a9def2cc8c253afeeb7954c5a58fe7..18c5f258d848942c6e83245c699a36bff397326b 100644 GIT binary patch delta 177 zcmV;i08an$0rCNmNq>|{L_t(|+F}d{2w27d0aqD=Z!r7^vHn*DEo1Qz2?Y!9VrKZu zBF(7*<}fkc`p3f0ED7c?GvEEo^7H3UD2Mqk%lj{H5S(|PUm-Z3zkh&o1plyn{rL&X z5&6sV_`L_t(|+F}d{2w27d0arojKL`f}1ubQ%5Qzp0-(~*wm&K05 z4a~XEwCx{@I{9$?a<2IBd4b=1N z378|m%>0Mt`@hd%jxb0M4~GE404Y9IFy{}5!_O`X=6nEgcq!S1!JJP_O#fJ3OjW3a e=wY}A5MTgCE;ezUaY|qS0000cBZSV_opDw-Z=511OaRQ%d0FchLI{4B-G{IKiB6u$25g5m2cH)Y|-Xkk*Xx a6<`4R`x`g!FL+Y`0000MVCLj@ c{s|CZ0Q_JZMiCLC4tL_t(|+F}d{2&iUYV9;g&fuNwErPt3f{0CtcW@hHUA`&5B z2^Jh)L_t(|+F}d{2w27d0aqEWpJVtB!a+enOIbuDLcqez%#43o zIJq>y944mQ|CpFrBpAS$nfWivuV25Q%7C0NpWh-lpFh7uaDM#w2;~U=Vfp#v6O<$J zm*w~GZ!l$lSpNO{jnD%m5F8E;E(C|0n-7`84|N;UKbBeZr5!6FG7R?s0t^6^ZZRCz Sq#XbN0000+@L_t(|+F}d{2w27d0aqEWpJn(D!a+enOId^^g2BSf%uIh- zxOhCk944kc|Cm_W3>iR}nVI=7%g>+hpvr)p&z~+KIA1=)IIMqJetdrb|#*2F(&ElQmkC00000NkvXXu0mjf#xGIC From c5965c41d5a783c481abf78d5cd3e4f958f9b192 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 16:21:50 -0400 Subject: [PATCH 47/78] Fixed: don't repeat level indicator graphics downwards when the indicator is made taller than its natural size. Instead centre the indicator vertically. This is not strictly like Cocoa - Cocoa places it on top vertically. But vertical centring makes more sense in e.g. tables with a large row height so it seems to make sense to deviate slightly here. --- AppKit/CPLevelIndicator.j | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index e3ab78fb8..d7b2fda08 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -131,12 +131,16 @@ var _CPLevelIndicatorBezelColor = nil, - (void)_init { - // TODO Make themable and style dependent. - [self setBackgroundColor:_CPLevelIndicatorBezelColor]; } - (void)layoutSubviews { + var bezelView = [self layoutEphemeralSubviewNamed:"bezel" + positioned:CPWindowBelow + relativeToEphemeralSubviewNamed:nil]; + // TODO Make themable. + [bezelView setBackgroundColor:_CPLevelIndicatorBezelColor]; + var segmentCount = _maxValue - _minValue; if (segmentCount <= 0) @@ -152,11 +156,11 @@ var _CPLevelIndicatorBezelColor = nil, for (var i = 0; i < segmentCount; i++) { - var bezelView = [self layoutEphemeralSubviewNamed:"segment-bezel-" + i + var segmentView = [self layoutEphemeralSubviewNamed:"segment-bezel-" + i positioned:CPWindowAbove - relativeToEphemeralSubviewNamed:nil]; + relativeToEphemeralSubviewNamed:bezelView]; - [bezelView setBackgroundColor:(_minValue + i) < value ? filledColor : _CPLevelIndicatorSegmentEmptyColor]; + [segmentView setBackgroundColor:(_minValue + i) < value ? filledColor : _CPLevelIndicatorSegmentEmptyColor]; } } @@ -167,7 +171,18 @@ var _CPLevelIndicatorBezelColor = nil, - (CGRect)rectForEphemeralSubviewNamed:(CPString)aViewName { - if (aViewName.indexOf("segment-bezel") === 0) + // TODO Put into theme attributes. + var bezelHeight = 18, + segmentHeight = 17, + bounds = _CGRectCreateCopy([self bounds]); + + if (aViewName == "bezel") + { + bounds.origin.y = (_CGRectGetHeight(bounds) - bezelHeight) / 2.0; + bounds.size.height = bezelHeight; + return bounds; + } + else if (aViewName.indexOf("segment-bezel") === 0) { var segment = parseInt(aViewName.substring("segment-bezel-".length), 10), segmentCount = _maxValue - _minValue; @@ -175,13 +190,13 @@ var _CPLevelIndicatorBezelColor = nil, if (segment >= segmentCount) return _CGRectMakeZero(); - var bounds = [self bounds], - basicSegmentWidth = bounds.size.width / segmentCount, + var basicSegmentWidth = bounds.size.width / segmentCount, segmentFrame = CGRectCreateCopy([self bounds]); + segmentFrame.origin.y = (_CGRectGetHeight(bounds) - bezelHeight) / 2.0; segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); segmentFrame.size.width = (segment == segmentCount - 1) ? bounds.size.width - segmentFrame.origin.x : FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; - segmentFrame.size.height -= 1; + segmentFrame.size.height = segmentHeight; return segmentFrame; } @@ -369,11 +384,7 @@ var CPLevelIndicatorStyleKey = "CPLevelIndicatorStyleKey", - (void)encodeWithCoder:(CPCoder)aCoder { - // There's no reason to encode the background. - var background = [self backgroundColor]; - [self setBackgroundColor:nil]; [super encodeWithCoder:aCoder]; - [self setBackgroundColor:background]; [aCoder encodeInt:_levelIndicatorStyle forKey:CPLevelIndicatorStyleKey]; [aCoder encodeDouble:_minValue forKey:CPLevelIndicatorMinValueKey]; From 3d1638c780949b6a7cf4811f29d754f0215db9e4 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 16:56:24 -0400 Subject: [PATCH 48/78] Fixed: remove unused var block. --- AppKit/CPKeyValueBinding.j | 4 ---- 1 file changed, 4 deletions(-) diff --git a/AppKit/CPKeyValueBinding.j b/AppKit/CPKeyValueBinding.j index 3ced7029c..a1b1baecd 100644 --- a/AppKit/CPKeyValueBinding.j +++ b/AppKit/CPKeyValueBinding.j @@ -174,10 +174,6 @@ var CPBindingOperationAnd = 0, - (id)transformValue:(id)aValue withOptions:(CPDictionary)options { - var valueTransformerName, - valueTransformer, - placeholder; - var valueTransformerName = [options objectForKey:CPValueTransformerNameBindingOption], valueTransformer; From 1c007461bdf17f74666af857bf376c21ad3d6415 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 17:46:46 -0400 Subject: [PATCH 49/78] Draw table view gridlines precisely inside the right side of cells so that grid line positioning and spacing matches Cocoa. Checked against Cocoa with 0, 1, 2 and 3 px intercell spacing. --- AppKit/CPTableHeaderView.j | 19 ++++++++----------- AppKit/CPTableView.j | 2 +- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 91473371a..3155ae5c7 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -212,7 +212,7 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal - (CGRect)headerRectOfColumn:(int)aColumnIndex { - var headerRect = [self bounds], + var headerRect = CGRectMakeCopy([self bounds]), columnRect = [_tableView rectOfColumn:aColumnIndex]; headerRect.origin.x = _CGRectGetMinX(columnRect); @@ -592,16 +592,13 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal for (var i = 0; i < count; i++) { var column = [tableColumns objectAtIndex:i], - headerView = [column headerView]; - - var frame = [self headerRectOfColumn:i]; + headerView = [column headerView], + frame = [self headerRectOfColumn:i]; + // Make space for the gridline on the right. + frame.origin.x -= 0.5; + frame.size.width -= 1.0; frame.size.height -= 0.5; - if (i > 0) - { - frame.origin.x += 0.5; - frame.size.width -= 1; - } // Note: we're not adding in intercell spacing here. This setting only affects the regular // table cell data views, not the header. Verified in Cocoa on March 29th, 2011. @@ -645,8 +642,8 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal columnMaxX = _CGRectGetMaxX(columnToStroke); - CGContextMoveToPoint(context, ROUND(columnMaxX) + 0.5, ROUND(_CGRectGetMinY(columnToStroke))); - CGContextAddLineToPoint(context, ROUND(columnMaxX) + 0.5, ROUND(_CGRectGetMaxY(columnToStroke))); + CGContextMoveToPoint(context, FLOOR(columnMaxX) - 0.5, ROUND(_CGRectGetMinY(columnToStroke))); + CGContextAddLineToPoint(context, FLOOR(columnMaxX) - 0.5, ROUND(_CGRectGetMaxY(columnToStroke))); } CGContextClosePath(context); CGContextStrokePath(context); diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index c2f28dcf9..6a5a52991 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -3642,7 +3642,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad for (; columnArrayIndex < columnArrayCount; ++columnArrayIndex) { var columnRect = [self rectOfColumn:columnsArray[columnArrayIndex]], - columnX = _CGRectGetMaxX(columnRect) + 0.5; + columnX = _CGRectGetMaxX(columnRect) - 0.5; CGContextMoveToPoint(context, columnX, minY); CGContextAddLineToPoint(context, columnX, maxY); From 302e753ebcd091487502b05b41bbb0615f4a7dc2 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 18:05:49 -0400 Subject: [PATCH 50/78] Table nib2cib test with taller table rows and a level indicator cell. The latter is very useful when comparing cell spacing between Cappuccino and Cocoa. --- .../TableTest/TableCibTest/AppController.j | 4 +- .../TableCibTest/Resources/MainMenu.cib | 2 +- .../TableCibTest/Resources/MainMenu.xib | 176 ++++++++++++++---- 3 files changed, 138 insertions(+), 44 deletions(-) diff --git a/Tests/Manual/TableTest/TableCibTest/AppController.j b/Tests/Manual/TableTest/TableCibTest/AppController.j index 7c2424f26..4f417530c 100644 --- a/Tests/Manual/TableTest/TableCibTest/AppController.j +++ b/Tests/Manual/TableTest/TableCibTest/AppController.j @@ -25,8 +25,8 @@ CPLogRegister(CPLogConsole); { // This is called when the cib is done loading. // You can implement this method on any object instantiated from a Cib. - // It's a useful hook for setting up current UI values, and other things. - + // It's a useful hook for setting up current UI values, and other things. + // In this case, we want the window from Cib to become our full browser window [theWindow setFullBridge:YES]; } diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib index edbf60171..ab3e4cbef 100644 --- a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib +++ b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;22E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;58E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;59E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;61E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;66E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;60E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;27E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;67E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;68E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;60E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;69E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;40E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;70E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;71E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;72E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;74E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;2;76E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;77E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;78E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;79E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;80E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;81E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;32E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;27E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;88E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;68E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;60E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;92E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;94E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;96E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;80E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;20E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;25E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;97E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;97E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;97E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;97E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;79E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;79E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;79E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;2;99E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;100E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;58E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;104E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;105E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;68E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;107E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;108E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;60E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;68E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;78E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;79E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;79E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;79E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;79E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;109E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;77E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;79E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;99E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;24E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;110E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;111E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;112E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;113E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;114E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;39E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;71E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;72E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;117E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;118E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;77E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;78E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;79E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;119E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;120E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;121E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;122E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;124E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;77E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;78E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;79E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;S;2;14S;1;1S;1;2S;1;7S;1;3S;1;4S;1;6S;1;5S;1;8S;1;9S;2;10S;2;11S;2;12S;12;File's OwnerS;2;13S;1;0D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;35E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;127E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;E;E;d;1;0S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655d;3;154d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;60E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;131E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;6;$afontD;K;6;CP$UIDd;3;137E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;101E;K;11;$aalignmentD;K;6;CP$UIDd;2;60E;K;15;$acontent-insetD;K;6;CP$UIDd;3;139E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;140E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;141E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;68E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;60E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;140E;E;d;1;3F;T;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;146E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;147E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;148E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;24E;E;S;19;{{0, 0}, {516, 23}}S;14;tableHeaderRowS;6;normalS;19;{{1, 1}, {516, 15}}S;19;{{0, 0}, {516, 15}}S;8;disabledd;1;1S;29;_horizontalScrollerDidScroll:f;18;0.9866156787762906S;22;{{20, 20}, {518, 308}}S;20;{{0, 0}, {518, 308}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;E;E;d;2;36S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;105E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;143E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;32E;E;d;2;10D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;d;1;2S;21;{{7, 11}, {558, 348}}S;20;{{0, 0}, {558, 348}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;E;E;S;20;{{0, 0}, {516, 290}}S;9;tableviewd;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;22E;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {558, 348}}d;1;7S;6;WindowS;13;AppControllerd;3;101D;K;6;$classD;K;6;CP$UIDd;2;73E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;60E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;153E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;12;$atext-colorD;K;6;CP$UIDd;3;155E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;101E;K;11;$aalignmentD;K;6;CP$UIDd;2;60E;K;15;$acontent-insetD;K;6;CP$UIDd;3;156E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;140E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;141E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;68E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;60E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;140E;E;S;5;iconsd;3;188d;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;2;73E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;60E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;158E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;10;$classnameS;11;CPImageViewK;8;$classesA;S;11;CPImageViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;60E;K;11;$aalignmentD;K;6;CP$UIDd;2;60E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;68E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;60E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;E;E;S;12;columnHeaderS;3;TwoD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;161E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;162E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;78E;E;S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;4;nameD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;165E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;138E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;166E;E;S;0;d;4;3072S;20;{{1, 1}, {516, 290}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;E;E;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;167E;E;S;21;{{1, 291}, {516, 17}}S;19;{{0, 0}, {516, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;24E;E;E;S;22;{{502, 285}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;E;E;S;8;Column 1D;K;6;$classD;K;6;CP$UIDd;3;136E;K;4;nameD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;3;138E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;171E;E;E;S;9;ImageViewD;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;159E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;173E;K;6;normalD;K;6;CP$UIDd;3;174E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;159E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;117E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;117E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;175E;K;6;normalD;K;6;CP$UIDd;3;133E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;159E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;122E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;122E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;176E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;177E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;176E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;177E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;78E;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;161E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;162E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;79E;E;S;5;Ariald;2;20E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;39E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;31E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;22E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;64E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;65E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;68E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;20E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;71E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;72E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;20E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;77E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;78E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;37E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;26E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;79E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;79E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;79E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;79E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;80E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;80E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;80E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;2;82E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;83E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;84E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;85E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;79E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;2;90E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;91E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;92E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;80E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;93E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;94E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;95E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;96E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;97E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;98E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;22E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;99E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;100E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;66E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;79E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;105E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;91E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;92E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;80E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;48E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;107E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;108E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;109E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;111E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;91E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;92E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;80E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;64E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;78E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;78E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;36E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;80E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;59E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;114E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;107E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;108E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;116E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;91E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;92E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;80E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;117E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;79E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;119E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;120E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;122E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;91E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;92E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;80E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;123E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;77E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;12;$agrid-colorD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;100E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;128E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;129E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;66E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;100E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;92E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;80E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;80E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;80E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;130E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;127E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;91E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;80E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;82E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;31E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;132E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;95E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;96E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;97E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;133E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;22E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;100E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;66E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;135E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;136E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;137E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;138E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;139E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;20E;E;S;2;11S;2;12S;2;15S;1;8S;2;16S;2;17S;1;3S;1;7S;1;2S;2;13S;2;18S;1;5S;1;6S;1;4S;2;10S;1;9S;1;0S;2;14S;12;File's OwnerS;1;1D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;d;1;0S;21;{{7, 11}, {686, 348}}S;20;{{0, 0}, {686, 348}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;E;E;S;6;normalS;22;{{20, 20}, {646, 308}}S;20;{{0, 0}, {646, 308}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;E;E;d;2;36S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;95E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;36E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;147E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;148E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;149E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;95E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;31E;E;d;2;10T;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;150E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;151E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;95E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;d;1;2d;3;105f;22;3.4028234663852885e+54D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;66E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;156E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;158E;E;D;K;10;$classnameS;16;CPLevelIndicatorK;8;$classesA;S;16;CPLevelIndicatorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;100E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;84E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;66E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;91E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;91E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;91E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;66E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;66E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;92E;E;d;1;3F;S;19;{{1, 1}, {516, 15}}S;19;{{0, 0}, {516, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4f;18;0.9938271604938271d;2;81D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;84E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;160E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;158E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;84E;K;16;$aimage-positionD;K;6;CP$UIDd;2;84E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;100E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;162E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;92E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;84E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;163E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;164E;E;d;3;154d;2;40d;4;1000D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;66E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;166E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;158E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;170E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;100E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;15;$acontent-insetD;K;6;CP$UIDd;3;172E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;173E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;174E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;100E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;173E;E;S;19;{{0, 0}, {644, 23}}S;14;tableHeaderRowd;3;101D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;66E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;176E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;177E;K;12;$atext-colorD;K;6;CP$UIDd;3;178E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;100E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;15;$acontent-insetD;K;6;CP$UIDd;3;179E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;173E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;174E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;100E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;173E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;66E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;181E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;158E;E;D;K;10;$classnameS;11;CPImageViewK;8;$classesA;S;11;CPImageViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;121E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;100E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;66E;E;S;13;AppControllerS;20;{{0, 0}, {644, 290}}S;9;tableviewD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;182E;E;d;2;43S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;24E;E;E;S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9482758620689655S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 428}, {686, 348}}d;1;7S;6;WindowS;8;delegateS;9;theWindowS;10;dataSourceS;20;{{1, 1}, {644, 290}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;183E;E;S;21;{{1, 291}, {644, 17}}S;19;{{0, 0}, {644, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;E;E;S;22;{{502, 285}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;185E;E;E;S;12;columnHeaderS;15;Level IndicatorD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;187E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;92E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;188E;E;E;S;8;CheckboxS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;189E;E;E;S;3;TwoS;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;4;nameD;K;6;CP$UIDd;3;190E;K;6;valuesD;K;6;CP$UIDd;3;192E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;171E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;193E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;E;E;S;8;Column 1D;K;6;$classD;K;6;CP$UIDd;3;169E;K;4;nameD;K;6;CP$UIDd;3;190E;K;6;valuesD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;196E;E;D;K;6;$classD;K;6;CP$UIDd;3;171E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;197E;E;E;S;9;ImageViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;198E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;E;E;D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;184E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;3;184E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;103E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;3;184E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;109E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;109E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;200E;K;6;normalD;K;6;CP$UIDd;3;201E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;184E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;202E;K;6;normalD;K;6;CP$UIDd;3;158E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;184E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;120E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;120E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;d;1;1d;2;18D;K;6;$classD;K;6;CP$UIDd;3;157E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;203E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;203E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;92E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;187E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;92E;E;d;2;20E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib index 35905bcb3..79c702e87 100644 --- a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib +++ b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib @@ -2,26 +2,28 @@ 1050 - 10J567 - 1294 + 10J3210 + 1306 1038.35 - 462.00 + 461.00 com.apple.InterfaceBuilder.CocoaPlugin - 1294 + 1306 YES - NSView - NSTableView - NSScrollView - NSWindowTemplate - NSTextFieldCell - NSTableHeaderView - NSTableColumn - NSImageCell NSScroller + NSTableHeaderView + NSScrollView + NSTextFieldCell + NSButtonCell + NSImageCell + NSTableView NSCustomObject + NSView + NSWindowTemplate + NSLevelIndicatorCell + NSTableColumn YES @@ -48,7 +50,7 @@ 7 2 - {{335, 402}, {558, 348}} + {{335, 402}, {686, 348}} 1946157056 Window NSWindow @@ -71,7 +73,7 @@ 256 - {516, 290} + {644, 290} @@ -79,7 +81,7 @@ 256 - {516, 17} + {644, 17} @@ -99,7 +101,7 @@ icons 188 10 - 3.4028234663852886e+38 + 3.0282346638528862e+53 75628096 2048 @@ -109,11 +111,11 @@ 11 3100 - + 6 System headerColor - + 3 MQA @@ -223,10 +225,75 @@ YES + + 81 + 10 + 3.4028234663852885e+54 + + 75628096 + 2048 + Checkbox + + + + + + 67239424 + 134217728 + Check + + + 1211912703 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + 3 + YES + YES + + + + 105 + 10 + 3.4028234663852885e+54 + + 75628096 + 2048 + Level Indicator + + + + + + -2080244224 + 0 + + + 3 + 3 + 3 + 3 + 2 + + 3 + YES + YES + + 3 2 - + 6 System @@ -236,8 +303,8 @@ MC41AA - 23 - -157286400 + 43 + -155189248 3 @@ -248,7 +315,7 @@ 0 - {{1, 17}, {516, 290}} + {{1, 17}, {644, 290}} @@ -277,8 +344,7 @@ 1 _doScroller: - 1 - 0.98661567877629064 + 0.99382716049382713 @@ -287,7 +353,7 @@ YES - {{1, 0}, {516, 17}} + {{1, 0}, {644, 17}} @@ -297,7 +363,7 @@
- {{20, 20}, {518, 308}} + {{20, 20}, {646, 308}} @@ -307,15 +373,15 @@ - QSAAAEEgAABByAAAQcgAAA + QSAAAEEgAABCNAAAQjQAAA
- {{7, 11}, {558, 348}} + {{7, 11}, {686, 348}}
- {{0, 0}, {1440, 878}} + {{0, 0}, {1920, 1178}} {1e+13, 1e+13}
@@ -430,6 +496,8 @@ + +
@@ -475,11 +543,39 @@
+ + 504 + + + YES + + + + + + 506 + + + YES + + + + + + 510 + + + 503 + + 508 + + +
@@ -503,6 +599,8 @@ 496.IBPluginDependency 497.IBPluginDependency 503.IBPluginDependency + 508.IBPluginDependency + 510.IBPluginDependency YES @@ -523,6 +621,8 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin
@@ -537,24 +637,14 @@ - 503 + 512
YES AppController - - theWindow - NSWindow - - - theWindow - - theWindow - NSWindow - - + NSObject IBProjectSource ./Classes/AppController.h @@ -574,5 +664,9 @@ YES 3 + + NSSwitch + {15, 15} + From e32b302c595147540c4712563844f8178a106835 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 20:45:35 -0400 Subject: [PATCH 51/78] Fixed: don't return nil from CPController initWithCoder:. --- AppKit/CPController.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPController.j b/AppKit/CPController.j index 9dd4fce90..8e2eb6f32 100644 --- a/AppKit/CPController.j +++ b/AppKit/CPController.j @@ -50,7 +50,7 @@ var CPControllerDeclaredKeysKey = @"CPControllerDeclaredKeysKey"; _declaredKeys = [aDecoder decodeObjectForKey:CPControllerDeclaredKeysKey] || []; } - return nil; + return self; } - (BOOL)isEditing From 6f6ce40c060acc0af9bd9f69a1365fa2d1b55611 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 21:03:44 -0400 Subject: [PATCH 52/78] CPUserDefaultsController. --- AppKit/AppKit.j | 1 + AppKit/CPUserDefaultsController.j | 267 ++++++++++++++++++++++++++++++ 2 files changed, 268 insertions(+) create mode 100644 AppKit/CPUserDefaultsController.j diff --git a/AppKit/AppKit.j b/AppKit/AppKit.j index e1cad8bd8..0a98e86d1 100644 --- a/AppKit/AppKit.j +++ b/AppKit/AppKit.j @@ -93,6 +93,7 @@ @import "CPToolbarItem.j" @import "_CPToolTip.j" @import "CPTreeNode.j" +@import "CPUserDefaultsController.j" @import "CPView.j" @import "CPViewAnimation.j" @import "CPViewController.j" diff --git a/AppKit/CPUserDefaultsController.j b/AppKit/CPUserDefaultsController.j new file mode 100644 index 000000000..1b2e81f10 --- /dev/null +++ b/AppKit/CPUserDefaultsController.j @@ -0,0 +1,267 @@ +/* + * CPUserDefaultsController.j + * AppKit + * + * Portions based on NSUserDefaultsController.m (2009-06-04) in Cocotron (http://www.cocotron.org/) + * Copyright (c) 2006-2007 Christopher J. W. Lloyd + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +@import +@import + +var SharedUserDefaultsController = nil; + +@implementation CPUserDefaultsController : CPController +{ + CPUserDefaults _defaults @accessors(readonly, property=defaults); + CPDictionary _initialValues @accessors(property=initialValues); + BOOL _appliesImmediately @accessors(property=appliesImmediately); +} + ++ (id)sharedUserDefaultsController +{ + if (!SharedUserDefaultsController) + SharedUserDefaultsController = [[CPUserDefaultsController alloc] initWithDefaults:nil initialValues:nil]; + + return SharedUserDefaultsController; +} + +- (id)initWithDefaults:(CPUserDefaults)someDefaults initialValues:(CPDictionary)initialValues +{ + if (self = [super init]) + { + if (!someDefaults) + someDefaults = [CPUserDefaults standardUserDefaults]; + + _defaults = someDefaults; + _initialValues = [initialValues copy]; + _appliesImmediately = YES; + _valueProxy = [[_CPUserDefaultsControllerProxy alloc] initWithController:self]; + } + + return self; +} + +- (id)values +{ + return _valueProxy; +} + +- (BOOL)hasUnappliedChanges +{ + return [_valueProxy hasUnappliedChanges]; +} + +- (void)save:(id)sender +{ + [_valueProxy save]; +} + +- (void)revert:(id)sender +{ + [_valueProxy revert]; +} + +- (void)revertToInitialValues:(id)sender +{ + [_valueProxy revertToInitialValues]; +} + +@end + + +var CPUserDefaultsControllerSharedKey = "CPUserDefaultsControllerSharedKey"; + +@implementation CPUserDefaultsController (CPCoding) + +- (id)initWithCoder:(CPCoder)aCoder +{ + if ([aCoder decodeBoolForKey:CPUserDefaultsControllerSharedKey]) + return [CPUserDefaultsController sharedUserDefaultsController]; + + self = [super initWithCoder:aCoder]; + + if (self) + { + [CPException raise:CPUnsupportedMethodException reason:@"decoding of non-shared CPUserDefaultsController not implemented"]; + } + + return self; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [super encodeWithCoder:aCoder]; + + if (self === SharedUserDefaultsController) + { + [aCoder encodeBool:YES forKey:CPUserDefaultsControllerSharedKey]; + return; + } + + [CPException raise:CPUnsupportedMethodException reason:@"encoding of non-shared CPUserDefaultsController not implemented"]; +} + +@end + + +@implementation _CPUserDefaultsControllerProxy : CPObject +{ + CPUserDefaultsController _controller; + // TODO Could be optimised with a JS dict. + CPMutableDictionary _cachedValues; +} + +- (id)initWithController:(CPUserDefaultsController)aController +{ + if (self = [super init]) + { + _controller = aController; + _cachedValues = [CPMutableDictionary dictionary]; + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(userDefaultsDidChange:) name:CPUserDefaultsDidChangeNotification object:[_controller defaults]]; + } + + return self; +} + +- (void)dealloc +{ + // FIXME No dealloc in Cappuccino. + [[CPNotificationCenter defaultCenter] removeObserver:self]; + [super dealloc]; +} + +- (id)valueForKey:(CPString)aKey +{ + var value = [_cachedValues objectForKey:aKey]; + if (value === nil) + { + value = [[_controller defaults] objectForKey:aKey]; + if (value === nil) + value = [[_controller initialValues] objectForKey:aKey]; + + if (value !== nil) + [_cachedValues setObject:value forKey:aKey]; + } + return value; +} + +- (void)setValue:(id)aValue forKey:(CPString)aKey +{ + [self willChangeValueForKey:aKey]; + [_cachedValues setObject:aValue forKey:aKey]; + if ([_controller appliesImmediately]) + [[_controller defaults] setObject:aValue forKey:aKey]; + [self didChangeValueForKey:aKey]; +} + + +- (void)revert +{ + var keys = [_cachedValues allKeys], + keysCount = [keys count]; + + while(keysCount--) + { + var key = keys[keysCount]; + [self willChangeValueForKey:key]; + [_cachedValues removeObjectForKey:key]; + [self didChangeValueForKey:key]; + } +} + +- (void)save +{ + var keys = [_cachedValues allKeys], + keysCount = [keys count]; + + while(keysCount--) + { + var key = keys[keysCount]; + [[_controller defaults] setObject:[_cachedValues objectForKey:key] forKey:key]; + } +} + +- (void)revertToInitialValues +{ + var initial = [_controller initialValues], + keys = [_cachedValues allKeys], + keysCount = [keys count]; + + while(keysCount--) + { + var key = keys[keysCount]; + [self willChangeValueForKey:key]; + + var initialValue = [initial objectForKey:key]; + if (initialValue !== nil) + [_cachedValues setObject:initialValue forKey:key]; + else + [_cachedValues removeObjectForKey:key]; + + [self didChangeValueForKey:key]; + + } +} + +- (void)userDefaultsDidChange:(CPNotification)aNotification +{ + var defaults = [_controller defaults], + keys = [_cachedValues allKeys], + keysCount = [keys count]; + + while(keysCount--) + { + var key = keys[keysCount], + value = [_cachedValues objectForKey:key], + newValue = [defaults objectForKey:key]; + + if (![value isEqual:newValue]) + { + [self willChangeValueForKey:key]; + [_cachedValues setObject:newValue forKey:key]; + [self didChangeValueForKey:key]; + } + } +} + +- (BOOL)hasUnappliedChanges +{ + var defaults = [_controller defaults], + keys = [_cachedValues allKeys], + keysCount = [keys count]; + + while(keysCount--) + { + var key = keys[keysCount], + value = [_cachedValues objectForKey:key], + newValue = [defaults objectForKey:key]; + + if (![value isEqual:newValue]) + return YES; + } + + return NO; +} + +@end + From e1f55fce3a51bd98d648bd023fdd48a43bf7131b Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 21:15:43 -0400 Subject: [PATCH 53/78] nib2cib support for CPUserDefaultsController. --- Tools/nib2cib/NSAppKit.j | 1 + Tools/nib2cib/NSUserDefaultsController.j | 58 ++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 Tools/nib2cib/NSUserDefaultsController.j diff --git a/Tools/nib2cib/NSAppKit.j b/Tools/nib2cib/NSAppKit.j index ad4143650..435281373 100644 --- a/Tools/nib2cib/NSAppKit.j +++ b/Tools/nib2cib/NSAppKit.j @@ -71,6 +71,7 @@ @import "NSToolbarShowColorsItem.j" @import "NSToolbarSeparatorItem.j" @import "NSToolbarSpaceItem.j" +@import "NSUserDefaultsController.j" @import "NSView.j" @import "NSViewController.j" @import "NSWindowTemplate.j" diff --git a/Tools/nib2cib/NSUserDefaultsController.j b/Tools/nib2cib/NSUserDefaultsController.j new file mode 100644 index 000000000..7cf08cfd9 --- /dev/null +++ b/Tools/nib2cib/NSUserDefaultsController.j @@ -0,0 +1,58 @@ +/* + * NSUserDefaultsController.j + * AppKit + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation CPUserDefaultsController (CPCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + if ([aCoder decodeBoolForKey:@"NSSharedInstance"]) + return [CPUserDefaultsController sharedUserDefaultsController]; + + self = [super NS_initWithCoder:aCoder]; + + if (self) + { + [CPException raise:CPUnsupportedMethodException reason:@"decoding of non-shared NSUserDefaultsController not implemented"]; + } + + return self; +} + +@end + +@implementation NSUserDefaultsController : CPUserDefaultsController +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPUserDefaultsController class]; +} + +@end From 8a9d997b443f1e0829b52553e12c223bb8a6a958 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 21:34:20 -0400 Subject: [PATCH 54/78] Manual test for CPUserDefaultsController and nib2cib of it. --- .../AppController.j | 32 + .../CPUserDefaultsControllerTest/Info.plist | 10 + .../CPUserDefaultsControllerTest/Jakefile | 94 + .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 3263 +++++++++++++++++ .../Resources/spinner.gif | Bin 0 -> 1849 bytes .../index-debug.html | 103 + .../CPUserDefaultsControllerTest/index.html | 77 + .../CPUserDefaultsControllerTest/main.j | 18 + 9 files changed, 3598 insertions(+) create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/AppController.j create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/Info.plist create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/Jakefile create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.cib create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.xib create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/Resources/spinner.gif create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/index-debug.html create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/index.html create mode 100644 Tests/Manual/CPUserDefaultsControllerTest/main.j diff --git a/Tests/Manual/CPUserDefaultsControllerTest/AppController.j b/Tests/Manual/CPUserDefaultsControllerTest/AppController.j new file mode 100644 index 000000000..2f3fea5dd --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/AppController.j @@ -0,0 +1,32 @@ +/* + * AppController.j + * CPUserDefaultsControllerTest + * + * Created by Alexander Ljungberg on May 30, 2011. + * Copyright 2011, WireLoad All rights reserved. + */ + +@import + + +@implementation AppController : CPObject +{ + CPWindow theWindow; //this "outlet" is connected automatically by the Cib +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. +} + +- (void)awakeFromCib +{ + // This is called when the cib is done loading. + // You can implement this method on any object instantiated from a Cib. + // It's a useful hook for setting up current UI values, and other things. + + // In this case, we want the window from Cib to become our full browser window + [theWindow setFullPlatformWindow:YES]; +} + +@end diff --git a/Tests/Manual/CPUserDefaultsControllerTest/Info.plist b/Tests/Manual/CPUserDefaultsControllerTest/Info.plist new file mode 100644 index 000000000..8f256e86d --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPUserDefaultsControllerTest + + diff --git a/Tests/Manual/CPUserDefaultsControllerTest/Jakefile b/Tests/Manual/CPUserDefaultsControllerTest/Jakefile new file mode 100644 index 000000000..856aa9289 --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * CPUserDefaultsControllerTest + * + * Created by Alexander Ljungberg on May 30, 2011. + * Copyright 2011, WireLoad All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPUserDefaultsControllerTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPUserDefaultsControllerTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPUserDefaultsControllerTest"); + task.setIdentifier("com.yourcompany.CPUserDefaultsControllerTest"); + task.setVersion("1.0"); + task.setAuthor("WireLoad"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPUserDefaultsControllerTest"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPUserDefaultsControllerTest"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPUserDefaultsControllerTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPUserDefaultsControllerTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPUserDefaultsControllerTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPUserDefaultsControllerTest"), FILE.join("Build", "Deployment", "CPUserDefaultsControllerTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPUserDefaultsControllerTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPUserDefaultsControllerTest"), FILE.join("Build", "Desktop", "CPUserDefaultsControllerTest", "CPUserDefaultsControllerTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPUserDefaultsControllerTest", "CPUserDefaultsControllerTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPUserDefaultsControllerTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.cib b/Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.cib new file mode 100644 index 000000000..350627b9a --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;272E;D;K;6;CP$UIDd;3;273E;D;K;6;CP$UIDd;3;274E;D;K;6;CP$UIDd;3;275E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;277E;D;K;6;CP$UIDd;3;278E;D;K;6;CP$UIDd;3;279E;D;K;6;CP$UIDd;3;280E;D;K;6;CP$UIDd;3;281E;D;K;6;CP$UIDd;3;282E;D;K;6;CP$UIDd;3;283E;D;K;6;CP$UIDd;3;284E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;287E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;3;292E;D;K;6;CP$UIDd;3;293E;D;K;6;CP$UIDd;3;294E;D;K;6;CP$UIDd;3;295E;D;K;6;CP$UIDd;3;296E;D;K;6;CP$UIDd;3;297E;D;K;6;CP$UIDd;3;298E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;300E;D;K;6;CP$UIDd;3;301E;D;K;6;CP$UIDd;3;302E;D;K;6;CP$UIDd;3;303E;D;K;6;CP$UIDd;3;304E;D;K;6;CP$UIDd;3;305E;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;D;K;6;CP$UIDd;3;312E;D;K;6;CP$UIDd;3;313E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;316E;D;K;6;CP$UIDd;3;317E;D;K;6;CP$UIDd;3;318E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;320E;D;K;6;CP$UIDd;3;321E;D;K;6;CP$UIDd;3;322E;D;K;6;CP$UIDd;3;323E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;325E;D;K;6;CP$UIDd;3;326E;D;K;6;CP$UIDd;3;327E;D;K;6;CP$UIDd;3;328E;D;K;6;CP$UIDd;3;329E;D;K;6;CP$UIDd;3;330E;D;K;6;CP$UIDd;3;331E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;334E;D;K;6;CP$UIDd;3;335E;D;K;6;CP$UIDd;3;336E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;340E;D;K;6;CP$UIDd;3;341E;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;345E;D;K;6;CP$UIDd;3;346E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;349E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;352E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;69E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;353E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;354E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;355E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;356E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;133E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;361E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;362E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;363E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;364E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;365E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;366E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;367E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;368E;K;6;$afontD;K;6;CP$UIDd;3;370E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;363E;K;11;$aalignmentD;K;6;CP$UIDd;3;363E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;371E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;372E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;363E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;373E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;42E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;377E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;363E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;378E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;379E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;366E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;380E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;381E;K;6;$afontD;K;6;CP$UIDd;3;382E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;383E;K;11;$aalignmentD;K;6;CP$UIDd;3;361E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;384E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;385E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;386E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;384E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;384E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;384E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;388E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;383E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;361E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;390E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;76E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;392E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;393E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;394E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;395E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;397E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;398E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;363E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;399E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;400E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;401E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;368E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;80E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;404E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;375E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;406E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;410E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;20E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;412E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;20E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;414E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;423E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;424E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;426E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;427E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;429E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;431E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;432E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;433E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;434E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;435E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;383E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;442E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;80E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;445E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;446E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;447E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;448E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;449E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;68E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;451E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;452E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;453E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;454E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;458E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;391E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;459E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;99E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;72E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;462E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;463E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;464E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;465E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;467E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;469E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;470E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;471E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;68E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;33E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;473E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;474E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;427E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;476E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;20E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;479E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;427E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;76E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;481E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;80E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;483E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;460E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;484E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;410E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;20E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;488E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;20E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;58E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;491E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;427E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;57E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;128E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;496E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;497E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;498E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;440E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;499E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;500E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;502E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;469E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;504E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;469E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;470E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;507E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;473E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;474E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;427E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;508E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;80E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;510E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;511E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;473E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;512E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;80E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;68E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;495E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;514E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;36E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;383E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;518E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;519E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;520E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;357E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;521E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;522E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;36E;E;D;K;10;$classnameS;24;CPUserDefaultsControllerK;8;$classesA;S;24;CPUserDefaultsControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;33;CPUserDefaultsControllerSharedKeyD;K;6;CP$UIDd;3;384E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;384E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;396E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;72E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;481E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;142E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;525E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;526E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;527E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;528E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;463E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;38E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;69E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;52E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;529E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;530E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;531E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;383E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;442E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;532E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;533E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;33E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;528E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;358E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;71E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;536E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;537E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;538E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;539E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;359E;E;S;1;0S;1;1S;1;2S;1;3S;1;4S;1;5S;1;6S;2;19S;1;7S;1;8S;1;9S;2;11S;2;12S;2;13S;2;14S;2;15S;2;16S;2;17S;2;18S;2;10S;2;20S;2;21S;2;22S;2;23S;2;24S;2;25S;2;26S;2;27S;2;28S;2;29S;2;30S;2;31S;2;32S;2;33S;2;34S;2;35S;2;36S;2;37S;2;38S;2;39S;2;40S;2;41S;2;42S;2;43S;2;44S;2;45S;2;46S;2;47S;2;48S;2;49S;2;50S;2;51S;2;52S;2;53S;2;55S;2;54S;2;56S;2;57S;2;58S;12;File's OwnerS;2;59S;2;60S;2;61S;2;62S;2;63S;2;64S;2;65S;2;66S;2;67S;2;68S;2;69S;2;70S;2;71S;2;72S;2;73S;2;74S;2;75S;2;76S;2;77S;2;78S;2;79S;2;80S;2;81S;2;82S;2;83S;2;84S;2;85S;2;86S;2;87S;2;88S;2;89S;2;90S;2;91S;2;92S;2;93S;2;94S;2;95S;2;96S;2;97S;2;98S;2;99S;3;100S;3;101S;3;102S;3;103S;3;104S;3;105S;3;106S;3;107S;3;108S;3;109S;3;110S;3;111S;3;112S;3;113S;3;115S;3;114S;3;116S;3;117S;3;118S;3;119S;3;120S;3;121S;3;122S;3;123S;3;124S;3;125S;3;126S;3;127S;3;128S;3;129D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;285E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;540E;E;D;K;6;$classD;K;6;CP$UIDd;3;285E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;143E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;541E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;543E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;544E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;545E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;546E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;547E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;548E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;56E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;549E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;550E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;551E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;552E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;553E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;554E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;555E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;134E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;556E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;557E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;558E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;560E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;561E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;562E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;563E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;564E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;566E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;567E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;568E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;569E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;28E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;570E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;571E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;572E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;573E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;574E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;575E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;46E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;576E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;577E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;63E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;578E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;579E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;580E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;581E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;582E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;583E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;584E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;585E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;586E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;587E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;588E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;589E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;590E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;591E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;592E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;593E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;594E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;595E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;596E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;115E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;597E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;598E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;599E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;26E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;600E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;93E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;601E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;602E;E;D;K;6;$classD;K;6;CP$UIDd;3;288E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;25E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;603E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;351E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;137E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;604E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;605E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;606E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;608E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;143E;E;E;S;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;46E;E;E;S;8;ServicesS;14;submenuAction:d;7;1048576S;7;Smallerd;1;4S;1;-d;1;0S;22;{{192, 196}, {96, 21}}S;18;{{0, 0}, {96, 21}}d;2;45S;6;sliderS;6;normalD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;369E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;609E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;610E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;396E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;396E;E;d;2;50d;2;68d;3;100S;8;Use NoneS;4;KernS;17;Jump to SelectionS;1;jS;23;{{186, 143}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;9;textfieldS;19;bezeled+placeholderD;K;6;$classD;K;6;CP$UIDd;3;369E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;611E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;610E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;396E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;396E;E;d;1;2T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;387E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;612E;E;S;4;UndoS;1;zS;4;ViewS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;149E;E;E;S;18;Customize Toolbar…F;S;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;44E;E;E;S;21;{{7, 11}, {480, 360}}S;20;{{0, 0}, {480, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;30E;E;E;S;8;MinimizeS;1;mS;4;CopyS;1;cD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;43E;E;E;S;6;LoosenS;11;Paste RulerS;1;vd;7;1310720S;14;Check SpellingS;1;;S;27;Check Grammar With SpellingS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;139E;E;E;S;15;Revert to SavedS;11;Use DefaultS;11;Hide OthersS;1;hd;7;1572864S;9;SubscriptS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;28E;E;E;S;13;Page Setup...S;1;Pd;7;1179648S;9;UnderlineS;1;uS;6;Print…S;1;pS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;3;121E;E;E;S;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;59E;E;E;S;5;LowerS;7;Use AllS;11;Show ColorsS;1;CS;4;FontS;12;Smart QuotesS;1;gS;11;Paste StyleS;10;Select AllS;1;aS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;83E;E;E;S;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;56E;E;E;S;14;Start SpeakingS;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;127E;E;E;S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;79E;E;E;S;10;Align LeftS;1;{S;7;JustifyS;13;AppControllerD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;34E;E;E;S;6;FormatS;19;NewApplication HelpS;1;?S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;126E;E;E;S;3;NewS;1;nS;5;Find…d;1;1S;1;fS;13;Stop SpeakingS;13;Find Previousd;1;3S;1;GS;4;SaveS;1;sS;7;TightenS;4;RedoS;1;ZS;12;Show ToolbarS;1;tS;3;CutS;1;xD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;129E;E;E;S;5;PasteS;10;Copy RulerS;14;Show Spelling…S;1;:S;27;Check Spelling While TypingS;8;Save As…S;1;SS;19;Hide NewApplicationS;11;SuperscriptS;8;Show AllS;8;LigatureS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;3;117E;E;E;S;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;65E;E;E;S;19;Quit NewApplicationS;1;qS;6;ItalicS;1;iS;16;Smart Copy/PasteS;5;RaiseS;11;Smart LinksS;10;Copy StyleS;4;ZoomS;6;DeleteS;6;BiggerS;1;+S;18;Bring All to FrontD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;2;60E;E;E;S;4;BoldS;1;bS;6;CenterS;1;|S;11;Align RightS;1;}S;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;10;Show RulerS;10;Show FontsS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 428}, {480, 360}}d;1;7S;5;Open…S;1;oS;9;Find NextS;20;About NewApplicationS;10;Clear MenuS;22;Use Selection for FindS;1;eS;12;Preferences…S;1;,S;5;CloseS;1;wS;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;20;takeDoubleValueFrom:S;28;value: values.initWithCoder:S;5;valueS;21;values.initWithCoder:D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;607E;K;10;CP.objectsD;E;E;S;9;Helveticad;2;12S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;469E;D;K;6;CP$UIDd;3;469E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.xib b/Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.xib new file mode 100644 index 000000000..f29b0ffa1 --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/Resources/MainMenu.xib @@ -0,0 +1,3263 @@ + + + + 1050 + 10J3210 + 1306 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 1306 + + + YES + NSView + NSMenu + NSWindowTemplate + NSMenuItem + NSSliderCell + NSTextField + NSTextFieldCell + NSSlider + NSUserDefaultsController + NSCustomObject + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + NewApplication + + YES + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide NewApplication + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + 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 + + YES + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + 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 + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + 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 + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 7 + 2 + {{335, 390}, {480, 360}} + 1946157056 + Window + NSWindow + + + + 256 + + YES + + + 301 + {{192, 143}, {96, 21}} + + + + YES + + -2079981824 + 0 + + + Helvetica + 12 + 16 + + + 100 + 0.0 + 50 + 0.0 + 0 + 1 + NO + NO + + + + + 301 + {{192, 191}, {96, 22}} + + + + YES + + -1804468671 + 272630784 + + + LucidaGrande + 13 + 1044 + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + {{7, 11}, {480, 360}} + + + + + {{0, 0}, {1920, 1178}} + {1e+13, 1e+13} + + + AppController + + + YES + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + 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 + + + + showHelp: + + + + 360 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + 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 + + + + alignLeft: + + + + 442 + + + + alignJustified: + + + + 443 + + + + copyRuler: + + + + 444 + + + + alignCenter: + + + + 445 + + + + toggleRuler: + + + + 446 + + + + alignRight: + + + + 447 + + + + pasteRuler: + + + + 448 + + + + terminate: + + + + 449 + + + + delegate + + + + 451 + + + + takeDoubleValueFrom: + + + + 458 + + + + theWindow + + + + 459 + + + + value: values.initWithCoder: + + + + + + value: values.initWithCoder: + value + values.initWithCoder: + 2 + + + 463 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 75 + + + 3 + + + 80 + + + 8 + + + 78 + + + 6 + + + 72 + + + + + 82 + + + 9 + + + 124 + + + YES + + + + + + 77 + + + 5 + + + 73 + + + 1 + + + 79 + + + 7 + + + 112 + + + 10 + + + 74 + + + 2 + + + 125 + + + YES + + + + + + 126 + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + YES + + + + 2 + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + 375 + + + YES + + + + + + 376 + + + YES + + + + + + + 377 + + + YES + + + + + + 378 + + + YES + + + + + + 379 + + + YES + + + + + + + + + + + + + 380 + + + + + 381 + + + + + 382 + + + + + 383 + + + + + 384 + + + + + 385 + + + + + 386 + + + + + 387 + + + + + 388 + + + YES + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + YES + + + + + + 398 + + + YES + + + + + + 399 + + + YES + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + YES + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + YES + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + YES + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 450 + + + + + 452 + + + YES + + + + + + 453 + + + + + 456 + + + YES + + + + + + 457 + + + + + 462 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 112.IBPluginDependency + 112.ImportedFromIB2 + 124.IBPluginDependency + 124.ImportedFromIB2 + 125.IBPluginDependency + 125.ImportedFromIB2 + 125.editorWindowContentRectSynchronizationRect + 126.IBPluginDependency + 126.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 372.IBPluginDependency + 375.IBPluginDependency + 376.IBEditorWindowLastContentRect + 376.IBPluginDependency + 377.IBPluginDependency + 378.IBPluginDependency + 379.IBPluginDependency + 380.IBPluginDependency + 381.IBPluginDependency + 382.IBPluginDependency + 383.IBPluginDependency + 384.IBPluginDependency + 385.IBPluginDependency + 386.IBPluginDependency + 387.IBPluginDependency + 388.IBEditorWindowLastContentRect + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBPluginDependency + 392.IBPluginDependency + 393.IBPluginDependency + 394.IBPluginDependency + 395.IBPluginDependency + 396.IBPluginDependency + 397.IBPluginDependency + 398.IBPluginDependency + 399.IBPluginDependency + 400.IBPluginDependency + 401.IBPluginDependency + 402.IBPluginDependency + 403.IBPluginDependency + 404.IBPluginDependency + 405.IBPluginDependency + 406.IBPluginDependency + 407.IBPluginDependency + 408.IBPluginDependency + 409.IBPluginDependency + 410.IBPluginDependency + 411.IBPluginDependency + 412.IBPluginDependency + 413.IBPluginDependency + 414.IBPluginDependency + 415.IBPluginDependency + 416.IBPluginDependency + 417.IBPluginDependency + 418.IBPluginDependency + 419.IBPluginDependency + 450.IBPluginDependency + 452.IBPluginDependency + 453.IBPluginDependency + 456.IBPluginDependency + 457.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 72.IBPluginDependency + 72.ImportedFromIB2 + 73.IBPluginDependency + 73.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{596, 852}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{522, 812}, {146, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{143, 285}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{303, 221}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + {{33, 99}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{437, 242}, {86, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{523, 2}, {178, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{155, 102}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + + + + YES + + + + + 463 + + + + YES + + AppController + NSObject + + IBProjectSource + ./Classes/AppController.h + + + + NSDocument + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + + printDocument: + id + + + revertDocumentToSaved: + id + + + runPageLayout: + id + + + saveDocument: + id + + + saveDocumentAs: + id + + + saveDocumentTo: + id + + + + + IBProjectSource + ./Classes/NSDocument.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {9, 8} + {7, 2} + + + + diff --git a/Tests/Manual/CPUserDefaultsControllerTest/Resources/spinner.gif b/Tests/Manual/CPUserDefaultsControllerTest/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPUserDefaultsControllerTest/index-debug.html b/Tests/Manual/CPUserDefaultsControllerTest/index-debug.html new file mode 100644 index 000000000..eba4226b6 --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + CPUserDefaultsControllerTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPUserDefaultsControllerTest/index.html b/Tests/Manual/CPUserDefaultsControllerTest/index.html new file mode 100644 index 000000000..50e6efbc0 --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + CPUserDefaultsControllerTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPUserDefaultsControllerTest/main.j b/Tests/Manual/CPUserDefaultsControllerTest/main.j new file mode 100644 index 000000000..b87982c7c --- /dev/null +++ b/Tests/Manual/CPUserDefaultsControllerTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPUserDefaultsControllerTest + * + * Created by Alexander Ljungberg on May 30, 2011. + * Copyright 2011, WireLoad All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From b4b54e5744d143578b9dd736b0a0d1f0e8715b0c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 22:16:42 -0400 Subject: [PATCH 55/78] Partial button image support in nib2cib covering NSAddTemplate and NSRemoveTemplate (standard plus and minus buttons). --- AppKit/Cib/_CPCibCustomResource.j | 7 +++++++ Tools/nib2cib/NSButton.j | 3 +++ Tools/nib2cib/NSCustomResource.j | 11 ++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/AppKit/Cib/_CPCibCustomResource.j b/AppKit/Cib/_CPCibCustomResource.j index 995cbef67..3daf2f0bd 100644 --- a/AppKit/Cib/_CPCibCustomResource.j +++ b/AppKit/Cib/_CPCibCustomResource.j @@ -83,7 +83,14 @@ var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey", if ([aCoder respondsToSelector:@selector(bundle)] && (![aCoder respondsToSelector:@selector(awakenCustomResources)] || [aCoder awakenCustomResources])) if (_className === @"CPImage") + { + if (_resourceName == "CPAddTemplate") + return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"plus_button.png"] size:CGSizeMake(11, 12)]; + else if (_resourceName == "CPRemoveTemplate") + return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"minus_button.png"] size:CGSizeMake(11, 4)]; + return [[CPImage alloc] initWithContentsOfFile:[[aCoder bundle] pathForResource:_resourceName] size:_properties.valueForKey(@"size")]; + } return self; } diff --git a/Tools/nib2cib/NSButton.j b/Tools/nib2cib/NSButton.j index 1fb108cde..8f3f87b73 100644 --- a/Tools/nib2cib/NSButton.j +++ b/Tools/nib2cib/NSButton.j @@ -196,6 +196,7 @@ var NSButtonIsBorderedMask = 0x00800000, _keyEquivalentModifierMask = [cell keyEquivalentModifierMask]; _allowsMixedState = [cell allowsMixedState]; + [self setImage:[cell normalImage]]; [self setImagePosition:[cell imagePosition]]; return self; @@ -223,6 +224,7 @@ var NSButtonIsBorderedMask = 0x00800000, int _bezelStyle @accessors(readonly, getter=bezelStyle); CPString _title @accessors(readonly, getter=title); + CPImage _normalImage @accessors(readonly, getter=normalImage); CPImage _alternateImage @accessors(readonly, getter=alternateImage); BOOL _allowsMixedState @accessors(readonly, getter=allowsMixedState); @@ -251,6 +253,7 @@ var NSButtonIsBorderedMask = 0x00800000, // ... and _objectValue is _state _objectValue = [self state]; + _normalImage = [aCoder decodeObjectForKey:@"NSNormalImage"]; _alternateImage = [aCoder decodeObjectForKey:@"NSAlternateImage"]; _allowsMixedState = (cellFlags2 & NSButtonAllowsMixedStateMask) ? YES : NO; diff --git a/Tools/nib2cib/NSCustomResource.j b/Tools/nib2cib/NSCustomResource.j index 5656f2fbd..6d716f36b 100644 --- a/Tools/nib2cib/NSCustomResource.j +++ b/Tools/nib2cib/NSCustomResource.j @@ -40,8 +40,17 @@ var FILE = require("file"); var size = CGSizeMakeZero(); - if (![[aCoder resourcesPath] length]) + if (_resourceName == "NSSwitch") + return nil; + else if (_resourceName == "NSAddTemplate" || _resourceName == "NSRemoveTemplate") + { + // Defer resolving this path until runtime. + _resourceName = _resourceName.replace("NS", "CP"); + } + else if (![[aCoder resourcesPath] length]) + { CPLog.warn("Resources found in nib, but no resources path specified with -R option."); + } else { var resourcePath = [aCoder resourcePathForName:_resourceName]; From 56d0ebe420976b9ffee51f3eba958dd406c579d3 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 30 May 2011 22:48:12 -0400 Subject: [PATCH 56/78] Typo fix. --- Tools/nib2cib/NSNibConnector.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tools/nib2cib/NSNibConnector.j b/Tools/nib2cib/NSNibConnector.j index 04bb9c7ee..f30b90dc5 100644 --- a/Tools/nib2cib/NSNibConnector.j +++ b/Tools/nib2cib/NSNibConnector.j @@ -109,7 +109,7 @@ NIB_CONNECTION_EQUIVALENCY_TABLE = {}; @end -var NSTramsformers = [CPSet setWithObjects: +var NSTransformers = [CPSet setWithObjects: @"NSNegateBoolean", @"NSIsNil", @"NSIsNotNil", @@ -138,7 +138,7 @@ var NSTramsformers = [CPSet setWithObjects: var CPKey = @"CP" + key.substring(2), NSValue = [NSOptions objectForKey:key]; - if (CPKey === CPValueTransformerNameBindingOption && [NSTramsformers containsObject:NSValue]) + if (CPKey === CPValueTransformerNameBindingOption && [NSTransformers containsObject:NSValue]) NSValue = @"CP" + NSValue.substring(2); [_options setObject:NSValue forKey:CPKey]; From 7a5280558766680211dd1b487f44430465079ebf Mon Sep 17 00:00:00 2001 From: Randall Luecke Date: Mon, 30 May 2011 22:16:38 -0700 Subject: [PATCH 57/78] Support for setContinuous in CPLevelIndicator --- AppKit/CPLevelIndicator.j | 3 +++ Tools/nib2cib/NSLevelIndicator.j | 1 + 2 files changed, 4 insertions(+) diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index d7b2fda08..39e3b1408 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -279,6 +279,9 @@ var _CPLevelIndicatorBezelColor = nil, // Track the mouse to support click and slide value editing. _isTracking = YES; [CPApp setTarget:self selector:@selector(_trackMouse:) forNextEventMatchingMask:CPLeftMouseDraggedMask | CPLeftMouseUpMask untilDate:nil inMode:nil dequeue:YES]; + + if ([self isContinuous]) + [self sendAction:[self action] to:[self target]]; } else if (_isTracking) { diff --git a/Tools/nib2cib/NSLevelIndicator.j b/Tools/nib2cib/NSLevelIndicator.j index 172915429..159691c26 100644 --- a/Tools/nib2cib/NSLevelIndicator.j +++ b/Tools/nib2cib/NSLevelIndicator.j @@ -58,6 +58,7 @@ _numberOfMajorTickMarks = [cell numberOfMajorTickMarks]; [self setEditable:[cell isEditable]]; + [self setContinuous:[cell isContinuous]]; return self; } From 2887d4224c82036b300f43c37a541144f594d621 Mon Sep 17 00:00:00 2001 From: Randall Luecke Date: Mon, 30 May 2011 23:08:41 -0700 Subject: [PATCH 58/78] Remove empty setThemeState method in CPTableView --- AppKit/CPTableView.j | 7 ------- 1 file changed, 7 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 6a5a52991..8e4e25c56 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -662,13 +662,6 @@ NOT YET IMPLEMENTED [self reloadData]; } -/*! - @ignore -*/ -- (void)setThemeState:(int)aState -{ -} - /*! Returns the intercell spacing in a CGSize object. */ From a7929e6c1e83b0e2dd7a926acdee2ba102ebef25 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 30 May 2011 23:18:43 -0700 Subject: [PATCH 59/78] Enable escape as key equivalent. --- AppKit/CPEvent.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/CPEvent.j b/AppKit/CPEvent.j index b0cc6a03d..dc3f918a0 100644 --- a/AppKit/CPEvent.j +++ b/AppKit/CPEvent.j @@ -583,11 +583,11 @@ var _CPEventPeriodicEventPeriod = 0, c === CPEnterCharacter || c === CPNewlineCharacter || c === CPCarriageReturnCharacter || + c === CPEscapeFunctionKey || (!firstResponderIsText && (c === CPSpaceFunctionKey || c === CPDeleteCharacter || - c === CPBackspaceCharacter || - c === CPEscapeFunctionKey))) + c === CPBackspaceCharacter))) { return YES; } From 76bdbb660ea88007bd3539f97ee94e5e82d43990 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 30 May 2011 23:31:28 -0700 Subject: [PATCH 60/78] clickedRow should be -1 initially, remove leftover setTheme. --- AppKit/CPTableView.j | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 104b292db..e67ae3fbe 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -323,6 +323,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; { _tableViewFlags = 0; _lastSelectedRow = -1; + _clickedRow = -1; _selectedColumnIndexes = [CPIndexSet indexSet]; _selectedRowIndexes = [CPIndexSet indexSet]; @@ -665,10 +666,6 @@ NOT YET IMPLEMENTED /*! @ignore */ -- (void)setThemeState:(int)aState -{ -} - /*! Returns the intercell spacing in a CGSize object. */ From 13d4e36d39e126780e37e5e6586034b3ff751526 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 30 May 2011 23:39:44 -0700 Subject: [PATCH 61/78] Lost this change in the merge --- AppKit/CPTableView.j | 1 + 1 file changed, 1 insertion(+) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 8e4e25c56..fb3f33c8c 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -323,6 +323,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; { _tableViewFlags = 0; _lastSelectedRow = -1; + _clickedRow = -1; _selectedColumnIndexes = [CPIndexSet indexSet]; _selectedRowIndexes = [CPIndexSet indexSet]; From 33e4fea0ec1eb1255dd090f836e3c4c643757426 Mon Sep 17 00:00:00 2001 From: Francisco Ryan Tolmasky I Date: Tue, 31 May 2011 00:44:16 -0700 Subject: [PATCH 62/78] Fix forwarding in Objective-J (and many infinite recursions, such as when there is no superclass): 1. Fix infinite recursion when no superclass and method isn't implemented. Closes #469. 2. Fix infinite recursion when coercing an object without description implemented into a string. Closes #1289. 3. Add -forwardingTargetForSelector: support. Reviewed by @tolmasky. --- Foundation/CPObject.j | 47 +++------------------- Objective-J/Runtime.js | 88 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 86 insertions(+), 49 deletions(-) diff --git a/Foundation/CPObject.j b/Foundation/CPObject.j index 6b3158a15..0a9e4f02c 100644 --- a/Foundation/CPObject.j +++ b/Foundation/CPObject.j @@ -329,6 +329,11 @@ CPLog(@"Got some class: %@", inst); return objj_msgSend(self, aSelector, anObject, anotherObject); } +- (id)forwardingTargetForSelector:(SEL)aSelector +{ + return nil; +} + // Forwarding Messages /*! Subclasses can override this method to forward message to @@ -341,36 +346,6 @@ CPLog(@"Got some class: %@", inst); [self doesNotRecognizeSelector:[anInvocation selector]]; } -/*! - Used for forwarding of messages to other objects. - @ignore -*/ -// FIXME: This should be moved to the runtime? -- (void)forward:(SEL)aSelector :(marg_list)args -{ - var signature = [self methodSignatureForSelector:aSelector]; - - if (signature) - { - var invocation = [CPInvocation invocationWithMethodSignature:signature]; - - [invocation setTarget:self]; - [invocation setSelector:aSelector]; - - var index = 2, - count = args.length; - - for (; index < count; ++index) - [invocation setArgument:args[index] atIndex:index]; - - [self forwardInvocation:invocation]; - - return [invocation returnValue]; - } - - [self doesNotRecognizeSelector:aSelector]; -} - // Error Handling /*! Called by the Objective-J runtime when an object can't respond to @@ -381,7 +356,7 @@ CPLog(@"Got some class: %@", inst); { [CPException raise:CPInvalidArgumentException reason: (class_isMetaClass(isa) ? "+" : "-") + " [" + [self className] + " " + aSelector + "] unrecognized selector sent to " + - (class_isMetaClass(isa) ? "class" : "instance") + " 0x" + [CPString stringWithHash:[self UID]]]; + (class_isMetaClass(isa) ? "class " + class_getName(isa) : "instance 0x" + [CPString stringWithHash:[self UID]])]; } // Archiving @@ -542,13 +517,3 @@ CPLog(@"Got some class: %@", inst); } @end - -// override toString on Objective-J objects so we get the actual description of the object -// when coerced to a string, instead of "[Object object]" -objj_class.prototype.toString = objj_object.prototype.toString = function() -{ - if (this.isa && class_getInstanceMethod(this.isa, "description") != NULL) - return [this description]; - else - return String(this) + " (-description not implemented)"; -} diff --git a/Objective-J/Runtime.js b/Objective-J/Runtime.js index 0d1145d0f..20db83f3c 100644 --- a/Objective-J/Runtime.js +++ b/Objective-J/Runtime.js @@ -71,7 +71,7 @@ GLOBAL(objj_class) = function(displayName) this.method_dtable = this.method_store.prototype; #if DEBUG - // naming the allocator allows the WebKit heap snapshot tool to display object class names correctly + // Naming the allocator allows the WebKit heap snapshot tool to display object class names correctly // HACK: displayName property is not respected so we must eval a function to name it eval("this.allocator = function " + (displayName || "OBJJ_OBJECT").replace(/\W/g, "_") + "() { }"); #else @@ -342,10 +342,61 @@ var _class_initialize = function(/*Class*/ aClass) } } -var _objj_forward = new objj_method("forward", function(self, _cmd) +var _objj_forward = function(self, _cmd) { - return objj_msgSend(self, "forward::", _cmd, arguments); -}); + var isa = self.isa, + implementation = isa.method_dtable[SEL_forwardingTargetForSelector_]; + + if (implementation) + { + var target = implementation.method_imp.call(this, self, SEL_forwardingTargetForSelector_, _cmd); + + if (target && target !== self) + { + arguments[0] = target; + + return objj_msgSend.apply(this, arguments); + } + } + + implementation = isa.method_dtable[SEL_methodSignatureForSelector_]; + + if (implementation) + { + var forwardInvocationImplementation = isa.method_dtable[SEL_forwardInvocation_]; + + if (forwardInvocationImplementation) + { + var signature = implementation.method_imp.call(this, self, SEL_methodSignatureForSelector_, _cmd); + + if (signature) + { + var invocationClass = objj_lookUpClass("CPInvocation"); + + if (invocationClass) + { + var invocation = objj_msgSend(invocationClass, SEL_invocationWithMethodSignature_, signature), + index = 0, + count = arguments.length; + + for (; index < count; ++index) + objj_msgSend(invocation, SEL_setArgument_atIndex_, arguments[index], index); + + forwardInvocationImplementation.method_imp.call(this, self, SEL_forwardInvocation_, invocation); + + return objj_msgSend(invocation, SEL_returnValue); + } + } + } + } + + implementation = isa.method_dtable[SEL_doesNotRecognizeSelector_]; + + if (implementation) + return implementation.method_imp.call(this, self, SEL_doesNotRecognizeSelector_, _cmd); + + throw class_getName(isa) + " does not implement doesNotRecognizeSelector:. Did you forget a superclass for " + class_getName(isa) + "?"; +}; // I think this forward:: may need to be a common method, instead of defined in CPObject. #define CLASS_GET_METHOD_IMPLEMENTATION(aMethodImplementation, aClass, aSelector)\ @@ -354,10 +405,7 @@ var _objj_forward = new objj_method("forward", function(self, _cmd) \ var method = aClass.method_dtable[aSelector];\ \ - if (!method)\ - method = _objj_forward;\ - \ - aMethodImplementation = method.method_imp; + aMethodImplementation = method ? method.method_imp : _objj_forward; GLOBAL(class_getMethodImplementation) = function(/*Class*/ aClass, /*SEL*/ aSelector) { @@ -657,3 +705,27 @@ GLOBAL(sel_registerName) = function(/*String*/ aName) } DISPLAY_NAME(sel_registerName); + +objj_class.prototype.toString = objj_object.prototype.toString = function() +{ + var isa = this.isa; + + if (class_getInstanceMethod(isa, SEL_description)) + return objj_msgSend(this, description); + + if (class_isMetaClass(isa)) + return this.name; + + return "[" + isa.name + " Object](-description not implemented)"; +} + +var SEL_description = sel_getUid("description"), + SEL_forwardingTargetForSelector_ = sel_getUid("forwardingTargetForSelector:"), + SEL_methodSignatureForSelector_ = sel_getUid("methodSignatureForSelector:"), + SEL_forwardInvocation_ = sel_getUid("forwardInvocation:"), + SEL_doesNotRecognizeSelector_ = sel_getUid("doesNotRecognizeSelector:"), + SEL_invocationWithMethodSignature_ = sel_getUid("invocationWithMethodSignature:"), + SEL_setTarget_ = sel_getUid("setTarget:"), + SEL_setSelector_ = sel_getUid("setSelector:"), + SEL_setArgument_atIndex_ = sel_getUid("setArgument:atIndex:"), + SEL_returnValue = sel_getUid("returnValue"); From 671666e8424541c19104ed4dccb152299b3eed58 Mon Sep 17 00:00:00 2001 From: Francisco Ryan Tolmasky I Date: Tue, 31 May 2011 01:27:41 -0700 Subject: [PATCH 63/78] Fix selector typo. Reviewed by me. --- Objective-J/Runtime.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Objective-J/Runtime.js b/Objective-J/Runtime.js index 20db83f3c..413649cad 100644 --- a/Objective-J/Runtime.js +++ b/Objective-J/Runtime.js @@ -711,7 +711,7 @@ objj_class.prototype.toString = objj_object.prototype.toString = function() var isa = this.isa; if (class_getInstanceMethod(isa, SEL_description)) - return objj_msgSend(this, description); + return objj_msgSend(this, SEL_description); if (class_isMetaClass(isa)) return this.name; From 753257a65044a2da994837a11730e9097fd927e8 Mon Sep 17 00:00:00 2001 From: Klaas Pieter Annema Date: Tue, 31 May 2011 14:37:29 +0200 Subject: [PATCH 64/78] Always tile the collectionview A collectionview should always tile because it needs to adjusts it's size to properly work with an enclosing scrollview --- AppKit/CPCollectionView.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index 99d3db162..ec57e1b69 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -386,7 +386,7 @@ _items = []; - if (!_itemPrototype || !_content) + if (!_itemPrototype) return; var index = 0; @@ -412,7 +412,7 @@ { var width = CGRectGetWidth([self bounds]); - if (![_content count] || width == _tileWidth) + if (width == _tileWidth) return; // We try to fit as many views per row as possible. Any remaining space is then From 16183cca0991bc6b7728b61260f363716e277263 Mon Sep 17 00:00:00 2001 From: Klaas Pieter Annema Date: Wed, 1 Jun 2011 12:09:49 +0200 Subject: [PATCH 65/78] fix nib2cibbed controls enabled state --- Tools/nib2cib/NSButton.j | 2 ++ Tools/nib2cib/NSControl.j | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Tools/nib2cib/NSButton.j b/Tools/nib2cib/NSButton.j index 1cbda554e..79e3a5572 100644 --- a/Tools/nib2cib/NSButton.j +++ b/Tools/nib2cib/NSButton.j @@ -183,6 +183,8 @@ var NSButtonIsBorderedMask = 0x00800000, [self setImagePosition:[cell imagePosition]]; } + [self setEnabled:[cell isEnabled]]; + return self; } diff --git a/Tools/nib2cib/NSControl.j b/Tools/nib2cib/NSControl.j index abe978ec9..06afe13cd 100644 --- a/Tools/nib2cib/NSControl.j +++ b/Tools/nib2cib/NSControl.j @@ -44,9 +44,10 @@ [self setFont:[cell font]]; [self setAlignment:[cell alignment]]; - // The NSEnabled flag is never changed when changing the enabled state of a control - // Enabled state should is derived from the NSCellFlags decoded by NSCell - [self setEnabled:[cell isEnabled]]; + // Enabled state is derived from the NSEnabled flag or the control's cell. + // For example NSTableView uses the NSEnabled flag, but NSButton uses it's cell isEnabled state. + // We use the NSEnabled flag here and override the behavior in controls using different logic (NSButton). + [self setEnabled:[aCoder decodeBoolForKey:@"NSEnabled"]]; [self setContinuous:[cell isContinuous]]; [self setTarget:[aCoder decodeObjectForKey:@"NSTarget"]]; From 397e314cc96108e06f1008fa8dd4b33dc3cd75c7 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Wed, 1 Jun 2011 18:19:49 -0700 Subject: [PATCH 66/78] Use Menlo if Consolas is not available --- Tools/Documentation/doxygen.css | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Tools/Documentation/doxygen.css b/Tools/Documentation/doxygen.css index 4c7c19801..fa16d6d4b 100644 --- a/Tools/Documentation/doxygen.css +++ b/Tools/Documentation/doxygen.css @@ -265,7 +265,7 @@ div.contents hr { } td.indexkey { - font-family: Consolas, "Lucida Console"; + font-family: Consolas, Menlo, "Lucida Console"; border-bottom: 1px solid #eee; padding: .25em 0 .25em .5em; } @@ -275,7 +275,7 @@ table tr.indexkey:first-child td { } td.indexvalue { - font-family: Consolas, "Lucida Console"; + font-family: Consolas, Menlo, "Lucida Console"; border-bottom: 1px solid #eee; padding: .25em 0 .25em .5em; } @@ -285,7 +285,7 @@ table tr.memlist > td { } tr.memlist td { - font-family: Consolas, "Lucida Console"; + font-family: Consolas, Menlo, "Lucida Console"; padding: .25em 0; border-bottom: 1px solid #eee; } @@ -425,7 +425,7 @@ hr.footer { /* @group Member Descriptions */ table.memberdecls { - font-family: Consolas, "Lucida Console"; + font-family: Consolas, Menlo, "Lucida Console"; border-spacing: 0px; padding: 0px; margin: 0 !important; @@ -485,7 +485,7 @@ table.memberdecls { .memname { white-space: nowrap; - font: bold 105% Consolas, "Lucida Console"; + font: bold 105% Consolas, Menlo, "Lucida Console"; margin: .25em 0 .1em .25em; } @@ -495,7 +495,7 @@ table.memberdecls { padding: 6px 15px; color: #253554; background-color: #f7f7f7; - font-family: Consolas, "Lucida Console"; + font-family: Consolas, Menlo, "Lucida Console"; font-weight: bold; } @@ -526,7 +526,7 @@ table.memberdecls { } .memdoc dl dd td em { - font-family: Consolas, "Lucida Console"; + font-family: Consolas, Menlo, "Lucida Console"; font-weight: bold; white-space: nowrap; } From 4e07c9f9eed7e7c9ef98373c214bdbc56e158964 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 2 Jun 2011 11:58:31 -0400 Subject: [PATCH 67/78] Decode but mostly ignore NSImages in nib2cib. Fixed: radio groups in IB come with an NSImage and so would not nib2cib anymore after the recent addition of template image support in NSButton. --- Tools/nib2cib/NSAppKit.j | 1 + Tools/nib2cib/NSImage.j | 60 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Tools/nib2cib/NSImage.j diff --git a/Tools/nib2cib/NSAppKit.j b/Tools/nib2cib/NSAppKit.j index 435281373..b8008a14c 100644 --- a/Tools/nib2cib/NSAppKit.j +++ b/Tools/nib2cib/NSAppKit.j @@ -39,6 +39,7 @@ @import "NSFont.j" @import "NSFormatter.j" @import "NSIBObjectData.j" +@import "NSImage.j" @import "NSImageView.j" @import "NSLevelIndicator.j" @import "NSMatrix.j" diff --git a/Tools/nib2cib/NSImage.j b/Tools/nib2cib/NSImage.j new file mode 100644 index 000000000..a40b85f95 --- /dev/null +++ b/Tools/nib2cib/NSImage.j @@ -0,0 +1,60 @@ +/* + * NSImage.j + * nib2cib + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation CPImage (CPCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [self init]; + + if (self) + { + var imageFlags = [aCoder decodeIntForKey:@"NSImageFlags"]; + + // TODO Do something with this serialised image data. + // var imageContentReps = [aCoder decodeObjectForKey:@"NSReps"]; + + _size = [aCoder decodeSizeForKey:@"NSSize"]; + } + + return self; +} + +@end + +@implementation NSImage : CPImage +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPImage class]; +} + +@end From 0a9c9741e8feb2a761bd69f973e549435509b0ff Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 2 Jun 2011 15:09:54 -0400 Subject: [PATCH 68/78] CPArray mutableCopy. --- Foundation/CPArray/CPMutableArray.j | 11 +++++++++++ Tests/Foundation/CPMutableArrayTest.j | 14 +++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Foundation/CPArray/CPMutableArray.j b/Foundation/CPArray/CPMutableArray.j index e9588dd51..94eecdb00 100644 --- a/Foundation/CPArray/CPMutableArray.j +++ b/Foundation/CPArray/CPMutableArray.j @@ -397,6 +397,17 @@ @end +@implementation CPArray (CPMutableCopying) + +- (id)mutableCopy +{ + var r = [CPMutableArray new]; + [r addObjectsFromArray:self]; + return r; +} + +@end + var selectorCompare = function selectorCompare(object1, object2, selector) { return [object1 performSelector:selector withObject:object2]; diff --git a/Tests/Foundation/CPMutableArrayTest.j b/Tests/Foundation/CPMutableArrayTest.j index 44fcba9f6..8cb356633 100644 --- a/Tests/Foundation/CPMutableArrayTest.j +++ b/Tests/Foundation/CPMutableArrayTest.j @@ -2,7 +2,6 @@ @import @import "CPArrayTest.j" - @implementation CPMutableArrayTest : CPArrayTest + (Class)arrayClass @@ -448,6 +447,19 @@ [self assert:[5, 4, 4, 3, 2, 2, 1, 1, 1, 1] equals:target]; } +- (void)testMutableCopy +{ + var normalArray = [CPArray array]; + + [self assertThrows:function () { [array addObject:[CPNull null]] }]; + + var mutableArray = [normalArray mutableCopy]; + + [mutableArray addObject:[CPNull null]]; + + [self assert:1 equals:[mutableArray count] message:"mutable copy should have content"]; +} + @end @implementation CPPrettyObject : CPObject From 5f85f7bef1548a03c969a76ad8942d25cc07d21c Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Fri, 3 Jun 2011 18:08:33 -0700 Subject: [PATCH 69/78] Removed unused variable, fixed typo --- Foundation/CPKeyedArchiver.j | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Foundation/CPKeyedArchiver.j b/Foundation/CPKeyedArchiver.j index 13fbe732d..624a42e2a 100644 --- a/Foundation/CPKeyedArchiver.j +++ b/Foundation/CPKeyedArchiver.j @@ -201,11 +201,10 @@ var _CPKeyedArchiverStringClass = Nil, for (; i < _objects.length; ++i) { - var object = _objects[i], - theClass = [object classForKeyedArchiver]; + var object = _objects[i]; // Do whatever with the class, yo. - // We call willEncodeObject previously. + // We called willEncodeObject previously. _plistObject = _plistObjects[[_UIDs objectForKey:[object UID]]]; [object encodeWithCoder:self]; From fa0a4d3b56035e00009b884c5a738dcae41fa7bf Mon Sep 17 00:00:00 2001 From: Tom Robinson Date: Fri, 3 Jun 2011 21:15:25 -0700 Subject: [PATCH 70/78] Fix tests for CI. --- Tests/AppKit/CGContextTest.j | 11 ++++++++++- Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j | 2 +- Tools/Scripts/ci.sh | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Tests/AppKit/CGContextTest.j b/Tests/AppKit/CGContextTest.j index 0ed6242e6..8b4499825 100644 --- a/Tests/AppKit/CGContextTest.j +++ b/Tests/AppKit/CGContextTest.j @@ -8,12 +8,18 @@ /* Ensure that we have no canvas nor vml support. */ - [self assert:YES equals:!CPFeatureIsCompatible(CPHTMLCanvasFeature)]; + if (system.engine !== "jsc") + { + [self assert:YES equals:!CPFeatureIsCompatible(CPHTMLCanvasFeature)]; + } [self assert:YES equals:!CPFeatureIsCompatible(CPVMLFeature)]; } - (void)testGStateCreate { + if (CPFeatureIsCompatible(CPHTMLCanvasFeature)) + return; + var gstate = CGGStateCreate(), testdata = { alpha: 1.0, strokeStyle: "#000", @@ -41,6 +47,9 @@ - (void)testGStateCreateCopy { + if (CPFeatureIsCompatible(CPHTMLCanvasFeature)) + return; + var gstate = CGGStateCreate(), gstatecopy = CGGStateCreateCopy(gstate), testdata = { alpha: 1.0, diff --git a/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j b/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j index 4322239fa..e60c456db 100644 --- a/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j +++ b/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j @@ -43,7 +43,7 @@ var CPMenuValidatedUserInterfaceItemTestValidatedItems = []; var parentItem = [[self menu] itemWithTitle:@"parent"]; [self assertTrue:[parentItem isEnabled] message:@"Parent items should never be disabled"]; - [self assertFalse:[[[self menuTarget] validatedItems] containsObject:parent] message:@"Parent items should never be validated"]; + [self assertFalse:[[[self menuTarget] validatedItems] containsObject:parentItem] message:@"Parent items should never be validated"]; } @end diff --git a/Tools/Scripts/ci.sh b/Tools/Scripts/ci.sh index 045c90d63..bb89cc298 100755 --- a/Tools/Scripts/ci.sh +++ b/Tools/Scripts/ci.sh @@ -7,7 +7,7 @@ export PATH="$HOME/narwhal/bin:$PATH" export CAPP_AUTO_UPGRADE="yes" export CAPP_BUILD="$project_home/build_incremental" -time jake test +time jake CommonJS test-only code=$? if [ $code -ne 0 ]; then echo "INCREMENTAL BUILD FAILED ($code)" @@ -19,7 +19,7 @@ fi export CAPP_BUILD="$project_home/build_clean" rm -rf "$CAPP_BUILD" -time jake CommonJS test +time jake CommonJS test-only code=$? if [ $code -ne 0 ]; then echo "CLEAN BUILD FAILED ($code)" From bd9a6ea150aceabf6a7dc33f337482a9a3f07171 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 10:46:29 -0700 Subject: [PATCH 71/78] A few more fixes to support multiple themes. --- AppKit/CPApplication.j | 8 ++++++-- AppKit/CPView.j | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/AppKit/CPApplication.j b/AppKit/CPApplication.j index c6046ad0b..6fa5c020d 100644 --- a/AppKit/CPApplication.j +++ b/AppKit/CPApplication.j @@ -1292,8 +1292,12 @@ var _CPAppBootstrapperActions = nil, + (void)blendDidFinishLoading:(CPThemeBlend)aThemeBlend { - [[CPApplication sharedApplication] setThemeBlend:aThemeBlend]; - [CPTheme setDefaultTheme:[CPTheme themeNamed:[CPApplication defaultThemeName]]]; + var themeBlends = [CPApp themeBlends]; + + [themeBlends addObject:aThemeBlend]; + + if ([themeBlends count] === 1) + [CPTheme setDefaultTheme:[CPTheme themeNamed:[CPApplication defaultThemeName]]]; if (_CPAppThemeURLsToLoad.length === 0) [self performActions]; diff --git a/AppKit/CPView.j b/AppKit/CPView.j index b620acf0f..8b35a90bf 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -2695,7 +2695,7 @@ var CPViewAutoresizingMaskKey = @"CPViewAutoresizingMask", [self setupViewFlags]; - _theme = [CPTheme defaultTheme]; + _theme = [CPTheme themeForView:self]; _themeClass = [aCoder decodeObjectForKey:CPViewThemeClassKey]; _themeState = CPThemeState([aCoder decodeIntForKey:CPViewThemeStateKey]); _themeAttributes = {}; From 8de587d4fcd1455c85975bee39393d6f7cd7e3e6 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 10:58:38 -0700 Subject: [PATCH 72/78] Only log the connection info if _source and _destination are defined. Runtime attribute connections do not have both. Correctly show boolean value types as BOOL, not CPNumber. --- Tools/nib2cib/NSNibConnector.j | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Tools/nib2cib/NSNibConnector.j b/Tools/nib2cib/NSNibConnector.j index 6633da218..15c274fe1 100644 --- a/Tools/nib2cib/NSNibConnector.j +++ b/Tools/nib2cib/NSNibConnector.j @@ -54,7 +54,8 @@ NIB_CONNECTION_EQUIVALENCY_TABLE = {}; _destination = NIB_CONNECTION_EQUIVALENCY_TABLE[destinationUID]; } - CPLog.debug(@"NSNibConnector: connection: " + [_source description] + " " + [_destination description] + " " + _label); + if (_source && _destination) + CPLog.debug(@"NSNibConnector: connection: " + [_source description] + " " + [_destination description] + " " + _label); } return self; @@ -186,7 +187,12 @@ var NSTransformers = [CPSet setWithObjects: CPLog.debug(@"NSNibConnector: runtime attributes connector: " + [_source description]); while (count--) - CPLog.debug(@" %s (%s): %s", _keyPaths[count], [_values[count] className], _values[count]); + { + var value = _values[count], + type = typeof(value) === "boolean" ? "BOOL" : [value className]; + + CPLog.debug(@" %s (%s): %s", _keyPaths[count], type, value); + } } return self; From 83546d58dba6828aebf4978dc03ed1042d406986 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 10:59:49 -0700 Subject: [PATCH 73/78] Tweak language of error message to be clearer, currently it sounds like it was searching in the cib file for the class, not the other way around. --- AppKit/Cib/_CPCibClassSwapper.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/Cib/_CPCibClassSwapper.j b/AppKit/Cib/_CPCibClassSwapper.j index 8e1c133df..0d432a313 100644 --- a/AppKit/Cib/_CPCibClassSwapper.j +++ b/AppKit/Cib/_CPCibClassSwapper.j @@ -61,14 +61,14 @@ var _CPCibClassSwapperClassNameKey = @"_CPCibClassSwapperClassNameKey", if (!object) { - CPLog.error("Unable to find class " + theClassName + " in cib file."); + CPLog.error("Unable to find class " + theClassName + " referenced in cib file."); object = [self allocObjectWithCoder:aCoder className:[aCoder decodeObjectForKey:_CPCibClassSwapperOriginalClassNameKey]]; } } if (!object) - [CPException raise:CPInvalidArgumentException reason:@"Unable to find class " + theClassName + " in cib file."]; + [CPException raise:CPInvalidArgumentException reason:@"Unable to find class " + theClassName + " referenced in cib file."]; return object; } From d038c50531ea84a4286f355176a4c39a8ed201ac Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 12:01:19 -0700 Subject: [PATCH 74/78] Added ability to specify bundle, which makes this usable with non-main bundle images. --- AppKit/Cib/_CPCibCustomResource.j | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/AppKit/Cib/_CPCibCustomResource.j b/AppKit/Cib/_CPCibCustomResource.j index 3daf2f0bd..9d23958ea 100644 --- a/AppKit/Cib/_CPCibCustomResource.j +++ b/AppKit/Cib/_CPCibCustomResource.j @@ -43,6 +43,11 @@ var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey", return [[self alloc] initWithClassName:@"CPImage" resourceName:aResourceName properties:[CPDictionary dictionaryWithObject:aSize forKey:@"size"]]; } ++ (id)imageResourceWithName:(CPString)aResourceName size:(CGSize)aSize bundleClass:(CPString)aBundleClass +{ + return [[self alloc] initWithClassName:@"CPImage" resourceName:aResourceName properties:[CPDictionary dictionaryWithObjects:[aSize, aBundleClass] forKeys:[@"size", @"bundleClass"]]]; +} + - (id)initWithClassName:(CPString)aClassName resourceName:(CPString)aResourceName properties:(CPDictionary)properties { self = [super init]; @@ -89,7 +94,18 @@ var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey", else if (_resourceName == "CPRemoveTemplate") return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"minus_button.png"] size:CGSizeMake(11, 4)]; - return [[CPImage alloc] initWithContentsOfFile:[[aCoder bundle] pathForResource:_resourceName] size:_properties.valueForKey(@"size")]; + var bundleClass = _properties.valueForKey(@"bundleClass"), + bundle = nil; + + if (bundleClass) + { + bundleClass = CPClassFromString(bundleClass); + + if (bundleClass) + bundle = [CPBundle bundleForClass:bundleClass]; + } + + return [[CPImage alloc] initWithContentsOfFile:[(bundle || [aCoder bundle]) pathForResource:_resourceName] size:_properties.valueForKey(@"size")]; } return self; From 94df530580eb5d18ea70115ce73f7d5349c00655 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 16:07:00 -0700 Subject: [PATCH 75/78] Another overhaul of nib2cib. - Added support for userland NS classes. - Added support for auxiliary themes. - NSView should be writing _themeClass, otherwise custom themed classes do not get the correct _themeClass when unarchived. - Added support for stored options, this is critical. For example, if you are using custom frameworks, you have to ensure they are loaded during automatic nib2cib'ing that occurs when building an app or using xcodecapp. Stored options makes this easy to do. - Finally did the right thing and made nib2cib into an Objective-J class. --- Tools/nib2cib/Converter.j | 15 +- Tools/nib2cib/NSClassSwapper.j | 42 +- Tools/nib2cib/NSView.j | 1 + Tools/nib2cib/Nib2Cib.j | 942 +++++++++++++++++++++++++++++++++ Tools/nib2cib/main.j | 723 +------------------------ Tools/nib2cib/nib2cib.1 | 55 +- 6 files changed, 1045 insertions(+), 733 deletions(-) create mode 100644 Tools/nib2cib/Nib2Cib.j diff --git a/Tools/nib2cib/Converter.j b/Tools/nib2cib/Converter.j index be2a1b346..61fdc6f08 100644 --- a/Tools/nib2cib/Converter.j +++ b/Tools/nib2cib/Converter.j @@ -40,18 +40,16 @@ ConverterConversionException = @"ConverterConversionException"; @implementation Converter : CPObject { - CPString inputPath @accessors(readonly); - CPString outputPath @accessors; - CPString resourcesPath @accessors; - NibFormat format @accessors(readonly); - CPArray themes @accessors(readonly); + CPString inputPath @accessors(readonly); + CPString outputPath @accessors; + CPString resourcesPath @accessors; + NibFormat format @accessors(readonly); + CPArray themes @accessors(readonly); + CPArray frameworkNSClasses @accessors; } + (Converter)sharedConverter { - if (!SharedConverter) - SharedConverter = [[Converter alloc] init]; - return SharedConverter; } @@ -61,6 +59,7 @@ ConverterConversionException = @"ConverterConversionException"; if (self) { + SharedConverter = self; inputPath = aPath; format = nibFormat; themes = themeList; diff --git a/Tools/nib2cib/NSClassSwapper.j b/Tools/nib2cib/NSClassSwapper.j index ecf733f2d..4eebb9a8f 100644 --- a/Tools/nib2cib/NSClassSwapper.j +++ b/Tools/nib2cib/NSClassSwapper.j @@ -1,3 +1,26 @@ +/* + * NSClassSwapper.j + * nib2cib + * + * Created by Francisco Tolmasky + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "Converter.j" var NSClassSwapperClassNames = {}, NSClassSwapperOriginalClassNames = {}; @@ -16,7 +39,13 @@ var _CPCibClassSwapperClassNameKey = @"_CPCibClassSwapperClassNameKey", if (!swapperClass) { - var originalClass = objj_lookUpClass(anOriginalClassName); + // If this is a framework NS class, call its KVC methods directly + var nsClass = nil; + + if ([[[Converter sharedConverter] frameworkNSClasses] containsObject:aClassName]) + nsClass = objj_lookUpClass("NS_" + aClassName); + + var originalClass = nsClass || objj_lookUpClass(anOriginalClassName); swapperClass = objj_allocateClassPair(originalClass, swapperClassName); @@ -46,7 +75,16 @@ var _CPCibClassSwapperClassNameKey = @"_CPCibClassSwapperClassNameKey", { objj_msgSendSuper({super_class:originalClass, receiver:self}, _cmd, aCoder); - // FIXME: map class name as well? + // If this is a custom NS class, lookup its archiver class so that + // the correct class is swapped during unarchiving. + if (nsClass) + { + var classForArchiver = objj_msgSend(nsClass, "classForKeyedArchiver"); + + if (classForArchiver) + aClassName = [classForArchiver className]; + } + [aCoder encodeObject:aClassName forKey:_CPCibClassSwapperClassNameKey]; [aCoder encodeObject:CP_NSMapClassName(anOriginalClassName) forKey:_CPCibClassSwapperOriginalClassNameKey]; }, ""); diff --git a/Tools/nib2cib/NSView.j b/Tools/nib2cib/NSView.j index 25b86fcdd..743068b30 100644 --- a/Tools/nib2cib/NSView.j +++ b/Tools/nib2cib/NSView.j @@ -68,6 +68,7 @@ var NSViewAutoresizingMask = 0x3F, _isHidden = vFlags & NSViewHiddenMask; _opacity = 1.0;//[aCoder decodeIntForKey:CPViewOpacityKey]; + _themeClass = [self themeClass]; _themeAttributes = {}; _themeState = CPThemeStateNormal; [self _loadThemeAttributes]; diff --git a/Tools/nib2cib/Nib2Cib.j b/Tools/nib2cib/Nib2Cib.j new file mode 100644 index 000000000..afcd94a52 --- /dev/null +++ b/Tools/nib2cib/Nib2Cib.j @@ -0,0 +1,942 @@ +/* + * Nib2Cib.j + * nib2cib + * + * Created by Francisco Tolmasky and Aparajita Fishman. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +@import +@import +@import + +@import "NSFoundation.j" +@import "NSAppKit.j" + +@import "Nib2CibKeyedUnarchiver.j" +@import "Converter.j" + +var FILE = require("file"), + OS = require("os"), + SYS = require("system"), + FileList = require("jake").FileList, + stream = require("narwhal/term").stream, + StaticResource = require("objective-j").StaticResource, + + DefaultTheme = "Aristo", + BuildTypes = ["Debug", "Release"], + DefaultFile = "MainMenu", + AllowedStoredOptionsRe = new RegExp("^(defaultTheme|auxThemes|verbosity|quiet|frameworks|format)$"); + ArgsRe = /"[^\"]+"|'[^\']+'|\S+/g; + + +@implementation Nib2Cib : CPObject +{ + CPArray commandLineArgs; + JSObject parser; + JSObject nibInfo; + CPString appDirectory; + CPString resourcesDirectory; + CPDictionary infoPlist; + CPArray frameworkNSClasses; +} + +- (id)initWithArgs:(CPArray)theArgs +{ + self = [super init]; + + if (self) + { + commandLineArgs = theArgs; + parser = new (require("narwhal/args").Parser)(); + nibInfo = {}; + appDirectory = @""; + resourcesDirectory = @""; + infoPlist = [CPDictionary dictionary]; + frameworkNSClasses = []; + } + + return self; +} + +- (void)run +{ + try + { + var options = [self parseOptionsFromArgs:commandLineArgs]; + + [self setLogLevel:options.quiet ? -1 : options.verbosity]; + + if (options.watch) + [self watchWithOptions:options]; + else + [self convertWithOptions:options inputFile:nil]; + } + catch (anException) + { + CPLog.fatal([self exceptionReason:anException]); + OS.exit(1); + } +} + +- (BOOL)convertWithOptions:(JSObject)options inputFile:(CPString)inputFile +{ + try + { + inputFile = inputFile || [self getInputFile:options.args]; + + [self getAppAndResourceDirectoriesFromInputFile:inputFile options:options]; + + if (options.readStoredOptions) + { + options = [self mergeOptionsWithStoredOptions:options inputFile:inputFile]; + [self setLogLevel:options.quiet ? -1 : options.verbosity]; + } + + if (!options.quiet && options.verbosity > 0) + [self printVersion]; + + var outputFile = [self getOutputFileFromInputFile:inputFile args:options.args], + configInfo = [self readConfigFile:options.configFile || @"" inputFile:inputFile]; + + infoPlist = configInfo.plist; + + if (infoPlist) + { + var systemFontFace = [infoPlist valueForKey:@"CPSystemFontFace"]; + + if (systemFontFace) + [CPFont setSystemFontFace:systemFontFace]; + + var systemFontSize = [infoPlist valueForKey:@"CPSystemFontSize"]; + + if (systemFontSize) + [CPFont setSystemFontSize:parseFloat(systemFontSize, 10)]; + } + + var themeList = [self getThemeList:options], + themes = [self loadThemesFromList:themeList]; + + CPLog.info("\n-------------------------------------------------------------"); + CPLog.info("Input : " + inputFile); + CPLog.info("Output : " + outputFile); + CPLog.info("Format : " + ["Auto", "Mac", "iPhone"][options.format]); + CPLog.info("Application : " + appDirectory); + CPLog.info("Resources : " + resourcesDirectory); + CPLog.info("Frameworks : " + (options.frameworks || "")); + CPLog.info("Default theme : " + themeList[0]); + CPLog.info("Aux themes : " + themeList.slice(1).join(", ")); + CPLog.info("Config file : " + (configInfo.path || "")); + CPLog.info("System Font : " + [CPFont systemFontSize] + "px " + [CPFont systemFontFace]); + CPLog.info("-------------------------------------------------------------\n"); + + var converter = [[Converter alloc] initWithInputPath:inputFile + format:options.format + themes:themes]; + + [converter setOutputPath:outputFile]; + [converter setResourcesPath:resourcesDirectory]; + + var loadFrameworksCallback = function() + { + [converter setFrameworkNSClasses:frameworkNSClasses]; + [converter convert]; + }; + + [self loadFrameworks:options.frameworks verbosity:options.verbosity callback:loadFrameworksCallback]; + + return YES; + } + catch (anException) + { + CPLog.fatal([self exceptionReason:anException]); + return NO; + } +} + +- (void)watchWithOptions:(JSObject)options +{ + var verbosity = options.quiet ? -1 : options.verbosity, + watchDir = options.args[0]; + + if (!watchDir) + watchDir = FILE.canonical(FILE.isDirectory("Resources") ? "Resources" : "."); + else + { + watchDir = FILE.canonical(watchDir); + + if (FILE.basename(watchDir) !== "Resources") + { + var path = FILE.join(watchDir, "Resources"); + + if (FILE.isDirectory(path)) + watchDir = path; + } + } + + if (!FILE.isDirectory(watchDir)) + [self failWithMessage:@"Cannot find the directory: " + watchDir]; + + // Turn on info messages + [self setLogLevel:1]; + + var nibs = new FileList(FILE.join(watchDir, "*.[nx]ib")).items(), + count = nibs.length; + + // First time through only IB files with no corresponding cib + // or a cib with an earlier or equal mtime are converted. + while (count--) + { + var nib = nibs[count], + cib = nib.substr(0, nib.length - 4) + ".cib"; + + if (FILE.exists(cib) && (FILE.mtime(nib) - FILE.mtime(cib)) <= 0) + nibInfo[nib] = FILE.mtime(nib); + } + + CPLog.info("Watching: " + CPLogColorize(watchDir, "debug")); + CPLog.info("Press Control-C to stop..."); + + while (true) + { + var modifiedNibs = [self getModifiedNibsInDirectory:watchDir]; + + for (var i = 0; i < modifiedNibs.length; ++i) + { + var action = modifiedNibs[i][0], + nib = modifiedNibs[i][1], + label = action === "add" ? "Added" : "Modified", + level = action === "add" ? "info" : "debug"; + + CPLog.info(">> %s: %s", CPLogColorize(label, level), nib); + + // Don't convert an add if there is an existing cib with a later mtime + if (action === "add") + { + var cib = nib.substr(0, nib.length - 4) + ".cib"; + + if (FILE.exists(cib) && (FILE.mtime(nib) - FILE.mtime(cib)) < 0) + continue; + } + + // Let the converter log however the user configured it + [self setLogLevel:verbosity]; + + var success = [self convertWithOptions:options inputFile:nib]; + + [self setLogLevel:1]; + + if (success) + { + if (verbosity > 0) + stream.print(); + else + CPLog.warn("Conversion successful"); + } + } + + OS.sleep(1); + } +} + +- (JSObject)parseOptionsFromArgs:(CPArray)theArgs +{ + parser.usage("[--watch DIRECTORY] [INPUT_FILE [OUTPUT_FILE]]"); + + parser.option("--watch", "watch") + .set(true) + .help("Ask nib2cib to watch a directory for changes"); + + parser.option("-R", "resourcesDir") + .set() + .displayName("directory") + .help("Set the Resources directory, usually unnecessary as it is inferred from the input path"); + + parser.option("--default-theme", "defaultTheme") + .set() + .displayName("name") + .help("Specify a custom default theme which is not set in your Info.plist"); + + parser.option("-t", "--theme", "auxThemes") + .push() + .displayName("name") + .help("An additional theme loaded dynamically by your application"); + + parser.option("--config", "configFile") + .set() + .displayName("path") + .help("A path to an Info.plist file from which the system font and/or size can be retrieved"); + + parser.option("-v", "--verbose", "verbosity") + .inc() + .help("Increase verbosity level"); + + parser.option("-q", "--quiet", "quiet") + .set(true) + .help("No output"); + + parser.option("-F", "--framework", "frameworks") + .push() + .help("Add a framework to load"); + + parser.option("--no-stored-options", "readStoredOptions") + .set(false) + .def(true) + .help("Do not read stored options"); + + parser.option("--mac", "format") + .set(NibFormatMac) + .def(NibFormatUndetermined) + .help("Set format to Mac"); + + parser.option("--version", "showVersion") + .action(function() { [self printVersionAndExit]; }) + .help("Show the version of nib2cib and quit"); + + parser.helpful(); + + var options = parser.parse(theArgs, null, null, true); + + if (options.args.length > 2) + { + parser.printUsage(options); + OS.exit(0); + } + + return options; +} + +- (JSObject)mergeOptionsWithStoredOptions:(JSObject)options inputFile:(CPString)inputFile +{ + // We have to clone options + var userOptions = [self readStoredOptionsAtPath:FILE.join(SYS.env["HOME"], ".nib2cibconfig")], + appOptions = [self readStoredOptionsAtPath:FILE.join(appDirectory, "nib2cib.conf")], + filename = FILE.basename(inputFile, FILE.extension(inputFile)) + ".conf", + fileOptions = [self readStoredOptionsAtPath:FILE.join(FILE.dirname(inputFile), filename)]; + + // At this point we have an array of args without the initial command in args[0], + // add the command and parse the options. + userOptions = [self parseOptionsFromArgs:[options.command].concat(userOptions)]; + appOptions = [self parseOptionsFromArgs:[options.command].concat(appOptions)]; + fileOptions = [self parseOptionsFromArgs:[options.command].concat(fileOptions)]; + + // The increasing order of precedence is: user -> app -> file -> command line + var mergedOptions = userOptions; + + [self mergeOptions:appOptions with:mergedOptions]; + [self mergeOptions:fileOptions with:mergedOptions]; + [self mergeOptions:options with:mergedOptions]; + mergedOptions.args = options.args; + + return mergedOptions; +} + +- (CPArray)readStoredOptionsAtPath:(CPString)path +{ + path = FILE.canonical(path); + + if (!FILE.isReadable(path)) + return []; + + var file = FILE.open(path, "r"), + line = file.readLine(), + matches = line.match(ArgsRe) || []; + + file.close(); + CPLog.debug("Reading stored options: " + path); + + if (matches) + { + for (var i = 0; i < matches.length; ++i) + { + var str = matches[i]; + + if ((str.charAt(0) === '"' && str.substr(-1) === '"') || (str.charAt(0) === "'" && str.substr(-1) === "'")) + matches[i] = str.substr(1, str.length - 2); + } + + return matches; + } + else + return []; +} + +- (void)printOptions:options +{ + for (option in options) + { + var value = options[option]; + + if (value) + { + var show = value.length !== undefined ? value.length > 0 : !!value; + + if (show) + print(option + ": " + value); + } + } +} + +// Merges properties in sourceOptions into targetOptions, overriding properties in targetOptions +- (void)mergeOptions:(JSObject)sourceOptions with:(JSObject)targetOptions +{ + for (option in sourceOptions) + { + // Make sure only a supported option is given + if (!AllowedStoredOptionsRe.test(option)) + continue; + + if (sourceOptions.hasOwnProperty(option)) + { + var value = sourceOptions[option]; + + if (value) + { + var copy = value.length !== undefined ? value.length > 0 : !!value; + + if (copy) + targetOptions[option] = value; + } + } + } +} + +- (void)setLogLevel:(int)level +{ + CPLogUnregister(CPLogPrint); + + if (level === 0) + CPLogRegister(CPLogPrint, "warn", logFormatter); + else if (level === 1) + CPLogRegister(CPLogPrint, "info", logFormatter); + else if (level > 1) + CPLogRegister(CPLogPrint, null, logFormatter); +} + +- (CPString)getInputFile:(CPArray)theArgs +{ + var inputFile = theArgs[0] || DefaultFile, + path = ""; + + if (!/^.+\.[nx]ib$/.test(inputFile)) + { + if (path = [self findInputFile:inputFile extension:@".xib"]) + inputFile = path; + else if (path = [self findInputFile:inputFile extension:@".nib"]) + inputFile = path; + else + [self failWithMessage:@"Cannot find the input file (.xib or .nib): " + FILE.canonical(inputFile)]; + } + else if (path = [self findInputFile:inputFile extension:nil]) + inputFile = path; + else + [self failWithMessage:@"Could not read the input file: " + FILE.canonical(inputFile)]; + + return FILE.canonical(inputFile); +} + +- (void)findInputFile:(CPString)inputFile extension:(CPString)extension +{ + var path = inputFile; + + if (extension) + path += extension; + + if (FILE.isReadable(path)) + return path; + + if (FILE.basename(FILE.dirname(inputFile)) !== "Resources" && FILE.isDirectory("Resources")) + { + path = FILE.resolve(path, FILE.join("Resources", FILE.basename(path))); + + if (FILE.isReadable(path)) + return path; + } + + return null; +} + +- (void)getAppAndResourceDirectoriesFromInputFile:(CPString)inputFile options:(JSObject)options +{ + appDirectory = resourcesDirectory = ""; + + if (options.resourcesDir) + { + var path = FILE.canonical(options.resourcesDir); + + if (!FILE.isDirectory(path)) + [self failWithMessage:@"Cannot read resources at: " + path]; + + resourcesDirectory = path; + } + + var parentDir = FILE.dirname(inputFile); + + if (FILE.basename(parentDir) === "Resources") + { + appDirectory = FILE.dirname(parentDir); + resourcesDirectory = resourcesDirectory || parentDir; + } + else + { + appDirectory = parentDir; + + if (!resourcesDirectory) + { + var path = FILE.join(appDirectory, "Resources"); + + if (FILE.isDirectory(path)) + resourcesDirectory = path; + } + } +} + +- (CPString)getOutputFileFromInputFile:(CPString)inputFile args:(CPArray)theArgs +{ + var outputFile = null; + + if (theArgs.length > 1) + { + outputFile = theArgs[1]; + + if (!/^.+\.cib$/.test(outputFile)) + outputFile += ".cib"; + } + else + outputFile = FILE.join(FILE.dirname(inputFile), FILE.basename(inputFile, FILE.extension(inputFile))) + ".cib"; + + outputFile = FILE.canonical(outputFile); + + if (!FILE.isWritable(FILE.dirname(outputFile))) + [self failWithMessage:@"Cannot write the output file at: " + outputFile]; + + return outputFile; +} + +- (void)loadFrameworks:(CPArray)frameworks verbosity:(int)verbosity callback:(JSObject)aCallback +{ + if (!frameworks || frameworks.length === 0) + return aCallback(); + + var returnPath = function(path) { return path; }; + + frameworks.forEach(function(aFramework) + { + [self setLogLevel:verbosity]; + + var frameworkPath = nil; + + // If it is just a name with no path components, try to locate it + if (aFramework.indexOf("/") === -1) + { + frameworkPath = [self findInCappBuild:aFramework isDirectory:YES callback:returnPath]; + + if (!frameworkPath) + frameworkPath = [self findInInstalledFrameworks:aFramework isDirectory:YES callback:returnPath]; + + if (!frameworkPath) + frameworkPath = [self findInFrameworks:FILE.join(appDirectory, "Frameworks") + path:aFramework + isDirectory:YES + callback:returnPath]; + } + else + frameworkPath = FILE.canonical(aFramework); + + if (!frameworkPath) + [self failWithMessage:@"Cannot find the framework \"" + aFramework + "\""]; + + CPLog.debug("Loading framework: " + frameworkPath); + + try + { + // CPBundle is a bit loquacious with logging, we will defer + // logging its exceptions till later. + [self setLogLevel:-1]; + + var frameworkBundle = [[CPBundle alloc] initWithPath:frameworkPath]; + + [frameworkBundle loadWithDelegate:nil]; + [self setLogLevel:verbosity]; + + // See if the framework defines NS classes + var nsClasses = [frameworkBundle objectForInfoDictionaryKey:@"IBClasses"] || []; + + for (var i = 0; i < nsClasses.length; ++i) + { + var filename = "NS_" + nsClasses[i] + ".j"; + + objj_importFile(FILE.join(frameworkPath, filename), YES); + CPLog.debug("Imported framework NS class: %s", filename); + + frameworkNSClasses.push(nsClasses[i]); + } + } + finally + { + [self setLogLevel:verbosity]; + } + + require("browser/timeout").serviceTimeouts(); + }); + + aCallback(); +} + +- (CPArray)getThemeList:(JSObject)options +{ + var defaultTheme = options.defaultTheme; + + if (!defaultTheme) + defaultTheme = [infoPlist valueForKey:@"CPDefaultTheme"]; + + if (!defaultTheme) + defaultTheme = [self getAppKitDefaultThemeName]; + + var themes = [CPSet setWithObject:defaultTheme]; + + if (options.auxThemes) + [themes addObjectsFromArray:options.auxThemes]; + + var auxThemes = infoPlist.valueForKey("CPAuxiliaryThemes"); + + if (auxThemes) + [themes addObjectsFromArray:auxThemes]; + + // Now remove the default theme, get the list as an array, and insert the default at the beginning + [themes removeObject:defaultTheme]; + + var allThemes = [themes allObjects]; + + [allThemes insertObject:defaultTheme atIndex:0]; + + return allThemes; +} + +// Returns undefined if $CAPP_BUILD is not defined, false if path cannot be found in $CAPP_BUILD +- (id)findInCappBuild:(CPString)path isDirectory:(BOOL)isDirectory callback:(JSObject)callback +{ + var cappBuild = SYS.env["CAPP_BUILD"]; + + if (!cappBuild) + return undefined; + + cappBuild = FILE.canonical(cappBuild); + + if (FILE.isDirectory(cappBuild)) + { + var result = null; + + for (var i = 0; i < BuildTypes.length && !result; ++i) + { + var findPath = FILE.join(cappBuild, BuildTypes[i], path); + + if ((isDirectory && FILE.isDirectory(findPath)) || (!isDirectory && FILE.exists(findPath))) + result = callback(findPath); + } + + return result; + } + else + return false; +} + +- (id)findInInstalledFrameworks:(CPString)path isDirectory:(BOOL)isDirectory callback:(JSObject)callback +{ + // NOTE: It's safe to use '/' directly in the path, we're guaranteed to be on a Mac + return [self findInFrameworks:FILE.canonical(FILE.join(SYS.prefix, "packages/cappuccino/Frameworks")) + path:path + isDirectory:isDirectory + callback:callback]; +} + +- (id)findInFrameworks:(CPString)frameworksPath path:(CPString)path isDirectory:(BOOL)isDirectory callback:(JSObject)callback +{ + var result = null, + findPath = FILE.join(frameworksPath, "Debug", path); + + if ((isDirectory && FILE.isDirectory(findPath)) || (!isDirectory && FILE.exists(findPath))) + result = callback(findPath); + + if (!result) + { + findPath = FILE.join(frameworksPath, path); + + if ((isDirectory && FILE.isDirectory(findPath)) || (!isDirectory && FILE.exists(findPath))) + result = callback(findPath); + } + + return result; +} + +- (CPString)getAppKitDefaultThemeName +{ + var callback = function(path) { return [self themeNameFromPropertyList:path]; }, + themeName = [self findInCappBuild:@"AppKit/Info.plist" isDirectory:NO callback:callback]; + + if (!themeName) + themeName = [self findInInstalledFrameworks:@"AppKit/Info.plist" isDirectory:NO callback:callback]; + + return themeName || DefaultTheme; +} + +- (CPString)themeNameFromPropertyList:(CPString)path +{ + if (!FILE.isReadable(path)) + return nil; + + var themeName = nil, + plist = CFPropertyList.readPropertyListFromFile(path); + + if (plist) + themeName = plist.valueForKey("CPDefaultTheme"); + + return themeName; +} + +- (CPArray)loadThemesFromList:(CPArray)themeList +{ + var themes = []; + + for (var i = 0; i < themeList.length; ++i) + themes.push([self loadThemeNamed:themeList[i] directory:resourcesDirectory]); + + return themes; +} + +- (CPTheme)loadThemeNamed:(CPString)themeName directory:(CPString)themeDir +{ + if (/^.+\.blend$/.test(themeName)) + themeName = themeName.substr(0, themeName.length - ".blend".length); + + var blendName = themeName + ".blend", + themePath = ""; + + if (themeDir) + { + themePath = FILE.join(FILE.canonical(themeDir), blendName); + + if (!FILE.isDirectory(themePath)) + themePath = themeDir = null; + } + + if (!themeDir) + { + var returnPath = function(path) { return path; }; + + themePath = [self findInCappBuild:blendName isDirectory:YES callback:returnPath]; + + if (!themePath) + themePath = [self findInInstalledFrameworks:@"AppKit/Resources/" + blendName isDirectory:YES callback:returnPath]; + + // Last resort, try the cwd + if (!themePath) + { + var path = FILE.canonical(blendName); + + if (FILE.isDirectory(path)) + themePath = path; + } + } + + if (!themePath) + [self failWithMessage:@"Cannot find the theme \"" + themeName + "\""]; + + return [self readThemeWithName:themeName atPath:themePath]; +} + +- (CPTheme)readThemeWithName:(CPString)name atPath:(CPString)path +{ + var themeBundle = new CFBundle(path); + + // By default when we try to load the bundle it will use the CommonJS environment, + // but we want the Browser environment. So we override mostEligibleEnvironment(). + themeBundle.mostEligibleEnvironment = function() { return "Browser"; } + themeBundle.load(); + + var keyedThemes = themeBundle.valueForInfoDictionaryKey("CPKeyedThemes"); + + if (!keyedThemes) + [self failWithMessage:@"Could not find the keyed themes in the theme: " + path]; + + var index = keyedThemes.indexOf(name + ".keyedtheme"); + + if (index < 0) + [self failWithMessage:@"Could not find the main theme data (" + name + ".keyedtheme" + ") in the theme: " + path]; + + // Load the keyed theme data, making sure to resolve it + var resourcePath = themeBundle.pathForResource(keyedThemes[index]), + themeData = new CFMutableData(); + + themeData.setRawString(StaticResource.resourceAtURL(new CFURL(resourcePath), true).contents()); + + var theme = [CPKeyedUnarchiver unarchiveObjectWithData:themeData]; + + if (!theme) + [self failWithMessage:@"Could not unarchive the theme at: " + path]; + + CPLog.debug("Loaded theme: " + path); + return theme; +} + +- (JSObject)readConfigFile:(CPString)configFile inputFile:(CPString)inputFile +{ + var configPath = null, + path; + + // First see if the user passed a config file path + if (configFile) + { + path = FILE.canonical(configFile); + + if (!FILE.isReadable(path)) + [self failWithMessage:@"Cannot find the config file: " + path]; + + configPath = path; + } + else + { + path = FILE.join(appDirectory, "Info.plist"); + + if (FILE.isReadable(path)) + configPath = path; + } + + var plist = null; + + if (configPath) + { + var plist = FILE.read(configPath); + + if (!plist) + [self failWithMessage:@"Could not read the Info.plist at: " + configPath]; + + plist = CFPropertyList.propertyListFromString(plist); + + if (!plist) + [self failWithMessage:@"Could not parse the Info.plist at: " + configPath]; + } + + return {path: configPath, plist: plist}; +} + +- (CPArray)getModifiedNibsInDirectory:(CPString)path +{ + var nibs = new FileList(FILE.join(path, "*.[nx]ib")).items(), + count = nibs.length, + newNibInfo = {}, + modifiedNibs = []; + + while (count--) + { + var nib = nibs[count]; + + newNibInfo[nib] = FILE.mtime(nib); + + if (!nibInfo.hasOwnProperty(nib)) + modifiedNibs.push(["add", nib]); + else + { + if (newNibInfo[nib] - nibInfo[nib] !== 0) + modifiedNibs.push(["mod", nib]); + + // Remove matching nibs so that we leave + // deleted nibs in nibInfo. + delete nibInfo[nib]; + } + } + + for (var nib in nibInfo) + if (nibInfo.hasOwnProperty(nib)) + CPLog.info(">> %s: %s", CPLogColorize("Deleted", "warn"), nib); + + nibInfo = newNibInfo; + + return modifiedNibs; +} + +- (void)printVersionAndExit +{ + [self printVersion]; + OS.exit(0); +} + +- (void)printVersion +{ + /* + There are two usual possibilities for the location of the nib2cib binary. + If we are executing the installed narwhal binary, the location is: + /packages/cappuccino/bin/nib2cib + If we are executing the built binary, the location is: + /Debug|Release/CommonJS/cappuccino/bin/nib2cib + + Base on these paths we can locate nib2cib's Info.plist. + */ + var path = FILE.dirname(FILE.dirname(FILE.canonical(SYS.args[0]))), + version = null; + + if (FILE.basename(path) === "narwhal") + path = FILE.join(path, "packages", "cappuccino"); + + path = FILE.join(path, "lib", "nib2cib", "Info.plist"); + + if (FILE.isReadable(path)) + { + var plist = FILE.read(path); + + if (!plist) + return; + + plist = CFPropertyList.propertyListFromString(plist); + + if (!plist) + return; + + version = plist.valueForKey("CPBundleVersion"); + + if (version) + stream.print("nib2cib v" + version); + } + + if (!version) + stream.print(""); +} + +- (CPString)exceptionReason:(JSObject)exception +{ + if (typeof(exception) === "string") + return exception; + else if (exception.isa && [exception respondsToSelector:@selector(reason)]) + return [exception reason]; + else + return @"An unknown error occurred"; +} + +- (void)failWithMessage:(CPString)message +{ + [CPException raise:ConverterConversionException reason:message]; +} + +@end + +function logFormatter(aString, aLevel, aTitle) +{ + if (aLevel === "info") + return aString; + else + return CPLogColorize(aString, aLevel); +} diff --git a/Tools/nib2cib/main.j b/Tools/nib2cib/main.j index 7ab91ef33..3e5475c9d 100644 --- a/Tools/nib2cib/main.j +++ b/Tools/nib2cib/main.j @@ -20,728 +20,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import -@import -@import - -@import "NSFoundation.j" -@import "NSAppKit.j" - -@import "Nib2CibKeyedUnarchiver.j" -@import "Converter.j" - -var FILE = require("file"), - OS = require("os"), - SYS = require("system"), - FileList = require("jake").FileList, - stream = require("narwhal/term").stream, - StaticResource = require("objective-j").StaticResource, - - DefaultTheme = "Aristo", - BuildTypes = ["Debug", "Release"], - DefaultFile = "MainMenu"; - -var parser = new (require("narwhal/args").Parser)(), - nibInfo = {}, - appDirectory = "", - resourcesDirectory = ""; - +@import "Nib2Cib.j" function main(args) { - try - { - var options = parseOptions(args); + var nib2cib = [[Nib2Cib alloc] initWithArgs:args]; - if (options.watch) - watch(options); - else - convert(options); - } - catch (anException) - { - CPLog.fatal(exceptionReason(anException)); - OS.exit(1); - } -} - -function convert(options, inputFile) -{ - try - { - inputFile = inputFile || getInputFile(options.args); - - getAppAndResourceDirectoriesFromInputFile(inputFile, options); - - var outputFile = getOutputFile(inputFile, options.args), - configInfo = readConfigFile(options.configFile || "", inputFile), - defaultTheme = null; - - if (configInfo.plist) - { - var systemFontFace = configInfo.plist.valueForKey("CPSystemFontFace"); - - if (systemFontFace) - [CPFont setSystemFontFace:systemFontFace]; - - var systemFontSize = configInfo.plist.valueForKey("CPSystemFontSize"); - - if (systemFontSize) - [CPFont setSystemFontSize:parseFloat(systemFontSize, 10)]; - - if (!options.defaultTheme) - defaultTheme = configInfo.plist.valueForKey("CPDefaultTheme"); - } - - var themeList = getThemeList(defaultTheme || options.defaultTheme, options), - themes = loadThemes(themeList); - - CPLog.info("\n-------------------------------------------------------------"); - CPLog.info("Input : " + inputFile); - CPLog.info("Output : " + outputFile); - CPLog.info("Format : " + ["Auto", "Mac", "iPhone"][options.format]); - CPLog.info("Application : " + appDirectory); - CPLog.info("Resources : " + resourcesDirectory); - CPLog.info("Frameworks : " + (options.frameworks || "")); - CPLog.info("Default theme : " + themeList[0]); - CPLog.info("Extra themes : " + themeList.slice(1).join(", ")); - CPLog.info("Config file : " + (configInfo.path || "")); - CPLog.info("System Font : " + [CPFont systemFontSize] + "px " + [CPFont systemFontFace]); - CPLog.info("-------------------------------------------------------------\n"); - - var converter = [[Converter alloc] initWithInputPath:inputFile - format:options.format - themes:themes]; - - [converter setOutputPath:outputFile]; - [converter setResourcesPath:resourcesDirectory]; - - loadFrameworks(options.frameworks, options.verbosity, function() - { - [converter convert]; - }); - - return true; - } - catch (anException) - { - CPLog.fatal(exceptionReason(anException)); - return false; - } -} - -function watch(options) -{ - var verbosity = options.quiet ? -1 : options.verbosity, - watchDir = options.args[0]; - - if (!watchDir) - watchDir = FILE.canonical(FILE.isDirectory("Resources") ? "Resources" : "."); - else - { - watchDir = FILE.canonical(watchDir); - - if (FILE.basename(watchDir) !== "Resources") - { - var path = FILE.join(watchDir, "Resources"); - - if (FILE.isDirectory(path)) - watchDir = path; - } - } - - if (!FILE.isDirectory(watchDir)) - fail("Cannot find the directory: " + watchDir); - - // Turn on info messages - setLogLevel(1); - - var nibs = new FileList(FILE.join(watchDir, "*.[nx]ib")).items(), - count = nibs.length; - - // First time through only IB files with no corresponding cib - // or a cib with an earlier or equal mtime are converted. - while (count--) - { - var nib = nibs[count], - cib = nib.substr(0, nib.length - 4) + ".cib"; - - if (FILE.exists(cib) && (FILE.mtime(nib) - FILE.mtime(cib)) <= 0) - nibInfo[nib] = FILE.mtime(nib); - } - - CPLog.info("Watching: " + CPLogColorize(watchDir, "debug")); - CPLog.info("Press Control-C to stop..."); - - while (true) - { - var modifiedNibs = getModifiedNibs(watchDir); - - for (var i = 0; i < modifiedNibs.length; ++i) - { - var action = modifiedNibs[i][0], - nib = modifiedNibs[i][1], - label = action === "add" ? "Added" : "Modified", - level = action === "add" ? "info" : "debug"; - - CPLog.info(">> %s: %s", CPLogColorize(label, level), nib); - - // Don't convert an add if there is an existing cib with a later mtime - if (action === "add") - { - var cib = nib.substr(0, nib.length - 4) + ".cib"; - - if (FILE.exists(cib) && (FILE.mtime(nib) - FILE.mtime(cib)) < 0) - continue; - } - - // Let the converter log however the user configured it - setLogLevel(verbosity); - - var success = convert(options, nib); - - setLogLevel(1); - - if (success) - { - if (verbosity > 0) - stream.print(); - else - CPLog.warn("Conversion successful"); - } - } - - OS.sleep(1); - } -} - -function parseOptions(args) -{ - parser.usage("[--watch DIRECTORY] [INPUT_FILE [OUTPUT_FILE]]"); - - parser.option("--watch", "watch") - .set(true) - .help("Ask nib2cib to watch a directory for changes"); - - parser.option("-R", "resourcesDir") - .set() - .displayName("directory") - .help("Set the Resources directory, usually unnecessary as it is inferred from the input path"); - - parser.option("--default-theme", "defaultTheme") - .set() - .displayName("name") - .help("Specify a custom default theme which is not set in your Info.plist"); - - parser.option("-t", "--theme", "extraThemes") - .push() - .displayName("name") - .help("An additional theme loaded dynamically by your application"); - - parser.option("--config", "configFile") - .set() - .displayName("path") - .help("A path to an Info.plist file from which the system font and/or size can be retrieved"); - - // parser.option("--iphone", "format") - // .set(NibFormatIPhone) - // .help("Set format to iPhone"); - - parser.option("-v", "--verbose", "verbosity") - .inc() - .help("Increase verbosity level"); - - parser.option("-q", "--quiet", "quiet") - .set(true) - .help("No output"); - - parser.option("-F", "framework", "frameworks") - .push() - .help("Add a framework to load"); - - parser.option("--mac", "format") - .set(NibFormatMac) - .def(NibFormatUndetermined) - .help("Set format to Mac"); - - parser.option("--version", "showVersion") - .action(printVersionAndExit) - .help("Show the version of nib2cib and quit"); - - parser.helpful(); - - var options = parser.parse(args, null, null, true); - - if (options.args.length > 2) - { - parser.printUsage(options); - OS.exit(0); - } - - setLogLevel(options.quiet ? -1 : options.verbosity); - - if (!options.quiet && options.verbosity > 0) - printVersion(); - - return options; -} - -function setLogLevel(level) -{ - CPLogUnregister(CPLogPrint); - - if (level === 0) - CPLogRegister(CPLogPrint, "warn", logFormatter); - else if (level === 1) - CPLogRegister(CPLogPrint, "info", logFormatter); - else if (level > 1) - CPLogRegister(CPLogPrint, null, logFormatter); -} - -function getInputFile(args) -{ - var inputFile = args[0] || DefaultFile, - path = ""; - - if (!/^.+\.[nx]ib$/.test(inputFile)) - { - if (path = findInputFile(inputFile, ".xib")) - inputFile = path; - else if (path = findInputFile(inputFile, ".nib")) - inputFile = path; - else - fail("Cannot find the input file (.xib or .nib): " + FILE.canonical(inputFile)); - } - else if (path = findInputFile(inputFile)) - inputFile = path; - else - fail("Could not read the input file: " + FILE.canonical(inputFile)); - - return FILE.canonical(inputFile); -} - -function findInputFile(inputFile, extension) -{ - var path = inputFile; - - if (extension) - path += extension; - - if (FILE.isReadable(path)) - return path; - - if (FILE.basename(FILE.dirname(inputFile)) !== "Resources" && FILE.isDirectory("Resources")) - { - path = FILE.resolve(path, FILE.join("Resources", FILE.basename(path))); - - if (FILE.isReadable(path)) - return path; - } - - return null; -} - -function getAppAndResourceDirectoriesFromInputFile(inputFile, options) -{ - appDirectory = resourcesDirectory = ""; - - if (options.resourcesDir) - { - var path = FILE.canonical(options.resourcesDir); - - if (!FILE.isDirectory(path)) - fail("Cannot read resources at: " + path); - - resourcesDirectory = path; - } - - var parentDir = FILE.dirname(inputFile); - - if (FILE.basename(parentDir) === "Resources") - { - appDirectory = FILE.dirname(parentDir); - resourcesDirectory = resourcesDirectory || parentDir; - } - else - { - appDirectory = parentDir; - - if (!resourcesDirectory) - { - var path = FILE.join(appDirectory, "Resources"); - - if (FILE.isDirectory(path)) - resourcesDirectory = path; - } - } -} - -function getOutputFile(inputFile, args) -{ - var outputFile = null; - - if (args.length > 1) - { - outputFile = args[1]; - - if (!/^.+\.cib$/.test(outputFile)) - outputFile += ".cib"; - } - else - outputFile = FILE.join(FILE.dirname(inputFile), FILE.basename(inputFile, FILE.extension(inputFile))) + ".cib"; - - outputFile = FILE.canonical(outputFile); - - if (!FILE.isWritable(FILE.dirname(outputFile))) - fail("Cannot write the output file at: " + outputFile); - - return outputFile; -} - -function loadFrameworks(frameworkPaths, verbosity, aCallback) -{ - if (!frameworkPaths || frameworkPaths.length === 0) - return aCallback(); - - frameworkPaths.forEach(function(aFrameworkPath) - { - setLogLevel(verbosity); - CPLog.info("Loading " + aFrameworkPath); - - try - { - // CPBundle is a bit loquacious with logging, we will defer - // logging its exceptions till later. - setLogLevel(-1); - - var frameworkBundle = [[CPBundle alloc] initWithPath:aFrameworkPath]; - - [frameworkBundle loadWithDelegate:nil]; - } - finally - { - setLogLevel(verbosity); - } - - require("browser/timeout").serviceTimeouts(); - }); - - aCallback(); -} - -function logFormatter(aString, aLevel, aTitle) -{ - if (aLevel === "info") - return aString; - else - return CPLogColorize(aString, aLevel); -} - -function getThemeList(defaultTheme, options) -{ - var themes = [defaultTheme || getAppKitDefaultThemeName()]; - - if (options.extraThemes) - for (var i = 0; i < options.extraThemes.length; ++i) - if (themes.indexOf(options.extraThemes[i]) < 0) - themes.push(options.extraThemes[i]); - - return themes; -} - -// Returns undefined if $CAPP_BUILD is not defined, false if path cannot be found in $CAPP_BUILD -function findInCappBuild(path, isDirectory, callback) -{ - var cappBuild = SYS.env["CAPP_BUILD"]; - - if (!cappBuild) - return undefined; - - cappBuild = FILE.canonical(cappBuild); - - if (FILE.isDirectory(cappBuild)) - { - var result = null; - - for (var i = 0; i < BuildTypes.length && !result; ++i) - { - var findPath = FILE.join(cappBuild, BuildTypes[i], path); - - if ((isDirectory && FILE.isDirectory(findPath)) || (!isDirectory && FILE.exists(findPath))) - result = callback(findPath); - } - - return result; - } - else - return false; -} - -function findInInstalledFrameworks(path, isDirectory, callback) -{ - // NOTE: It's safe to use '/' directly in the path, we're guaranteed to be on a Mac - var frameworks = FILE.canonical(FILE.join(SYS.prefix, "packages/cappuccino/Frameworks")), - result = null, - findPath = FILE.join(frameworks, "Debug", path); - - if ((isDirectory && FILE.isDirectory(findPath)) || (!isDirectory && FILE.exists(findPath))) - result = callback(findPath); - - if (!result) - { - findPath = FILE.join(frameworks, path); - - if ((isDirectory && FILE.isDirectory(findPath)) || (!isDirectory && FILE.exists(findPath))) - result = callback(findPath); - } - - return result; -} - -function getAppKitDefaultThemeName() -{ - var callback = function(path) { return themeNameFromPropertyList(path); }, - themeName = findInCappBuild("AppKit/Info.plist", false, callback); - - if (!themeName) - themeName = findInInstalledFrameworks("AppKit/Info.plist", false, callback); - - return themeName || DefaultTheme; -} - -function themeNameFromPropertyList(path) -{ - if (!FILE.isReadable(path)) - return nil; - - var themeName = nil, - plist = CFPropertyList.readPropertyListFromFile(path); - - if (plist) - themeName = plist.valueForKey("CPDefaultTheme"); - - return themeName; -} - -function loadThemes(themeList) -{ - var themes = []; - - for (var i = 0; i < themeList.length; ++i) - themes.push(loadTheme(themeList[i], resourcesDirectory)); - - return themes; -} - -function loadTheme(themeName, themeDir) -{ - if (/^.+\.blend$/.test(themeName)) - themeName = themeName.substr(0, themeName.length - ".blend".length); - - var blendName = themeName + ".blend", - themePath = ""; - - if (themeDir) - { - themePath = FILE.join(FILE.canonical(themeDir), blendName); - - if (!FILE.isDirectory(themePath)) - themePath = themeDir = null; - } - - if (!themeDir) - { - var returnPath = function(path) { return path; }; - - themePath = findInCappBuild(blendName, true, returnPath); - - if (!themePath) - themePath = findInInstalledFrameworks("AppKit/Resources/" + blendName, true, returnPath); - - // Last resort, try the cwd - if (!themePath) - { - var path = FILE.canonical(blendName); - - if (FILE.isDirectory(path)) - themePath = path; - } - } - - if (!themePath) - fail('Cannot find the theme "' + themeName + '"'); - - return readTheme(themeName, themePath); -} - -function readTheme(name, path) -{ - var themeBundle = new CFBundle(path); - - // By default when we try to load the bundle it will use the CommonJS environment, - // but we want the Browser environment. So we override mostEligibleEnvironment(). - themeBundle.mostEligibleEnvironment = function() { return "Browser"; } - themeBundle.load(); - - var keyedThemes = themeBundle.valueForInfoDictionaryKey("CPKeyedThemes"); - - if (!keyedThemes) - fail("Could not find the keyed themes in the theme: " + path); - - var index = keyedThemes.indexOf(name + ".keyedtheme"); - - if (index < 0) - fail("Could not find the main theme data (" + name + ".keyedtheme" + ") in the theme: " + path); - - // Load the keyed theme data, making sure to resolve it - var resourcePath = themeBundle.pathForResource(keyedThemes[index]), - themeData = new CFMutableData(); - - themeData.setRawString(StaticResource.resourceAtURL(new CFURL(resourcePath), true).contents()); - - var theme = [CPKeyedUnarchiver unarchiveObjectWithData:themeData]; - - if (!theme) - fail("Could not unarchive the theme at: " + path); - - CPLog.debug("Loaded theme: " + path); - return theme; -} - -function readConfigFile(configFile, inputFile) -{ - var configPath = null, - path; - - // First see if the user passed a config file path - if (configFile) - { - path = FILE.canonical(configFile); - - if (!FILE.isReadable(path)) - fail("Cannot find the config file: " + path); - - configPath = path; - } - else - { - path = FILE.join(appDirectory, "Info.plist"); - - if (FILE.isReadable(path)) - configPath = path; - } - - var plist = null; - - if (configPath) - { - var plist = FILE.read(configPath); - - if (!plist) - fail("Could not read the Info.plist at: " + configPath); - - plist = CFPropertyList.propertyListFromString(plist); - - if (!plist) - fail("Could not parse the Info.plist at: " + configPath); - } - - return {path: configPath, plist: plist}; -} - -function getModifiedNibs(path) -{ - var nibs = new FileList(FILE.join(path, "*.[nx]ib")).items(), - count = nibs.length, - newNibInfo = {}, - modifiedNibs = []; - - while (count--) - { - var nib = nibs[count]; - - newNibInfo[nib] = FILE.mtime(nib); - - if (!nibInfo.hasOwnProperty(nib)) - modifiedNibs.push(["add", nib]); - else - { - if (newNibInfo[nib] - nibInfo[nib] !== 0) - modifiedNibs.push(["mod", nib]); - - // Remove matching nibs so that we leave - // deleted nibs in nibInfo. - delete nibInfo[nib]; - } - } - - for (var nib in nibInfo) - if (nibInfo.hasOwnProperty(nib)) - CPLog.info(">> %s: %s", CPLogColorize("Deleted", "warn"), nib); - - nibInfo = newNibInfo; - - return modifiedNibs; -} - -function printVersionAndExit() -{ - printVersion(); - OS.exit(0); -} - -function printVersion() -{ - /* - There are two usual possibilities for the location of the nib2cib binary. - If we are executing the installed narwhal binary, the location is: - /packages/cappuccino/bin/nib2cib - If we are executing the built binary, the location is: - /Debug|Release/CommonJS/cappuccino/bin/nib2cib - - Base on these paths we can locate nib2cib's Info.plist. - */ - var path = FILE.dirname(FILE.dirname(FILE.canonical(SYS.args[0]))), - version = null; - - if (FILE.basename(path) === "narwhal") - path = FILE.join(path, "packages", "cappuccino"); - - path = FILE.join(path, "lib", "nib2cib", "Info.plist"); - - if (FILE.isReadable(path)) - { - var plist = FILE.read(path); - - if (!plist) - return; - - plist = CFPropertyList.propertyListFromString(plist); - - if (!plist) - return; - - version = plist.valueForKey("CPBundleVersion"); - - if (version) - stream.print("nib2cib v" + version); - } - - if (!version) - stream.print(""); -} - -function exceptionReason(exception) -{ - if (typeof(exception) === "string") - return exception; - else if (exception.isa && [exception respondsToSelector:@selector(reason)]) - return [exception reason]; - else - return "An unknown error occurred"; -} - -function fail(message) -{ - [CPException raise:ConverterConversionException reason:message]; + [nib2cib run]; } diff --git a/Tools/nib2cib/nib2cib.1 b/Tools/nib2cib/nib2cib.1 index 44c5ec433..82bb1830a 100644 --- a/Tools/nib2cib/nib2cib.1 +++ b/Tools/nib2cib/nib2cib.1 @@ -1,6 +1,7 @@ .Dd April 3, 2011 .Os "Cappuccino" .Dt NIB2CIB 1 "PRM" +.nh .\"----------------------------------------------------------------------------------------- .Sh NAME .\"----------------------------------------------------------------------------------------- @@ -155,7 +156,7 @@ options, one for each theme that you load. Themes are searched for in the Resources, $CAPP_BUILD/Debug and $CAPP_BUILD/Release directories. .\"----------------------------------------------------------------------------------------- -.Sh "COMMON OPTIONS" +.Sh "OPTIONS" .\"----------------------------------------------------------------------------------------- The following options are available in watch mode or single mode: .Bl -tag -width 4n @@ -208,7 +209,16 @@ Tells .Nm to output nothing. This is useful if you are using .Nm -in a shell script and are only interested in the return value. +in a shell script and are only interested in the return value. Note that this +option overrides the +.Fl v +option. +.It Fl \-no-stored-options +Tells +.Nm +not to read stored options. See +.Sy Stored Options +below for more information. .It Fl \-version Prints the current version of .Nm @@ -221,7 +231,46 @@ Displays usage and options. .El .\"----------------------------------------------------------------------------------------- +.Ss "Stored Options" +.\"----------------------------------------------------------------------------------------- +To make it easier to use nib2cib in an automated way, you can store command line options +that will apply to converted xibs/nibs. To store command line options, you enter the +options on a single line into a text file. For example, if you always want to set +"MyTheme" as the default theme, you would create a text file with this line: +.Pp +.D1 --default-theme MyTheme +.Pp +If an option takes a parameter and the parameter contains spaces, it must be enclosed in +single or double quotes. You may store options in the following three places, in increasing +order of precedence: +.Bl -ohang -offset 4n +.It Em ~/.nib2cibconfig +nib2cib options that apply to all nibs converted under your user account. +.It Em /nib2cib.conf +nib2cib options that apply to all nibs in /Resources. +.It Em /Resources/.conf +nib2cib options that apply to a specific xib or nib. For example, if the xib +is called MainMenu.xib, the stored options file would be MainMenu.conf. +.El +.Pp +Each of these files is read in the order listed above, and if it exists, its options +are merged with the previous file's options. Options in later files (more specific) +override options in earlier files (more generic). After all of the stored options +are merged, the command line options are merged in. Thus command line options always +override stored options. +.Pp +Using stored options is especially useful if your xibs/nibs use custom themes or +frameworks. By using stored options, you can avoid remembering (or forgetting!) to +specify the theme or framework every time you invoke +.Nm . +.Pp +To prevent +.Nm +from reading stored options, and thus only use command line options, use the +.Fl \-no-stored-options +option on the command line. +.\"----------------------------------------------------------------------------------------- .Sh "RETURN VALUES" .\"----------------------------------------------------------------------------------------- .Nm -returns 0 for a successful conversion and >0 if an error occurred. +returns 0 for a successful conversion and >0 if an error occurred. \ No newline at end of file From 6dea853ef3a9f5146da18ec424c5f23c31a25c28 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 2 Jun 2011 11:58:31 -0400 Subject: [PATCH 76/78] Decode but mostly ignore NSImages in nib2cib. Fixed: radio groups in IB come with an NSImage and so would not nib2cib anymore after the recent addition of template image support in NSButton. --- Tools/nib2cib/NSAppKit.j | 1 + Tools/nib2cib/NSImage.j | 60 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Tools/nib2cib/NSImage.j diff --git a/Tools/nib2cib/NSAppKit.j b/Tools/nib2cib/NSAppKit.j index 435281373..b8008a14c 100644 --- a/Tools/nib2cib/NSAppKit.j +++ b/Tools/nib2cib/NSAppKit.j @@ -39,6 +39,7 @@ @import "NSFont.j" @import "NSFormatter.j" @import "NSIBObjectData.j" +@import "NSImage.j" @import "NSImageView.j" @import "NSLevelIndicator.j" @import "NSMatrix.j" diff --git a/Tools/nib2cib/NSImage.j b/Tools/nib2cib/NSImage.j new file mode 100644 index 000000000..a40b85f95 --- /dev/null +++ b/Tools/nib2cib/NSImage.j @@ -0,0 +1,60 @@ +/* + * NSImage.j + * nib2cib + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation CPImage (CPCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [self init]; + + if (self) + { + var imageFlags = [aCoder decodeIntForKey:@"NSImageFlags"]; + + // TODO Do something with this serialised image data. + // var imageContentReps = [aCoder decodeObjectForKey:@"NSReps"]; + + _size = [aCoder decodeSizeForKey:@"NSSize"]; + } + + return self; +} + +@end + +@implementation NSImage : CPImage +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPImage class]; +} + +@end From 4be0bb3a308bcdd7f41ad4f1ceeda525a10f7e36 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 18:03:53 -0700 Subject: [PATCH 77/78] Load userland NS classes from the main bundle as well as frameworks, and temporarily change the class of NSSwapper classes to the target class when calling KVC methods. --- Tools/nib2cib/Converter.j | 12 +++++----- Tools/nib2cib/NSClassSwapper.j | 33 ++++++++++++++++++++++++---- Tools/nib2cib/Nib2Cib.j | 40 +++++++++++++++++++++------------- 3 files changed, 60 insertions(+), 25 deletions(-) diff --git a/Tools/nib2cib/Converter.j b/Tools/nib2cib/Converter.j index 61fdc6f08..654c5dd0a 100644 --- a/Tools/nib2cib/Converter.j +++ b/Tools/nib2cib/Converter.j @@ -40,12 +40,12 @@ ConverterConversionException = @"ConverterConversionException"; @implementation Converter : CPObject { - CPString inputPath @accessors(readonly); - CPString outputPath @accessors; - CPString resourcesPath @accessors; - NibFormat format @accessors(readonly); - CPArray themes @accessors(readonly); - CPArray frameworkNSClasses @accessors; + CPString inputPath @accessors(readonly); + CPString outputPath @accessors; + CPString resourcesPath @accessors; + NibFormat format @accessors(readonly); + CPArray themes @accessors(readonly); + CPArray userNSClasses @accessors; } + (Converter)sharedConverter diff --git a/Tools/nib2cib/NSClassSwapper.j b/Tools/nib2cib/NSClassSwapper.j index 4eebb9a8f..91e26c765 100644 --- a/Tools/nib2cib/NSClassSwapper.j +++ b/Tools/nib2cib/NSClassSwapper.j @@ -39,10 +39,10 @@ var _CPCibClassSwapperClassNameKey = @"_CPCibClassSwapperClassNameKey", if (!swapperClass) { - // If this is a framework NS class, call its KVC methods directly + // If this is a userland NS class, call its KVC methods directly var nsClass = nil; - if ([[[Converter sharedConverter] frameworkNSClasses] containsObject:aClassName]) + if ([[[Converter sharedConverter] userNSClasses] containsObject:aClassName]) nsClass = objj_lookUpClass("NS_" + aClassName); var originalClass = nsClass || objj_lookUpClass(anOriginalClassName); @@ -51,9 +51,26 @@ var _CPCibClassSwapperClassNameKey = @"_CPCibClassSwapperClassNameKey", objj_registerClassPair(swapperClass); + /* + When calling userland KVC methods, they should think that the class is + the NS class (not the swapper class) so that they are in their userland space, + not in AppKit space. For example, this ensures that bundleForClass:[self class] will work correctly. + We can accomplish this safely by changing the class of self temporarily and sending directly + to self instead of to super. This swizzle is safe because NSClassSwapper and _CPCibClassSwapper + do not add any ivars. + */ + class_addMethod(swapperClass, @selector(initWithCoder:), function(self, _cmd, aCoder) { - self = objj_msgSendSuper({super_class:originalClass, receiver:self}, _cmd, aCoder); + if (nsClass) + { + // Switch to userland temporarily + self.isa = nsClass; + self = objj_msgSend(self, _cmd, aCoder); + self.isa = swapperClass; + } + else + self = objj_msgSendSuper({super_class:originalClass, receiver:self}, _cmd, aCoder); if (self) { @@ -73,7 +90,15 @@ var _CPCibClassSwapperClassNameKey = @"_CPCibClassSwapperClassNameKey", class_addMethod(swapperClass, @selector(encodeWithCoder:), function(self, _cmd, aCoder) { - objj_msgSendSuper({super_class:originalClass, receiver:self}, _cmd, aCoder); + if (nsClass) + { + // Switch to userland temporarily + self.isa = nsClass; + objj_msgSend(self, _cmd, aCoder); + self.isa = swapperClass; + } + else + objj_msgSendSuper({super_class:originalClass, receiver:self}, _cmd, aCoder); // If this is a custom NS class, lookup its archiver class so that // the correct class is swapped during unarchiving. diff --git a/Tools/nib2cib/Nib2Cib.j b/Tools/nib2cib/Nib2Cib.j index afcd94a52..b3e2604d8 100644 --- a/Tools/nib2cib/Nib2Cib.j +++ b/Tools/nib2cib/Nib2Cib.j @@ -52,7 +52,7 @@ var FILE = require("file"), CPString appDirectory; CPString resourcesDirectory; CPDictionary infoPlist; - CPArray frameworkNSClasses; + CPArray userNSClasses; } - (id)initWithArgs:(CPArray)theArgs @@ -67,7 +67,7 @@ var FILE = require("file"), appDirectory = @""; resourcesDirectory = @""; infoPlist = [CPDictionary dictionary]; - frameworkNSClasses = []; + userNSClasses = []; } return self; @@ -153,7 +153,8 @@ var FILE = require("file"), var loadFrameworksCallback = function() { - [converter setFrameworkNSClasses:frameworkNSClasses]; + [self loadNSClassesFromBundle:[CPBundle mainBundle]]; + [converter setUserNSClasses:userNSClasses]; [converter convert]; }; @@ -573,18 +574,7 @@ var FILE = require("file"), [frameworkBundle loadWithDelegate:nil]; [self setLogLevel:verbosity]; - // See if the framework defines NS classes - var nsClasses = [frameworkBundle objectForInfoDictionaryKey:@"IBClasses"] || []; - - for (var i = 0; i < nsClasses.length; ++i) - { - var filename = "NS_" + nsClasses[i] + ".j"; - - objj_importFile(FILE.join(frameworkPath, filename), YES); - CPLog.debug("Imported framework NS class: %s", filename); - - frameworkNSClasses.push(nsClasses[i]); - } + [self loadNSClassesFromBundle:frameworkBundle]; } finally { @@ -597,6 +587,26 @@ var FILE = require("file"), aCallback(); } +- (void)loadNSClassesFromBundle:(CPBundle)aBundle +{ + // See if the framework defines NS classes + var nsClasses = [aBundle objectForInfoDictionaryKey:@"IBClasses"] || [], + bundlePath = [aBundle bundlePath]; + + for (var i = 0; i < nsClasses.length; ++i) + { + if (userNSClasses.indexOf(nsClasses[i]) >= 0) + continue; + + var path = FILE.join(bundlePath, "NS_" + nsClasses[i] + ".j"); + + objj_importFile(path, YES); + CPLog.debug("Imported NS class: %s", path); + + userNSClasses.push(nsClasses[i]); + } +} + - (CPArray)getThemeList:(JSObject)options { var defaultTheme = options.defaultTheme; From a9781016beb21ab012cbb4506b69ce847b3da1f0 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Sat, 4 Jun 2011 22:53:31 -0700 Subject: [PATCH 78/78] Look for frameworks in the app/Frameworks directory before the install directory. Document framework search path and CPAuxiliaryThemes support in the man page. --- Tools/nib2cib/Nib2Cib.j | 6 +++--- Tools/nib2cib/nib2cib.1 | 22 ++++++++++++++++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Tools/nib2cib/Nib2Cib.j b/Tools/nib2cib/Nib2Cib.j index b3e2604d8..340db4936 100644 --- a/Tools/nib2cib/Nib2Cib.j +++ b/Tools/nib2cib/Nib2Cib.j @@ -546,14 +546,14 @@ var FILE = require("file"), { frameworkPath = [self findInCappBuild:aFramework isDirectory:YES callback:returnPath]; - if (!frameworkPath) - frameworkPath = [self findInInstalledFrameworks:aFramework isDirectory:YES callback:returnPath]; - if (!frameworkPath) frameworkPath = [self findInFrameworks:FILE.join(appDirectory, "Frameworks") path:aFramework isDirectory:YES callback:returnPath]; + + if (!frameworkPath) + frameworkPath = [self findInInstalledFrameworks:aFramework isDirectory:YES callback:returnPath]; } else frameworkPath = FILE.canonical(aFramework); diff --git a/Tools/nib2cib/nib2cib.1 b/Tools/nib2cib/nib2cib.1 index 82bb1830a..bf36102ab 100644 --- a/Tools/nib2cib/nib2cib.1 +++ b/Tools/nib2cib/nib2cib.1 @@ -155,6 +155,13 @@ options, one for each theme that you load. .Pp Themes are searched for in the Resources, $CAPP_BUILD/Debug and $CAPP_BUILD/Release directories. +.Pp +If you have a list of auxiliary themes in your Info.plist using the +.Ar CPAuxiliaryThemes +item, +.Nm +will load them automatically, you do not have to do anything special. +.Nm .\"----------------------------------------------------------------------------------------- .Sh "OPTIONS" .\"----------------------------------------------------------------------------------------- @@ -193,7 +200,7 @@ use this option, as uses the Info.plist in the application directory, which is inferred from the input file. .It Fl F -Specify the path of a framework to load before converting. This is only useful if: +Specify the name or path of a framework to load before converting. This is only useful if: .Bl -dash -width 0n -hang .It Your IB files use classes from the framework. @@ -203,7 +210,18 @@ Those classes need to serialize/deserialize more data than their superclasses. Those classes implement encodeWithCoder: and initWithCoder:. .El .Pp -This option may be used multiple times to load multiple frameworks. +This option may be used multiple times to load multiple frameworks. If the argument +contains a "/" character, it is considered to be a relative or absolute path and +the framework is searched for at that location. Otherwise it is considered a framework +name and is searched for in the following directories: +.Bl -ohang -offset 4n +.It $CAPP_BUILD/Debug +.It $CAPP_BUILD/Release +.It /Frameworks/Debug +.It /Frameworks +.It /packages/cappuccino/Frameworks/Debug +.It /packages/cappuccino/Frameworks +.El .It Fl \-quiet Tells .Nm