From 0a497d8c3f4daa3934d3c84a38c4c9c6522c5817 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sun, 17 Dec 2017 20:49:56 +0100 Subject: [PATCH 01/95] NEW: Added automatic Xcode syntax coloring In Xcode, Objective-C source files are automatically recognised and the usual syntax coloring is applied. With this PR, Xcode will do so for Objective-J source files. --- Tools/XcodeCapp/XcodeCapp/Info.plist | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Tools/XcodeCapp/XcodeCapp/Info.plist b/Tools/XcodeCapp/XcodeCapp/Info.plist index 49d970dab..415a70450 100644 --- a/Tools/XcodeCapp/XcodeCapp/Info.plist +++ b/Tools/XcodeCapp/XcodeCapp/Info.plist @@ -2,8 +2,6 @@ - NSUserNotificationAlertStyle - alert CFBundleDevelopmentRegion en CFBundleDocumentTypes @@ -51,6 +49,26 @@ MainMenu NSPrincipalClass NSApplication + NSUserNotificationAlertStyle + alert + UTExportedTypeDeclarations + + + UTTypeConformsTo + + public.objective-c-source + + UTTypeIdentifier + org.cappuccino.objj-source + UTTypeTagSpecification + + public.filename-extension + + j + + + + XCCCompatibilityVersion 4 XCCLastCappuccinoMasterBranchURL From 488541f26e88b30ca704cf7585a6c4ef793ece39 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 18 Mar 2018 21:45:25 +0100 Subject: [PATCH 02/95] fixed: click to key window in the background did not bring it forward --- AppKit/CPWindow/CPWindow.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index 1b0171c38..c2dd4e19e 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -1983,7 +1983,7 @@ CPTexturedBackgroundWindowMask var theWindow = [anEvent window], selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); - if ([theWindow isKeyWindow] || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) + if (([[CPApp orderedWindows] objectAtIndex:0] === self && [theWindow isKeyWindow]) || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) return [_leftMouseDownView performSelector:selector withObject:anEvent]; else { From f55fa789c44dd7cd477fb66542defe9a53dabba9 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 18 Mar 2018 22:33:49 +0100 Subject: [PATCH 03/95] new: manual test for issue 2545 --- .../AppController.j | 42 +++ .../Info.plist | 14 + .../Jakefile | 172 +++++++++ .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 345 ++++++++++++++++++ .../index-debug.html | 204 +++++++++++ .../index.html | 166 +++++++++ .../KeyWindowInTheBackgroundActivation/main.j | 18 + 8 files changed, 962 insertions(+) create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/index.html create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/main.j diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j b/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j new file mode 100644 index 000000000..959fc5541 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j @@ -0,0 +1,42 @@ +/* + * AppController.j + * WindowFrontTest + * + * Created by You on January 15, 2018. + * Copyright 2018, Your Company All rights reserved. + */ + +@import +@import + + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; + @outlet CPWindow window1; + @outlet CPWindow window2; +} + +- (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]; + + [window1 performSelector:@selector(makeKeyAndOrderFront:) withObject:self afterDelay:0.1]; +} + +- (IBAction)bringWindow2Front:(id)sender +{ + [window2 orderFront:self]; +} + +@end diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist b/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist new file mode 100644 index 000000000..8016aeaa5 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist @@ -0,0 +1,14 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + WindowFrontTest + CPBundleVersion + 1.0 + CPHumanReadableCopyright + Copyright © 2018, Your Company All rights reserved. + + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile b/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile new file mode 100644 index 000000000..f158726dc --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile @@ -0,0 +1,172 @@ +/* + * Jakefile + * WindowFrontTest + * + * Created by You on January 15, 2018. + * Copyright 2018, 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"), + projectName = "WindowFrontTest"; + +app (projectName, function(task) +{ + ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; + + if (configuration === "Debug") + ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); + + task.setBuildIntermediatesPath(FILE.join("Build", "WindowFrontTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("WindowFrontTest"); + task.setIdentifier("com.yourcompany.WindowFrontTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("WindowFrontTest"); + task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O2"); +}); + +task ("default", [projectName], function() +{ + printResults(configuration); +}); + +task ("build", ["default"], function() +{ + updateApplicationSize(); +}); + +task ("debug", function() +{ + configuration = ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + configuration = ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", projectName, "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", projectName)); + OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]); + printResults("Deployment") +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName)); + print("----------------------------"); +} + +function updateApplicationSize() +{ + print("Calculating application file sizes..."); + + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), + format = CFPropertyList.sniffedFormatOfString(contents), + plist = CFPropertyList.propertyListFromString(contents), + totalBytes = {executable:0, data:0, mhtml:0}; + + // Get the size of all framework executables and sprite data + var frameworksDir = "Frameworks"; + + if (configuration === "Debug") + frameworksDir = FILE.join(frameworksDir, "Debug"); + + var frameworks = FILE.list(frameworksDir); + + frameworks.forEach(function(framework) + { + if (framework !== "Source") + addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes); + }); + + // Read in the default theme name, and attempt to get its size + var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2", + themePath = nil; + + if (themeName === "Aristo" || themeName === "Aristo2") + themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend"); + else + themePath = FILE.join("Frameworks", "Resources", themeName + ".blend"); + + if (FILE.isDirectory(themePath)) + addBundleFileSizes(themePath, totalBytes); + + // Add sizes for the app + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); + + print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); + + var dict = new CFMutableDictionary(); + + dict.setValueForKey("executable", totalBytes.executable); + dict.setValueForKey("data", totalBytes.data); + dict.setValueForKey("mhtml", totalBytes.mhtml); + + plist.setValueForKey("CPApplicationSize", dict); + + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); +} + +function addBundleFileSizes(bundlePath, totalBytes) +{ + var bundleName = FILE.basename(bundlePath), + environment = bundleName === "Foundation" ? "Objj" : "Browser", + bundlePath = FILE.join(bundlePath, environment + ".environment"); + + if (FILE.isDirectory(bundlePath)) + { + var filename = bundleName + ".sj", + filePath = new FILE.Path(FILE.join(bundlePath, filename)); + + if (filePath.exists()) + totalBytes.executable += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt")); + + if (filePath.exists()) + totalBytes.data += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + } +} diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib new file mode 100644 index 000000000..20d490fd8 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;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;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;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;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;54E;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;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;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;124E;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;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;135E;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;11E;D;K;6;CP$UIDd;2;11E;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;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;114E;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;115E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;135E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;136E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;137E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;124E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;132E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;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;19E;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;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;146E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;136E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;176E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;177E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;178E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;59E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;59E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;179E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;182E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;184E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;190E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;66E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;66E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;192E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;194E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;196E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;198E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;70E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;198E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;199E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;201E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;203E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;205E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;207E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;209E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;210E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;78E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;78E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;210E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;212E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;213E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;214E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;215E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;216E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;217E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;218E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;219E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;220E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;221E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;223E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;224E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;225E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;89E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;89E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;225E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;227E;K;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;230E;K;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;233E;K;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;236E;K;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;237E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;238E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;239E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;240E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;241E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;96E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;241E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;243E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;244E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;246E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;247E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;102E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;249E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;251E;K;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;252E;K;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;253E;K;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;107E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;257E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;111E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;111E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;261E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;264E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;115E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;115E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;264E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;265E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;268E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;269E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;270E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;271E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;121E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;271E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;273E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;274E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;277E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;278E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;279E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;237E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;264E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;126E;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;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;287E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;289E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;290E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;291E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;292E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;293E;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;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;129E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;294E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;295E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;129E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;296E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;297E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;298E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;280E;K;6;$afontD;K;6;CP$UIDd;3;300E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;280E;K;11;$aalignmentD;K;6;CP$UIDd;3;231E;K;7;$aimageD;K;6;CP$UIDd;3;302E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;303E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;280E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;304E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;280E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;305E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;306E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;186E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;280E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;185E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;231E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;280E;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;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;308E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;289E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;309E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;291E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;311E;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;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;133E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;133E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;296E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;314E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;315E;K;6;$afontD;K;6;CP$UIDd;3;316E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;280E;K;11;$aalignmentD;K;6;CP$UIDd;3;231E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;317E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;304E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;280E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;305E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;187E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;320E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;280E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;231E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;187E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;185E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;187E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;E;E;S;8;delegateS;9;theWindowS;7;window1S;7;window2S;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;10;terminate: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;18;bringWindow2Front:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;120E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;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;63E;D;K;6;CP$UIDd;2;64E;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;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;68E;D;K;6;CP$UIDd;2;69E;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;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;71E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;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;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;95E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;106E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;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;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;E;E;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;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;3;104E;D;K;6;CP$UIDd;3;105E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;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;113E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;18;Customize Toolbar…S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;E;E;S;19;NewApplication HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 128}, {480, 360}}S;21;{{0, 0}, {1440, 878}}d;1;0S;20;{{0, 0}, {480, 360}}S;6;normalS;6;{1, 1}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;AppControllerd;10;1618478080S;24;{{157, 107}, {480, 270}}S;22;{{0, 0}, {2560, 1417}}d;2;15S;8;Window 1S;20;{{0, 0}, {480, 270}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;131E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{151, 125}, {178, 25}}S;19;{{0, 0}, {178, 25}}d;2;36S;6;buttonS;27;bordered+controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;321E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;185E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;185E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;301E;K;4;nameD;K;6;CP$UIDd;3;322E;K;12;defaultValueD;K;6;CP$UIDd;3;324E;K;5;stateD;K;6;CP$UIDd;3;325E;K;5;valueD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;4d;2;-1S;23;Bring Window 2 To Frontd;2;14S;24;{{246, 251}, {480, 270}}S;8;Window 2D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{50, 114}, {380, 42}}S;19;{{0, 0}, {380, 42}}S;9;textfieldS;18;controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;327E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;289E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;185E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;71;This is window 2--bet you can't click on window 1 to bring it to front!D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;319E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;328E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;329E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;E;S;28;_CPFontSystemFacePlaceholderS;5;imageD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;323E;E;S;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;330E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;331E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;187E;E;S;5;ArialD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;228E;E;E;S;5;colorS;18;.AppleSystemUIFontd;2;13f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib new file mode 100644 index 000000000..e8b61fb36 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html b/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html new file mode 100644 index 000000000..c4de7ac52 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + WindowFrontTest + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html b/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html new file mode 100644 index 000000000..6fd788486 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + WindowFrontTest + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j b/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j new file mode 100644 index 000000000..cb26b4ad7 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * WindowFrontTest + * + * Created by You on January 15, 2018. + * Copyright 2018, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From df462774aa1da79d37b6a0bd65e7907221c6c731 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Tue, 20 Mar 2018 14:25:42 +0100 Subject: [PATCH 04/95] refactured front detection logic to own method _isFrontmostWindow fixes travis error --- AppKit/CPWindow/CPWindow.j | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index c2dd4e19e..f20a5b858 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -1983,7 +1983,7 @@ CPTexturedBackgroundWindowMask var theWindow = [anEvent window], selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); - if (([[CPApp orderedWindows] objectAtIndex:0] === self && [theWindow isKeyWindow]) || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) + if (([theWindow _isFrontmostWindow] && [theWindow isKeyWindow]) || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) return [_leftMouseDownView performSelector:selector withObject:anEvent]; else { @@ -2114,6 +2114,20 @@ CPTexturedBackgroundWindowMask return [CPApp keyWindow] == self; } +/* @ignore */ +- (BOOL)_isFrontmostWindow +{ + var orderedWindows = [CPApp orderedWindows]; + + if ([orderedWindows count] == 0) + return YES; + + if ([orderedWindows objectAtIndex:0] === self) + return YES; + + return NO; +} + /*! Makes the window the key window and brings it to the front of the screen list. @param aSender the object requesting this From 7f2977f4af0d98daab241bece568a0fd8f589e68 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 2 Apr 2018 08:33:50 +0200 Subject: [PATCH 05/95] fixed: wording in manual test --- .../Resources/MainMenu.xib | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib index e8b61fb36..b9721bd11 100644 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib @@ -1,8 +1,8 @@ - - + + - + @@ -328,10 +328,10 @@ - - + + - + From 314e64d7b16bc0b71c61bdd626a1a455faca59f8 Mon Sep 17 00:00:00 2001 From: bedalton Date: Mon, 9 Apr 2018 03:40:11 -0700 Subject: [PATCH 06/95] Formatting: add semi-colon to CPTextView.j (#2676) --- AppKit/CPTextView/CPTextView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index 8877c4c3b..3c8083ff5 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -1614,7 +1614,7 @@ Sets the selection to a range of characters in response to user action. [self didChangeText]; [_layoutManager _validateLayoutAndGlyphs]; [self sizeToFit]; - [self scrollRangeToVisible:CPMakeRange(changedRange.location, 0)] + [self scrollRangeToVisible:CPMakeRange(changedRange.location, 0)]; _stickyXLocation = _caret._rect.origin.x; } From 7e6e117b17c79c35f97a04700c7e625a89b4e9e5 Mon Sep 17 00:00:00 2001 From: bedalton Date: Mon, 9 Apr 2018 03:40:41 -0700 Subject: [PATCH 07/95] Formatting: add semi-colon to CPTextContainer.j (#2675) --- AppKit/CPTextView/CPTextContainer.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTextView/CPTextContainer.j b/AppKit/CPTextView/CPTextContainer.j index f9e988816..7797cd526 100644 --- a/AppKit/CPTextView/CPTextContainer.j +++ b/AppKit/CPTextView/CPTextContainer.j @@ -80,7 +80,7 @@ CPLineMovesUp = 4; @implementation CPTextContainer : CPObject { float _lineFragmentPadding @accessors(property=lineFragmentPadding); - CGSize _size @accessors(property=containerSize) + CGSize _size @accessors(property=containerSize); CPLayoutManager _layoutManager @accessors(property=layoutManager); CPTextView _textView @accessors(property=textView); BOOL _inResizing; From 7909bae0654a4c93d11f753dfca15df89653b2b3 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 9 Apr 2018 13:19:18 +0200 Subject: [PATCH 08/95] Fixed: touch-scrolling did not work (#2612) --- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 65 +++++++++++++++------- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index 31a63529b..d3784af63 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -205,6 +205,9 @@ var resizeTimer = nil; var PreventScroll = true; var blurTimer = nil; +var touchStartingPointX, + touchStartingPointY; + _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotification"; @@ -1152,10 +1155,26 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio - (void)touchEvent:(DOMEvent)aDOMEvent { + var newEvent = {}, + touch = aDOMEvent.touches.length ? aDOMEvent.touches[0] : aDOMEvent.changedTouches[0]; + + newEvent.timestamp = [CPEvent currentTimestamp]; + newEvent.target = aDOMEvent.target; + newEvent.shiftKey = newEvent.ctrlKey = newEvent.altKey = newEvent.metaKey = false; + + newEvent.clientX = touch.clientX; + + /* + Normally the document can't scroll in Cappuccino: our body element has top:0 and bottom:0 with absolute positioning. So it should always be exactly the height of the viewport. The below handles a special case. iOS scrolls the document when the virtual keyboard is present and it needs to move a text input upwards visually to avoid covering the input with the keyboard. For most purposes we can ignore this, except here. In theory I think we could always apply this (scrollTop should always be 0 on every other device and situation) but let's be defensive and only apply it for touch events to minimise the risk of surprises. + */ + newEvent.clientY = _DOMWindow.document.body.scrollTop + touch.clientY; + + newEvent.preventDefault = function() { if (aDOMEvent.preventDefault) aDOMEvent.preventDefault() }; + newEvent.stopPropagation = function() { if (aDOMEvent.stopPropagation) aDOMEvent.stopPropagation() }; + + // single finger event-> simulate a simple mouse-click if (aDOMEvent.touches && (aDOMEvent.touches.length == 1 || (aDOMEvent.touches.length == 0 && aDOMEvent.changedTouches.length == 1))) { - var newEvent = {}; - switch (aDOMEvent.type) { case CPDOMEventTouchStart: newEvent.type = CPDOMEventMouseDown; @@ -1168,36 +1187,42 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio break; } - var touch = aDOMEvent.touches.length ? aDOMEvent.touches[0] : aDOMEvent.changedTouches[0]; - - newEvent.clientX = touch.clientX; - - /* - Normally the document can't scroll in Cappuccino: our body element has top:0 and bottom:0 with absolute positioning. So it should always be exactly the height of the viewport. The below handles a special case. iOS scrolls the document when the virtual keyboard is present and it needs to move a text input upwards visually to avoid covering the input with the keyboard. For most purposes we can ignore this, except here. In theory I think we could always apply this (scrollTop should always be 0 on every other device and situation) but let's be defensive and only apply it for touch events to minimise the risk of surprises. - */ - newEvent.clientY = _DOMWindow.document.body.scrollTop + touch.clientY; - - newEvent.timestamp = [CPEvent currentTimestamp]; - newEvent.target = aDOMEvent.target; - - newEvent.shiftKey = newEvent.ctrlKey = newEvent.altKey = newEvent.metaKey = false; - - newEvent.preventDefault = function() { if (aDOMEvent.preventDefault) aDOMEvent.preventDefault() }; - newEvent.stopPropagation = function() { if (aDOMEvent.stopPropagation) aDOMEvent.stopPropagation() }; - [self mouseEvent:newEvent]; return; } else { + // two fingers->simulate scrolling events + if (aDOMEvent.touches && aDOMEvent.touches.length == 2) + { + switch (aDOMEvent.type) + { + case CPDOMEventTouchStart: + touchStartingPointX = touch.pageX; + touchStartingPointY = touch.pageY; + break; + case CPDOMEventTouchMove: + newEvent._hasPreciseScrollingDeltas = YES; + newEvent.deltaX = touchStartingPointX - touch.pageX; + newEvent.deltaY = touchStartingPointY - touch.pageY; + newEvent.type = CPDOMEventScrollWheel; + + [self scrollEvent:newEvent]; + + touchStartingPointX = touch.pageX; + touchStartingPointY = touch.pageY; + return; + } + } + // handle other touch cases specifically + if (aDOMEvent.preventDefault) aDOMEvent.preventDefault(); if (aDOMEvent.stopPropagation) aDOMEvent.stopPropagation(); } - // handle touch cases specifically } - (void)mouseEvent:(DOMEvent)aDOMEvent From f961625f03c76190e8da5b294fc81ab5dd88814c Mon Sep 17 00:00:00 2001 From: daboe01 Date: Wed, 11 Apr 2018 18:30:47 +0200 Subject: [PATCH 09/95] fixed: some events were not propagated to the bridge window --- AppKit/CPWindow/CPWindow.j | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index f20a5b858..8a4dde260 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -2117,6 +2117,9 @@ CPTexturedBackgroundWindowMask /* @ignore */ - (BOOL)_isFrontmostWindow { + if ([self isFullBridge]) + return YES; + var orderedWindows = [CPApp orderedWindows]; if ([orderedWindows count] == 0) From 535f981739d65113308aed7d6da5995fe4993640 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Thu, 12 Apr 2018 09:25:12 +0200 Subject: [PATCH 10/95] Fixed: TextView bindings wrote data on blur even when not editable (#2582) --- AppKit/CPTextView/CPTextView.j | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index 3c8083ff5..91ea5ebf1 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -2250,7 +2250,8 @@ Sets the selection to a range of characters in response to user action. [[self class] _binderClassForBinding:CPValueBinding], theBinding = [binderClass getBinding:CPAttributedStringBinding forObject:self] || [binderClass getBinding:CPValueBinding forObject:self]; - [theBinding reverseSetValueFor:@"objectValue"]; + if (theBinding && [self isEditable]) + [theBinding reverseSetValueFor:@"objectValue"]; } @end From b8b48b533bcfc10a5a316ec81487626a084cdfdd Mon Sep 17 00:00:00 2001 From: cacaodev Date: Thu, 12 Apr 2018 11:25:43 +0200 Subject: [PATCH 11/95] Previously, animating frame origin was not working on recent versions of Gecko (Firefox). The format for the matrix value of the transform property was matrix(a,b,c,d,tx,ty) and tx and ty had the "px" suffix. According to this page, tx and ty were accept (#2677) ed (in my understanding not required) to have this suffix before FireFox 16. All parameters are now numbers without suffix and this code will work for all FireFox versions supporting css animations. --- AppKit/CoreAnimation/CPViewAnimator.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CoreAnimation/CPViewAnimator.j b/AppKit/CoreAnimation/CPViewAnimator.j index f448061ae..0e2db6c59 100644 --- a/AppKit/CoreAnimation/CPViewAnimator.j +++ b/AppKit/CoreAnimation/CPViewAnimator.j @@ -214,7 +214,7 @@ var transformSizeToHeight = function(start, current) var CSSStringFromCGAffineTransform = function(anAffineTransform) { - return "matrix(" + anAffineTransform.a + ", " + anAffineTransform.b + ", " + anAffineTransform.c + ", " + anAffineTransform.d + ", " + anAffineTransform.tx + (CPBrowserIsEngine(CPGeckoBrowserEngine) ? "px, " : ", ") + anAffineTransform.ty + (CPBrowserIsEngine(CPGeckoBrowserEngine) ? "px)" : ")"); + return [CPString stringWithFormat:@"matrix(%d,%d,%d,%d,%d,%d)", anAffineTransform.a, anAffineTransform.b, anAffineTransform.c, anAffineTransform.d, anAffineTransform.tx, anAffineTransform.ty]; }; var frameOriginToCSSTransformMatrix = function(start, current) From 7de91da87af9dd8286f704dd785cac0841560ae4 Mon Sep 17 00:00:00 2001 From: bedalton Date: Fri, 13 Apr 2018 03:09:46 -0700 Subject: [PATCH 12/95] Fix: rename _placeHolderView and add accessors in CPTabView.j (#2678) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In CPTabView.j on line 706 method is called `[_source _setPlaceholderView:aValue]; ` this method does not exist, and this call could possibly be expecting the property `_placeHolderView` to have an accessor method. To add the correct accessor method the case of either the method call selector or the variable must change — `_placeHolderView` vs `_placeholderView`. For this fix I selected the `_placeholderView` spelling, as opposed to the alternative with the capitalized “holder” in “placeholder.” Fixes #2674 --- AppKit/CPTabView.j | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/AppKit/CPTabView.j b/AppKit/CPTabView.j index ad26ad45f..80c15e12c 100644 --- a/AppKit/CPTabView.j +++ b/AppKit/CPTabView.j @@ -67,7 +67,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, CPSegmentedControl _tabs; _CPTabViewBox _box; - CPView _placeHolderView; + CPView _placeholderView @accessors; CPTabViewItem _selectedTabViewItem; @@ -106,7 +106,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, [self addSubview:_box]; [self addSubview:_tabs]; - _placeHolderView = nil; + _placeholderView = nil; } - (CPArray)items @@ -617,7 +617,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, - (CPBinder)binderForBinding:(CPString)aBinding { - var cls = [[self class] _binderClassForBinding:aBinding] + var cls = [[self class] _binderClassForBinding:aBinding]; return [cls getBinding:aBinding forObject:self]; } @@ -652,17 +652,17 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, - (void)_displayPlaceholder:(CPString)aPlaceholder { - if (_placeHolderView == nil) + if (_placeholderView == nil) { - _placeHolderView = [[CPView alloc] initWithFrame:CGRectMakeZero()]; + _placeholderView = [[CPView alloc] initWithFrame:CGRectMakeZero()]; var textField = [[CPTextField alloc] initWithFrame:CGRectMakeZero()]; [textField setTag:1000]; [textField setTextColor:[CPColor whiteColor]]; [textField setFont:[CPFont boldFontWithName:@"Geneva" size:18 italic:YES]]; - [_placeHolderView addSubview:textField]; + [_placeholderView addSubview:textField]; } - var textField = [_placeHolderView viewWithTag:1000]; + var textField = [_placeholderView viewWithTag:1000]; [textField setStringValue:aPlaceholder]; [textField sizeToFit]; @@ -672,7 +672,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, [textField setFrameOrigin:origin]; - [self _displayItemView:_placeHolderView]; + [self _displayItemView:_placeholderView]; } #pragma mark - From 20be4a40eae253b715abe8fdd073b708902090b7 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Fri, 27 Apr 2018 09:27:01 +0200 Subject: [PATCH 13/95] NEW: Add CSS theming support (#2613) --- AppKit/CPColor.j | 229 ++++++++++++++++++++++++++++++++++- AppKit/CPImage.j | 219 ++++++++++++++++++++++++++++++++- AppKit/CPImageView.j | 39 +++++- AppKit/CPTheme.j | 68 +++++++++++ AppKit/CPThemeBlend.j | 11 ++ AppKit/CPView.j | 57 ++++++++- AppKit/_CPImageAndTextView.j | 168 +++++++++++++++---------- AppKit/_CPObject+Theme.j | 28 ++++- 8 files changed, 737 insertions(+), 82 deletions(-) diff --git a/AppKit/CPColor.j b/AppKit/CPColor.j index a2fddb202..2ba97a1cc 100644 --- a/AppKit/CPColor.j +++ b/AppKit/CPColor.j @@ -103,7 +103,8 @@ var cachedBlackColor, @"alternate-selected-control-color": [CPNull null], @"secondary-selected-control-color": [CPNull null], @"selected-text-background-color": [CPNull null], - @"selected-text-inactive-background-color": [CPNull null] + @"selected-text-inactive-background-color": [CPNull null], + @"css-based": NO }; } @@ -876,9 +877,221 @@ url("data:image/png;base64,BASE64ENCODEDDATA") // if there is a pattern image @end +#pragma mark - +#pragma mark CSS Theming + +// The code below adds support for CSS theming with 100% compatibility with current theming system. +// The idea is to extend CPColor (and CPImage) with CSS components and adapt low level UI components to +// support this new kind of CPColor/CPImage. See CPImageView, CPView and _CPImageAndTextView. +// +// To create a CPColor that uses CSS, simply use the new class method : +// + (CPColor)colorWithCSSDictionary:(CPDictionary)aDictionary beforeDictionary:(CPDictionary)beforeDictionary afterDictionary:(CPDictionary)afterDictionary +// where beforeDictionary & afterDictionary are related to ::before & ::after pseudo-elements. +// If you don't need them, just use the simplified class method : +// + (CPColor)colorWithCSSDictionary:(CPDictionary)aDictionary +// +// Example : +// buttonCssColor = [CPColor colorWithCSSDictionary:@{ +// @"background-color": A3ColorBackgroundWhite, +// @"border-color": A3ColorActiveBorder, +// @"border-style": @"solid", +// @"border-width": @"1px", +// @"border-radius": @"3px", +// @"box-sizing": @"border-box" +// } +// beforeDictionary:@{ +// @"background-color": @"rgb(225,225,225)", +// @"bottom": @"3px", +// @"content": @"''", +// @"position": @"absolute", +// @"right": @"21px", +// @"top": @"3px", +// @"width": @"1px" +// } +// afterDictionary:@{ +// @"content": @"''", +// @"bottom": @"3px", +// @"right": @"6px", +// @"top": @"1px", +// @"position": @"absolute", +// @"height": @"14px", +// @"width": @"9px", +// @"margin": @"2px 0px 2px 0px", +// @"background-image": @"url(%%packed.png)", +// @"background-position": @"0px -64px", +// @"background-repeat": @"no-repeat", +// @"background-size": @"100px 400px" +// }]; +// +// Remark : Please note the special URL of the background image used in this example : url(%%packed.png) +// During theme loading, "%%" will be replaced by the path to the theme blend resources folder. +// Typically, a CSS theme will use some (rare) images all packed together in a single image resource (see packed.png in Aristo3 theme) +// +// Also, please note that if you don't use one of the CSS components, you can either set it to nil (best solution) or to an empty dictionary, like : +// aCssColor = [CPColor colorWithCSSDictionary:@{} beforeDictionary:nil afterDictionary:@{ ... }]; +// +// You can use -(BOOL)isCSSBased to determine how to cope with it in your code. +// -(BOOL)hasCSSDictionary, -(BOOL)hasCSSBeforeDictionary and -(BOOL)hasCSSAfterDictionary are convience methods you can use. +// +// Remark : -(void)restorePreviousCSSState and -(DOMElement)applyCSSColorForView are meant to be used by low level UI widgets (like CPView) to implement +// CSS theme support. + +@implementation CPColor (CSSTheming) +{ + CPDictionary _cssDictionary @accessors(property=cssDictionary); + CPDictionary _cssBeforeDictionary @accessors(property=cssBeforeDictionary); + CPDictionary _cssAfterDictionary @accessors(property=cssAfterDictionary); +} + ++ (CPColor)colorWithCSSDictionary:(CPDictionary)aDictionary +{ + return [[CPColor alloc] _initWithCSSDictionary:aDictionary beforeDictionary:nil afterDictionary:nil]; +} + ++ (CPColor)colorWithCSSDictionary:(CPDictionary)aDictionary beforeDictionary:(CPDictionary)beforeDictionary afterDictionary:(CPDictionary)afterDictionary +{ + return [[CPColor alloc] _initWithCSSDictionary:aDictionary beforeDictionary:beforeDictionary afterDictionary:afterDictionary]; +} + +- (id)_initWithCSSDictionary:(CPDictionary)aDictionary beforeDictionary:(CPDictionary)beforeDictionary afterDictionary:(CPDictionary)afterDictionary +{ + self = [super init]; + + if (self) + { + _cssDictionary = aDictionary; + _cssBeforeDictionary = beforeDictionary; + _cssAfterDictionary = afterDictionary; + _components = [0.0, 0.0, 0.0, 1.0]; + + _theme = [CPTheme defaultTheme]; + _themeState = CPThemeStateNormal; + [self _loadThemeAttributes]; + } + + return self; +} + +- (BOOL)isCSSBased +{ + return !!(_cssDictionary || _cssBeforeDictionary || _cssAfterDictionary); +} + +- (BOOL)hasCSSDictionary +{ + return ([_cssDictionary count] > 0); +} + +- (BOOL)hasCSSBeforeDictionary +{ + return ([_cssBeforeDictionary count] > 0); +} + +- (BOOL)hasCSSAfterDictionary +{ + return ([_cssAfterDictionary count] > 0); +} + +- (void)restorePreviousCSSState:(CPArrayRef)aPreviousStateRef forDOMElement:(DOMElement)aDOMElement +{ +#if PLATFORM(DOM) + var aPreviousState = @deref(aPreviousStateRef); + + for (var i = 0, count = aPreviousState.length; i < count; i++) + aDOMElement.style[aPreviousState[i][0]] = aPreviousState[i][1]; + + @deref(aPreviousStateRef) = @[]; +#endif +} + +- (DOMElement)applyCSSColorForView:(CPView)aView onDOMElement:(DOMElement)aDOMElement styleNode:(DOMElement)aStyleNode previousState:(CPArrayRef)aPreviousStateRef +{ +#if PLATFORM(DOM) + var aPreviousState = @deref(aPreviousStateRef); + + [_cssDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + [aPreviousState addObject:@[aKey, aDOMElement.style[aKey]]]; + aDOMElement.style[aKey] = anObject; + }]; + + if ([self hasCSSBeforeDictionary] || [self hasCSSAfterDictionary]) + { + // We need to create a unique class name + + var styleClassName = @".CP" + [aView UID], + styleContent = @""; + + if ([self hasCSSBeforeDictionary]) + { + styleContent += styleClassName + @"::before { "; + + [_cssBeforeDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + styleContent += aKey + ": " + anObject + "; "; + }]; + + styleContent += "} "; + } + + if ([self hasCSSAfterDictionary]) + { + styleContent += styleClassName + @"::after { "; + + [_cssAfterDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + styleContent += aKey + ": " + anObject + "; "; + }]; + + styleContent += "} "; + } + + var styleDescription = document.createTextNode(styleContent); + + if (!aStyleNode) + { + aStyleNode = document.createElement("style"); + + aView._DOMElement.insertBefore(aStyleNode, aView._DOMElement.firstChild); + + aStyleNode.appendChild(styleDescription); + } + else + { + aStyleNode.replaceChild(styleDescription, aStyleNode.firstChild); + } + + [aView setDOMClassName:@"CP"+[aView UID]]; + } + else + { + // no before/after so remove aStyleNode if existing + + if (aStyleNode) + { + aView._DOMElement.removeChild(aStyleNode); + aStyleNode = nil; + } + } + + // Return actualised values + + @deref(aPreviousStateRef) = aPreviousState; + + return aStyleNode; +#endif +} + +@end + +#pragma mark - + /// @cond IGNORE -var CPColorComponentsKey = @"CPColorComponentsKey", - CPColorPatternImageKey = @"CPColorPatternImageKey"; +var CPColorComponentsKey = @"CPColorComponentsKey", + CPColorPatternImageKey = @"CPColorPatternImageKey", + CPColorCssDictionaryKey = @"CPColorCssDictionaryKey", + CPColorCssBeforeDictionaryKey = @"CPColorCssBeforeDictionaryKey", + CPColorCssAfterDictionaryKey = @"CPColorCssAfterDictionaryKey"; /// @endcond @implementation CPColor (CPCoding) @@ -891,6 +1104,10 @@ var CPColorComponentsKey = @"CPColorComponentsKey", { if ([aCoder containsValueForKey:CPColorPatternImageKey]) self = [self _initWithPatternImage:[aCoder decodeObjectForKey:CPColorPatternImageKey]]; + else if ([aCoder containsValueForKey:CPColorCssDictionaryKey]) + self = [self _initWithCSSDictionary:[aCoder decodeObjectForKey:CPColorCssDictionaryKey] + beforeDictionary:[aCoder decodeObjectForKey:CPColorCssBeforeDictionaryKey] + afterDictionary:[aCoder decodeObjectForKey:CPColorCssAfterDictionaryKey]]; else self = [self _initWithRGBA:[aCoder decodeObjectForKey:CPColorComponentsKey]]; @@ -907,6 +1124,12 @@ var CPColorComponentsKey = @"CPColorComponentsKey", { if (_patternImage) [aCoder encodeObject:_patternImage forKey:CPColorPatternImageKey]; + else if (_cssDictionary) + { + [aCoder encodeObject:_cssDictionary forKey:CPColorCssDictionaryKey]; + [aCoder encodeObject:_cssBeforeDictionary forKey:CPColorCssBeforeDictionaryKey]; + [aCoder encodeObject:_cssAfterDictionary forKey:CPColorCssAfterDictionaryKey]; + } else [aCoder encodeObject:_components forKey:CPColorComponentsKey]; diff --git a/AppKit/CPImage.j b/AppKit/CPImage.j index 1f31fed0c..1df9d2fa7 100644 --- a/AppKit/CPImage.j +++ b/AppKit/CPImage.j @@ -509,6 +509,212 @@ function CPAppKitImage(aFilename, aSize) @end +#pragma mark - +#pragma mark CSS Theming + +// The code below adds support for CSS theming with 100% compatibility with current theming system. +// The idea is to extend CPImage (and CPColor) with CSS components and adapt low level UI components to +// support this new kind of CPColor/CPImage. See CPImageView, CPView and _CPImageAndTextView. +// +// To create a CPImage that uses CSS, simply use the new class method : +// + (CPImage)imageWithCSSDictionary:(CPDictionary)aDictionary beforeDictionary:(CPDictionary)beforeDictionary afterDictionary:(CPDictionary)afterDictionary size:(CGSize)aSize +// where beforeDictionary & afterDictionary are related to ::before & ::after pseudo-elements. +// If you don't need them, just use the simplified class method : +// + (CPImage)imageWithCSSDictionary:(CPDictionary)aDictionary size:(CGSize)aSize +// +// Examples : +// regularImageNormal = [CPImage imageWithCSSDictionary:@{ +// @"border-color": A3ColorActiveBorder, +// @"border-style": @"solid", +// @"border-width": @"1px", +// @"border-radius": @"50%", +// @"box-sizing": @"border-box", +// @"background-color": A3ColorBackgroundWhite, +// @"transition-duration": @"0.35s", +// @"transition-property": @"all", +// @"transition-timing-function": @"ease" +// } +// size:CGSizeMake(16,16)]; +// +// imageSearch = [CPImage imageWithCSSDictionary:@{ +// @"background-image": @"url(%%packed.png)", +// @"background-position": @"-16px -32px", +// @"background-repeat": @"no-repeat", +// @"background-size": @"100px 400px" +// } +// size:CGSizeMake(16,16)]; +// +// Remark : Please note the special URL of the background image used in this example : url(%%packed.png) +// During theme loading, "%%" will be replaced by the path to the theme blend resources folder. +// Typically, a CSS theme will use some (rare) images all packed together in a single image resource (see packed.png in Aristo3 theme) +// +// Also, please note that if you don't use one of the CSS components, you can either set it to nil (best solution) or to an empty dictionary, like : +// aCssImage = [CPImage imageWithCSSDictionary:@{} beforeDictionary:nil afterDictionary:@{ ... }]; +// +// You can use -(BOOL)isCSSBased to determine how to cope with it in your code. +// -(BOOL)hasCSSDictionary, -(BOOL)hasCSSBeforeDictionary and -(BOOL)hasCSSAfterDictionary are convience methods you can use. +// +// Remark : -(DOMElement)applyCSSImageForView is meant to be used by low level UI widgets (like CPImageView and _CPImageAndTextView) to implement CSS theme support. +// +// In some circumstances, you may have to clear a CSS image. You can do this easily by replacing your current image with the special dummy empty CSS image : +// [CPImage dummyCSSImageOfSize:CGSizeMake(someWidth, someHeight)] + +@implementation CPImage (CSSTheming) +{ + CPDictionary _cssDictionary @accessors(property=cssDictionary); + CPDictionary _cssBeforeDictionary @accessors(property=cssBeforeDictionary); + CPDictionary _cssAfterDictionary @accessors(property=cssAfterDictionary); +} + ++ (CPImage)imageWithCSSDictionary:(CPDictionary)aDictionary size:(CGSize)aSize +{ + return [[CPImage alloc] initWithCSSDictionary:aDictionary beforeDictionary:nil afterDictionary:nil size:aSize]; +} + ++ (CPImage)imageWithCSSDictionary:(CPDictionary)aDictionary beforeDictionary:(CPDictionary)beforeDictionary afterDictionary:(CPDictionary)afterDictionary size:(CGSize)aSize +{ + return [[CPImage alloc] initWithCSSDictionary:aDictionary beforeDictionary:beforeDictionary afterDictionary:afterDictionary size:aSize]; +} + ++ (CPImage)dummyCSSImageOfSize:(CGSize)aSize +{ + // This is used to clear a previous CSS image + return [[CPImage alloc] initWithCSSDictionary:@{} beforeDictionary:nil afterDictionary:nil size:aSize]; +} + +- (id)initWithCSSDictionary:(CPDictionary)aDictionary beforeDictionary:(CPDictionary)beforeDictionary afterDictionary:(CPDictionary)afterDictionary size:(CGSize)aSize +{ + self = [super init]; + + if (self) + { + _size = CGSizeMakeCopy(aSize); + _filename = @"CSS image"; + _loadStatus = CPImageLoadStatusCompleted; + _cssDictionary = aDictionary; + _cssBeforeDictionary = beforeDictionary; + _cssAfterDictionary = afterDictionary; + } + + return self; +} + +- (BOOL)isCSSBased +{ + return !!(_cssDictionary || _cssBeforeDictionary || _cssAfterDictionary); +} + +- (BOOL)hasCSSDictionary +{ + return ([_cssDictionary count] > 0); +} + +- (BOOL)hasCSSBeforeDictionary +{ + return ([_cssBeforeDictionary count] > 0); +} + +- (BOOL)hasCSSAfterDictionary +{ + return ([_cssAfterDictionary count] > 0); +} + +- (DOMElement)applyCSSImageForView:(CPView)aView onDOMElement:(DOMElement)aDOMElement styleNode:(DOMElement)aStyleNode previousState:(CPArrayRef)aPreviousStateRef +{ +#if PLATFORM(DOM) + // First, restore previous CSS styling before applying the new one + + var aPreviousState = @deref(aPreviousStateRef); + + for (var i = 0, count = aPreviousState.length; i < count; i++) + aDOMElement.style[aPreviousState[i][0]] = aPreviousState[i][1]; + + aPreviousState = @[]; + + // Then apply new CSS styling + + [_cssDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + [aPreviousState addObject:@[aKey, aDOMElement.style[aKey]]]; + aDOMElement.style[aKey] = anObject; + }]; + + if (_cssBeforeDictionary || _cssAfterDictionary) + { + // We need to create a unique class name + + var styleClassName = @".CP" + [aView UID], + styleContent = @""; + + if (_cssBeforeDictionary) + { + styleContent += styleClassName + @"::before { "; + + [_cssBeforeDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + styleContent += aKey + ": " + anObject + "; "; + }]; + + styleContent += "} "; + } + + if (_cssAfterDictionary) + { + styleContent += styleClassName + @"::after { "; + + [_cssAfterDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + styleContent += aKey + ": " + anObject + "; "; + }]; + + styleContent += "} "; + } + + var styleDescription = document.createTextNode(styleContent); + + if (!aStyleNode) + { + aStyleNode = document.createElement("style"); + + aView._DOMElement.insertBefore(aStyleNode, aView._DOMElement.firstChild); + + aStyleNode.appendChild(styleDescription); + } + else + { + aStyleNode.replaceChild(styleDescription, aStyleNode.firstChild); + } + + [aView setDOMClassName:@"CP"+[aView UID]]; + } + else + { + // no before/after so remove aStyleNode if existing + + if (aStyleNode) + { + aView._DOMElement.removeChild(aStyleNode); + aStyleNode = nil; + } + } + + + // Return actualised values + + @deref(aPreviousStateRef) = aPreviousState; + + return aStyleNode; +#endif +} + +@end + +var CPImageCSSDictionaryKey = @"CPImageCSSDictionaryKey", + CPImageCSSBeforeDictionaryKey = @"CPImageCSSBeforeDictionaryKey", + CPImageCSSAfterDictionaryKey = @"CPImageCSSAfterDictionaryKey"; + +#pragma mark - + @implementation CPImage (CPCoding) /*! @@ -518,7 +724,10 @@ function CPAppKitImage(aFilename, aSize) */ - (id)initWithCoder:(CPCoder)aCoder { - return [self initWithContentsOfFile:[aCoder decodeObjectForKey:@"CPFilename"] size:[aCoder decodeSizeForKey:@"CPSize"]]; + if ([aCoder containsValueForKey:CPImageCSSDictionaryKey]) + return [self initWithCSSDictionary:[aCoder decodeObjectForKey:CPImageCSSDictionaryKey] beforeDictionary:[aCoder decodeObjectForKey:CPImageCSSBeforeDictionaryKey] afterDictionary:[aCoder decodeObjectForKey:CPImageCSSAfterDictionaryKey] size:[aCoder decodeSizeForKey:@"CPSize"]]; + else + return [self initWithContentsOfFile:[aCoder decodeObjectForKey:@"CPFilename"] size:[aCoder decodeSizeForKey:@"CPSize"]]; } /*! @@ -529,6 +738,14 @@ function CPAppKitImage(aFilename, aSize) { [aCoder encodeObject:_filename forKey:@"CPFilename"]; [aCoder encodeSize:_size forKey:@"CPSize"]; + + // CSS Styling + if ([self isCSSBased]) + { + [aCoder encodeObject:_cssDictionary forKey:CPImageCSSDictionaryKey]; + [aCoder encodeObject:_cssBeforeDictionary forKey:CPImageCSSBeforeDictionaryKey]; + [aCoder encodeObject:_cssAfterDictionary forKey:CPImageCSSAfterDictionaryKey]; + } } @end diff --git a/AppKit/CPImageView.j b/AppKit/CPImageView.j index 6c041fdea..e8afee844 100644 --- a/AppKit/CPImageView.j +++ b/AppKit/CPImageView.j @@ -98,10 +98,32 @@ var CPImageViewEmptyPlaceholderImage = nil; - (void)_createDOMImageElement { #if PLATFORM(DOM) - if (_DOMImageElement) - return; + var image = [self objectValue], + isCSSBasedImage = [image isCSSBased], + isIMGImageElement = _DOMImageElement && (_DOMImageElement.nodeName == "IMG"); - _DOMImageElement = document.createElement("img"); + // First, check if we need to destroy a current DOM image element. This is the case if : + // - we have one but not the right one (that is a DIV but needing an IMG, and vice versa) + + if (_DOMImageElement) + { + if ((isIMGImageElement && isCSSBasedImage) || (!isIMGImageElement && !isCSSBasedImage)) + { + // OK, destroy it + + _DOMElement.removeChild(_DOMImageElement); + + _DOMImageElement = nil; + + // CSS styling cleaning + _cssStylePreviousState = @[]; + _cssStyleNode = nil; + } + else + return; + } + + _DOMImageElement = document.createElement(isCSSBasedImage ? "div" : "img"); _DOMImageElement.style.position = "absolute"; _DOMImageElement.style.left = "0px"; _DOMImageElement.style.top = "0px"; @@ -150,10 +172,15 @@ var CPImageViewEmptyPlaceholderImage = nil; var newImage = [self objectValue]; #if PLATFORM(DOM) - if (!_DOMImageElement) - [self _createDOMImageElement]; + [self _createDOMImageElement]; - _DOMImageElement.src = newImage ? [newImage filename] : [CPImageViewEmptyPlaceholderImage filename]; + if ([newImage isCSSBased]) + _cssStyleNode = [newImage applyCSSImageForView:self + onDOMElement:_DOMImageElement + styleNode:_cssStyleNode + previousState:@ref(_cssStylePreviousState)]; + else + _DOMImageElement.src = newImage ? [newImage filename] : [CPImageViewEmptyPlaceholderImage filename]; #endif var size = [newImage size]; diff --git a/AppKit/CPTheme.j b/AppKit/CPTheme.j index 459615181..1c96ff168 100644 --- a/AppKit/CPTheme.j +++ b/AppKit/CPTheme.j @@ -24,9 +24,12 @@ @import @import @import +@import @class CPView @class _CPThemeAttribute +@class CPImage +@class CPColor var CPThemesByName = { }, CPThemeDefaultTheme = nil, @@ -313,6 +316,71 @@ var CPThemeNameKey = @"CPThemeNameKey", @end +#pragma mark - +#pragma mark CSS Theming + +// The code below adds support for CSS theming with 100% compatibility with current theming system. +// The idea is to extend CPColor and CPImage with CSS components and adapt low level UI components to +// support this new kind of CPColor/CPImage. See CPImageView, CPView and _CPImageAndTextView. +// +// To be considered and treated as CSS based, a theme must set to YES the attribute "css-based" for CPView +// in the theDescriptor (default value is NO), like in the example below : +// +// + (CPView)themedView +// { +// var view = [[CPView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; +// +// [self registerThemeValues:[[@"css-based", YES]] forView:view]; +// +// return view; +// } +// +// You can use the method -(BOOL)isCSSBased on a theme to determine how to cope with it in your own code. +// +// The method -(void)setCSSResourcesPath is meant to be used only by CPThemeBlend during theme loading in order to +// replace the special path "%%" in CSS components (like in url(%%packed.png) ) with the path to the theme blend resources folder. + +@implementation CPTheme (CSSTheming) + +- (void)setCSSResourcesPath:(CPString)pathToResources +{ + [_attributes enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + [anObject enumerateKeysAndObjectsUsingBlock:function(aKey2, anObject2, stop2) + { + // anObject2 is now a _CPThemeAttribute + + [[anObject2 values] enumerateKeysAndObjectsUsingBlock:function(aKey3, anObject3, stop3) + { + if (anObject3.isa && ([anObject3 isKindOfClass:CPImage] || [anObject3 isKindOfClass:CPColor]) && [anObject3 cssDictionary]) + { + // We have a CSS defined image or color + [self _fixPathInCSSDictionary:[anObject3 cssDictionary] withPathToResources:pathToResources]; + [self _fixPathInCSSDictionary:[anObject3 cssBeforeDictionary] withPathToResources:pathToResources]; + [self _fixPathInCSSDictionary:[anObject3 cssAfterDictionary] withPathToResources:pathToResources]; + } + }]; + }]; + }]; +} + +- (void)_fixPathInCSSDictionary:(CPDictionary)aDictionary withPathToResources:(CPString)pathToResources +{ + [aDictionary enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + [aDictionary setObject:[anObject stringByReplacingOccurrencesOfString:@"%%" withString:pathToResources] forKey:aKey]; + }]; +} + +- (BOOL)isCSSBased +{ + return !![self valueForAttributeWithName:@"css-based" forClass:[CPView class]]; +} + +@end + +#pragma mark - + /*! * ThemeStates are immutable objects representing a particular ThemeState. Applications should never be creating * ThemeStates directly but should instead use the CPThemeState function. diff --git a/AppKit/CPThemeBlend.j b/AppKit/CPThemeBlend.j index 78cceaac3..da3e33f1c 100644 --- a/AppKit/CPThemeBlend.j +++ b/AppKit/CPThemeBlend.j @@ -95,6 +95,17 @@ [unarchiver finishDecoding]; } + // CSS Theming + + for (var i = 0, nb = [_themes count], allThemes = [self themeNames], aThemeName, aTheme; i < nb; i++) + { + aThemeName = allThemes[i]; + aTheme = [CPTheme themeNamed:aThemeName]; + + if ([aTheme isCSSBased]) + [aTheme setCSSResourcesPath:[aBundle resourcePath]]; + } + [_loadDelegate blendDidFinishLoading:self]; } diff --git a/AppKit/CPView.j b/AppKit/CPView.j index b81d2362a..058865f69 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -129,7 +129,8 @@ var DOMElementPrototype = nil, BackgroundVerticalThreePartImage = 1, BackgroundHorizontalThreePartImage = 2, BackgroundNinePartImage = 3, - BackgroundTransparentColor = 4; + BackgroundTransparentColor = 4, + BackgroundCSSStyling = 5; #endif var CPViewFlags = { }, @@ -195,6 +196,10 @@ var CPViewHighDPIDrawingEnabled = YES; CPArray _DOMImageSizes; unsigned _backgroundType; + + // CSS styling + CPArray _cssStylePreviousState; + DOMElement _cssStyleNode; #endif CGRect _dirtyRect; @@ -320,6 +325,18 @@ var CPViewHighDPIDrawingEnabled = YES; return nil; } ++ (CPString)defaultThemeClass +{ + return @"view"; +} + ++ (CPDictionary)themeAttributes +{ + return @{ + @"css-based": NO + }; +} + - (void)_setupViewFlags { var theClass = [self class], @@ -399,6 +416,8 @@ var CPViewHighDPIDrawingEnabled = YES; _DOMImageParts = []; _DOMImageSizes = []; + + _cssStylePreviousState = @[]; #endif _animator = nil; @@ -1954,15 +1973,25 @@ var CPViewHighDPIDrawingEnabled = YES; _backgroundColor = aColor; #if PLATFORM(DOM) + if (_backgroundType === BackgroundCSSStyling) + [_backgroundColor restorePreviousCSSState:@ref(_cssStylePreviousState) forDOMElement:_DOMElement]; + var patternImage = [_backgroundColor patternImage], colorExists = _backgroundColor && ([_backgroundColor patternImage] || [_backgroundColor alphaComponent] > 0.0), colorHasAlpha = colorExists && [_backgroundColor alphaComponent] < 1.0, supportsRGBA = CPFeatureIsCompatible(CPCSSRGBAFeature), colorNeedsDOMElement = colorHasAlpha && !supportsRGBA, amount = 0, - slices; + slices, + // For CSS theming + isCSSBasedColor = [_backgroundColor isCSSBased]; - if ([patternImage isThreePartImage]) + if (isCSSBasedColor) + { + _backgroundType = BackgroundCSSStyling; + amount = -_DOMImageParts.length; + } + else if ([patternImage isThreePartImage]) { _backgroundType = [patternImage isVertical] ? BackgroundVerticalThreePartImage : BackgroundHorizontalThreePartImage; amount = 3; @@ -2025,7 +2054,14 @@ var CPViewHighDPIDrawingEnabled = YES; _DOMElement.removeChild(_DOMImageParts.pop()); } - if (_backgroundType === BackgroundTrivialColor || _backgroundType === BackgroundTransparentColor) + if (_backgroundType === BackgroundCSSStyling) + { + _cssStyleNode = [_backgroundColor applyCSSColorForView:self + onDOMElement:_DOMElement + styleNode:_cssStyleNode + previousState:@ref(_cssStylePreviousState)]; + } + else if (_backgroundType === BackgroundTrivialColor || _backgroundType === BackgroundTransparentColor) { var colorCSS = colorExists ? [_backgroundColor cssString] : ""; @@ -3434,6 +3470,17 @@ setBoundsOrigin: @end +@implementation CPView (CSSTheming) + +- (void)setDOMClassName:(CPString)aClassName +{ +#if PLATFORM(DOM) + _DOMElement.className = aClassName; +#endif +} + +@end + @implementation CPView (Appearance) @@ -3749,6 +3796,8 @@ var CPViewAutoresizingMaskKey = @"CPViewAutoresizingMask", // DOM SETUP #if PLATFORM(DOM) + _cssStylePreviousState = @[]; + _DOMImageParts = []; _DOMImageSizes = []; diff --git a/AppKit/_CPImageAndTextView.j b/AppKit/_CPImageAndTextView.j index 655a1f0ad..e5c1b84ee 100644 --- a/AppKit/_CPImageAndTextView.j +++ b/AppKit/_CPImageAndTextView.j @@ -437,55 +437,67 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, var textStyle = hasDOMTextElement ? _DOMTextElement.style : nil; - // Create or destroy the DOM Text Shadow element as necessary. - // If _textShadowColor's alphaComponent is 0, don't bother drawing anything (issue #1412). - // This improves performance as we get rid of an invisible element, and makes IE <9.0 capable - // of correctly 'rendering' shadows with [CPColor clearColor]. - var needsDOMTextShadowElement = hasDOMTextElement && [_textShadowColor alphaComponent] > 0.0, - hasDOMTextShadowElement = !!_DOMTextShadowElement; - - if (needsDOMTextShadowElement !== hasDOMTextShadowElement) + // If theme is CSS based and if shadow color is a CSS dictionary, we don't need a separate DOM element, + // we simply put shadow styling on the regular text element + if (hasDOMTextElement && [[self actualTheme] isCSSBased] && [_textShadowColor cssDictionary]) { - if (hasDOMTextShadowElement) + [[_textShadowColor cssDictionary] enumerateKeysAndObjectsUsingBlock:function(aKey, anObject, stop) + { + _DOMTextElement.style[aKey] = anObject; + }]; + } + else + { + // Create or destroy the DOM Text Shadow element as necessary. + // If _textShadowColor's alphaComponent is 0, don't bother drawing anything (issue #1412). + // This improves performance as we get rid of an invisible element, and makes IE <9.0 capable + // of correctly 'rendering' shadows with [CPColor clearColor]. + var needsDOMTextShadowElement = hasDOMTextElement && [_textShadowColor alphaComponent] > 0.0, + hasDOMTextShadowElement = !!_DOMTextShadowElement; + + if (needsDOMTextShadowElement !== hasDOMTextShadowElement) { - _DOMElement.removeChild(_DOMTextShadowElement); - - _DOMTextShadowElement = nil; - - hasDOMTextShadowElement = NO; - } - else - { - _DOMTextShadowElement = document.createElement("div"); - - var shadowStyle = _DOMTextShadowElement.style, - font = (_font || [CPFont systemFontOfSize:CPFontCurrentSystemSize]); - - shadowStyle.font = [font cssString]; - shadowStyle.position = "absolute"; - shadowStyle.whiteSpace = textStyle.whiteSpace; - shadowStyle.wordWrap = textStyle.wordWrap; - shadowStyle.color = [_textShadowColor cssString]; - shadowStyle.lineHeight = [font defaultLineHeightForFont] + "px"; - - shadowStyle.zIndex = 150; - shadowStyle.textOverflow = textStyle.textOverflow; - - if (document.attachEvent) + if (hasDOMTextShadowElement) { - shadowStyle.overflow = textStyle.overflow; + _DOMElement.removeChild(_DOMTextShadowElement); + + _DOMTextShadowElement = nil; + + hasDOMTextShadowElement = NO; } else { - shadowStyle.overflowX = textStyle.overflowX; - shadowStyle.overflowY = textStyle.overflowY; + _DOMTextShadowElement = document.createElement("div"); + + var shadowStyle = _DOMTextShadowElement.style, + font = (_font || [CPFont systemFontOfSize:CPFontCurrentSystemSize]); + + shadowStyle.font = [font cssString]; + shadowStyle.position = "absolute"; + shadowStyle.whiteSpace = textStyle.whiteSpace; + shadowStyle.wordWrap = textStyle.wordWrap; + shadowStyle.color = [_textShadowColor cssString]; + shadowStyle.lineHeight = [font defaultLineHeightForFont] + "px"; + + shadowStyle.zIndex = 150; + shadowStyle.textOverflow = textStyle.textOverflow; + + if (document.attachEvent) + { + shadowStyle.overflow = textStyle.overflow; + } + else + { + shadowStyle.overflowX = textStyle.overflowX; + shadowStyle.overflowY = textStyle.overflowY; + } + + _DOMElement.appendChild(_DOMTextShadowElement); + + hasDOMTextShadowElement = YES; + + _flags |= _CPImageAndTextViewTextChangedFlag; //sigh... } - - _DOMElement.appendChild(_DOMTextShadowElement); - - hasDOMTextShadowElement = YES; - - _flags |= _CPImageAndTextViewTextChangedFlag; //sigh... } } @@ -591,41 +603,55 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, } var needsDOMImageElement = _image !== nil && _imagePosition !== CPNoImage, - hasDOMImageElement = !!_DOMImageElement; + hasDOMImageElement = !!_DOMImageElement, + // For CSS theming + isCSSBasedImage = [_image isCSSBased], + isIMGImageElement = hasDOMImageElement && (_DOMImageElement.nodeName == "IMG"); - // Create or destroy DOM Image element - if (needsDOMImageElement !== hasDOMImageElement) + // First, check if we need to destroy a current DOM image element. This is the case if : + // - we have one but don't need it anymore + // - we have one but not the right one (that is a DIV but needing an IMG, and vice versa) + + if (hasDOMImageElement) { - if (hasDOMImageElement) + if (!needsDOMImageElement || (isIMGImageElement && isCSSBasedImage) || (!isIMGImageElement && !isCSSBasedImage)) { + // OK, destroy it + _DOMElement.removeChild(_DOMImageElement); _DOMImageElement = nil; hasDOMImageElement = NO; - } - else + // CSS styling cleaning + _cssStylePreviousState = @[]; + _cssStyleNode = nil; + } + } + + // Now, if we need a DOM image element and if we don't have one, create a new one + + if (needsDOMImageElement && !hasDOMImageElement) + { + _DOMImageElement = document.createElement(isCSSBasedImage ? "div" : "img"); + + if ([CPPlatform supportsDragAndDrop]) { - _DOMImageElement = document.createElement("img"); - - if ([CPPlatform supportsDragAndDrop]) - { - _DOMImageElement.setAttribute("draggable", "true"); - _DOMImageElement.style["-khtml-user-drag"] = "element"; - } - - var imageStyle = _DOMImageElement.style; - - imageStyle.top = "0px"; - imageStyle.left = "0px"; - imageStyle.position = "absolute"; - imageStyle.zIndex = 100; - - _DOMElement.appendChild(_DOMImageElement); - - hasDOMImageElement = YES; + _DOMImageElement.setAttribute("draggable", "true"); + _DOMImageElement.style["-khtml-user-drag"] = "element"; } + + var imageStyle = _DOMImageElement.style; + + imageStyle.top = "0px"; + imageStyle.left = "0px"; + imageStyle.position = "absolute"; + imageStyle.zIndex = 100; + + _DOMElement.appendChild(_DOMImageElement); + + hasDOMImageElement = YES; } var size = [self bounds].size, @@ -637,7 +663,15 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, var imageStyle = _DOMImageElement.style; if (_flags & _CPImageAndTextViewImageChangedFlag) - _DOMImageElement.src = [_image filename]; + { + if (isCSSBasedImage) + _cssStyleNode = [_image applyCSSImageForView:self + onDOMElement:_DOMImageElement + styleNode:_cssStyleNode + previousState:@ref(_cssStylePreviousState)]; + else + _DOMImageElement.src = [_image filename]; + } var centerX = size.width / 2.0, centerY = size.height / 2.0, diff --git a/AppKit/_CPObject+Theme.j b/AppKit/_CPObject+Theme.j index 20f32da85..7c906a1ca 100644 --- a/AppKit/_CPObject+Theme.j +++ b/AppKit/_CPObject+Theme.j @@ -20,6 +20,7 @@ */ @import +@import "CPResponder.j" @import "CPTheme.j" @@ -477,4 +478,29 @@ var NULL_THEME = {}; } } -@end \ No newline at end of file +#pragma mark - +#pragma mark CSS styling additions + +- (CPTheme)actualTheme +{ + return _theme ? _theme : [CPTheme defaultTheme]; +} + +// These methods implement inherited theme attributes thru class hierarchy. +- (id)actualValueForThemeAttribute:(CPString)aName +{ + return [self actualValueForThemeAttribute:aName inState:CPThemeStateNormal]; +} + +- (id)actualValueForThemeAttribute:(CPString)aName inState:(ThemeState)aState +{ + for (var currentClass = [self class], foundAttribute = nil, currentTheme = [self actualTheme]; (currentClass && (currentClass !== CPResponder) && !foundAttribute); currentClass = [currentClass superclass]) + + foundAttribute = [currentTheme attributeWithName:aName forClass:currentClass]; + + return (foundAttribute ? [foundAttribute valueForState:aState] : nil); +} + + + +@end From ecc82b5b516bc6d479b51782f76e558648c3b6f8 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Wed, 2 May 2018 19:38:37 +0200 Subject: [PATCH 14/95] Fixed: Typo CGSizZero() -> CGSizeMakeZero() In BadgedOutlineView.j from SmartFoldersDemo test application. --- Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j b/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j index 62c3142e1..70fc51c7e 100644 --- a/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j +++ b/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j @@ -72,7 +72,7 @@ var CPSourceListDataSource_sourceList_itemHasBadge_ = 1 << 1, //Make sure that the item has a badge if (![self itemHasBadge:rowItem]) - return CGSizeZero(); + return CGSizeMakeZero(); var badgeString = [CPString stringWithFormat:@"%d", [self badgeValueForItem:rowItem]]; From 94ac8fd83782408fa2950aba74efb902bcdcd80a Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Fri, 4 May 2018 16:16:01 +0200 Subject: [PATCH 15/95] FIXED: Before this PR, CPButton setImage was also changing the alternate image --- AppKit/CPButton.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPButton.j b/AppKit/CPButton.j index c78d160e8..51b108ccb 100644 --- a/AppKit/CPButton.j +++ b/AppKit/CPButton.j @@ -378,7 +378,7 @@ CPButtonImageOffset = 3.0; - (void)setImage:(CPImage)anImage { - [self setValue:anImage forThemeAttribute:@"image"]; + [self setValue:anImage forThemeAttribute:@"image" inState:CPThemeStateNormal]; } - (CPImage)image From 1c1affac5ca9ac4c661957ce7e272130cc3fb42a Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sat, 5 May 2018 10:47:24 +0200 Subject: [PATCH 16/95] FIXED: CPTableHeaderView was faulty using inset.right instead of inset.left --- AppKit/CPTableHeaderView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 4c2af01ea..8ec2a5beb 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -89,7 +89,7 @@ var inset = [self currentValueForThemeAttribute:@"text-inset"], bounds = [self bounds]; - [_textField setFrame:CGRectMake(inset.right, inset.top, bounds.size.width - inset.right - inset.left, bounds.size.height - inset.top - inset.bottom)]; + [_textField setFrame:CGRectMake(inset.left, inset.top, bounds.size.width - inset.right - inset.left, bounds.size.height - inset.top - inset.bottom)]; [_textField setTextColor:[self currentValueForThemeAttribute:@"text-color"]]; [_textField setFont:[self currentValueForThemeAttribute:@"font"]]; [_textField setTextShadowColor:[self currentValueForThemeAttribute:@"text-shadow-color"]]; From 93b12eb14f32051e6fbf6f687d06737e36f13916 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Sun, 6 May 2018 14:07:25 +0200 Subject: [PATCH 17/95] Revert "FIXED: click to key window in the background did not bring it forward" (#2702) Fixes #2700 --- AppKit/CPWindow/CPWindow.j | 19 +- .../AppController.j | 42 --- .../Info.plist | 14 - .../Jakefile | 172 --------- .../Resources/MainMenu.cib | 1 - .../Resources/MainMenu.xib | 345 ------------------ .../index-debug.html | 204 ----------- .../index.html | 166 --------- .../KeyWindowInTheBackgroundActivation/main.j | 18 - 9 files changed, 1 insertion(+), 980 deletions(-) delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/index.html delete mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/main.j diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index 98d67e2a0..ad5fd30f5 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -1983,7 +1983,7 @@ CPTexturedBackgroundWindowMask var theWindow = [anEvent window], selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); - if (([theWindow _isFrontmostWindow] && [theWindow isKeyWindow]) || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) + if ([theWindow isKeyWindow] || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) return [_leftMouseDownView performSelector:selector withObject:anEvent]; else { @@ -2114,23 +2114,6 @@ CPTexturedBackgroundWindowMask return [CPApp keyWindow] == self; } -/* @ignore */ -- (BOOL)_isFrontmostWindow -{ - if ([self isFullBridge]) - return YES; - - var orderedWindows = [CPApp orderedWindows]; - - if ([orderedWindows count] == 0) - return YES; - - if ([orderedWindows objectAtIndex:0] === self) - return YES; - - return NO; -} - /*! Makes the window the key window and brings it to the front of the screen list. @param aSender the object requesting this diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j b/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j deleted file mode 100644 index 959fc5541..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j +++ /dev/null @@ -1,42 +0,0 @@ -/* - * AppController.j - * WindowFrontTest - * - * Created by You on January 15, 2018. - * Copyright 2018, Your Company All rights reserved. - */ - -@import -@import - - -@implementation AppController : CPObject -{ - @outlet CPWindow theWindow; - @outlet CPWindow window1; - @outlet CPWindow window2; -} - -- (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]; - - [window1 performSelector:@selector(makeKeyAndOrderFront:) withObject:self afterDelay:0.1]; -} - -- (IBAction)bringWindow2Front:(id)sender -{ - [window2 orderFront:self]; -} - -@end diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist b/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist deleted file mode 100644 index 8016aeaa5..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - Main cib file base name - MainMenu.cib - CPBundleName - WindowFrontTest - CPBundleVersion - 1.0 - CPHumanReadableCopyright - Copyright © 2018, Your Company All rights reserved. - - diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile b/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile deleted file mode 100644 index f158726dc..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Jakefile - * WindowFrontTest - * - * Created by You on January 15, 2018. - * Copyright 2018, 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"), - projectName = "WindowFrontTest"; - -app (projectName, function(task) -{ - ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; - - if (configuration === "Debug") - ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); - - task.setBuildIntermediatesPath(FILE.join("Build", "WindowFrontTest.build", configuration)); - task.setBuildPath(FILE.join("Build", configuration)); - - task.setProductName("WindowFrontTest"); - task.setIdentifier("com.yourcompany.WindowFrontTest"); - task.setVersion("1.0"); - task.setAuthor("Your Company"); - task.setEmail("feedback @nospam@ yourcompany.com"); - task.setSummary("WindowFrontTest"); - task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); - task.setResources(new FileList("Resources/**")); - task.setIndexFilePath("index.html"); - task.setInfoPlistPath("Info.plist"); - - if (configuration === "Debug") - task.setCompilerFlags("-DDEBUG -g"); - else - task.setCompilerFlags("-O2"); -}); - -task ("default", [projectName], function() -{ - printResults(configuration); -}); - -task ("build", ["default"], function() -{ - updateApplicationSize(); -}); - -task ("debug", function() -{ - configuration = ENV["CONFIGURATION"] = "Debug"; - JAKE.subjake(["."], "build", ENV); -}); - -task ("release", function() -{ - configuration = ENV["CONFIGURATION"] = "Release"; - JAKE.subjake(["."], "build", ENV); -}); - -task ("run", ["debug"], function() -{ - OS.system(["open", FILE.join("Build", "Debug", projectName, "index.html")]); -}); - -task ("run-release", ["release"], function() -{ - OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]); -}); - -task ("deploy", ["release"], function() -{ - FILE.mkdirs(FILE.join("Build", "Deployment", projectName)); - OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]); - printResults("Deployment") -}); - -function printResults(configuration) -{ - print("----------------------------"); - print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName)); - print("----------------------------"); -} - -function updateApplicationSize() -{ - print("Calculating application file sizes..."); - - var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), - format = CFPropertyList.sniffedFormatOfString(contents), - plist = CFPropertyList.propertyListFromString(contents), - totalBytes = {executable:0, data:0, mhtml:0}; - - // Get the size of all framework executables and sprite data - var frameworksDir = "Frameworks"; - - if (configuration === "Debug") - frameworksDir = FILE.join(frameworksDir, "Debug"); - - var frameworks = FILE.list(frameworksDir); - - frameworks.forEach(function(framework) - { - if (framework !== "Source") - addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes); - }); - - // Read in the default theme name, and attempt to get its size - var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2", - themePath = nil; - - if (themeName === "Aristo" || themeName === "Aristo2") - themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend"); - else - themePath = FILE.join("Frameworks", "Resources", themeName + ".blend"); - - if (FILE.isDirectory(themePath)) - addBundleFileSizes(themePath, totalBytes); - - // Add sizes for the app - addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); - - print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); - - var dict = new CFMutableDictionary(); - - dict.setValueForKey("executable", totalBytes.executable); - dict.setValueForKey("data", totalBytes.data); - dict.setValueForKey("mhtml", totalBytes.mhtml); - - plist.setValueForKey("CPApplicationSize", dict); - - FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); -} - -function addBundleFileSizes(bundlePath, totalBytes) -{ - var bundleName = FILE.basename(bundlePath), - environment = bundleName === "Foundation" ? "Objj" : "Browser", - bundlePath = FILE.join(bundlePath, environment + ".environment"); - - if (FILE.isDirectory(bundlePath)) - { - var filename = bundleName + ".sj", - filePath = new FILE.Path(FILE.join(bundlePath, filename)); - - if (filePath.exists()) - totalBytes.executable += filePath.size(); - - filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt")); - - if (filePath.exists()) - totalBytes.data += filePath.size(); - - filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt")); - - if (filePath.exists()) - totalBytes.mhtml += filePath.size(); - - filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt")); - - if (filePath.exists()) - totalBytes.mhtml += filePath.size(); - } -} diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib deleted file mode 100644 index 20d490fd8..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib +++ /dev/null @@ -1 +0,0 @@ -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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;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;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;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;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;54E;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;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;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;124E;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;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;135E;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;11E;D;K;6;CP$UIDd;2;11E;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;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;114E;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;115E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;135E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;136E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;137E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;124E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;132E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;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;19E;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;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;146E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;136E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;176E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;177E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;178E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;59E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;59E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;179E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;182E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;184E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;190E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;66E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;66E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;192E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;194E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;196E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;198E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;70E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;198E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;199E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;201E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;203E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;205E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;207E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;209E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;210E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;78E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;78E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;210E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;212E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;213E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;214E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;215E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;216E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;217E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;218E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;219E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;220E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;221E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;223E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;224E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;225E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;89E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;89E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;225E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;227E;K;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;230E;K;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;233E;K;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;236E;K;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;237E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;238E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;239E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;240E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;241E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;96E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;241E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;243E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;244E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;246E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;247E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;102E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;249E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;251E;K;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;252E;K;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;253E;K;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;107E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;257E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;111E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;111E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;261E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;264E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;115E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;115E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;264E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;265E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;268E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;269E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;270E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;271E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;121E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;271E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;273E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;274E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;277E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;278E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;279E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;237E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;264E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;126E;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;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;287E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;289E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;290E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;291E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;292E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;293E;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;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;129E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;294E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;295E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;129E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;296E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;297E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;298E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;280E;K;6;$afontD;K;6;CP$UIDd;3;300E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;280E;K;11;$aalignmentD;K;6;CP$UIDd;3;231E;K;7;$aimageD;K;6;CP$UIDd;3;302E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;303E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;280E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;304E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;280E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;305E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;306E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;186E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;280E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;185E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;231E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;280E;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;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;308E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;289E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;309E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;291E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;311E;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;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;133E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;133E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;296E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;314E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;315E;K;6;$afontD;K;6;CP$UIDd;3;316E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;280E;K;11;$aalignmentD;K;6;CP$UIDd;3;231E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;317E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;304E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;280E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;305E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;187E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;320E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;280E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;231E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;187E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;185E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;187E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;E;E;S;8;delegateS;9;theWindowS;7;window1S;7;window2S;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;10;terminate: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;18;bringWindow2Front:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;120E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;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;63E;D;K;6;CP$UIDd;2;64E;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;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;68E;D;K;6;CP$UIDd;2;69E;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;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;71E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;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;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;95E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;106E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;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;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;E;E;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;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;3;104E;D;K;6;CP$UIDd;3;105E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;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;113E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;18;Customize Toolbar…S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;E;E;S;19;NewApplication HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 128}, {480, 360}}S;21;{{0, 0}, {1440, 878}}d;1;0S;20;{{0, 0}, {480, 360}}S;6;normalS;6;{1, 1}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;AppControllerd;10;1618478080S;24;{{157, 107}, {480, 270}}S;22;{{0, 0}, {2560, 1417}}d;2;15S;8;Window 1S;20;{{0, 0}, {480, 270}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;131E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{151, 125}, {178, 25}}S;19;{{0, 0}, {178, 25}}d;2;36S;6;buttonS;27;bordered+controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;321E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;185E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;185E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;301E;K;4;nameD;K;6;CP$UIDd;3;322E;K;12;defaultValueD;K;6;CP$UIDd;3;324E;K;5;stateD;K;6;CP$UIDd;3;325E;K;5;valueD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;4d;2;-1S;23;Bring Window 2 To Frontd;2;14S;24;{{246, 251}, {480, 270}}S;8;Window 2D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{50, 114}, {380, 42}}S;19;{{0, 0}, {380, 42}}S;9;textfieldS;18;controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;327E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;289E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;185E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;71;This is window 2--bet you can't click on window 1 to bring it to front!D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;319E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;328E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;329E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;E;S;28;_CPFontSystemFacePlaceholderS;5;imageD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;323E;E;S;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;330E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;331E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;187E;E;S;5;ArialD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;228E;E;E;S;5;colorS;18;.AppleSystemUIFontd;2;13f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib deleted file mode 100644 index b9721bd11..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html b/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html deleted file mode 100644 index c4de7ac52..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - - - - - - - - - - - - WindowFrontTest - - - - - - - - - - - - - - -
-
-
- -
-
- -
- - diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html b/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html deleted file mode 100644 index 6fd788486..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - WindowFrontTest - - - - - - - - - - - - -
-
-
- -
-
- -
- - diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j b/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j deleted file mode 100644 index cb26b4ad7..000000000 --- a/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j +++ /dev/null @@ -1,18 +0,0 @@ -/* - * AppController.j - * WindowFrontTest - * - * Created by You on January 15, 2018. - * Copyright 2018, Your Company All rights reserved. - */ - -@import -@import - -@import "AppController.j" - - -function main(args, namedArgs) -{ - CPApplicationMain(args, namedArgs); -} From bbb5aea77de6c9e35a4d6c9bbe0dacc4432b1ab9 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 7 May 2018 19:54:46 +0200 Subject: [PATCH 18/95] FIXED: CPTableView was using hard coded values instead of theme attributes (#2698) --- AppKit/CPTableView.j | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 989339290..cf5e1792b 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -368,7 +368,8 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; @"dropview-above-border-color": [CPNull null], @"dropview-above-border-width": [CPNull null], @"dropview-above-selected-border-color": [CPNull null], - @"dropview-above-selected-border-width": [CPNull null] + @"dropview-above-selected-border-width": [CPNull null], + @"header-view-height": [CPNull null] }; } @@ -390,8 +391,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; _selectionHighlightStyle = CPTableViewSelectionHighlightStyleRegular; [self setUsesAlternatingRowBackgroundColors:NO]; - [self setAlternatingRowBackgroundColors: - [[CPColor whiteColor], [CPColor colorWithRed:245.0 / 255.0 green:249.0 / 255.0 blue:252.0 / 255.0 alpha:1.0]]]; + [self setAlternatingRowBackgroundColors:[self valueForThemeAttribute:@"alternating-row-colors"]]; _tableColumns = []; _tableColumnRanges = []; @@ -401,10 +401,10 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; _intercellSpacing = CGSizeMake(3.0, 2.0); _rowHeight = [self valueForThemeAttribute:@"default-row-height"]; - [self setGridColor:[CPColor colorWithHexString:@"dce0e2"]]; + [self setGridColor:[self valueForThemeAttribute:@"grid-color"]]; [self setGridStyleMask:CPTableViewGridNone]; - [self setHeaderView:[[CPTableHeaderView alloc] initWithFrame:CGRectMake(0, 0, [self bounds].size.width, _rowHeight)]]; + [self setHeaderView:[[CPTableHeaderView alloc] initWithFrame:CGRectMake(0, 0, [self bounds].size.width, [self valueForThemeAttribute:@"header-view-height"] || _rowHeight)]]; [self setCornerView:[[_CPCornerView alloc] initWithFrame:CGRectMake(0, 0, [CPScroller scrollerWidth], CGRectGetHeight([_headerView frame]))]]; _currentHighlightedTableColumn = nil; From 437e5a62f17cb4a4fd94743a7541cf868b8c22f3 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 7 May 2018 19:57:01 +0200 Subject: [PATCH 19/95] FIXED: CPSearchField -(void)resetSearchButton was using valueForThemeAttribute instead of currentValueForThemeAttribute (#2692) --- AppKit/CPSearchField.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index b6f42ba75..d60182cd3 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -177,7 +177,7 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat - (void)resetSearchButton { var button = [self searchButton], - searchButtonImage = (_searchMenuTemplate === nil) ? [self valueForThemeAttribute:@"image-search"] : [self valueForThemeAttribute:@"image-find"]; + searchButtonImage = (_searchMenuTemplate === nil) ? [self currentValueForThemeAttribute:@"image-search"] : [self currentValueForThemeAttribute:@"image-find"]; [button setBordered:NO]; [button setImageScaling:CPImageScaleAxesIndependently]; From acfbda0d91d6ca79d317d469a36254ea0c06f8e4 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 7 May 2018 19:57:35 +0200 Subject: [PATCH 20/95] FIXED: CPSearchMenu _updateSearchMenu wasn't disabling autoenabling of menu items (#2693) --- AppKit/CPSearchField.j | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index d60182cd3..f58e5543f 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -608,6 +608,8 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat countOfRecents = [_recentSearches count], numberOfItems = [_searchMenuTemplate numberOfItems]; + [menu setAutoenablesItems:NO]; + for (var i = 0; i < numberOfItems; i++) { var item = [[_searchMenuTemplate itemAtIndex:i] copy]; From 5ea58430fef0d92269f38c51fd2bbae268c73ba9 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 7 May 2018 20:05:49 +0200 Subject: [PATCH 21/95] fixed: typo in theme attribute name (#2683) --- AppKit/CPWindow/_CPBorderlessBridgeWindowView.j | 2 +- AppKit/Themes/Aristo2/ThemeDescriptors.j | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j b/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j index 26fe1fe6f..202aa9880 100644 --- a/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j +++ b/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j @@ -29,7 +29,7 @@ + (CPString)defaultThemeClass { - return @"bordeless-bridge-window-view"; + return @"borderless-bridge-window-view"; } + (CPDictionary)themeAttributes diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j index 391bf8503..2ca0b8727 100644 --- a/AppKit/Themes/Aristo2/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -2869,7 +2869,7 @@ var themedButtonValues = nil, + (_CPBorderlessBridgeWindowView)themedBorderlessBridgeWindowView { - var bordelessBridgeWindowView = [[_CPBorderlessBridgeWindowView alloc] initWithFrame:CGRectMake(0,0,0,0)], + var borderlessBridgeWindowView = [[_CPBorderlessBridgeWindowView alloc] initWithFrame:CGRectMake(0,0,0,0)], toolbarBackgroundColor = PatternColor( [ @@ -2883,9 +2883,9 @@ var themedButtonValues = nil, [@"toolbar-background-color", toolbarBackgroundColor] ]; - [self registerThemeValues:themeValues forView:bordelessBridgeWindowView inherit:themedWindowViewValues]; + [self registerThemeValues:themeValues forView:borderlessBridgeWindowView inherit:themedWindowViewValues]; - return bordelessBridgeWindowView; + return borderlessBridgeWindowView; } + (_CPToolbarView)themedToolbarView From 5cd284cb369cbaf3b5db252d7feddadd4306b381 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 7 May 2018 21:52:06 +0200 Subject: [PATCH 22/95] FIXED: CPSearchField menu diverged from modern Cocoa (#2697) --- AppKit/CPSearchField.j | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index f58e5543f..4c65f04dc 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -531,19 +531,16 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat } /*! - Provides the common case items for a recent searches menu. If there are not recent searches, - displays a single disabled item: - - No Recent Searches + Provides the common case items for a recent searches menu. If there are 1 more recent searches, it displays: - Recent Searches - recent search 1 - recent search 2 - etc. + Clear --------------------- - Clear Recent Searches + Recent Searches + recent search 1 + recent search 2 + etc. If you wish to add items before or after the template, you can. If you put items before, a separator will automatically be placed before the default template item. @@ -568,6 +565,13 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat var template = [[CPMenu alloc] init], item; + item = [[CPMenuItem alloc] initWithTitle:@"Clear" + action:@selector(_searchFieldClearRecents:) + keyEquivalent:@""]; + [item setTag:CPSearchFieldClearRecentsMenuItemTag]; + [item setTarget:self]; + [template addItem:item]; + item = [[CPMenuItem alloc] initWithTitle:@"Recent Searches" action:nil keyEquivalent:@""]; @@ -582,20 +586,6 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat [item setTarget:self]; [template addItem:item]; - item = [[CPMenuItem alloc] initWithTitle:@"Clear Recent Searches" - action:@selector(_searchFieldClearRecents:) - keyEquivalent:@""]; - [item setTag:CPSearchFieldClearRecentsMenuItemTag]; - [item setTarget:self]; - [template addItem:item]; - - item = [[CPMenuItem alloc] initWithTitle:@"No Recent Searches" - action:nil - keyEquivalent:@""]; - [item setTag:CPSearchFieldNoRecentsMenuItemTag]; - [item setEnabled:NO]; - [template addItem:item]; - return template; } @@ -633,7 +623,6 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat var recentItem = [[CPMenuItem alloc] initWithTitle:[_recentSearches objectAtIndex:recentIndex] action:itemAction keyEquivalent:[item keyEquivalent]]; - [recentItem setIndentationLevel:1]; [item setTarget:self]; [menu addItem:recentItem]; } @@ -691,7 +680,7 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat - (void)_showMenu { - if (_searchMenu === nil || [_searchMenu numberOfItems] === 0 || ![self isEnabled]) + if (_searchMenu === nil || [_searchMenu numberOfItems] === 0 || ![self isEnabled] || ([_recentSearches count] === 0)) return; var aFrame = [[self superview] convertRect:[self frame] toView:nil], From 4462d8bf22a569647a2286baf935eb0672677978 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sun, 13 May 2018 19:40:33 +0200 Subject: [PATCH 23/95] CHANGED: CPSegmentedControl code refactoring (#2704) --- AppKit/CPSegmentedControl.j | 98 +++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 47 deletions(-) diff --git a/AppKit/CPSegmentedControl.j b/AppKit/CPSegmentedControl.j index bd9ec8e04..9a42a8cab 100644 --- a/AppKit/CPSegmentedControl.j +++ b/AppKit/CPSegmentedControl.j @@ -872,64 +872,68 @@ CPSegmentSwitchTrackingMomentary = 2; var type = [anEvent type], location = [self convertPoint:[anEvent locationInWindow] fromView:nil]; - if (type == CPLeftMouseUp) + switch (type) { - if (_trackingSegment == -1) + case CPLeftMouseUp: + + if (_trackingSegment === CPNotFound) + return; + + if (_trackingSegment === [self testSegment:location]) + { + if (_trackingMode == CPSegmentSwitchTrackingSelectAny) + { + [self setSelected:![self isSelectedForSegment:_trackingSegment] forSegment:_trackingSegment]; + + // With ANY, _selectedSegment means last pressed. + _selectedSegment = _trackingSegment; + } + else + [self setSelected:YES forSegment:_trackingSegment]; + + [self sendAction:[self action] to:[self target]]; + + if (_trackingMode == CPSegmentSwitchTrackingMomentary) + { + [self setSelected:NO forSegment:_trackingSegment]; + + _selectedSegment = CPNotFound; + } + } + + [self drawSegmentBezel:_trackingSegment highlight:NO]; + + _trackingSegment = CPNotFound; + return; - if (_trackingSegment === [self testSegment:location]) - { - if (_trackingMode == CPSegmentSwitchTrackingSelectAny) + case CPLeftMouseDown: + + var trackingSegment = [self testSegment:location]; + if (trackingSegment > CPNotFound && [self isEnabledForSegment:trackingSegment]) { - [self setSelected:![self isSelectedForSegment:_trackingSegment] forSegment:_trackingSegment]; - - // With ANY, _selectedSegment means last pressed. - _selectedSegment = _trackingSegment; + _trackingHighlighted = YES; + _trackingSegment = trackingSegment; + [self drawSegmentBezel:_trackingSegment highlight:YES]; } - else - [self setSelected:YES forSegment:_trackingSegment]; - [self sendAction:[self action] to:[self target]]; + break; - if (_trackingMode == CPSegmentSwitchTrackingMomentary) + case CPLeftMouseDragged: + + if (_trackingSegment === CPNotFound) + return; + + var highlighted = [self testSegment:location] === _trackingSegment; + + if (highlighted != _trackingHighlighted) { - [self setSelected:NO forSegment:_trackingSegment]; + _trackingHighlighted = highlighted; - _selectedSegment = CPNotFound; + [self drawSegmentBezel:_trackingSegment highlight:_trackingHighlighted]; } - } - [self drawSegmentBezel:_trackingSegment highlight:NO]; - - _trackingSegment = -1; - - return; - } - - if (type == CPLeftMouseDown) - { - var trackingSegment = [self testSegment:location]; - if (trackingSegment > -1 && [self isEnabledForSegment:trackingSegment]) - { - _trackingHighlighted = YES; - _trackingSegment = trackingSegment; - [self drawSegmentBezel:_trackingSegment highlight:YES]; - } - } - - else if (type == CPLeftMouseDragged) - { - if (_trackingSegment == -1) - return; - - var highlighted = [self testSegment:location] === _trackingSegment; - - if (highlighted != _trackingHighlighted) - { - _trackingHighlighted = highlighted; - - [self drawSegmentBezel:_trackingSegment highlight:_trackingHighlighted]; - } + break; } [CPApp setTarget:self selector:@selector(trackSegment:) forNextEventMatchingMask:CPLeftMouseDraggedMask | CPLeftMouseUpMask untilDate:nil inMode:nil dequeue:YES]; From e27bb4de5086aeb97b5f5ca27762d237d9665de9 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sun, 13 May 2018 19:47:53 +0200 Subject: [PATCH 24/95] FIXED: _CPTableColumnHeaderView was using hard coded values instead of theme values (#2703) --- AppKit/CPTableHeaderView.j | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 8ec2a5beb..971bfeaa8 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -66,18 +66,20 @@ - (void)_init { + var inset = [self valueForThemeAttribute:@"text-inset"]; + _textField = [[_CPImageAndTextView alloc] initWithFrame: - CGRectMake(5.0, 0.0, CGRectGetWidth([self bounds]) - 10.0, CGRectGetHeight([self bounds]))]; + CGRectMake(inset.left, inset.top, CGRectGetWidth([self bounds]) - (inset.left + inset.right), CGRectGetHeight([self bounds]) - (inset.top + inset.bottom))]; [_textField setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; - [_textField setLineBreakMode:CPLineBreakByTruncatingTail]; - [_textField setTextColor:[CPColor colorWithRed:51.0 / 255.0 green:51.0 / 255.0 blue:51.0 / 255.0 alpha:1.0]]; - [_textField setFont:[CPFont boldSystemFontOfSize:12.0]]; - [_textField setAlignment:CPLeftTextAlignment]; + [_textField setLineBreakMode:[self valueForThemeAttribute:@"line-break-mode"]]; + [_textField setTextColor:[self valueForThemeAttribute:@"text-color"]]; + [_textField setFont:[self valueForThemeAttribute:@"font"]]; + [_textField setAlignment:[self valueForThemeAttribute:@"text-alignment"]]; [_textField setVerticalAlignment:CPCenterVerticalTextAlignment]; - [_textField setTextShadowColor:[CPColor whiteColor]]; - [_textField setTextShadowOffset:CGSizeMake(0,1)]; + [_textField setTextShadowColor:[self valueForThemeAttribute:@"text-shadow-color"]]; + [_textField setTextShadowOffset:[self valueForThemeAttribute:@"text-shadow-offset"]]; [self addSubview:_textField]; } From 61d97338e2a91cf73000dd1144fb0bd63165ee19 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sun, 13 May 2018 19:48:33 +0200 Subject: [PATCH 25/95] FIXED: _CPMenuItemStandardView was bypassing theme for disabled text color (#2695) --- AppKit/CPMenuItem/_CPMenuItemStandardView.j | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AppKit/CPMenuItem/_CPMenuItemStandardView.j b/AppKit/CPMenuItem/_CPMenuItemStandardView.j index f7112befb..abfd1fead 100644 --- a/AppKit/CPMenuItem/_CPMenuItemStandardView.j +++ b/AppKit/CPMenuItem/_CPMenuItemStandardView.j @@ -55,6 +55,7 @@ @"menu-item-selection-color": [CPNull null], @"menu-item-text-shadow-color": [CPNull null], @"menu-item-text-color": [CPNull null], + @"menu-item-disabled-text-color": [CPColor lightGrayColor], @"menu-item-default-off-state-image": [CPNull null], @"menu-item-default-off-state-highlighted-image": [CPNull null], @"menu-item-default-on-state-image": [CPNull null], @@ -124,7 +125,7 @@ - (CPColor)textColor { if (![_menuItem isEnabled]) - return [CPColor lightGrayColor]; + return [self valueForThemeAttribute:@"menu-item-disabled-text-color"]; if (_highlighted) return [CPColor whiteColor]; From 3650c38aa9e9235eadf60a126af3502094747d60 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sun, 13 May 2018 19:49:18 +0200 Subject: [PATCH 26/95] FIXED: In CPSearchField, the space between the magnifier and the textfield was hard coded (#2690) --- AppKit/CPSearchField.j | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index 4c65f04dc..a92c792e9 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -73,7 +73,8 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat @"image-cancel": [CPNull null], @"image-cancel-pressed": [CPNull null], @"image-search-inset" : CGInsetMake(0, 0, 0, 5), - @"image-cancel-inset" : CGInsetMake(0, 5, 0, 0) + @"image-cancel-inset" : CGInsetMake(0, 5, 0, 0), + @"search-right-margin": 2 }; } @@ -246,8 +247,9 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat if (_searchButton) { - var searchBounds = [self searchButtonRectForBounds:bounds]; - leftOffset = CGRectGetMaxX(searchBounds) + 2; + var searchBounds = [self searchButtonRectForBounds:bounds], + rightMargin = [self currentValueForThemeAttribute:@"search-right-margin"]; + leftOffset = CGRectGetMaxX(searchBounds) + rightMargin; } if (_cancelButton) From ff0ce164da386e2b4a37d34885e27cf6884ccd5f Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 14 May 2018 07:10:43 +0200 Subject: [PATCH 27/95] FIXED: CPTabView tabs were not reacting as in modern Cocoa (#2694) Before this commit, the segments of a tab view were selected at mouse down. Now, they are selected at mouse up and there is a visible feedback when tracking tabs. --- AppKit/CPTabView.j | 89 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 11 deletions(-) diff --git a/AppKit/CPTabView.j b/AppKit/CPTabView.j index 80c15e12c..84f6907ed 100644 --- a/AppKit/CPTabView.j +++ b/AppKit/CPTabView.j @@ -35,6 +35,7 @@ CPNoTabsLineBorder = 5; //Has no tabs and displays a line border. CPNoTabsNoBorder = 6; //Displays no tabs and no border. @class _CPTabViewBox +@class _CPSegmentedControl var CPTabViewDidSelectTabViewItemSelector = 1 << 1, CPTabViewShouldSelectTabViewItemSelector = 1 << 2, @@ -65,7 +66,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, { CPArray _items; - CPSegmentedControl _tabs; + _CPSegmentedControl _tabs; _CPTabViewBox _box; CPView _placeholderView @accessors; @@ -92,8 +93,8 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, - (void)_init { - _tabs = [[CPSegmentedControl alloc] initWithFrame:CGRectMakeZero()]; - [_tabs setHitTests:NO]; + _tabs = [[_CPSegmentedControl alloc] initWithFrame:CGRectMakeZero()]; + [_tabs setTabView:self]; [_tabs setSegments:[CPArray array]]; var height = [_tabs valueForThemeAttribute:@"min-size"].height; @@ -525,14 +526,6 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, return [_box backgroundColor]; } -- (void)mouseDown:(CPEvent)anEvent -{ - var segmentIndex = [_tabs testSegment:[_tabs convertPoint:[anEvent locationInWindow] fromView:nil]]; - - if (segmentIndex != CPNotFound && [self selectTabViewItemAtIndex:segmentIndex]) - [_tabs trackSegment:anEvent]; -} - - (void)_repositionTabs { var horizontalCenterOfSelf = CGRectGetWidth([self bounds]) / 2, @@ -887,3 +880,77 @@ var CPTabViewItemsKey = "CPTabViewItemsKey", } @end + +# pragma mark - + +// This subclass of CPSegmentedControl implements specific behaviour needed by CPTabView, which +// differs in some ways from normal CPSegmentedControl habits : +// +// - all items are enabled +// - when you select a tab (mouse down, holding) and drag upon another tab, the second one reacts +// (showing a pushed state) and can then be selected by releasing the mouse over it. +// - a delegate has the opportunity to accept or not the selection of an item + +@implementation _CPSegmentedControl : CPSegmentedControl +{ + CPTabView _tabView @accessors(property=tabView); +} + +- (void)trackSegment:(CPEvent)anEvent +{ + var type = [anEvent type], + location = [self convertPoint:[anEvent locationInWindow] fromView:nil], + currentSegment = [self testSegment:location]; + + switch (type) + { + case CPLeftMouseUp: + + if (_trackingSegment === CPNotFound) + return; + + if ((_trackingSegment !== _selectedSegment) && + [_tabView _sendDelegateShouldSelectTabViewItem:[_tabView tabViewItemAtIndex:_trackingSegment]]) + { + [self setSelected:YES forSegment:_trackingSegment]; + _selectedSegment = _trackingSegment; + [_tabView selectTabViewItemAtIndex:_selectedSegment]; + } + + [self drawSegmentBezel:_trackingSegment highlight:NO]; + + _trackingSegment = CPNotFound; + + return; + + case CPLeftMouseDown: + + if (currentSegment > CPNotFound) + { + _trackingSegment = currentSegment; + [self drawSegmentBezel:_trackingSegment highlight:YES]; + } + + break; + + case CPLeftMouseDragged: + + if (_trackingSegment !== currentSegment) + { + if (_trackingSegment > CPNotFound) + [self drawSegmentBezel:_trackingSegment highlight:NO]; + + _trackingSegment = currentSegment; + + if (_trackingSegment > CPNotFound) + [self drawSegmentBezel:_trackingSegment highlight:YES]; + } + + break; + } + + [CPApp setTarget:self selector:@selector(trackSegment:) forNextEventMatchingMask:CPLeftMouseDraggedMask | CPLeftMouseUpMask untilDate:nil inMode:nil dequeue:YES]; +} + +@end + From 0a542f9be9d22e549ae8377574c94c149c536b0c Mon Sep 17 00:00:00 2001 From: cacaodev Date: Thu, 17 May 2018 05:48:59 +0200 Subject: [PATCH 28/95] Revert "FIXED: _CPTableColumnHeaderView was using hard coded values instead of theme values (#2703)" This reverts commit e27bb4de5086aeb97b5f5ca27762d237d9665de9. --- AppKit/CPTableHeaderView.j | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 971bfeaa8..8ec2a5beb 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -66,20 +66,18 @@ - (void)_init { - var inset = [self valueForThemeAttribute:@"text-inset"]; - _textField = [[_CPImageAndTextView alloc] initWithFrame: - CGRectMake(inset.left, inset.top, CGRectGetWidth([self bounds]) - (inset.left + inset.right), CGRectGetHeight([self bounds]) - (inset.top + inset.bottom))]; + CGRectMake(5.0, 0.0, CGRectGetWidth([self bounds]) - 10.0, CGRectGetHeight([self bounds]))]; [_textField setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; - [_textField setLineBreakMode:[self valueForThemeAttribute:@"line-break-mode"]]; - [_textField setTextColor:[self valueForThemeAttribute:@"text-color"]]; - [_textField setFont:[self valueForThemeAttribute:@"font"]]; - [_textField setAlignment:[self valueForThemeAttribute:@"text-alignment"]]; + [_textField setLineBreakMode:CPLineBreakByTruncatingTail]; + [_textField setTextColor:[CPColor colorWithRed:51.0 / 255.0 green:51.0 / 255.0 blue:51.0 / 255.0 alpha:1.0]]; + [_textField setFont:[CPFont boldSystemFontOfSize:12.0]]; + [_textField setAlignment:CPLeftTextAlignment]; [_textField setVerticalAlignment:CPCenterVerticalTextAlignment]; - [_textField setTextShadowColor:[self valueForThemeAttribute:@"text-shadow-color"]]; - [_textField setTextShadowOffset:[self valueForThemeAttribute:@"text-shadow-offset"]]; + [_textField setTextShadowColor:[CPColor whiteColor]]; + [_textField setTextShadowOffset:CGSizeMake(0,1)]; [self addSubview:_textField]; } From ad9d8a7200ce793a41e00dd8ab3562492be33198 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 28 May 2018 20:44:31 +0200 Subject: [PATCH 29/95] FIXED: When attaching an externally owned tracking area to a view, view tracking areas were not correctly handled (#2681) This PR also removes the -removeAllTrackingAreas method. --- AppKit/CPControl.j | 17 ++++++++++++----- AppKit/CPSplitView.j | 27 ++++++++++++++++++++++----- AppKit/CPTableHeaderView.j | 27 ++++++++++++++++++++++----- AppKit/CPTextField.j | 21 ++++++++++++++++----- AppKit/CPView.j | 31 +++++++++---------------------- AppKit/CPWindow/_CPWindowView.j | 17 ++++++++++++----- Tests/AppKit/CPViewTest.j | 11 +++++++---- 7 files changed, 100 insertions(+), 51 deletions(-) diff --git a/AppKit/CPControl.j b/AppKit/CPControl.j index 94286202a..f3fbb289f 100644 --- a/AppKit/CPControl.j +++ b/AppKit/CPControl.j @@ -1057,14 +1057,21 @@ var CPControlBlackColor = [CPColor blackColor]; @end @implementation CPControl (CPTrackingArea) +{ + CPTrackingArea _controlTrackingArea; +} - (void)updateTrackingAreas { - [self removeAllTrackingAreas]; - [self addTrackingArea:[[CPTrackingArea alloc] initWithRect:CGRectMakeZero() - options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow | CPTrackingInVisibleRect - owner:self - userInfo:nil]]; + if (_controlTrackingArea) + [self removeTrackingArea:_controlTrackingArea]; + + _controlTrackingArea = [[CPTrackingArea alloc] initWithRect:CGRectMakeZero() + options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow | CPTrackingInVisibleRect + owner:self + userInfo:nil]; + [self addTrackingArea:_controlTrackingArea]; + [super updateTrackingAreas]; } @end diff --git a/AppKit/CPSplitView.j b/AppKit/CPSplitView.j index 2db96912e..78c51553c 100644 --- a/AppKit/CPSplitView.j +++ b/AppKit/CPSplitView.j @@ -1201,18 +1201,35 @@ The sum of the views and the sum of the dividers should be equal to the size of @end @implementation CPSplitView (CPTrackingArea) +{ + CPMutableArray _splitViewTrackingAreas; +} - (void)updateTrackingAreas { - [self removeAllTrackingAreas]; + if (_splitViewTrackingAreas) + { + for (var i = 0, count = [_splitViewTrackingAreas count]; i < count; i++) + [self removeTrackingArea:_splitViewTrackingAreas[i]]; + + _splitViewTrackingAreas = nil; + } var options = CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow; + _splitViewTrackingAreas = @[]; + for (var i = 0; i < _subviews.length - 1; i++) - [self addTrackingArea:[[CPTrackingArea alloc] initWithRect:[self effectiveRectOfDividerAtIndex:i] - options:options - owner:self - userInfo:nil]]; + { + [_splitViewTrackingAreas addObject:[[CPTrackingArea alloc] initWithRect:[self effectiveRectOfDividerAtIndex:i] + options:options + owner:self + userInfo:nil]]; + + [self addTrackingArea:_splitViewTrackingAreas[i]]; + } + + [super updateTrackingAreas]; } - (void)cursorUpdate:(CPEvent)anEvent diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 8ec2a5beb..fd67c93a9 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -461,21 +461,38 @@ var CPTableHeaderViewResizeZone = 3.0, @end @implementation CPTableHeaderView (CPTrackingArea) +{ + CPMutableArray _tableHeaderViewTrackingAreas; +} - (void)updateTrackingAreas { - [self removeAllTrackingAreas]; + if (_tableHeaderViewTrackingAreas) + { + for (var i = 0, count = [_tableHeaderViewTrackingAreas count]; i < count; i++) + [self removeTrackingArea:_tableHeaderViewTrackingAreas[i]]; + + _tableHeaderViewTrackingAreas = nil; + } var options = CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow; if (!_tableView) return; + _tableHeaderViewTrackingAreas = @[]; + for (var i = 0; i < _tableView._tableColumns.length; i++) - [self addTrackingArea:[[CPTrackingArea alloc] initWithRect:[self _cursorRectForColumn:i] - options:options - owner:self - userInfo:nil]]; + { + [_tableHeaderViewTrackingAreas addObject:[[CPTrackingArea alloc] initWithRect:[self _cursorRectForColumn:i] + options:options + owner:self + userInfo:nil]]; + + [self addTrackingArea:_tableHeaderViewTrackingAreas[i]]; + } + + [super updateTrackingAreas]; } - (void)cursorUpdate:(CPEvent)anEvent diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 6eefbc083..00b15a227 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -2183,21 +2183,32 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey", @end @implementation CPTextField (CPTrackingArea) +{ + CPTrackingArea _textFieldTrackingArea; +} - (void)updateTrackingAreas { - [self removeAllTrackingAreas]; + if (_textFieldTrackingArea) + { + [self removeTrackingArea:_textFieldTrackingArea]; + _textFieldTrackingArea = nil; + } if ([self isEnabled] && (_isEditable || _isSelectable)) { var myBounds = CGRectMakeCopy([self bounds]), contentInset = [self currentValueForThemeAttribute:@"content-inset"]; + + _textFieldTrackingArea = [[CPTrackingArea alloc] initWithRect:CGRectInsetByInset(myBounds, contentInset) + options:CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow + owner:self + userInfo:nil]; - [self addTrackingArea:[[CPTrackingArea alloc] initWithRect:CGRectInsetByInset(myBounds, contentInset) - options:CPTrackingMouseEnteredAndExited | CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow - owner:self - userInfo:nil]]; + [self addTrackingArea:_textFieldTrackingArea]; } + + [super updateTrackingAreas]; } - (void)cursorUpdate:(CPEvent)anEvent diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 058865f69..c879b4cd2 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -428,7 +428,12 @@ var CPViewHighDPIDrawingEnabled = YES; _inhibitDOMUpdates = NO; _forceUpdates = NO; - } + + // We force here an updateTrackingAreas in order to let the view install its own tracking areas + // in the case where an externally owned tracking area is installed on this view before putting + // it in the view hierarchy. + [self updateTrackingAreas]; +} return self; } @@ -3600,11 +3605,12 @@ setBoundsOrigin: /*! Invoked automatically when the view’s geometry changes such that its tracking areas need to be recalculated. - You should override this method to remove out of date tracking areas and add recomputed tracking areas; + You should override this method to remove out of date tracking areas, add recomputed tracking areas and then call super; Cocoa calls this on every view, whereas they have tracking area(s) or not. Cappuccino behaves differently : - - updateTrackingAreas is called when placing a view in the view hierarchy (that is in a window) + - updateTrackingAreas is called during initWithFrame + - updateTrackingAreas is also called when placing a view in the view hierarchy (that is in a window) - if you have only CPTrackingInVisibleRect tracking areas attached to a view, it will not be called again (until you move the view in the hierarchy) - if you have at least one non-CPTrackingInVisibleRect tracking area attached, it will be called every time the view geometry could be modified You don't have to touch to CPTrackingInVisibleRect tracking areas, they will be automatically updated @@ -3618,25 +3624,6 @@ setBoundsOrigin: } -/*! - This utility method is intended for CPView subclasses overriding updateTrackingAreas - - Typical use would be : - - - (void)updateTrackingAreas - { - [self removeAllTrackingAreas]; - - ... add your specific updated tracking areas ... - } - -*/ -- (void)removeAllTrackingAreas -{ - while (_trackingAreas.length > 0) - [self _removeTrackingArea:_trackingAreas[0]]; -} - // Internal methods - (void)_removeTrackingArea:(CPTrackingArea)trackingArea diff --git a/AppKit/CPWindow/_CPWindowView.j b/AppKit/CPWindow/_CPWindowView.j index ead0d2fcf..50d90b5c4 100644 --- a/AppKit/CPWindow/_CPWindowView.j +++ b/AppKit/CPWindow/_CPWindowView.j @@ -984,15 +984,22 @@ _CPWindowViewResizeSlop = 3; @end @implementation _CPWindowView (TrackingAreaAdditions) +{ + CPTrackingArea _windowViewTrackingArea; +} - (void)updateTrackingAreas { - [self removeAllTrackingAreas]; + if (_windowViewTrackingArea) + [self removeTrackingArea:_windowViewTrackingArea]; - [self addTrackingArea:[[CPTrackingArea alloc] initWithRect:[self contentRectForFrameRect:[self frame]] - options:CPTrackingCursorUpdate | CPTrackingActiveInActiveApp - owner:self - userInfo:nil]]; + _windowViewTrackingArea = [[CPTrackingArea alloc] initWithRect:[self contentRectForFrameRect:[self frame]] + options:CPTrackingCursorUpdate | CPTrackingActiveInActiveApp + owner:self + userInfo:nil]; + + [self addTrackingArea:_windowViewTrackingArea]; + [super updateTrackingAreas]; } @end diff --git a/Tests/AppKit/CPViewTest.j b/Tests/AppKit/CPViewTest.j index 93edeb549..1a8a2c24d 100644 --- a/Tests/AppKit/CPViewTest.j +++ b/Tests/AppKit/CPViewTest.j @@ -1047,7 +1047,8 @@ var updateTrackingAreasCalls, // - [view removeAllTrackingAreas]; + [view removeTrackingArea:trackingArea]; + [view removeTrackingArea:trackingArea2]; [self assert:0 equals:[[view trackingAreas] count] message:@"After removing all tracking areas"]; [self assert:nil equals:[trackingArea view] message:@"Tracking area should be unlinked"]; [self assert:nil equals:[trackingArea2 view] message:@"Tracking area should be unlinked"]; @@ -1069,7 +1070,8 @@ var updateTrackingAreasCalls, [contentView addSubview:view]; [self assert:1 equals:updateTrackingAreasCalls message:@"Putting a view with a non CPTrackingAreaInVisibleRect in a window should call updateTrackingAreas"]; - [view removeAllTrackingAreas]; + [view removeTrackingArea:trackingArea]; + [view removeTrackingArea:trackingArea2]; // @@ -1099,7 +1101,8 @@ var updateTrackingAreasCalls, var trackingAreaAll = [[CPTrackingArea alloc] initWithRect:CGRectMakeZero() options:CPTrackingMouseEnteredAndExited | CPTrackingMouseMoved | CPTrackingCursorUpdate | CPTrackingActiveInActiveApp | CPTrackingInVisibleRect owner:viewTA userInfo:nil]; - [viewTA removeAllTrackingAreas]; + [viewTA removeTrackingArea:trackingArea]; + [viewTA removeTrackingArea:trackingArea2]; [viewTA addTrackingArea:trackingAreaAll]; // Mouse enters the tracking area @@ -1160,7 +1163,7 @@ var updateTrackingAreasCalls, var trackingAreaAllWithDrag = [[CPTrackingArea alloc] initWithRect:CGRectMakeZero() options:CPTrackingMouseEnteredAndExited | CPTrackingMouseMoved | CPTrackingCursorUpdate | CPTrackingActiveInActiveApp | CPTrackingInVisibleRect | CPTrackingEnabledDuringMouseDrag owner:viewTA userInfo:nil]; - [viewTA removeAllTrackingAreas]; + [viewTA removeTrackingArea:trackingAreaAll]; [viewTA addTrackingArea:trackingAreaAllWithDrag]; // Mouse enters the tracking area while dragging (option set) From 7d20b06e52819f77be2957f9473237a8ece5b572 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 28 May 2018 20:46:28 +0200 Subject: [PATCH 30/95] FIXED: Before this PR, CPSearchField was handling cursor updates by direct DOM manipulation. This PR uses tracking areas. (#2684) --- AppKit/CPSearchField.j | 61 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index a92c792e9..2c00bc15b 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -88,10 +88,6 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat _recentsAutosaveName = nil; [self _init]; -#if PLATFORM(DOM) - _cancelButton._DOMElement.style.cursor = "default"; - _searchButton._DOMElement.style.cursor = "default"; -#endif } return self; @@ -766,6 +762,63 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat @end +#pragma mark - + +@implementation CPSearchField (CPTrackingArea) +{ + CPTrackingArea _searchButtonTrackingArea; + CPTrackingArea _cancelButtonTrackingArea; +} + +- (void)updateTrackingAreas +{ + if (_searchButtonTrackingArea) + { + [self removeTrackingArea:_searchButtonTrackingArea]; + _searchButtonTrackingArea = nil; + } + + if (_cancelButtonTrackingArea) + { + [self removeTrackingArea:_cancelButtonTrackingArea]; + _cancelButtonTrackingArea = nil; + } + + if (_searchButton) + { + _searchButtonTrackingArea = [[CPTrackingArea alloc] initWithRect:[_searchButton frame] + options:CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow + owner:self + userInfo:@{ @"isButton": YES }]; + + [self addTrackingArea:_searchButtonTrackingArea]; + } + + if (_cancelButton) + { + _cancelButtonTrackingArea = [[CPTrackingArea alloc] initWithRect:[_cancelButton frame] + options:CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow + owner:self + userInfo:@{ @"isButton": YES }]; + + [self addTrackingArea:_cancelButtonTrackingArea]; + } + + [super updateTrackingAreas]; +} + +- (void)cursorUpdate:(CPEvent)anEvent +{ + if ([[[anEvent trackingArea] userInfo] objectForKey:@"isButton"]) + [[CPCursor arrowCursor] set]; + else + [super cursorUpdate:anEvent]; +} + +@end + +#pragma mark - + var CPRecentsAutosaveNameKey = @"CPRecentsAutosaveNameKey", CPSendsWholeSearchStringKey = @"CPSendsWholeSearchStringKey", CPSendsSearchStringImmediatelyKey = @"CPSendsSearchStringImmediatelyKey", From 52a51d81f11d6bd4ae6b58ca28d2487405c2e89c Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 28 May 2018 20:56:00 +0200 Subject: [PATCH 31/95] FIXED: Before this PR, legacy scroller won't ever loose its selected theme state (#2718) --- AppKit/CPScroller.j | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index c58e87a1d..dae366047 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -460,9 +460,6 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); */ - (void)fadeOut { - if ([self hasThemeState:CPThemeStateScrollViewLegacy]) - return; - [_animationScroller startAnimation]; } @@ -765,7 +762,10 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); if (_timerFadeOut) [_timerFadeOut invalidate]; - _timerFadeOut = [CPTimer scheduledTimerWithTimeInterval:1.2 target:self selector:@selector(_performFadeOut:) userInfo:nil repeats:NO]; + if ([self hasThemeState:CPThemeStateScrollViewLegacy]) + [self unsetThemeState:CPThemeStateSelected]; + else + _timerFadeOut = [CPTimer scheduledTimerWithTimeInterval:1.2 target:self selector:@selector(_performFadeOut:) userInfo:nil repeats:NO]; } From 6443575114e1edd854748e40af664fd2c30a450b Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 28 May 2018 21:10:40 +0200 Subject: [PATCH 32/95] fixed: nib2cib was susceptible to IB button issue with alternateImage (#2721) --- Tests/Manual/CPButtonTest/Resources/MainMenu.cib | 2 +- Tools/nib2cib/NSButton.j | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib b/Tests/Manual/CPButtonTest/Resources/MainMenu.cib index 689f4af5a..820a6e504 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPButtonTest/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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;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;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;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;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;52E;D;K;6;CP$UIDd;2;54E;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;60E;D;K;6;CP$UIDd;1;0E;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;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;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;1;0E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;1;0E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;11E;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;88E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;11E;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;94E;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;2;98E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;94E;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;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;11E;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;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;60E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;124E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;125E;E;D;K;10;$classnameS;31;CPCibRuntimeAttributesConnectorK;8;$classesA;S;31;CPCibRuntimeAttributesConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;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;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;97E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;126E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;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;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;103E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;128E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;129E;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;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;95E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;110E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;111E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;109E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;60E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;90E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;146E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;148E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;151E;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;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;84E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;124E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;160E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;161E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;163E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;164E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;56E;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;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;166E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;167E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;172E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;56E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;173E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;174E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;56E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;182E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;184E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;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;59E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;56E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;123E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;188E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;56E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;7;$aimageD;K;6;CP$UIDd;3;194E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;195E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;197E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;198E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;200E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;202E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;200E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;203E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;205E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;207E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;201E;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;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;56E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;208E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;209E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;210E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;56E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;211E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;212E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;213E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;215E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;216E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;217E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;219E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;221E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;222E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;223E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;227E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;228E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;229E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;230E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;231E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;227E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;232E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;183E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;235E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;236E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;239E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;240E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;241E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;242E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;244E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;245E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;246E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;247E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;249E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;250E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;251E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;252E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;253E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;253E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;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;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;258E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;259E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;260E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;261E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;262E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;263E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;264E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;265E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;269E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;270E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;200E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;273E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;274E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;200E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;275E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;276E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;251E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;277E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;278E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;278E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;279E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;282E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;283E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;284E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;285E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;286E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;282E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;287E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;288E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;289E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;197E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;282E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;291E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;292E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;293E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;294E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;295E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;282E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;296E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;297E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;298E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;275E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;299E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;163E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;300E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;301E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;304E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;305E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;306E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;307E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;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;2;96E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;310E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;311E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;312E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;313E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;314E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;165E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;200E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;315E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;180E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;16;CPBoxContentViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;97E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;318E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;97E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;180E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;320E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;321E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;323E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;324E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;325E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;200E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;326E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;327E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;328E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;329E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;330E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;181E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;331E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;332E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;333E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;334E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;335E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;336E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;337E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;338E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;339E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;340E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;341E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;96E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;342E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;311E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;343E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;313E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;344E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;165E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;200E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;345E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;180E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;16;CPBoxContentViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;346E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;103E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;347E;E;D;K;6;$classD;K;6;CP$UIDd;2;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;180E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;320E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;321E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;348E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;349E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;325E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;200E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;326E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;327E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;350E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;351E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;330E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;181E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;331E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;332E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;352E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;353E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;335E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;336E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;337E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;338E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;322E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;354E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;355E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;200E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;341E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;356E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;357E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;359E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;360E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;361E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;227E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;362E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;363E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;364E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;357E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;365E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;359E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;366E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;367E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;368E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;251E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;369E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;370E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;370E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;371E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;373E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;374E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;294E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;376E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;377E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;378E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;379E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;374E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;200E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;376E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;380E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;381E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;382E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;374E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;376E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;383E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;384E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;385E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;386E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;387E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;388E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;389E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;386E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;390E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;388E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;391E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;386E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;392E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;393E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;394E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;386E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;177E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;395E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;384E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;171E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;171E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;187E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;180E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;181E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;171E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;171E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;396E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;374E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;180E;K;7;$aimageD;K;6;CP$UIDd;3;376E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;397E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;185E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;398E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;196E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;218E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;399E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;400E;E;S;13;CPApplicationD;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;81E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;112E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;401E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;171E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;401E;E;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;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;K;10;$classnameS;7;CPRadioK;8;$classesA;S;7;CPRadioS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;145E;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;3;200E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;402E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;402E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;77E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;403E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;404E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;405E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;406E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;407E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;408E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;409E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;411E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;145E;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;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;412E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;402E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;77E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;403E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;404E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;413E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;179E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;180E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;170E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;414E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;181E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;415E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;200E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;200E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;180E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;408E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;409E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;411E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1886912512S;24;{{200, 665}, {380, 253}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;70E;E;E;d;2;18S;6;normalS;6;{1, 1}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{42, 212}, {97, 17}}S;18;{{0, 0}, {97, 17}}d;2;36S;9;textfieldS;18;controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;185E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;d;1;2d;1;4D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;T;S;15;Image Position:d;2;-1D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;186E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;417E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;418E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;E;S;23;{{142, 213}, {202, 25}}S;19;{{0, 0}, {202, 25}}S;12;popup-buttonS;27;bordered+controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;185E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;183E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}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;78E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;9;BezelViewS;20;{{24, 17}, {96, 25}}S;18;{{0, 0}, {96, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;Buttond;2;14S;22;{{143, 17}, {176, 25}}S;19;{{0, 0}, {176, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;17;Button With ImageS;20;{{28, 67}, {95, 40}}S;18;{{0, 0}, {95, 40}}S;9;check-boxS;27;controlSizeRegular+selectedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;CheckboxS;22;{{162, 67}, {162, 40}}S;19;{{0, 0}, {162, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;148E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{200, 130}, {119, 25}}S;19;{{0, 0}, {119, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;14;Set radio 2 OnS;22;{{143, 47}, {176, 25}}S;36;bordered+controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;Disabled With ImageS;13;AppControllerd;9;544735232S;23;{{200, 333}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{20, 20}, {120, 25}}S;19;{{0, 0}, {120, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;Normal ButtonS;22;{{152, 20}, {146, 25}}S;19;{{0, 0}, {146, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;5;65540S;17;Continuous ButtonS;21;{{19, 48}, {103, 17}}S;19;{{0, 0}, {103, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;Recorded clicks:S;22;{{128, 48}, {171, 17}}S;19;{{0, 0}, {171, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;1;0d;9;544736256S;25;{{1000, 262}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{31, 20}, {208, 25}}S;19;{{0, 0}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;26;Momentary Push In (Normal)S;21;{{31, 52}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;Push On / Push OffS;21;{{31, 84}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;Toggled;1;3S;22;{{31, 116}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;5;stateD;K;6;CP$UIDd;3;422E;K;5;valueD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;Momentary ChangeS;25;{{1000, 698}, {480, 220}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 220}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{153, 50}, {174, 25}}S;19;{{0, 0}, {174, 25}}D;K;6;$classD;K;6;CP$UIDd;3;193E;K;4;nameD;K;6;CP$UIDd;3;419E;K;12;defaultValueD;K;6;CP$UIDd;3;421E;K;6;valuesD;K;6;CP$UIDd;3;425E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{21, 92}, {214, 108}}S;20;{{0, 0}, {214, 108}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;E;E;S;3;boxD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;Highlights ByS;19;{{1, 9}, {220, 98}}S;19;{{0, 0}, {220, 98}}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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{17, 6}, {137, 21}}S;19;{{0, 0}, {137, 21}}S;16;controlSizeSmallD;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;CPPushInCellMaskS;21;{{17, 26}, {152, 21}}S;19;{{0, 0}, {152, 21}}D;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;CPContentsCellMaskS;21;{{17, 46}, {172, 21}}S;19;{{0, 0}, {172, 21}}D;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{17, 66}, {218, 21}}S;19;{{0, 0}, {218, 21}}D;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;26;CPChangeBackgroundCellMaskS;23;{{245, 92}, {214, 108}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;14;Shows State ByD;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;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;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;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;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;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;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;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;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;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;416E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;426E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{334, 51}, {127, 17}}S;19;{{0, 0}, {127, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;5;LabelS;21;{{150, 9}, {148, 32}}S;19;{{0, 0}, {148, 32}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;15;Monkey CheckboxS;22;{{309, 14}, {127, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;10;1618478080S;25;{{1069, 183}, {480, 170}}S;22;{{0, 0}, {1680, 1027}}S;13;Image ScalingS;20;{{0, 0}, {480, 170}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{176, 53}, {212, 25}}S;19;{{0, 0}, {212, 25}}D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;427E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;428E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;429E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;24;Proportionaly Up or DownS;22;{{176, 86}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;Axes IndependentlyS;23;{{176, 119}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;4;NoneS;21;{{13, 24}, {155, 17}}S;19;{{0, 0}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;Square - Max heightS;21;{{13, 53}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{13, 88}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;Max height - Max widthS;22;{{13, 120}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{176, 20}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;Proportionaly DownS;10;OtherViewsD;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;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;E;E;S;19;autoresizesSubviewsS;18;{{0, 0}, {82, 40}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;430E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;418E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;E;S;5;radioS;46;bordered+controlSizeRegular+roundRect+selectedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;410E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;431E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;146E;E;S;19;{{86, 0}, {82, 40}}S;37;bordered+controlSizeRegular+roundRectD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;7;Radio 2S;28;_CPFontSystemFacePlaceholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;432E;D;K;6;CP$UIDd;3;200E;E;E;S;5;colorS;5;imageD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;420E;E;S;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;178E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;433E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;434E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;171E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;171E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;424E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;435E;K;6;normalD;K;6;CP$UIDd;3;436E;E;E;d;2;11S;7;CPImageS;16;Image-132x44.pngD;K;6;$classD;K;6;CP$UIDd;3;424E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;196E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;196E;K;4;sizeD;K;6;CP$UIDd;3;438E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;148E;E;E;f;18;0.6862745098039216S;18;.AppleSystemUIFontd;2;13D;K;6;$classD;K;6;CP$UIDd;3;375E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;427E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;439E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;440E;E;D;K;6;$classD;K;6;CP$UIDd;3;375E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;427E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;441E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;442E;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;437E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;443E;E;S;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;424E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;196E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;196E;K;4;sizeD;K;6;CP$UIDd;3;444E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;424E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;196E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;196E;K;4;sizeD;K;6;CP$UIDd;3;445E;E;E;S;30;{"width":26.88,"height":80.64}D;K;6;$classD;K;6;CP$UIDd;3;437E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;446E;E;D;K;6;$classD;K;6;CP$UIDd;3;437E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;446E;E;S;22;{"width":0,"height":0}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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;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;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;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;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;52E;D;K;6;CP$UIDd;2;54E;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;60E;D;K;6;CP$UIDd;1;0E;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;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;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;1;0E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;1;0E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;11E;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;88E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;11E;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;94E;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;2;98E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;94E;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;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;11E;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;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;60E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;124E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;125E;E;D;K;10;$classnameS;31;CPCibRuntimeAttributesConnectorK;8;$classesA;S;31;CPCibRuntimeAttributesConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;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;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;97E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;126E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;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;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;103E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;128E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;129E;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;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;95E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;110E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;111E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;109E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;60E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;90E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;146E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;148E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;151E;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;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;84E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;107E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;80E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;124E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;160E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;161E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;163E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;164E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;56E;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;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;166E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;167E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;173E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;56E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;175E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;56E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;183E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;185E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;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;59E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;56E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;123E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;190E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;56E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;191E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;182E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;194E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;196E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;197E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;201E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;199E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;202E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;203E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;205E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;60E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;123E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;200E;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;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;56E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;207E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;208E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;209E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;56E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;210E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;211E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;213E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;214E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;215E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;219E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;220E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;224E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;225E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;199E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;226E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;227E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;228E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;224E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;229E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;199E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;230E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;184E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;233E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;234E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;236E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;237E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;238E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;70E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;70E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;240E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;241E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;242E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;243E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;244E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;245E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;246E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;247E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;248E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;248E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;249E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;252E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;253E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;254E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;255E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;256E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;257E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;258E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;259E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;260E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;261E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;262E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;263E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;82E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;264E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;199E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;266E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;267E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;199E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;268E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;269E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;246E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;270E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;274E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;275E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;276E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;277E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;278E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;275E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;279E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;280E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;196E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;275E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;282E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;283E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;284E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;285E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;275E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;286E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;287E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;268E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;288E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;162E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;163E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;289E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;290E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;291E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;294E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;7;$aimageD;K;6;CP$UIDd;3;296E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;297E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;298E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;299E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;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;2;96E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;300E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;301E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;302E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;303E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;304E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;165E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;199E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;305E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;181E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;16;CPBoxContentViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;97E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;306E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;307E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;308E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;97E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;181E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;310E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;311E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;313E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;314E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;315E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;199E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;318E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;319E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;320E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;182E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;321E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;323E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;324E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;325E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;326E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;327E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;328E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;330E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;331E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;96E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;332E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;301E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;333E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;303E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;334E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;165E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;199E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;335E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;181E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;16;CPBoxContentViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;306E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;307E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;336E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;103E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;2;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;181E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;310E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;311E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;338E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;339E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;315E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;199E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;340E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;341E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;320E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;182E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;321E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;342E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;343E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;325E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;326E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;327E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;328E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;312E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;344E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;345E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;199E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;331E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;346E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;347E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;348E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;349E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;74E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;350E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;351E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;224E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;352E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;199E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;353E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;354E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;347E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;355E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;349E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;158E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;159E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;356E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;357E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;358E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;246E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;359E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;360E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;360E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;361E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;362E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;363E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;364E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;284E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;7;$aimageD;K;6;CP$UIDd;3;365E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;367E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;368E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;364E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;199E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;7;$aimageD;K;6;CP$UIDd;3;365E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;369E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;370E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;371E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;364E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;7;$aimageD;K;6;CP$UIDd;3;365E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;372E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;373E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;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;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;374E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;376E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;377E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;378E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;379E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;377E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;380E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;381E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;382E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;383E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;178E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;182E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;384E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;373E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;172E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;172E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;181E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;182E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;172E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;172E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;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;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;385E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;364E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;193E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;181E;K;7;$aimageD;K;6;CP$UIDd;3;365E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;386E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;186E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;387E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;216E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;165E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;388E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;389E;E;S;13;CPApplicationD;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;81E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;112E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;390E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;390E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;K;10;$classnameS;7;CPRadioK;8;$classesA;S;7;CPRadioS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;145E;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;3;199E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;391E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;391E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;77E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;392E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;393E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;394E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;395E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;199E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;396E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;397E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;398E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;400E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;145E;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;3;165E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;401E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;391E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;77E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;168E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;392E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;393E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;402E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;181E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;181E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;403E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;182E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;165E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;404E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;199E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;199E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;181E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;165E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;397E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;398E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;400E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1886912512S;24;{{200, 665}, {380, 253}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;70E;E;E;d;2;18S;4;viewS;6;normalS;6;{1, 1}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{42, 212}, {97, 17}}S;18;{{0, 0}, {97, 17}}d;2;36S;9;textfieldS;18;controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;186E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;d;1;2d;1;4D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;T;S;15;Image Position:d;2;-1D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;406E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;407E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;E;S;23;{{142, 213}, {202, 25}}S;19;{{0, 0}, {202, 25}}S;12;popup-buttonS;27;bordered+controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;186E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;184E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}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;78E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;9;BezelViewS;20;{{24, 17}, {96, 25}}S;18;{{0, 0}, {96, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;Buttond;2;14S;22;{{143, 17}, {176, 25}}S;19;{{0, 0}, {176, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;17;Button With ImageS;20;{{28, 67}, {95, 40}}S;18;{{0, 0}, {95, 40}}S;9;check-boxS;27;controlSizeRegular+selectedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;CheckboxS;22;{{162, 67}, {162, 40}}S;19;{{0, 0}, {162, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;148E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{200, 130}, {119, 25}}S;19;{{0, 0}, {119, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;14;Set radio 2 OnS;22;{{143, 47}, {176, 25}}S;36;bordered+controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;Disabled With ImageS;13;AppControllerd;9;544735232S;23;{{200, 333}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{20, 20}, {120, 25}}S;19;{{0, 0}, {120, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;Normal ButtonS;22;{{152, 20}, {146, 25}}S;19;{{0, 0}, {146, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;5;65540S;17;Continuous ButtonS;21;{{19, 48}, {103, 17}}S;19;{{0, 0}, {103, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;Recorded clicks:S;22;{{128, 48}, {171, 17}}S;19;{{0, 0}, {171, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;1;0d;9;544736256S;25;{{1000, 262}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{31, 20}, {208, 25}}S;19;{{0, 0}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;26;Momentary Push In (Normal)S;21;{{31, 52}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;Push On / Push OffS;21;{{31, 84}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;Toggled;1;3S;22;{{31, 116}, {208, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;Momentary ChangeS;25;{{1000, 698}, {480, 220}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 220}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{153, 50}, {174, 25}}S;19;{{0, 0}, {174, 25}}D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;295E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;408E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;409E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;411E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{21, 92}, {214, 108}}S;20;{{0, 0}, {214, 108}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;E;E;S;3;boxD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;Highlights ByS;19;{{1, 9}, {220, 98}}S;19;{{0, 0}, {220, 98}}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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{17, 6}, {137, 21}}S;19;{{0, 0}, {137, 21}}S;16;controlSizeSmallD;K;6;$classD;K;6;CP$UIDd;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;CPPushInCellMaskS;21;{{17, 26}, {152, 21}}S;19;{{0, 0}, {152, 21}}D;K;6;$classD;K;6;CP$UIDd;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;CPContentsCellMaskS;21;{{17, 46}, {172, 21}}S;19;{{0, 0}, {172, 21}}D;K;6;$classD;K;6;CP$UIDd;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{17, 66}, {218, 21}}S;19;{{0, 0}, {218, 21}}D;K;6;$classD;K;6;CP$UIDd;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;26;CPChangeBackgroundCellMaskS;23;{{245, 92}, {214, 108}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;14;Shows State ByD;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;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;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;3;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;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;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;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;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;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;179E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;405E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;412E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;172E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{334, 51}, {127, 17}}S;19;{{0, 0}, {127, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;5;LabelS;21;{{150, 9}, {148, 32}}S;19;{{0, 0}, {148, 32}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;15;Monkey CheckboxS;22;{{309, 14}, {127, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;10;1618478080S;25;{{1069, 183}, {480, 170}}S;22;{{0, 0}, {1680, 1027}}S;13;Image ScalingS;20;{{0, 0}, {480, 170}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{176, 53}, {212, 25}}S;19;{{0, 0}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;3;295E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;408E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;413E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;414E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;24;Proportionaly Up or DownS;22;{{176, 86}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;Axes IndependentlyS;23;{{176, 119}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;4;NoneS;21;{{13, 24}, {155, 17}}S;19;{{0, 0}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;Square - Max heightS;21;{{13, 53}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{13, 88}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;Max height - Max widthS;22;{{13, 120}, {155, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{176, 20}, {212, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;18;Proportionaly DownS;10;OtherViewsD;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;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;E;E;S;19;autoresizesSubviewsS;18;{{0, 0}, {82, 40}}D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;415E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;407E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;170E;E;S;5;radioS;46;bordered+controlSizeRegular+roundRect+selectedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;399E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;416E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;146E;E;S;19;{{86, 0}, {82, 40}}S;37;bordered+controlSizeRegular+roundRectD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;7;Radio 2S;28;_CPFontSystemFacePlaceholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;417E;D;K;6;CP$UIDd;3;199E;E;E;S;5;colorS;7;CPImageS;13;CPAddTemplateD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;410E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;195E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;195E;K;4;sizeD;K;6;CP$UIDd;3;419E;E;E;d;2;11S;16;Image-132x44.pngD;K;6;$classD;K;6;CP$UIDd;3;410E;K;10;CP.objectsD;K;9;frameworkD;K;6;CP$UIDd;3;195E;K;16;bundleIdentifierD;K;6;CP$UIDd;3;195E;K;4;sizeD;K;6;CP$UIDd;3;420E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;148E;E;E;f;18;0.6862745098039216D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;418E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;3;418E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;421E;E;S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tools/nib2cib/NSButton.j b/Tools/nib2cib/NSButton.j index 643253eb6..d95db866e 100644 --- a/Tools/nib2cib/NSButton.j +++ b/Tools/nib2cib/NSButton.j @@ -450,6 +450,11 @@ var NSButtonIsBorderedMask = 0x00800000, _normalImage = [aCoder decodeObjectForKey:@"NSNormalImage"]; _alternateImage = [aCoder decodeObjectForKey:@"NSAlternateImage"]; + + // this check is needed to work around an IB issue that sometimes archives a NSFont into the _alternateImage + if (![_alternateImage isKindOfClass:[NSButtonImageSource class]]) + _alternateImage = nil; + _allowsMixedState = (cellFlags2 & NSButtonAllowsMixedStateMask) ? YES : NO; // Test in decreasing order of mask value to ensure the correct match, From 2ca99ba669f4ab4b431101be45256ff6e3c1fd83 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Tue, 29 May 2018 07:15:47 +0200 Subject: [PATCH 33/95] FIXED: Before this PR, CPScroller theme attribute knob-inset was partially used (#2720) --- AppKit/CPScroller.j | 10 ++++++---- AppKit/Themes/Aristo2/ThemeDescriptors.j | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index dae366047..ae4ed6fbc 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -380,9 +380,10 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); effectiveIncrementLineHeight = incrementLineSize.height + trackInset.bottom, slotSize = height - effectiveDecrementLineHeight - effectiveIncrementLineHeight, minimumKnobLength = [self currentValueForThemeAttribute:"minimum-knob-length"], + knobVerticalInset = knobInset.top + knobInset.bottom, knobWidth = width - knobInset.left - knobInset.right, - knobHeight = MAX(minimumKnobLength, (slotSize * _knobProportion)), - knobLocation = effectiveDecrementLineHeight + (slotSize - knobHeight) * [self floatValue]; + knobHeight = MAX(minimumKnobLength, ((slotSize - knobVerticalInset) * _knobProportion)), + knobLocation = effectiveDecrementLineHeight + (slotSize - knobHeight - knobVerticalInset) * [self floatValue] + knobInset.top; _partRects[CPScrollerDecrementPage] = CGRectMake(0.0, effectiveDecrementLineHeight, width, knobLocation - effectiveDecrementLineHeight); _partRects[CPScrollerKnob] = CGRectMake(knobInset.left, knobLocation, knobWidth, knobHeight); @@ -409,9 +410,10 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); effectiveIncrementLineWidth = incrementLineSize.width + trackInset.right, slotSize = width - effectiveDecrementLineWidth - effectiveIncrementLineWidth, minimumKnobLength = [self currentValueForThemeAttribute:"minimum-knob-length"], - knobWidth = MAX(minimumKnobLength, (slotSize * _knobProportion)), + knobHorizontalInset = knobInset.left + knobInset.right, + knobWidth = MAX(minimumKnobLength, ((slotSize - knobHorizontalInset) * _knobProportion)), knobHeight = height - knobInset.top - knobInset.bottom, - knobLocation = effectiveDecrementLineWidth + (slotSize - knobWidth) * [self floatValue]; + knobLocation = effectiveDecrementLineWidth + (slotSize - knobWidth - knobHorizontalInset) * [self floatValue] + knobInset.left; _partRects[CPScrollerDecrementPage] = CGRectMake(effectiveDecrementLineWidth, 0.0, knobLocation - effectiveDecrementLineWidth, height); _partRects[CPScrollerKnob] = CGRectMake(knobLocation, knobInset.top, knobWidth, knobHeight); diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j index 2ca0b8727..67627ba6a 100644 --- a/AppKit/Themes/Aristo2/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -534,7 +534,7 @@ var themedButtonValues = nil, // Overlay [@"scroller-width", 14.0, CPThemeStateVertical], - [@"knob-inset", CGInsetMake(2.0, 0.0, 0.0, 0.0), CPThemeStateVertical], + [@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical], [@"track-inset", CGInsetMake(2.0, 0.0, 2.0, 0.0), CPThemeStateVertical], [@"track-border-overlay", 12.0, CPThemeStateVertical], [@"knob-slot-color", [CPNull null], CPThemeStateVertical], @@ -610,7 +610,7 @@ var themedButtonValues = nil, // Overlay [@"scroller-width", 9.0], - [@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 2.0)], + [@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0)], [@"track-inset", CGInsetMake(0.0, 2.0, 0.0, 2.0)], [@"track-border-overlay", 12.0], [@"knob-slot-color", [CPNull null]], From ad756a5b862e10a9c72b7f4b318c9d1e2e5bdf84 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Tue, 29 May 2018 07:17:41 +0200 Subject: [PATCH 34/95] fixed: some mouse events were not propagated when sheets are open (#2603) * fixed: mouse dragged was not propagated to parent window when sheet was opened * better detection for attached sheet --- AppKit/CPWindow/CPWindow.j | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index ad5fd30f5..615d862f8 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -1851,16 +1851,12 @@ CPTexturedBackgroundWindowMask // CPLeftMouseDown is needed for window moving and resizing to work. // CPMouseMoved is needed for rollover effects on title bar buttons. - if (sheet) + if (sheet && _sheetContext["isAttached"]) { switch (type) { case CPLeftMouseDown: - // This is needed when a doubleClick occurs when the sheet is closing or opening - if (!_parentWindow) - return; - [_windowView mouseDown:anEvent]; // -dw- if the window is clicked, the sheet should come to front, and become key, From a8a9ec0023d2a20d3ebedf8cdd4e052218c2cfbb Mon Sep 17 00:00:00 2001 From: cacaodev Date: Sat, 2 Jun 2018 08:18:01 +0200 Subject: [PATCH 35/95] Fix typo in CPPredicateEditorTest Fixes #2714 --- Tests/Manual/CPPredicateEditorCibTest/AppController.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Manual/CPPredicateEditorCibTest/AppController.j b/Tests/Manual/CPPredicateEditorCibTest/AppController.j index 918f38a6d..3f8db4899 100644 --- a/Tests/Manual/CPPredicateEditorCibTest/AppController.j +++ b/Tests/Manual/CPPredicateEditorCibTest/AppController.j @@ -7,7 +7,7 @@ */ @import -@import "Predicatetransformer.j" +@import "PredicateTransformer.j" @implementation AppController : CPObject { From 1adf27427a1b171468516bc5b9a3c516a7e4bfcb Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 4 Jun 2018 13:51:15 +0200 Subject: [PATCH 36/95] Fixed: The word Site changed to Application in index.html (#2723) --- Tools/capp/Resources/Templates/Application/index-debug.html | 2 +- Tools/capp/Resources/Templates/Application/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tools/capp/Resources/Templates/Application/index-debug.html b/Tools/capp/Resources/Templates/Application/index-debug.html index 02c62149a..a36b1d3b9 100644 --- a/Tools/capp/Resources/Templates/Application/index-debug.html +++ b/Tools/capp/Resources/Templates/Application/index-debug.html @@ -193,7 +193,7 @@
-

JavaScript is required for this site.

+

JavaScript is required for this application.

Enable JavaScript

diff --git a/Tools/capp/Resources/Templates/Application/index.html b/Tools/capp/Resources/Templates/Application/index.html index 30125b9a4..ac42c98a7 100644 --- a/Tools/capp/Resources/Templates/Application/index.html +++ b/Tools/capp/Resources/Templates/Application/index.html @@ -155,7 +155,7 @@
-

JavaScript is required for this site.

+

JavaScript is required for this application.

Enable JavaScript

From af717421102b10525ed76eed9a943c3af927dd86 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Fri, 8 Jun 2018 13:57:13 +0200 Subject: [PATCH 37/95] Fixed: Update README.markdown --- README.markdown | 68 +++++++++++++++---------------------------------- 1 file changed, 20 insertions(+), 48 deletions(-) diff --git a/README.markdown b/README.markdown index 359d72593..9bf561c9d 100644 --- a/README.markdown +++ b/README.markdown @@ -3,36 +3,34 @@ Welcome to Cappuccino! ====================== +Special event +------------- +Release 1.0 is scheduled for [CappCon 2018 on September 4, 2018 at Université de Liège in Belgium](https://www.meetup.com/de-DE/CappCon/events/248886408). + Introduction ------------ Cappuccino is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser. -Cappuccino is built on top of standard web technologies like JavaScript, and -it implements most of the familiar APIs from GNUstep and Apple's Cocoa -frameworks. When you program in Cappuccino, you don't need to concern yourself -with the complexities of traditional web technologies like HTML, CSS, or even -the DOM. The unpleasantries of building complex cross browser applications are -abstracted away for you. -For more information, see . Follow [@cappuccino](https://twitter.com/cappuccino) on Twitter for updates on the project. +With Cappuccino, you don't concern yourself +with HTML, CSS, or the DOM. You rather write applications with the APIs from Apple's Cocoa frameworks and the Objective-J language. + +Check out a [live demo of the widgets in Cappuccino](https://cappuccino-testbook.5apps.com/#ThemeKitchenSink) + +Check out some [live demos and tutorials](https://cappuccino-cookbook.5apps.com) + +For more information, see [the official website](http://cappuccino-project.org) and [the Github Wiki](https://github.com/cappuccino/cappuccino/wiki). + +Follow [@cappuccino](https://twitter.com/cappuccino) on Twitter for updates on the project. System Requirements ------------------- To run Cappuccino applications, all you need is a HTML5 compliant web browser. -To develop Cappuccino applications, all you need is a simple text editor and the starter package. +Our tight integration with Xcode on MacOS brings the full power of visual Cocoa development to the web. -However, Cappuccino's build system and the Xcode integration bring the eases of Cocoa development to web development. - -To build Cappuccino itself, please read below. More information is available -here: [Getting and Building the Source](http://wiki.github.com/cappuccino/cappuccino/getting-and-building-the-source>). - -If you're using Windows, you'll also need [Cygwin](http://www.cygwin.com/). - -Finally, if you want to easily stay up to date with the latest developments -and contribute your work back to the Cappuccino community, you'll want to -[install Git](http://git-scm.com/). +However, you can also work on other platforms using only a simple text editor. Getting Started --------------- @@ -42,29 +40,7 @@ To get started, download and install the current release version of Cappuccino: If you'd just like to get started using Cappuccino for your web apps, you are done. -The rest of these instructions are for building a development copy of Cappuccino. -To build Cappuccino from source, check out the most recent stable version from GitHub: - - $ git clone git://github.com/cappuccino/cappuccino.git (git) - -or download the zipball of the most recent source code: - - (zip) - -Then, simply type `jake` from within the root of the Cappuccino directory. If you -get an error like `jake: command not found`, you forgot to run the bootstrap script -as described above. - -Jake will build a "release" copy of the frameworks. Typing `jake debug` will -build a debug version. - -`jake install` will build Cappuccino and associated tools and install them for general use. - -Editors -------- -The Cappuccino TextMate Bundle: . - -The Cappuccino Xcode Plugin: . +To build Cappuccino from source, please read here: [Getting and Building the Source](). Getting Help ------------ @@ -73,14 +49,10 @@ If you need help with Cappuccino, you can get help from the following sources: - [FAQ](http://cappuccino-project.org/support/faq.html) - [Documentation](http://cappuccino-project.org/learn/) - [Wiki](http://github.com/cappuccino/cappuccino/wikis) - - Mailing Lists: - - [Objective-J](http://groups.google.com/group/objectivej) - - [Objective-J Developers](http://groups.google.com/group/objectivej-dev) - - [Gitter] (https://gitter.im/cappuccino/cappuccino) + - [Mailing list](http://groups.google.com/group/objectivej) + - [Gitter](https://gitter.im/cappuccino/cappuccino) -If you discover any bugs, please file a ticket at: - - +If you discover any bugs, please [file a ticket](http://github.com/cappuccino/cappuccino/issues) License ------- From 2ac60684fae54b25ef4aac95f7643adae5a033c5 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Fri, 8 Jun 2018 14:00:25 +0200 Subject: [PATCH 38/95] Fixed: CPDateFormatter was agnostic for the German language (#2724) --- Foundation/CPDateFormatter.j | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Foundation/CPDateFormatter.j b/Foundation/CPDateFormatter.j index 65526d738..2d24155b3 100644 --- a/Foundation/CPDateFormatter.j +++ b/Foundation/CPDateFormatter.j @@ -84,7 +84,7 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4, relativeDateFormating = @{ @"fr" : [@"demain", 1, @"apr" + String.fromCharCode(233) + @"s-demain", 2, @"apr" + String.fromCharCode(233) + @"s-apr" + String.fromCharCode(233) + @"s-demain", 3, @"hier", -1, @"avant-hier", -2, @"avant-avant-hier", -3], @"en" : [@"tomorrow", 1, @"yesterday", -1], - @"de" : [], + @"de" : [@"morgen", 1, @"gestern", -1, String.fromCharCode(129) + @"bermorgen", 2, @"vorgestern", -2], @"es" : [] }; @@ -559,7 +559,13 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4, if ([self _isAmericanFormat]) format = @"M/d/yy"; else - format = @"dd/MM/yy"; + { + if ([_locale objectForKey:CPLocaleLanguageCode] === 'de') + format = @"dd.MM.yy"; + else + format = @"dd/MM/yy"; + + } break; From 3f58a64827ad767d4161246e56a85e30f69ea67a Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Sat, 16 Jun 2018 19:14:58 +0200 Subject: [PATCH 39/95] FIXED: Before this PR, images specified in IB could crash the app at Cib loading (#2731) --- AppKit/Cib/_CPCibCustomResource.j | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/AppKit/Cib/_CPCibCustomResource.j b/AppKit/Cib/_CPCibCustomResource.j index 63bb24a4f..eac3544fd 100644 --- a/AppKit/Cib/_CPCibCustomResource.j +++ b/AppKit/Cib/_CPCibCustomResource.j @@ -222,3 +222,28 @@ var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey", } @end + +@implementation _CPCibCustomResource (CSSTheming) + +- (BOOL)isCSSBased +{ + return NO; +} + +- (BOOL)hasCSSDictionary +{ + return NO; +} + +- (BOOL)hasCSSBeforeDictionary +{ + return NO; +} + +- (BOOL)hasCSSAfterDictionary +{ + return NO; +} + +@end + From 27883c5beb82c8631d354013c35a3cbeeeaa24b3 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Thu, 21 Jun 2018 16:47:21 +0200 Subject: [PATCH 40/95] FIXED: This fixes problems with default theme attributes values in CPTableView (#2732) --- AppKit/CPTableView.j | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index cf5e1792b..60ded9f7a 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -346,8 +346,8 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; + (CPDictionary)themeAttributes { return @{ - @"alternating-row-colors": [CPNull null], - @"grid-color": [CPNull null], + @"alternating-row-colors": @[[CPColor whiteColor], [CPColor colorWithRed:245.0 / 255.0 green:249.0 / 255.0 blue:252.0 / 255.0 alpha:1.0]], + @"grid-color": [CPColor colorWithHexString:@"dce0e2"], @"grid-line-thickness": 1.0, @"highlighted-grid-color": [CPNull null], @"selection-color": [CPNull null], @@ -369,7 +369,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; @"dropview-above-border-width": [CPNull null], @"dropview-above-selected-border-color": [CPNull null], @"dropview-above-selected-border-width": [CPNull null], - @"header-view-height": [CPNull null] + @"header-view-height": 25.0 }; } @@ -404,7 +404,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; [self setGridColor:[self valueForThemeAttribute:@"grid-color"]]; [self setGridStyleMask:CPTableViewGridNone]; - [self setHeaderView:[[CPTableHeaderView alloc] initWithFrame:CGRectMake(0, 0, [self bounds].size.width, [self valueForThemeAttribute:@"header-view-height"] || _rowHeight)]]; + [self setHeaderView:[[CPTableHeaderView alloc] initWithFrame:CGRectMake(0, 0, [self bounds].size.width, [self valueForThemeAttribute:@"header-view-height"])]]; [self setCornerView:[[_CPCornerView alloc] initWithFrame:CGRectMake(0, 0, [CPScroller scrollerWidth], CGRectGetHeight([_headerView frame]))]]; _currentHighlightedTableColumn = nil; From 64e1a2ce4bd9f887cbeb4750530b6476a55dbd1a Mon Sep 17 00:00:00 2001 From: Kjell Nilsson Date: Thu, 5 Jul 2018 11:25:38 +0200 Subject: [PATCH 41/95] Fixed: Protocol selector signature spell error (#2734) --- AppKit/CPCollectionView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index a980cc953..b85dfcb0d 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -56,7 +56,7 @@ var CPCollectionViewDelegate_collectionView_acceptDrop_index_dropOperation_ - (CPData)collectionView:(CPCollectionView)collectionView dataForItemsAtIndexes:(CPIndexSet)indices forType:(CPString)aType; - (CPDragOperation)collectionView:(CPCollectionView)collectionView validateDrop:(id)draggingInfo proposedIndex:(CPInteger)proposedDropIndex dropOperation:(CPCollectionViewDropOperation)proposedDropOperation; - (CPMenu)collectionView:(CPCollectionView)collectionView menuForItemAtIndex:(CPInteger)anIndex; -- (CPView)collectionView:(CPCollectionView)collectionView dragginViewForItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)event offset:(CGPoint)dragImageOffset; +- (CPView)collectionView:(CPCollectionView)collectionView draggingViewForItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)event offset:(CGPoint)dragImageOffset; - (void)collectionView:(CPCollectionView)collectionView didDoubleClickOnItemAtIndex:(int)index; @end From 5bfafaf241a4789d4fe143efbbc657faddb0c0f8 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Thu, 5 Jul 2018 11:40:10 +0200 Subject: [PATCH 42/95] Removed: dead code and dom clutter from nativehost (#2608) --- AppKit/Platform/CPPlatformWindow.j | 23 ---------------------- AppKit/Platform/DOM/CPPlatformPasteboard.j | 1 - AppKit/Platform/DOM/CPPlatformString.j | 4 ---- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 19 ------------------ 4 files changed, 47 deletions(-) diff --git a/AppKit/Platform/CPPlatformWindow.j b/AppKit/Platform/CPPlatformWindow.j index 16b1a4954..bf39de81a 100644 --- a/AppKit/Platform/CPPlatformWindow.j +++ b/AppKit/Platform/CPPlatformWindow.j @@ -224,18 +224,10 @@ var PrimaryPlatformWindow = NULL; - (void)deminiaturize:(id)sender { -#if PLATFORM(DOM) - if (_DOMWindow && typeof _DOMWindow["cpDeminiaturize"] === "function") - _DOMWindow.cpDeminiaturize(); -#endif } - (void)miniaturize:(id)sender { -#if PLATFORM(DOM) - if (_DOMWindow && typeof _DOMWindow["cpMiniaturize"] === "function") - _DOMWindow.cpMiniaturize(); -#endif } - (void)moveWindow:(CPWindow)aWindow fromLevel:(int)fromLevel toLevel:(int)toLevel @@ -255,31 +247,16 @@ var PrimaryPlatformWindow = NULL; - (void)setLevel:(CPInteger)aLevel { _level = aLevel; - -#if PLATFORM(DOM) - if (_DOMWindow && _DOMWindow.cpSetLevel) - _DOMWindow.cpSetLevel(aLevel); -#endif } - (void)setHasShadow:(BOOL)shouldHaveShadow { _hasShadow = shouldHaveShadow; - -#if PLATFORM(DOM) - if (_DOMWindow && _DOMWindow.cpSetHasShadow) - _DOMWindow.cpSetHasShadow(shouldHaveShadow); -#endif } - (void)setShadowStyle:(int)aStyle { _shadowStyle = aStyle; - -#if PLATFORM(DOM) - if (_DOMWindow && _DOMWindow.cpSetShadowStyle) - _shadowStyle.cpSetShadowStyle(aStyle); -#endif } - (BOOL)supportsFullPlatformWindows diff --git a/AppKit/Platform/DOM/CPPlatformPasteboard.j b/AppKit/Platform/DOM/CPPlatformPasteboard.j index 8d32fbccb..b1c57cb32 100644 --- a/AppKit/Platform/DOM/CPPlatformPasteboard.j +++ b/AppKit/Platform/DOM/CPPlatformPasteboard.j @@ -118,7 +118,6 @@ var hasEditableTarget = function(aDOMEvent) _DOMPasteboardElement.style.position = "absolute"; _DOMPasteboardElement.style.top = "-10000px"; _DOMPasteboardElement.style.zIndex = "999"; - _DOMPasteboardElement.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMPasteboardElement); diff --git a/AppKit/Platform/DOM/CPPlatformString.j b/AppKit/Platform/DOM/CPPlatformString.j index fb440d36d..98aca9178 100644 --- a/AppKit/Platform/DOM/CPPlatformString.j +++ b/AppKit/Platform/DOM/CPPlatformString.j @@ -49,7 +49,6 @@ var DOMFixedWidthSpanElement = nil, bodyElement = [CPPlatform mainBodyElement]; DOMFlexibleWidthSpanElement = document.createElement("span"); - DOMFlexibleWidthSpanElement.className = "cpdontremove"; style = DOMFlexibleWidthSpanElement.style; style.position = "absolute"; style.left = "-100000px"; @@ -60,7 +59,6 @@ var DOMFixedWidthSpanElement = nil, style.whiteSpace = "pre"; DOMFixedWidthSpanElement = document.createElement("span"); - DOMFixedWidthSpanElement.className = "cpdontremove"; style = DOMFixedWidthSpanElement.style; style.display = "block"; style.position = "absolute"; @@ -96,7 +94,6 @@ var DOMFixedWidthSpanElement = nil, bodyElement = [CPPlatform mainBodyElement]; DOMMetricsDivElement = document.createElement("div"); - DOMMetricsDivElement.className = "cpdontremove"; style = DOMMetricsDivElement.style; style.position = "absolute"; style.left = "-100000px"; @@ -113,7 +110,6 @@ var DOMFixedWidthSpanElement = nil, var imgPath = [[CPBundle bundleForClass:[CPView class]] pathForResource:@"empty.png"]; DOMMetricsImgElement = document.createElement("img"); - DOMMetricsImgElement.className = "cpdontremove"; DOMMetricsImgElement.setAttribute("src", imgPath); DOMMetricsImgElement.setAttribute("width", "1"); DOMMetricsImgElement.setAttribute("height", "1"); diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index d3784af63..c2c97bb26 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -247,9 +247,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio if (!_DOMWindow) return [self contentRect]; - if (_DOMWindow.cpFrame) - return _DOMWindow.cpFrame(); - var contentRect = CGRectMakeZero(); if (window.screenTop) @@ -278,9 +275,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio if (!_DOMWindow) return; - if (typeof _DOMWindow["cpSetFrame"] === "function") - return _DOMWindow.cpSetFrame([self contentRect]); - var origin = [self contentRect].origin, nativeOrigin = [self nativeContentRect].origin; @@ -315,7 +309,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio _DOMFocusElement.style.zIndex = "-1000"; _DOMFocusElement.style.opacity = "0"; _DOMFocusElement.style.filter = "alpha(opacity=0)"; - _DOMFocusElement.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMFocusElement); @@ -330,7 +323,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio _DOMEventGuard.style.height = "100%"; _DOMEventGuard.style.zIndex = "999"; _DOMEventGuard.style.display = "none"; - _DOMEventGuard.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMEventGuard); // We get scrolling deltas from this element @@ -344,7 +336,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio //_DOMScrollingElement.style.backgroundColor = "rgba(0,0,0,1.0)"; // debug help. _DOMScrollingElement.style.opacity = "0"; _DOMScrollingElement.style.filter = "alpha(opacity=0)"; - _DOMScrollingElement.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMScrollingElement); var _DOMInnerScrollingElement = theDocument.createElement("div"); @@ -576,22 +567,12 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio [PlatformWindows addObject:self]; - // FIXME: cpSetFrame? _DOMWindow.document.write(''); _DOMWindow.document.close(); if (self != [CPPlatformWindow primaryPlatformWindow]) _DOMWindow.document.title = _title; - if (![CPPlatform isBrowser]) - { - _DOMWindow.cpWindowNumber = [self._only windowNumber]; - _DOMWindow.cpSetFrame(_contentRect); - _DOMWindow.cpSetLevel(_level); - _DOMWindow.cpSetHasShadow(_hasShadow); - _DOMWindow.cpSetShadowStyle(_shadowStyle); - } - [self registerDOMWindow]; _DOMBodyElement.style.cursor = [[CPCursor currentCursor] _cssString]; From 8f99ebb577a639b65793a8833517535d7e8f31cf Mon Sep 17 00:00:00 2001 From: daboe01 Date: Thu, 5 Jul 2018 13:01:41 +0200 Subject: [PATCH 43/95] Fixed: optical clutter, link duplications in readme (#2729) --- README.markdown | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/README.markdown b/README.markdown index 9bf561c9d..a7209edfb 100644 --- a/README.markdown +++ b/README.markdown @@ -20,10 +20,18 @@ Check out a [live demo of the widgets in Cappuccino](https://cappuccino-testbook Check out some [live demos and tutorials](https://cappuccino-cookbook.5apps.com) -For more information, see [the official website](http://cappuccino-project.org) and [the Github Wiki](https://github.com/cappuccino/cappuccino/wiki). +For more information, see the + - [Official website](http://cappuccino-project.org) + - [Github Wiki](https://github.com/cappuccino/cappuccino/wiki) + - [FAQ](http://cappuccino-project.org/support/faq.html) + - [Documentation](http://cappuccino-project.org/learn/) + - [Mailing list](http://groups.google.com/group/objectivej) + - [Gitter](https://gitter.im/cappuccino/cappuccino) Follow [@cappuccino](https://twitter.com/cappuccino) on Twitter for updates on the project. +If you discover any bugs, please [file a ticket](http://github.com/cappuccino/cappuccino/issues). + System Requirements ------------------- To run Cappuccino applications, all you need is a HTML5 compliant web browser. @@ -34,25 +42,9 @@ However, you can also work on other platforms using only a simple text editor. Getting Started --------------- -To get started, download and install the current release version of Cappuccino: +To write you first application, [download the starter package](http://www.cappuccino-project.org/#download). - $ curl https://raw.githubusercontent.com/cappuccino/cappuccino/v0.9.10/bootstrap.sh >/tmp/cappuccino_bootstrap.sh && bash /tmp/cappuccino_bootstrap.sh - -If you'd just like to get started using Cappuccino for your web apps, you are done. - -To build Cappuccino from source, please read here: [Getting and Building the Source](). - -Getting Help ------------- -If you need help with Cappuccino, you can get help from the following sources: - - - [FAQ](http://cappuccino-project.org/support/faq.html) - - [Documentation](http://cappuccino-project.org/learn/) - - [Wiki](http://github.com/cappuccino/cappuccino/wikis) - - [Mailing list](http://groups.google.com/group/objectivej) - - [Gitter](https://gitter.im/cappuccino/cappuccino) - -If you discover any bugs, please [file a ticket](http://github.com/cappuccino/cappuccino/issues) +To contribute to Cappuccino, please read here: [Getting and Building the Source](). License ------- From ee695f9000c7a2b2e04efc8df50b9ed078369fbb Mon Sep 17 00:00:00 2001 From: daboe01 Date: Thu, 5 Jul 2018 15:44:36 +0200 Subject: [PATCH 44/95] Fixed: CPSearchPanel did not support PredicateBindings (#2699) --- AppKit/CPSearchField.j | 59 +++ .../AppController.j | 49 +++ .../CPSearchFieldPredicateBinding/Info.plist | 14 + .../CPSearchFieldPredicateBinding/Jakefile | 172 ++++++++ .../CPSearchFieldPredicateBinding/Person.j | 17 + .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 414 ++++++++++++++++++ .../index-debug.html | 204 +++++++++ .../CPSearchFieldPredicateBinding/index.html | 166 +++++++ .../CPSearchFieldPredicateBinding/main.j | 18 + 10 files changed, 1114 insertions(+) create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/AppController.j create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/Info.plist create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/Jakefile create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/Person.j create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.cib create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.xib create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/index-debug.html create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/index.html create mode 100755 Tests/Manual/CPSearchFieldPredicateBinding/main.j diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index 2c00bc15b..ece795923 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -78,6 +78,14 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat }; } ++ (Class)_binderClassForBinding:(CPString)aBinding +{ + if (aBinding === CPPredicateBinding) + return [_CPSearchFieldPredicateBinder class]; + + return [super _binderClassForBinding:aBinding]; +} + - (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) @@ -760,6 +768,16 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat _recentSearches = list; } +- (void)unbind:(CPString)aBinding +{ + [super unbind:aBinding]; + + // our CPPredicateBinding binder adds a binding to the value. + // this private binding has to be also removed + if (aBinding === CPPredicateBinding) + [[[self class] _binderClassForBinding:aBinding] unbind:CPValueBinding forObject:self]; +} + @end #pragma mark - @@ -871,3 +889,44 @@ var CPRecentsAutosaveNameKey = @"CPRecentsAutosaveNameKey", } @end + +@implementation _CPSearchFieldPredicateBinder : CPBinder +{ + CPArrayController _controller; + CPString _predicateFormat; +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + if (aBinding === CPPredicateBinding) + { + var options = [_info objectForKey:CPOptionsKey]; + + _controller = [_info objectForKey:CPObservedObjectKey]; + _predicateFormat = [options objectForKey:"CPPredicateFormat"]; + [_source bind:CPValueBinding toObject:self withKeyPath:"searchFieldValue" options:nil]; + } +} + +- (void)setSearchFieldValue:(CPString)aValue +{ + var destination = [_info objectForKey:CPObservedObjectKey], + keyPath = [_info objectForKey:CPObservedKeyPathKey]; + + var formatString = _predicateFormat.replace(/\$value/g, "%@"); + [self suppressSpecificNotificationFromObject:destination keyPath:keyPath]; + + if (aValue) + [_controller setFilterPredicate:[CPPredicate predicateWithFormat:formatString, aValue]]; + else + [_controller setFilterPredicate:nil]; + + [self unsuppressSpecificNotificationFromObject:destination keyPath:keyPath]; +} +- (CPString)searchFieldValue +{ + return [_source stringValue]; +} + +@end + diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/AppController.j b/Tests/Manual/CPSearchFieldPredicateBinding/AppController.j new file mode 100755 index 000000000..088e0f59a --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/AppController.j @@ -0,0 +1,49 @@ +/* + * AppController.j + * 44-Sorting-CPTableView + * + * Created by Argos Oz on May 1, 2018. + * 2018, Army of Me + */ + +@import +@import + +@import "Person.j" + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; + @outlet CPTableView _tableView; + CPMutableArray _people @accessors(property=people); +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + _people = [[CPMutableArray alloc] init]; + + [_tableView setSortDescriptors: + @[ + [CPSortDescriptor sortDescriptorWithKey:@"name" + ascending:YES + selector:@selector(caseInsensitiveCompare:) + ], + [CPSortDescriptor sortDescriptorWithKey:@"age" + ascending:YES + ] + ] + ]; + +} + +- (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:NO]; +} + +@end diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/Info.plist b/Tests/Manual/CPSearchFieldPredicateBinding/Info.plist new file mode 100755 index 000000000..0d23ecd7f --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/Info.plist @@ -0,0 +1,14 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + 44-Sorting-CPTableView + CPBundleVersion + 1.0 + CPHumanReadableCopyright + Copyright © 2018, Army of Me, Inc. All rights reserved. + + diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/Jakefile b/Tests/Manual/CPSearchFieldPredicateBinding/Jakefile new file mode 100755 index 000000000..6f3616e21 --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/Jakefile @@ -0,0 +1,172 @@ +/* + * Jakefile + * 44-Sorting-CPTableView + * + * Created by Argos Oz on May 1, 2018. + * Copyright 2018, Army of Me, Inc. 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"), + projectName = "44SortingCPTableView"; + +app (projectName, function(task) +{ + ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; + + if (configuration === "Debug") + ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); + + task.setBuildIntermediatesPath(FILE.join("Build", "44SortingCPTableView.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("44-Sorting-CPTableView"); + task.setIdentifier("com.yourcompany.44SortingCPTableView"); + task.setVersion("1.0"); + task.setAuthor("Army of Me, Inc."); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("44-Sorting-CPTableView"); + task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g -S --inline-msg-send"); + else + task.setCompilerFlags("-O2"); +}); + +task ("default", [projectName], function() +{ + printResults(configuration); +}); + +task ("build", ["default"], function() +{ + updateApplicationSize(); +}); + +task ("debug", function() +{ + configuration = ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + configuration = ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", projectName, "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", projectName)); + OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]); + printResults("Deployment") +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName)); + print("----------------------------"); +} + +function updateApplicationSize() +{ + print("Calculating application file sizes..."); + + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), + format = CFPropertyList.sniffedFormatOfString(contents), + plist = CFPropertyList.propertyListFromString(contents), + totalBytes = {executable:0, data:0, mhtml:0}; + + // Get the size of all framework executables and sprite data + var frameworksDir = "Frameworks"; + + if (configuration === "Debug") + frameworksDir = FILE.join(frameworksDir, "Debug"); + + var frameworks = FILE.list(frameworksDir); + + frameworks.forEach(function(framework) + { + if (framework !== "Source") + addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes); + }); + + // Read in the default theme name, and attempt to get its size + var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2", + themePath = nil; + + if (themeName === "Aristo" || themeName === "Aristo2") + themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend"); + else + themePath = FILE.join("Frameworks", "Resources", themeName + ".blend"); + + if (FILE.isDirectory(themePath)) + addBundleFileSizes(themePath, totalBytes); + + // Add sizes for the app + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); + + print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); + + var dict = new CFMutableDictionary(); + + dict.setValueForKey("executable", totalBytes.executable); + dict.setValueForKey("data", totalBytes.data); + dict.setValueForKey("mhtml", totalBytes.mhtml); + + plist.setValueForKey("CPApplicationSize", dict); + + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); +} + +function addBundleFileSizes(bundlePath, totalBytes) +{ + var bundleName = FILE.basename(bundlePath), + environment = bundleName === "Foundation" ? "Objj" : "Browser", + bundlePath = FILE.join(bundlePath, environment + ".environment"); + + if (FILE.isDirectory(bundlePath)) + { + var filename = bundleName + ".sj", + filePath = new FILE.Path(FILE.join(bundlePath, filename)); + + if (filePath.exists()) + totalBytes.executable += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt")); + + if (filePath.exists()) + totalBytes.data += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + } +} diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/Person.j b/Tests/Manual/CPSearchFieldPredicateBinding/Person.j new file mode 100755 index 000000000..3442e6c64 --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/Person.j @@ -0,0 +1,17 @@ +@implementation Person : CPObject +{ + CPString _name; + int _age; +} + +- (id) init +{ + self = [super init]; + if(self){ + _name = @"Tyler Durden" + _age = 27; + } + return self; +} + +@end diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.cib b/Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.cib new file mode 100755 index 000000000..6babf19b8 --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;19E;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;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;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;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;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;D;K;6;CP$UIDd;2;59E;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;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;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;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;142E;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;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;1;0E;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;153E;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;11E;D;K;6;CP$UIDd;2;11E;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;64E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;156E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;157E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;151E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;139E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;160E;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;18E;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;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;65E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;69E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;59E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;176E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;87E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;179E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;180E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;185E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;187E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;188E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;191E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;192E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;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;193E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;153E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;153E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;195E;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;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;151E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;196E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;197E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;198E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;153E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;201E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;202E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;203E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;153E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;205E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;206E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;207E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;153E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;209E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;202E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;210E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;156E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;212E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;213E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;214E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;215E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;64E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;64E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;215E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;218E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;219E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;220E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;221E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;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;223E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;224E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;225E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;221E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;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;223E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;226E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;227E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;228E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;71E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;71E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;228E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;229E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;230E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;231E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;232E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;233E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;234E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;75E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;75E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;234E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;235E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;236E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;237E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;75E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;221E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;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;223E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;238E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;239E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;240E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;241E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;243E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;246E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;83E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;83E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;246E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;249E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;250E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;251E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;221E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;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;223E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;252E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;253E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;255E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;257E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;259E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;260E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;221E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;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;223E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;94E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;261E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;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;264E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;265E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;266E;K;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;267E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;268E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;269E;K;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;270E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;271E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;272E;K;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;273E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;274E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;275E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;276E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;277E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;101E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;277E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;279E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;280E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;281E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;282E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;283E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;284E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;101E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;285E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;107E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;285E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;287E;K;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;264E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;265E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;288E;K;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;267E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;268E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;289E;K;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;270E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;271E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;290E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;290E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;292E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;293E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;112E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;294E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;116E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;294E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;296E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;297E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;299E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;300E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;120E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;120E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;300E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;301E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;303E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;304E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;305E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;221E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;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;223E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;306E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;120E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;126E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;216E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;126E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;61E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;307E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;309E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;126E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;310E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;3;311E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;312E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;313E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;314E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;315E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;316E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;317E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;300E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;131E;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;130E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;319E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;320E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;323E;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;132E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;131E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;324E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;325E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;131E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;327E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;328E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;318E;K;6;$afontD;K;6;CP$UIDd;3;330E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;318E;K;11;$aalignmentD;K;6;CP$UIDd;3;267E;K;7;$aimageD;K;6;CP$UIDd;3;332E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;333E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;334E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;318E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;335E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;336E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;222E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;223E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;337E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;318E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;221E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;267E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;318E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;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;3;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;131E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;338E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;340E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;131E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;341E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;342E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;343E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;137E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;344E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;145E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;144E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;345E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;345E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;345E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;345E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;221E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;221E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;221E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;346E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;267E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;318E;E;D;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;136E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;135E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;347E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;348E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;349E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;135E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;350E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;352E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;353E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;139E;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;138E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;137E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;354E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;354E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;137E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;352E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;355E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;12;$agrid-colorD;K;6;CP$UIDd;3;356E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;357E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;334E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;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;358E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;359E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;318E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;334E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;223E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;221E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;221E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;221E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;221E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;360E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;356E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;318E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;223E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;362E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;3;147E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;363E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;364E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;365E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;367E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;369E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;270E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;223E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;221E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;370E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;364E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;365E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;371E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;372E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;270E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;223E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;221E;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;3;143E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;135E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;373E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;374E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;135E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;350E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;375E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;376E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;377E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;378E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;135E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;379E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;334E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;3;223E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;264E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;143E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;135E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;380E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;381E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;135E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;350E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;375E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;376E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;377E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;382E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;135E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;383E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;334E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;3;221E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;264E;K;18;CPScrollerStyleKeyD;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;3;146E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;344E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;384E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;384E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;344E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;385E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;386E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;131E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;387E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;388E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;131E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;389E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;327E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;328E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;318E;K;6;$afontD;K;6;CP$UIDd;3;330E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;318E;K;11;$aalignmentD;K;6;CP$UIDd;3;267E;K;7;$aimageD;K;6;CP$UIDd;3;390E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;391E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;334E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;318E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;335E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;392E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;222E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;223E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;337E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;318E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;221E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;267E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;318E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;3;149E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;131E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;393E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;394E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;131E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;395E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;396E;K;6;$afontD;K;6;CP$UIDd;3;397E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;267E;K;11;$aalignmentD;K;6;CP$UIDd;3;334E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;222E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;334E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;318E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;335E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;221E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;221E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;223E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;399E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;267E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;334E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;221E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;223E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;221E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;223E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;221E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;400E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;401E;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;3;152E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;402E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;221E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;223E;K;37;CPObjectControllerUsesLazyFetchingKeyD;K;6;CP$UIDd;3;223E;K;40;CPObjectControllerIsUsingManagedProxyKeyD;K;6;CP$UIDd;3;223E;K;33;CPObjectControllerManagedProxyKeyD;K;6;CP$UIDd;3;404E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;221E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;221E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;221E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;221E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;221E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;223E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;223E;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;154E;K;33;CPUserDefaultsControllerSharedKeyD;K;6;CP$UIDd;3;221E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;129E;E;E;S;8;delegateS;10;_tableViewS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;10;terminate: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;7;remove:S;4;add:S;20;contentArray: peopleS;12;contentArrayS;6;peopleD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.ageS;5;valueS;19;arrangedObjects.ageD;K;6;$classD;K;6;CP$UIDd;3;199E;K;10;CP.objectsD;E;E;S;26;predicate: filterPredicateS;9;predicateS;15;filterPredicateD;K;6;$classD;K;6;CP$UIDd;3;199E;K;10;CP.objectsD;K;17;CPPredicateFormatD;K;6;CP$UIDd;3;405E;K;13;CPDisplayNameD;K;6;CP$UIDd;3;206E;E;E;S;27;value: arrangedObjects.nameS;20;arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;199E;K;10;CP.objectsD;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;63E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;125E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;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;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;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;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;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;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;111E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;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;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;E;E;S;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;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;114E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;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;118E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;18;Customize Toolbar…S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;E;E;S;19;NewApplication HelpS;1;?S;10;{264, 292}S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 230}, {434, 258}}S;21;{{0, 0}, {1440, 878}}d;2;15d;1;0S;20;{{0, 0}, {434, 258}}D;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;135E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;150E;E;E;S;6;normalS;6;{1, 1}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{20, 20}, {53, 25}}S;18;{{0, 0}, {53, 25}}d;2;36S;6;buttonS;27;bordered+controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;406E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;335E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;221E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;223E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;221E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;331E;K;4;nameD;K;6;CP$UIDd;3;407E;K;12;defaultValueD;K;6;CP$UIDd;3;409E;K;5;stateD;K;6;CP$UIDd;3;410E;K;5;valueD;K;6;CP$UIDd;3;411E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;4d;2;-1S;3;Addd;2;14S;22;{{20, 67}, {394, 171}}S;20;{{0, 0}, {394, 171}}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;344E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;346E;E;E;d;2;18S;10;scrollviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;135E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;412E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;413E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;414E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;135E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;350E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;415E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;147E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;135E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;416E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;417E;E;S;20;{{1, 1}, {392, 170}}S;20;{{0, 0}, {392, 170}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;139E;E;E;d;1;8D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;351E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;418E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;419E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{0, 0}, {392, 147}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;351E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;420E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;419E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;2;25S;6;{3, 2}D;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;142E;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;361E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;318E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;421E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;421E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;422E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;423E;E;d;3;116d;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;366E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;416E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;424E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;425E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;426E;K;12;$atext-colorD;K;6;CP$UIDd;3;427E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;334E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;428E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;429E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;426E;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;368E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;416E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;430E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;431E;K;6;$afontD;K;6;CP$UIDd;3;397E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;334E;K;11;$aalignmentD;K;6;CP$UIDd;3;334E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;432E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;433E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;434E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;318E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;335E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;221E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;221E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;223E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;352E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;334E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;334E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;223E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;223E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;223E;E;d;3;270D;K;6;$classD;K;6;CP$UIDd;3;366E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;416E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;435E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;425E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;426E;K;12;$atext-colorD;K;6;CP$UIDd;3;427E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;334E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;436E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;437E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;3;368E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;416E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;430E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;431E;K;6;$afontD;K;6;CP$UIDd;3;397E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;334E;K;11;$aalignmentD;K;6;CP$UIDd;3;334E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;438E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;433E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;434E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;318E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;335E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;221E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;221E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;223E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;352E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;334E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;334E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;223E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;223E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;223E;E;S;22;{{1, -106}, {202, 15}}S;19;{{0, 0}, {202, 15}}d;11;-2147483648S;8;scrollerS;27;controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;29;_horizontalScrollerDidScroll:S;22;{{224, 52}, {15, 102}}S;19;{{0, 0}, {15, 102}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;27;_verticalScrollerDidScroll:S;19;{{0, 0}, {392, 25}}S;14;tableHeaderRowD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{92, 20}, {77, 25}}S;18;{{0, 0}, {77, 25}}d;2;33D;K;6;$classD;K;6;CP$UIDd;3;331E;K;4;nameD;K;6;CP$UIDd;3;407E;K;12;defaultValueD;K;6;CP$UIDd;3;409E;K;5;stateD;K;6;CP$UIDd;3;410E;K;5;valueD;K;6;CP$UIDd;3;411E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;RemoveS;22;{{235, 17}, {183, 32}}S;19;{{0, 0}, {183, 32}}S;11;searchfieldS;55;bezeled+controlSizeRegular+editable+placeholder+roundedD;K;6;$classD;K;6;CP$UIDd;3;329E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;406E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;335E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;223E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;223E;K;17;CPFontIsSystemKeyD;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;3;440E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;351E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;441E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;419E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;E;d;3;254S;13;AppControllerS;6;PersonD;K;10;$classnameS;15;_CPManagedProxyK;8;$classesA;S;15;_CPManagedProxyS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;403E;K;27;CPManagedProxyEntityNameKeyD;K;6;CP$UIDd;1;0E;K;31;CPManagedProxyFetchPredicateKeyD;K;6;CP$UIDd;1;0E;E;S;20;name contains $valueS;28;_CPFontSystemFacePlaceholderS;5;imageD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;408E;E;S;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;329E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;442E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;443E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;223E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;223E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;223E;E;S;21;{{1, 148}, {392, 23}}S;19;{{0, 0}, {392, 23}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;147E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;{{0, 0}, {0, 0}}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;264E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;264E;E;E;S;5;colorD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;444E;D;K;6;CP$UIDd;3;264E;E;E;S;18;{{0, 0}, {14, 25}}S;10;cornerviewD;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;446E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;329E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;406E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;447E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;221E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;223E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;221E;E;D;K;6;$classD;K;6;CP$UIDd;3;351E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;448E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;419E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;4;NameS;9;textfieldS;41;controlSizeRegular+editable+tableDataViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;449E;E;E;S;9;Text Celld;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;450E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;3;AgeD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;451E;E;E;D;K;10;$classnameS;14;CPTrackingAreaK;8;$classesA;S;14;CPTrackingAreaS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;439E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;453E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;454E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;150E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;150E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;264E;E;E;S;18;.AppleSystemUIFontd;2;13f;3;0.8D;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;445E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;367E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;456E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;457E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;367E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;341E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;458E;E;d;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;459E;D;K;6;CP$UIDd;3;264E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;439E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;460E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;454E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;369E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;369E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;461E;E;D;K;6;$classD;K;6;CP$UIDd;3;445E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;371E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;456E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;457E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;371E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;341E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;322E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;223E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;462E;E;D;K;6;$classD;K;6;CP$UIDd;3;439E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;463E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;454E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;372E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;372E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;464E;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;452E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;465E;E;d;2;42D;K;6;$classD;K;6;CP$UIDd;3;452E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;466E;E;S;18;{{5, 0}, {-10, 0}}S;18;{{0, 0}, {-10, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;f;18;0.5019607843137255D;K;6;$classD;K;6;CP$UIDd;3;452E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;467E;E;D;K;6;$classD;K;6;CP$UIDd;3;452E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;468E;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;452E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;467E;E;D;K;6;$classD;K;6;CP$UIDd;3;452E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;468E;E;S;57;{"origin":{"x":0,"y":1},"size":{"width":183,"height":31}}S;60;{"origin":{"x":235,"y":18},"size":{"width":183,"height":31}}S;55;{"origin":{"x":0,"y":1},"size":{"width":0,"height":-1}}S;54;{"origin":{"x":0,"y":0},"size":{"width":0,"height":1}}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.xib b/Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.xib new file mode 100755 index 000000000..6f1e71f8d --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/Resources/MainMenu.xib @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + predicate + name contains $value + + + + + + + + + + + + + + + + + name + age + + + + + + + + diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/index-debug.html b/Tests/Manual/CPSearchFieldPredicateBinding/index-debug.html new file mode 100755 index 000000000..277ed18ef --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/index-debug.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + 44-Sorting-CPTableView + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/index.html b/Tests/Manual/CPSearchFieldPredicateBinding/index.html new file mode 100755 index 000000000..618ec9cec --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/index.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + 44-Sorting-CPTableView + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/CPSearchFieldPredicateBinding/main.j b/Tests/Manual/CPSearchFieldPredicateBinding/main.j new file mode 100755 index 000000000..a4794de7b --- /dev/null +++ b/Tests/Manual/CPSearchFieldPredicateBinding/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * 44-Sorting-CPTableView + * + * Created by Argos Oz on May 1, 2018. + * Copyright 2018, Army of Me, Inc. All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From 1fce0ee551f8acf59ab244004d90c45277cd2b80 Mon Sep 17 00:00:00 2001 From: Rosch Date: Sun, 8 Jul 2018 09:15:58 +0200 Subject: [PATCH 45/95] fix CPDateformatter for german dates --- Foundation/CPDateFormatter.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Foundation/CPDateFormatter.j b/Foundation/CPDateFormatter.j index 2d24155b3..65c048500 100644 --- a/Foundation/CPDateFormatter.j +++ b/Foundation/CPDateFormatter.j @@ -743,7 +743,7 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4, continue; } - if ([character isEqualToString:@","] || [character isEqualToString:@":"] || [character isEqualToString:@"/"] || [character isEqualToString:@"-"] || [character isEqualToString:@" "]) + if ([character isEqualToString:@","] || [character isEqualToString:@":"] || [character isEqualToString:@"/"] || [character isEqualToString:@"-"] || [character isEqualToString:@" "] || [character isEqualToString:@"."]) { result += [self _stringFromToken:currentToken date:aDate]; result += character; From 4afbfc6e570106e3788c95462df5b9f0b1632084 Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Wed, 11 Jul 2018 09:20:49 +0200 Subject: [PATCH 46/95] Revert "Removed: dead code and dom clutter from nativehost (#2608)" This reverts commit 5bfafaf241a4789d4fe143efbbc657faddb0c0f8. --- AppKit/Platform/CPPlatformWindow.j | 23 ++++++++++++++++++++++ AppKit/Platform/DOM/CPPlatformPasteboard.j | 1 + AppKit/Platform/DOM/CPPlatformString.j | 4 ++++ AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 19 ++++++++++++++++++ 4 files changed, 47 insertions(+) diff --git a/AppKit/Platform/CPPlatformWindow.j b/AppKit/Platform/CPPlatformWindow.j index bf39de81a..16b1a4954 100644 --- a/AppKit/Platform/CPPlatformWindow.j +++ b/AppKit/Platform/CPPlatformWindow.j @@ -224,10 +224,18 @@ var PrimaryPlatformWindow = NULL; - (void)deminiaturize:(id)sender { +#if PLATFORM(DOM) + if (_DOMWindow && typeof _DOMWindow["cpDeminiaturize"] === "function") + _DOMWindow.cpDeminiaturize(); +#endif } - (void)miniaturize:(id)sender { +#if PLATFORM(DOM) + if (_DOMWindow && typeof _DOMWindow["cpMiniaturize"] === "function") + _DOMWindow.cpMiniaturize(); +#endif } - (void)moveWindow:(CPWindow)aWindow fromLevel:(int)fromLevel toLevel:(int)toLevel @@ -247,16 +255,31 @@ var PrimaryPlatformWindow = NULL; - (void)setLevel:(CPInteger)aLevel { _level = aLevel; + +#if PLATFORM(DOM) + if (_DOMWindow && _DOMWindow.cpSetLevel) + _DOMWindow.cpSetLevel(aLevel); +#endif } - (void)setHasShadow:(BOOL)shouldHaveShadow { _hasShadow = shouldHaveShadow; + +#if PLATFORM(DOM) + if (_DOMWindow && _DOMWindow.cpSetHasShadow) + _DOMWindow.cpSetHasShadow(shouldHaveShadow); +#endif } - (void)setShadowStyle:(int)aStyle { _shadowStyle = aStyle; + +#if PLATFORM(DOM) + if (_DOMWindow && _DOMWindow.cpSetShadowStyle) + _shadowStyle.cpSetShadowStyle(aStyle); +#endif } - (BOOL)supportsFullPlatformWindows diff --git a/AppKit/Platform/DOM/CPPlatformPasteboard.j b/AppKit/Platform/DOM/CPPlatformPasteboard.j index b1c57cb32..8d32fbccb 100644 --- a/AppKit/Platform/DOM/CPPlatformPasteboard.j +++ b/AppKit/Platform/DOM/CPPlatformPasteboard.j @@ -118,6 +118,7 @@ var hasEditableTarget = function(aDOMEvent) _DOMPasteboardElement.style.position = "absolute"; _DOMPasteboardElement.style.top = "-10000px"; _DOMPasteboardElement.style.zIndex = "999"; + _DOMPasteboardElement.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMPasteboardElement); diff --git a/AppKit/Platform/DOM/CPPlatformString.j b/AppKit/Platform/DOM/CPPlatformString.j index 98aca9178..fb440d36d 100644 --- a/AppKit/Platform/DOM/CPPlatformString.j +++ b/AppKit/Platform/DOM/CPPlatformString.j @@ -49,6 +49,7 @@ var DOMFixedWidthSpanElement = nil, bodyElement = [CPPlatform mainBodyElement]; DOMFlexibleWidthSpanElement = document.createElement("span"); + DOMFlexibleWidthSpanElement.className = "cpdontremove"; style = DOMFlexibleWidthSpanElement.style; style.position = "absolute"; style.left = "-100000px"; @@ -59,6 +60,7 @@ var DOMFixedWidthSpanElement = nil, style.whiteSpace = "pre"; DOMFixedWidthSpanElement = document.createElement("span"); + DOMFixedWidthSpanElement.className = "cpdontremove"; style = DOMFixedWidthSpanElement.style; style.display = "block"; style.position = "absolute"; @@ -94,6 +96,7 @@ var DOMFixedWidthSpanElement = nil, bodyElement = [CPPlatform mainBodyElement]; DOMMetricsDivElement = document.createElement("div"); + DOMMetricsDivElement.className = "cpdontremove"; style = DOMMetricsDivElement.style; style.position = "absolute"; style.left = "-100000px"; @@ -110,6 +113,7 @@ var DOMFixedWidthSpanElement = nil, var imgPath = [[CPBundle bundleForClass:[CPView class]] pathForResource:@"empty.png"]; DOMMetricsImgElement = document.createElement("img"); + DOMMetricsImgElement.className = "cpdontremove"; DOMMetricsImgElement.setAttribute("src", imgPath); DOMMetricsImgElement.setAttribute("width", "1"); DOMMetricsImgElement.setAttribute("height", "1"); diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index c2c97bb26..d3784af63 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -247,6 +247,9 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio if (!_DOMWindow) return [self contentRect]; + if (_DOMWindow.cpFrame) + return _DOMWindow.cpFrame(); + var contentRect = CGRectMakeZero(); if (window.screenTop) @@ -275,6 +278,9 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio if (!_DOMWindow) return; + if (typeof _DOMWindow["cpSetFrame"] === "function") + return _DOMWindow.cpSetFrame([self contentRect]); + var origin = [self contentRect].origin, nativeOrigin = [self nativeContentRect].origin; @@ -309,6 +315,7 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio _DOMFocusElement.style.zIndex = "-1000"; _DOMFocusElement.style.opacity = "0"; _DOMFocusElement.style.filter = "alpha(opacity=0)"; + _DOMFocusElement.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMFocusElement); @@ -323,6 +330,7 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio _DOMEventGuard.style.height = "100%"; _DOMEventGuard.style.zIndex = "999"; _DOMEventGuard.style.display = "none"; + _DOMEventGuard.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMEventGuard); // We get scrolling deltas from this element @@ -336,6 +344,7 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio //_DOMScrollingElement.style.backgroundColor = "rgba(0,0,0,1.0)"; // debug help. _DOMScrollingElement.style.opacity = "0"; _DOMScrollingElement.style.filter = "alpha(opacity=0)"; + _DOMScrollingElement.className = "cpdontremove"; _DOMBodyElement.appendChild(_DOMScrollingElement); var _DOMInnerScrollingElement = theDocument.createElement("div"); @@ -567,12 +576,22 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio [PlatformWindows addObject:self]; + // FIXME: cpSetFrame? _DOMWindow.document.write(''); _DOMWindow.document.close(); if (self != [CPPlatformWindow primaryPlatformWindow]) _DOMWindow.document.title = _title; + if (![CPPlatform isBrowser]) + { + _DOMWindow.cpWindowNumber = [self._only windowNumber]; + _DOMWindow.cpSetFrame(_contentRect); + _DOMWindow.cpSetLevel(_level); + _DOMWindow.cpSetHasShadow(_hasShadow); + _DOMWindow.cpSetShadowStyle(_shadowStyle); + } + [self registerDOMWindow]; _DOMBodyElement.style.cursor = [[CPCursor currentCursor] _cssString]; From 53a52da70981f80d01df700a150f9d51041d6500 Mon Sep 17 00:00:00 2001 From: bedalton Date: Thu, 2 Aug 2018 23:28:05 -0700 Subject: [PATCH 47/95] Fixed: _CPObjectAnimator initialize method did not match superclass return (#2743) * Fixed: _CPObjectAnimator initialize method did not match superclass return _CPObject animator labeled return type as BOOL, not only is this value not returned, but the super class CPProxy's initialize method returns void. Changed return type to void in _CPObject animator, to match superclass --- AppKit/CoreAnimation/_CPObjectAnimator.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CoreAnimation/_CPObjectAnimator.j b/AppKit/CoreAnimation/_CPObjectAnimator.j index 944327057..192735f42 100644 --- a/AppKit/CoreAnimation/_CPObjectAnimator.j +++ b/AppKit/CoreAnimation/_CPObjectAnimator.j @@ -20,7 +20,7 @@ var _supportsCSSAnimations = null; id _target; } -+ (BOOL)initialize ++ (void)initialize { if ([self class] !== [_CPObjectAnimator class]) return; From e35e87fb054dc06fad6d6711e5562315ffcfd864 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Wed, 8 Aug 2018 19:19:58 +0200 Subject: [PATCH 48/95] fixed: obsolete code remnants from nativehost --- AppKit/Platform/CPPlatformWindow.j | 23 ---------------------- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 16 --------------- 2 files changed, 39 deletions(-) diff --git a/AppKit/Platform/CPPlatformWindow.j b/AppKit/Platform/CPPlatformWindow.j index 16b1a4954..bf39de81a 100644 --- a/AppKit/Platform/CPPlatformWindow.j +++ b/AppKit/Platform/CPPlatformWindow.j @@ -224,18 +224,10 @@ var PrimaryPlatformWindow = NULL; - (void)deminiaturize:(id)sender { -#if PLATFORM(DOM) - if (_DOMWindow && typeof _DOMWindow["cpDeminiaturize"] === "function") - _DOMWindow.cpDeminiaturize(); -#endif } - (void)miniaturize:(id)sender { -#if PLATFORM(DOM) - if (_DOMWindow && typeof _DOMWindow["cpMiniaturize"] === "function") - _DOMWindow.cpMiniaturize(); -#endif } - (void)moveWindow:(CPWindow)aWindow fromLevel:(int)fromLevel toLevel:(int)toLevel @@ -255,31 +247,16 @@ var PrimaryPlatformWindow = NULL; - (void)setLevel:(CPInteger)aLevel { _level = aLevel; - -#if PLATFORM(DOM) - if (_DOMWindow && _DOMWindow.cpSetLevel) - _DOMWindow.cpSetLevel(aLevel); -#endif } - (void)setHasShadow:(BOOL)shouldHaveShadow { _hasShadow = shouldHaveShadow; - -#if PLATFORM(DOM) - if (_DOMWindow && _DOMWindow.cpSetHasShadow) - _DOMWindow.cpSetHasShadow(shouldHaveShadow); -#endif } - (void)setShadowStyle:(int)aStyle { _shadowStyle = aStyle; - -#if PLATFORM(DOM) - if (_DOMWindow && _DOMWindow.cpSetShadowStyle) - _shadowStyle.cpSetShadowStyle(aStyle); -#endif } - (BOOL)supportsFullPlatformWindows diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index d3784af63..273c98897 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -247,9 +247,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio if (!_DOMWindow) return [self contentRect]; - if (_DOMWindow.cpFrame) - return _DOMWindow.cpFrame(); - var contentRect = CGRectMakeZero(); if (window.screenTop) @@ -278,9 +275,6 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio if (!_DOMWindow) return; - if (typeof _DOMWindow["cpSetFrame"] === "function") - return _DOMWindow.cpSetFrame([self contentRect]); - var origin = [self contentRect].origin, nativeOrigin = [self nativeContentRect].origin; @@ -576,22 +570,12 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio [PlatformWindows addObject:self]; - // FIXME: cpSetFrame? _DOMWindow.document.write(''); _DOMWindow.document.close(); if (self != [CPPlatformWindow primaryPlatformWindow]) _DOMWindow.document.title = _title; - if (![CPPlatform isBrowser]) - { - _DOMWindow.cpWindowNumber = [self._only windowNumber]; - _DOMWindow.cpSetFrame(_contentRect); - _DOMWindow.cpSetLevel(_level); - _DOMWindow.cpSetHasShadow(_hasShadow); - _DOMWindow.cpSetShadowStyle(_shadowStyle); - } - [self registerDOMWindow]; _DOMBodyElement.style.cursor = [[CPCursor currentCursor] _cssString]; From 864c7d96f1937e6f815aa97ddeb43a001dcd7406 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Wed, 8 Aug 2018 22:05:57 +0200 Subject: [PATCH 49/95] Revert "NEW: Added automatic Xcode syntax coloring" This reverts commit 0a497d8c3f4daa3934d3c84a38c4c9c6522c5817. --- Tools/XcodeCapp/XcodeCapp/Info.plist | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/Tools/XcodeCapp/XcodeCapp/Info.plist b/Tools/XcodeCapp/XcodeCapp/Info.plist index 415a70450..49d970dab 100644 --- a/Tools/XcodeCapp/XcodeCapp/Info.plist +++ b/Tools/XcodeCapp/XcodeCapp/Info.plist @@ -2,6 +2,8 @@ + NSUserNotificationAlertStyle + alert CFBundleDevelopmentRegion en CFBundleDocumentTypes @@ -49,26 +51,6 @@ MainMenu NSPrincipalClass NSApplication - NSUserNotificationAlertStyle - alert - UTExportedTypeDeclarations - - - UTTypeConformsTo - - public.objective-c-source - - UTTypeIdentifier - org.cappuccino.objj-source - UTTypeTagSpecification - - public.filename-extension - - j - - - - XCCCompatibilityVersion 4 XCCLastCappuccinoMasterBranchURL From e4f87bd805ff09c0cfcd6907590fb48f9ade7a29 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Wed, 8 Aug 2018 22:06:42 +0200 Subject: [PATCH 50/95] CPTableView-viewWillMoveToWindow-fix --- AppKit/CPTableView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 60ded9f7a..62b4f0849 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -5139,7 +5139,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad { [super viewWillMoveToWindow:aWindow]; - [self _stopObservingFirstResponderForWindow:aWindow]; + [self _stopObservingFirstResponderForWindow:[self window]]; if (aWindow) [self _startObservingFirstResponderForWindow:aWindow]; From fd3acc456d333610a7ec509d61a7560255fdd750 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Mon, 20 Aug 2018 10:36:59 +0200 Subject: [PATCH 51/95] FIXED: Before this commit, CPScrollerView was not correctly differentiating the scroller-width attribute (#2740) between the vertical scroller and the horizontal scroller. The scroller width was picked from a common CPScroller instance cached in CPScroller. The bug was not visible because the method -_adjustScrollerSize was correcting the size repeatidly in the layout pass. This was causing unnecessary calls to setFrame: in a performance sensitive method (triggered by scroll events). The ScrollView is now picking the right width from the theme and a setFrame: call is skipped. Tests: Manual/CPScrollView2/ TODO : The _adjustScrollerSize method should be enabled with a flag only when a width change is explicitely requested. --- AppKit/CPScrollView.j | 30 ++++++++++++++---------------- AppKit/CPScroller.j | 7 +++++++ AppKit/_CPPopUpList.j | 10 +++++----- 3 files changed, 26 insertions(+), 21 deletions(-) diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index c59178b2f..39a884307 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -168,14 +168,13 @@ var CPScrollerStyleGlobal = CPScrollerStyleOverlay, + (CGSize)contentSizeForFrameSize:(CGSize)frameSize hasHorizontalScroller:(BOOL)hFlag hasVerticalScroller:(BOOL)vFlag borderType:(CPBorderType)borderType { - var bounds = [self _insetBounds:CGRectMake(0.0, 0.0, frameSize.width, frameSize.height) borderType:borderType], - scrollerWidth = [CPScroller scrollerWidth]; + var bounds = [self _insetBounds:CGRectMake(0.0, 0.0, frameSize.width, frameSize.height) borderType:borderType]; if (hFlag) - bounds.size.height -= scrollerWidth; + bounds.size.height -= [_horizontalScroller scrollerWidth]; if (vFlag) - bounds.size.width -= scrollerWidth; + bounds.size.width -= [_verticalScroller scrollerWidth]; return bounds.size; } @@ -185,14 +184,13 @@ var CPScrollerStyleGlobal = CPScrollerStyleOverlay, var bounds = [self _insetBounds:CGRectMake(0.0, 0.0, contentSize.width, contentSize.height) borderType:borderType], widthInset = contentSize.width - bounds.size.width, heightInset = contentSize.height - bounds.size.height, - frameSize = CGSizeMake(contentSize.width + widthInset, contentSize.height + heightInset), - scrollerWidth = [CPScroller scrollerWidth]; + frameSize = CGSizeMake(contentSize.width + widthInset, contentSize.height + heightInset); if (hFlag) - frameSize.height += scrollerWidth; + frameSize.height += [_horizontalScroller scrollerWidth]; if (vFlag) - frameSize.width += scrollerWidth; + frameSize.width += [_verticalScroller scrollerWidth]; return frameSize; } @@ -529,8 +527,8 @@ Notifies the delegate when the scroll view has finished scrolling. { var bounds = [self _insetBounds]; - [self setHorizontalScroller:[[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, MAX(CGRectGetWidth(bounds), [CPScroller scrollerWidthInStyle:_scrollerStyle] + 1), [CPScroller scrollerWidthInStyle:_scrollerStyle])]]; - [[self horizontalScroller] setFrameSize:CGSizeMake(CGRectGetWidth(bounds), [CPScroller scrollerWidthInStyle:_scrollerStyle])]; + [self setHorizontalScroller:[[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, MAX(CGRectGetWidth(bounds), [_horizontalScroller scrollerWidth] + 1), [_horizontalScroller scrollerWidth])]]; + [[self horizontalScroller] setFrameSize:CGSizeMake(CGRectGetWidth(bounds), [_horizontalScroller scrollerWidth])]; } [self reflectScrolledClipView:_contentView]; @@ -594,8 +592,8 @@ Notifies the delegate when the scroll view has finished scrolling. { var bounds = [self _insetBounds]; - [self setVerticalScroller:[[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, [CPScroller scrollerWidthInStyle:_scrollerStyle], MAX(CGRectGetHeight(bounds), [CPScroller scrollerWidthInStyle:_scrollerStyle] + 1))]]; - [[self verticalScroller] setFrameSize:CGSizeMake([CPScroller scrollerWidthInStyle:_scrollerStyle], CGRectGetHeight(bounds))]; + [self setVerticalScroller:[[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, [_verticalScroller scrollerWidth], MAX(CGRectGetHeight(bounds), [_verticalScroller scrollerWidth] + 1))]]; + [[self verticalScroller] setFrameSize:CGSizeMake([_verticalScroller scrollerWidth], CGRectGetHeight(bounds))]; } [self reflectScrolledClipView:_contentView]; @@ -911,8 +909,8 @@ Notifies the delegate when the scroll view has finished scrolling. bottomCornerFrame.origin.x = CGRectGetMinX(verticalFrame); bottomCornerFrame.origin.y = CGRectGetMaxY(verticalFrame); - bottomCornerFrame.size.width = [CPScroller scrollerWidthInStyle:_scrollerStyle]; - bottomCornerFrame.size.height = [CPScroller scrollerWidthInStyle:_scrollerStyle]; + bottomCornerFrame.size.width = [_verticalScroller scrollerWidth]; + bottomCornerFrame.size.height = [_horizontalScroller scrollerWidth]; return bottomCornerFrame; } @@ -1124,8 +1122,8 @@ Notifies the delegate when the scroll view has finished scrolling. contentFrame.size.height -= headerClipViewHeight; var difference = CGSizeMake(CGRectGetWidth(documentFrame) - CGRectGetWidth(contentFrame), CGRectGetHeight(documentFrame) - CGRectGetHeight(contentFrame)), - verticalScrollerWidth = [CPScroller scrollerWidthInStyle:[_verticalScroller style]], - horizontalScrollerHeight = [CPScroller scrollerWidthInStyle:[_horizontalScroller style]], + verticalScrollerWidth = [_verticalScroller scrollerWidth], + horizontalScrollerHeight = [_horizontalScroller scrollerWidth], hasVerticalScroll = difference.height > 0.0, hasHorizontalScroll = difference.width > 0.0, shouldShowVerticalScroller = _hasVerticalScroller && (!_autohidesScrollers || hasVerticalScroll), diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index ae4ed6fbc..f06d974fb 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -770,6 +770,13 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); _timerFadeOut = [CPTimer scheduledTimerWithTimeInterval:1.2 target:self selector:@selector(_performFadeOut:) userInfo:nil repeats:NO]; } +- (float)scrollerWidth +{ + if (_style == CPScrollerStyleLegacy) + return [self valueForThemeAttribute:@"scroller-width" inState:CPThemeStateScrollViewLegacy]; + + return [self currentValueForThemeAttribute:@"scroller-width"]; +} #pragma mark - #pragma mark Delegates diff --git a/AppKit/_CPPopUpList.j b/AppKit/_CPPopUpList.j index 6ee4e1ff0..7dfa0a010 100644 --- a/AppKit/_CPPopUpList.j +++ b/AppKit/_CPPopUpList.j @@ -233,14 +233,14 @@ var ListColumnIdentifier = @"1"; // Start with a default size, we will resize it later var frame = CGRectMake(0, 0, 200, 200); - _tableColumn = [[CPTableColumn alloc] initWithIdentifier:ListColumnIdentifier]; - [_tableColumn setWidth:CGRectGetWidth(frame) - [CPScroller scrollerWidth]]; - [_tableColumn setResizingMask:CPTableColumnAutoresizingMask]; - [_tableView addTableColumn:_tableColumn]; - _scrollView = [self makeScrollViewWithFrame:CGRectMake(0, 0, CGRectGetWidth(frame), CGRectGetHeight(frame))]; [_scrollView setDocumentView:_tableView]; + _tableColumn = [[CPTableColumn alloc] initWithIdentifier:ListColumnIdentifier]; + [_tableColumn setWidth:CGRectGetWidth(frame) - [[_scrollView verticalScroller] scrollerWidth]]; + [_tableColumn setResizingMask:CPTableColumnAutoresizingMask]; + [_tableView addTableColumn:_tableColumn]; + // This has to be done after setDocumentView so that the table knows which scroll view to update [_tableView setHeaderView:nil]; From 6077d3f4c35f275ae3d65f9db490a8b38ea0f4d4 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 10:50:08 +0200 Subject: [PATCH 52/95] FIXED: _CPThemeAttribute valueForState was, under some circumstances, ignoring theme settings (#2744) --- AppKit/CPTheme.j | 93 +++++++++++++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 33 deletions(-) diff --git a/AppKit/CPTheme.j b/AppKit/CPTheme.j index 1c96ff168..c35e8d399 100644 --- a/AppKit/CPTheme.j +++ b/AppKit/CPTheme.j @@ -727,6 +727,7 @@ CPThemeStateNormalString = String(CPThemeStateNormal); - (id)valueForState:(ThemeState)aState { + // First, search in cache. var stateName = String(aState), value = _cache[stateName]; @@ -734,50 +735,76 @@ CPThemeStateNormalString = String(CPThemeStateNormal); if (value !== undefined) return value; + // Not in cache. OK, search in values. value = [_values objectForKey:stateName]; - if (value === undefined || value === nil) + if ((value !== undefined) && (value !== nil)) + return _cache[stateName] = value; + + // No direct match in values. + // If this is a composite state, find the closest partial subset match. + if (aState._stateNameCount > 1) { - // If this is a composite state, find the closest partial subset match. - if (aState._stateNameCount > 1) + var largestThemeState = [self largestThemeStateMatchForState:aState returnedValue:@ref(value)]; + + if ((value !== undefined) && (value !== nil)) + return _cache[stateName] = value; + } + + // Still don't have a value? OK, let's use the normal value. + value = [_values objectForKey:String(CPThemeStateNormal)]; + + if ((value !== undefined) && (value !== nil)) + return _cache[stateName] = value; + + // No normal value, try asking _themeDefaultAttribute + value = [_themeDefaultAttribute valueForState:aState]; + + if ((value !== undefined) && (value !== nil)) + return _cache[stateName] = value; + + // Well, last option, use default value + value = _defaultValue; + + // Class theme attributes cannot use nil because it's a dictionary. + // So transform CPNull into nil. + if (value === [CPNull null]) + value = nil; + + return _cache[stateName] = value; +} + +- (CPInteger)largestThemeStateMatchForState:(ThemeState)aState returnedValue:(id)valueRef +{ + var stateName = String(aState), + value, + states = [_values allKeys], + count = states ? states.length : 0, + largestThemeState = 0; + + while (count--) + { + var stateObject = CPThemeState(states[count]); + + if (stateObject.isSubsetOf(aState) && stateObject._stateNameCount > largestThemeState) { - var states = [_values allKeys], - count = states ? states.length : 0, - largestThemeState = 0; - - while (count--) - { - var stateObject = CPThemeState(states[count]); - - if (stateObject.isSubsetOf(aState) && stateObject._stateNameCount > largestThemeState) - { - value = [_values objectForKey:states[count]]; - largestThemeState = stateObject._stateNameCount; - } - } + value = [_values objectForKey:states[count]]; + largestThemeState = stateObject._stateNameCount; } - - // Still don't have a value? OK, let's use the normal value. - if (value === undefined || value === nil) - value = [_values objectForKey:String(CPThemeStateNormal)]; } - if (value === undefined || value === nil) - value = [_themeDefaultAttribute valueForState:aState]; + // _themeDefaultAttribute may have a larger theme state match. If so, we have to take it. If not, we take our closest match. + var defaultAttributeFoundValue, + defaultAttributeMatchLength = [_themeDefaultAttribute largestThemeStateMatchForState:aState returnedValue:@ref(defaultAttributeFoundValue)]; - if (value === undefined || value === nil) + if (defaultAttributeMatchLength > largestThemeState) { - value = _defaultValue; - - // Class theme attributes cannot use nil because it's a dictionary. - // So transform CPNull into nil. - if (value === [CPNull null]) - value = nil; + value = defaultAttributeFoundValue; + largestThemeState = defaultAttributeMatchLength; } - _cache[stateName] = value; - - return value; + @deref(valueRef) = value; + return largestThemeState; } - (_CPThemeAttribute)attributeBySettingParentAttribute:(_CPThemeAttribute)anAttribute From 78524cdde7056bd54d711cb9327489361e5bbff5 Mon Sep 17 00:00:00 2001 From: Alexandre Wilhelm Date: Mon, 20 Aug 2018 01:59:27 -0700 Subject: [PATCH 53/95] Fixed: deprecate FlashView, this old technology is now almost banned for all browser (#2748) --- AppKit/CPFlashView.j | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AppKit/CPFlashView.j b/AppKit/CPFlashView.j index 13cc481a2..638c23d90 100644 --- a/AppKit/CPFlashView.j +++ b/AppKit/CPFlashView.j @@ -43,6 +43,9 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"; - (id)initWithFrame:(CGRect)aFrame { + + CPLog.warn("CPFlashView is not supported by Cappuccino, this is now deprecated and it will be removed in the version 1.1 of Cappuccino"); + self = [super initWithFrame:aFrame]; if (self) From fa6177b56d0dac5c30b516f0d557bab27d0688cc Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 11:05:13 +0200 Subject: [PATCH 54/95] Fixed: touch scrolling events to scrollviews also scrolled the document body (#2750) --- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index 273c98897..49bb0331e 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -427,10 +427,10 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio theDocument.addEventListener("keydown", keyEventCallback, NO); theDocument.addEventListener("keypress", keyEventCallback, NO); - theDocument.addEventListener("touchstart", touchEventCallback, NO); - theDocument.addEventListener("touchend", touchEventCallback, NO); - theDocument.addEventListener("touchmove", touchEventCallback, NO); - theDocument.addEventListener("touchcancel", touchEventCallback, NO); + theDocument.addEventListener("touchstart", touchEventCallback, {passive: false}); + theDocument.addEventListener("touchend", touchEventCallback, {passive: false}); + theDocument.addEventListener("touchmove", touchEventCallback, {passive: false}); + theDocument.addEventListener("touchcancel", touchEventCallback, {passive: false}); _DOMWindow.addEventListener("DOMMouseScroll", scrollEventCallback, NO); _DOMWindow.addEventListener("wheel", scrollEventCallback, NO); @@ -1180,6 +1180,12 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio // two fingers->simulate scrolling events if (aDOMEvent.touches && aDOMEvent.touches.length == 2) { + if (aDOMEvent.preventDefault) + aDOMEvent.preventDefault(); + + if (aDOMEvent.stopPropagation) + aDOMEvent.stopPropagation(); + switch (aDOMEvent.type) { case CPDOMEventTouchStart: @@ -1199,7 +1205,8 @@ _CPPlatformWindowWillCloseNotification = @"_CPPlatformWindowWillCloseNotificatio return; } } - // handle other touch cases specifically + + // cancel other touch cases preventively if (aDOMEvent.preventDefault) aDOMEvent.preventDefault(); From 2887fbb25118c7b2d0ad337e4f7a0f71749bb735 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 11:29:28 +0200 Subject: [PATCH 55/95] Edge-browser-detection (#2751) --- AppKit/CPCompatibility.j | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/AppKit/CPCompatibility.j b/AppKit/CPCompatibility.j index d58471fe7..7cadc5f7e 100644 --- a/AppKit/CPCompatibility.j +++ b/AppKit/CPCompatibility.j @@ -32,6 +32,7 @@ CPKHTMLBrowserEngine = 1 << 2; CPOperaBrowserEngine = 1 << 3; CPWebKitBrowserEngine = 1 << 4; // Safari + Chrome CPBlinkBrowserEngine = 1 << 5; // Recent Chrome +CPEdgeBrowserEngine = 1 << 6; // Operating Systems CPMacOperatingSystem = 0; @@ -146,6 +147,28 @@ else if (typeof window !== "undefined" && (window.attachEvent || (!(window.Activ PLATFORM_FEATURES[CPJavaScriptClipboardAccessFeature] = YES; } +// Edge +else if (USER_AGENT.indexOf("Edge/") != -1) +{ + PLATFORM_ENGINE |= CPEdgeBrowserEngine; + + PLATFORM_FEATURES[CPCSSRGBAFeature] = YES; + PLATFORM_FEATURES[CPHTMLContentEditableFeature] = YES; + + PLATFORM_FEATURES[CPJavaScriptClipboardEventsFeature] = YES; + PLATFORM_FEATURES[CPJavaScriptClipboardAccessFeature] = NO; + PLATFORM_FEATURES[CPJavaScriptShadowFeature] = YES; + + var versionStart = USER_AGENT.indexOf("Edge/") + "Edge/".length, + versionEnd = USER_AGENT.indexOf(" ", versionStart), + versionString = USER_AGENT.substring(versionStart, versionEnd), + versionDivision = versionString.indexOf('.'), + majorVersion = parseInt(versionString.substring(0, versionDivision)), + minorVersion = parseInt(versionString.substr(versionDivision + 1)); + + PLATFORM_FEATURES[CPJavaScriptRemedialKeySupport] = YES; +} + // Safari + Chrome (WebKit and Blink) else if (USER_AGENT.indexOf("AppleWebKit/") != -1) { From 86a90e39d280bb06b64b45856e6907fb0747926b Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 11:31:36 +0200 Subject: [PATCH 56/95] Fixed: key equivalent takes precedence over event tracking which is not the case in cocoa (#2600) --- AppKit/CPApplication.j | 10 +- Tests/Manual/PopUpButtonEscTest/.gitignore | 3 + .../Manual/PopUpButtonEscTest/AppController.j | 43 + Tests/Manual/PopUpButtonEscTest/Info.plist | 14 + Tests/Manual/PopUpButtonEscTest/Jakefile | 98 + .../PopUpButtonEscTest/Resources/MainMenu.xib | 2165 +++++++++++++++++ .../PopUpButtonEscTest/Resources/spinner.gif | Bin 0 -> 1434 bytes .../PopUpButtonEscTest/index-debug.html | 112 + Tests/Manual/PopUpButtonEscTest/index.html | 82 + Tests/Manual/PopUpButtonEscTest/main.j | 18 + 10 files changed, 2540 insertions(+), 5 deletions(-) create mode 100755 Tests/Manual/PopUpButtonEscTest/.gitignore create mode 100755 Tests/Manual/PopUpButtonEscTest/AppController.j create mode 100755 Tests/Manual/PopUpButtonEscTest/Info.plist create mode 100755 Tests/Manual/PopUpButtonEscTest/Jakefile create mode 100755 Tests/Manual/PopUpButtonEscTest/Resources/MainMenu.xib create mode 100755 Tests/Manual/PopUpButtonEscTest/Resources/spinner.gif create mode 100755 Tests/Manual/PopUpButtonEscTest/index-debug.html create mode 100755 Tests/Manual/PopUpButtonEscTest/index.html create mode 100755 Tests/Manual/PopUpButtonEscTest/main.j diff --git a/AppKit/CPApplication.j b/AppKit/CPApplication.j index 100912937..9279f8997 100644 --- a/AppKit/CPApplication.j +++ b/AppKit/CPApplication.j @@ -628,11 +628,6 @@ var CPApplicationDelegate_applicationShouldTerminate_ = 1 << 0, var theWindow = [anEvent window]; - // Check if this is a candidate for key equivalent... - if ([anEvent _couldBeKeyEquivalent] && [self _handleKeyEquivalent:anEvent]) - // The key equivalent was handled. - return; - if ([anEvent type] == CPMouseMoved) { if (theWindow !== _lastMouseMoveWindow) @@ -669,6 +664,11 @@ var CPApplicationDelegate_applicationShouldTerminate_ = 1 << 0, _eventListenerInsertionIndex = _eventListeners.length; + // Check if this is a candidate for key equivalent... + if ([anEvent _couldBeKeyEquivalent] && [self _handleKeyEquivalent:anEvent]) + // The key equivalent was handled. + return; + if (theWindow) [theWindow sendEvent:anEvent]; } diff --git a/Tests/Manual/PopUpButtonEscTest/.gitignore b/Tests/Manual/PopUpButtonEscTest/.gitignore new file mode 100755 index 000000000..0cfc56247 --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/.gitignore @@ -0,0 +1,3 @@ +.XcodeSupport +Frameworks +*.cib diff --git a/Tests/Manual/PopUpButtonEscTest/AppController.j b/Tests/Manual/PopUpButtonEscTest/AppController.j new file mode 100755 index 000000000..b9edb7a51 --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/AppController.j @@ -0,0 +1,43 @@ +/* + * AppController.j + * PopUpButtonTest + * + * Created by Glenn L. Austin on June 26, 2013. + * Copyright 2013, Austin-Soft.com All rights reserved. + */ + +@import +@import + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; + @outlet CPButton clearButton; + @outlet CPButton escButton; + @outlet CPTextField wasPressedLabel; +} + +- (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]; +} + +- (@action)clearButtonPressed:(id)sender { + [wasPressedLabel setStringValue:@"No"]; +} + +- (@action)escButtonPressed:(id)sender { + [wasPressedLabel setStringValue:@"Yes"]; +} + +@end diff --git a/Tests/Manual/PopUpButtonEscTest/Info.plist b/Tests/Manual/PopUpButtonEscTest/Info.plist new file mode 100755 index 000000000..ae37e6dc7 --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/Info.plist @@ -0,0 +1,14 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + PopUpButtonTest + CPBundleVersion + 1.0 + CPHumanReadableCopyright + Copyright © 2013, Austin-Soft.com All rights reserved. + + diff --git a/Tests/Manual/PopUpButtonEscTest/Jakefile b/Tests/Manual/PopUpButtonEscTest/Jakefile new file mode 100755 index 000000000..023520a95 --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/Jakefile @@ -0,0 +1,98 @@ +/* + * Jakefile + * PopUpButtonTest + * + * Created by Glenn L. Austin on June 26, 2013. + * Copyright 2013, Austin-Soft.com 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 ("PopUpButtonTest", function(task) +{ + ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; + + if (configuration === "Debug") + ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); + + task.setBuildIntermediatesPath(FILE.join("Build", "PopUpButtonTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("PopUpButtonTest"); + task.setIdentifier("com.austin-soft.PopUpButtonTest"); + task.setVersion("1.0"); + task.setAuthor("Austin-Soft.com"); + task.setEmail("support@austin-soft.com"); + task.setSummary("PopUpButtonTest"); + task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); + 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", ["PopUpButtonTest"], 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", "PopUpButtonTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "PopUpButtonTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "PopUpButtonTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "PopUpButtonTest"), FILE.join("Build", "Deployment", "PopUpButtonTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "PopUpButtonTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "PopUpButtonTest"), FILE.join("Build", "Desktop", "PopUpButtonTest", "PopUpButtonTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "PopUpButtonTest", "PopUpButtonTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "PopUpButtonTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/PopUpButtonEscTest/Resources/MainMenu.xib b/Tests/Manual/PopUpButtonEscTest/Resources/MainMenu.xib new file mode 100755 index 000000000..26958c946 --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/Resources/MainMenu.xib @@ -0,0 +1,2165 @@ + + + + 1050 + 12E55 + 3084 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 3084 + + + YES + NSButton + NSButtonCell + NSCustomObject + NSMenu + NSMenuItem + NSPopUpButton + NSPopUpButtonCell + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate + + + 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 + + + + + + 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 + + + + + + + + + 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 + + + + + + + + + + + + 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 + + + 268 + {{204, 281}, {73, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Clear + + LucidaGrande + 13 + 1044 + + _NS:9 + + -2038284288 + 129 + + Gw + 200 + 25 + + NO + + + + 268 + {{191, 188}, {100, 26}} + + + + _NS:9 + YES + + -2076180416 + 2048 + + _NS:9 + + 109199360 + 129 + + + 400 + 75 + + + Item 1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + NO + + + + 268 + {{284, 230}, {26, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + Yes + + _NS:1535 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + NO + + + + 268 + {{170, 230}, {112, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + Was Esc pressed: + + _NS:1535 + + + + + NO + + + + 268 + {{187, 248}, {106, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Esc Button + + _NS:9 + + -2038284288 + 129 + + Gw + 200 + 25 + + NO + + + + 268 + {{17, 86}, {446, 97}} + + + + _NS:9 + {250, 750} + YES + + 67108864 + 138412032 + VG8gZGVtb25zdHJhdGUgdGhlIGJ1ZywgY2xpY2sgb24gdGhlIHBvcHVwIHRvIGRpc3BsYXkgdGhlIG1l +bnUsIHRoZW4gcHJlc3MgdGhlIEVzYyBrZXkuIFRoaXMgd2lsbCB0cmlnZ2VyIHRoZSBhY3Rpb24gY29u +bmVjdGVkIHRvIEVzYyBCdXR0b24gd2hpY2ggcHV0cyAiWWVzIiBpbnRvIHRoZSBmaWVsZC4KVGhlIENs +ZWFyIGJ1dHRvbiB3aWxsIHJlc2V0IHRoZSAiWWVzIiB0byAiTm8iA + + LucidaGrande + 13 + 16 + + _NS:9 + + + + + NO + YES + + + {480, 360} + + + + + {{0, 0}, {1680, 1028}} + {10000000000000, 10000000000000} + YES + + + AppController + + + + + YES + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 451 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + clearRecentDocuments: + + + + 127 + + + + 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 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + theWindow + + + + 459 + + + + clearButton + + + + 474 + + + + escButton + + + + 475 + + + + wasPressedLabel + + + + 476 + + + + clearButtonPressed: + + + + 477 + + + + escButtonPressed: + + + + 478 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + 75 + + + + + 80 + + + + + 72 + + + + + 82 + + + + + 124 + + + YES + + + + + + 73 + + + + + 79 + + + + + 112 + + + + + 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 + + + + + + 111 + + + + + 57 + + + YES + + + + + + + + + + 58 + + + + + 136 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 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 + + + + + + + + + + + 450 + + + + + 460 + + + YES + + + + + + 461 + + + + + 462 + + + YES + + + + + + 463 + + + YES + + + + + + 464 + + + YES + + + + + + + + 465 + + + + + 466 + + + + + 467 + + + + + 468 + + + YES + + + + + + 469 + + + + + 470 + + + YES + + + + + + 471 + + + + + 472 + + + YES + + + + + + 473 + + + + + 479 + + + YES + + + + + + 480 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 103.IBPluginDependency + 106.IBPluginDependency + 111.IBPluginDependency + 112.IBPluginDependency + 124.IBPluginDependency + 125.IBPluginDependency + 126.IBPluginDependency + 129.IBPluginDependency + 136.IBPluginDependency + 143.IBPluginDependency + 19.IBPluginDependency + 195.IBPluginDependency + 196.IBPluginDependency + 197.IBPluginDependency + 198.IBPluginDependency + 199.IBPluginDependency + 200.IBPluginDependency + 201.IBPluginDependency + 202.IBPluginDependency + 203.IBPluginDependency + 204.IBPluginDependency + 205.IBPluginDependency + 206.IBPluginDependency + 207.IBPluginDependency + 208.IBPluginDependency + 209.IBPluginDependency + 210.IBPluginDependency + 211.IBPluginDependency + 212.IBPluginDependency + 213.IBPluginDependency + 214.IBPluginDependency + 215.IBPluginDependency + 216.IBPluginDependency + 217.IBPluginDependency + 218.IBPluginDependency + 219.IBPluginDependency + 220.IBPluginDependency + 221.IBPluginDependency + 23.IBPluginDependency + 236.IBPluginDependency + 239.IBPluginDependency + 24.IBPluginDependency + 29.IBPluginDependency + 295.IBPluginDependency + 296.IBPluginDependency + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 348.IBPluginDependency + 349.IBPluginDependency + 350.IBPluginDependency + 351.IBPluginDependency + 354.IBPluginDependency + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 372.IBPluginDependency + 450.IBPluginDependency + 460.IBPluginDependency + 461.IBPluginDependency + 462.IBPluginDependency + 463.IBPluginDependency + 464.IBPluginDependency + 465.IBPluginDependency + 466.IBPluginDependency + 467.IBPluginDependency + 468.IBPluginDependency + 469.IBPluginDependency + 470.IBPluginDependency + 471.IBPluginDependency + 472.IBPluginDependency + 473.IBPluginDependency + 479.IBPluginDependency + 480.IBPluginDependency + 5.IBPluginDependency + 56.IBPluginDependency + 57.IBPluginDependency + 58.IBPluginDependency + 72.IBPluginDependency + 73.IBPluginDependency + 75.IBPluginDependency + 79.IBPluginDependency + 80.IBPluginDependency + 81.IBPluginDependency + 82.IBPluginDependency + 83.IBPluginDependency + 92.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + + + + YES + + + + + 480 + + + + YES + + AppController + NSObject + + YES + + YES + clearButtonPressed: + escButtonPressed: + + + YES + id + id + + + + YES + + YES + clearButtonPressed: + escButtonPressed: + + + YES + + clearButtonPressed: + id + + + escButtonPressed: + id + + + + + YES + + YES + clearButton + escButton + theWindow + wasPressedLabel + + + YES + NSButton + NSButton + NSWindow + NSTextField + + + + YES + + YES + clearButton + escButton + theWindow + wasPressedLabel + + + YES + + clearButton + NSButton + + + escButton + NSButton + + + theWindow + NSWindow + + + wasPressedLabel + NSTextField + + + + + IBProjectSource + ./Classes/AppController.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {11, 11} + {10, 3} + + + + diff --git a/Tests/Manual/PopUpButtonEscTest/Resources/spinner.gif b/Tests/Manual/PopUpButtonEscTest/Resources/spinner.gif new file mode 100755 index 0000000000000000000000000000000000000000..a5e705f6cbdf914e5e714c35a8dfef807f19e3c2 GIT binary patch literal 1434 zcmZvbdrVVj7{t$-UNOu86#VHu^|s&3rWfwHBbPG_8{SrlB{Tv1uvvj4t6zP!)#d!Ogc zP^62J^$0+~?-ZcXXpBaq%jFsw8L`=H2?+@R02Yg-*Xw;gACBV^i3CMahr>Z667S!? zk3LDe>VLEsU;sWo$Py~o!gWuaIAnaG3Sv``&tvc+8DJO!| zt4fcbQ8tW}a&xZfgtQ9BnFYLvGG|PvCNlg&uh@Q^w9Pz}+I^hCj`vu9JQADPqdkyk zR40xycD9geUgJu1e;$L`Fpa)?Wl-2&6hO@U*KrPqK(I1H=1h?2fce}6GhhP1oBZC# z1e@gt-qFa6lZrl%s1>bdxg*W)Ebt__O(4sj6(*2X@ciUClwHH#U(NRM7XAjS z+scDZ32J*PCoslsgS~#ZlCCGo`r>S6F)Ghw5wVlqHioFaw?ucD(XoLJ0j;28oPoPV z9A}dR$0SKn>uExfkl#j09o;v$BZ909R=*p{ATNq8BJW;YduX2QMOU7$a$_L5e!G^g zpbkx5G4&FZ%7m14rTN}5YB(;x7$5XOc_hf3E|Hw$TVg)P#qf~}nOn03uqsp>UG>vi zWThIoO)-1Q#@u#O;fMC#WAf@Xj70-0g9YZ;dA$HH1fW1q=9-c>>_yA0S$7M*5?}vi z)8MU`Q%P!7sEBBnd$DrKgFQ2?O%6LpdaC%F8Pn-)EC2t=j~ zoaLamla$FX!GQqWi!%s>sj-#5SJX0IF!TP=r21Z}s)k#btN0?=I7uD9C)Gb$fZ#sm zaVq7g`LwZ%PfNpN^_N-IGLHj@AV`s#4&va7_{Hw63G6BkSGXHdogTZ%QOiRb bDpZ@qYcJKM>x%b%*HX74c8MnqfHi*u-bC?g literal 0 HcmV?d00001 diff --git a/Tests/Manual/PopUpButtonEscTest/index-debug.html b/Tests/Manual/PopUpButtonEscTest/index-debug.html new file mode 100755 index 000000000..355456078 --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/index-debug.html @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + PopUpButtonTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/PopUpButtonEscTest/index.html b/Tests/Manual/PopUpButtonEscTest/index.html new file mode 100755 index 000000000..9006d46fd --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/index.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + PopUpButtonTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/PopUpButtonEscTest/main.j b/Tests/Manual/PopUpButtonEscTest/main.j new file mode 100755 index 000000000..86e615eea --- /dev/null +++ b/Tests/Manual/PopUpButtonEscTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * PopUpButtonTest + * + * Created by Glenn L. Austin on June 26, 2013. + * Copyright 2013, Austin-Soft.com All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From e7eff3e585247fc232d7129168c46cc623228b77 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 11:34:21 +0200 Subject: [PATCH 57/95] Fixed: attached sheets were not put to front after calls to makeKeyAndOrderFront: in code (#2606) --- AppKit/CPWindow/CPWindow.j | 3 + .../AppController.j | 44 ++ .../SheetWindowOrderFrontIssue/Info.plist | 14 + .../SheetWindowOrderFrontIssue/Jakefile | 172 ++++++++ .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 380 ++++++++++++++++++ .../index-debug.html | 204 ++++++++++ .../SheetWindowOrderFrontIssue/index.html | 166 ++++++++ .../Manual/SheetWindowOrderFrontIssue/main.j | 18 + 9 files changed, 1002 insertions(+) create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/AppController.j create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/Info.plist create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/Jakefile create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.cib create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.xib create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/index-debug.html create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/index.html create mode 100644 Tests/Manual/SheetWindowOrderFrontIssue/main.j diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index 615d862f8..cc023ee18 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -990,6 +990,9 @@ CPTexturedBackgroundWindowMask [self makeMainWindow]; [_platformWindow _setShouldUpdateContentRect:YES]; + + if ([self attachedSheet]) + [_platformWindow order:CPWindowAbove window:[self attachedSheet] relativeTo:nil]; } /* diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/AppController.j b/Tests/Manual/SheetWindowOrderFrontIssue/AppController.j new file mode 100644 index 000000000..14bdf96eb --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/AppController.j @@ -0,0 +1,44 @@ +/* + * AppController.j + * WindowSheetOrderTest + * + * Created by You on March 23, 2018. + * Copyright 2018, Your Company All rights reserved. + */ + +@import +@import + + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; + @outlet CPWindow window; + @outlet CPWindow window2; + @outlet CPWindow sheetWindow; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. + [window makeKeyAndOrderFront:self]; + [CPApp beginSheet:sheetWindow modalForWindow:window modalDelegate:nil didEndSelector:nil contextInfo:nil]; + [window2 performSelector:@selector(makeKeyAndOrderFront:) withObject:self afterDelay:0.4]; +} + +- (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]; +} + +- (IBAction)closeSheet:(idf)sender +{ + [CPApp endSheet:sheetWindow]; +} + +@end diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/Info.plist b/Tests/Manual/SheetWindowOrderFrontIssue/Info.plist new file mode 100644 index 000000000..db30f0c72 --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/Info.plist @@ -0,0 +1,14 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + WindowSheetOrderTest + CPBundleVersion + 1.0 + CPHumanReadableCopyright + Copyright © 2018, Your Company All rights reserved. + + diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/Jakefile b/Tests/Manual/SheetWindowOrderFrontIssue/Jakefile new file mode 100644 index 000000000..74848265e --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/Jakefile @@ -0,0 +1,172 @@ +/* + * Jakefile + * WindowSheetOrderTest + * + * Created by You on March 23, 2018. + * Copyright 2018, 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"), + projectName = "WindowSheetOrderTest"; + +app (projectName, function(task) +{ + ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; + + if (configuration === "Debug") + ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); + + task.setBuildIntermediatesPath(FILE.join("Build", "WindowSheetOrderTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("WindowSheetOrderTest"); + task.setIdentifier("com.yourcompany.WindowSheetOrderTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("WindowSheetOrderTest"); + task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g -S --inline-msg-send"); + else + task.setCompilerFlags("-O2"); +}); + +task ("default", [projectName], function() +{ + printResults(configuration); +}); + +task ("build", ["default"], function() +{ + updateApplicationSize(); +}); + +task ("debug", function() +{ + configuration = ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + configuration = ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", projectName, "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", projectName)); + OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]); + printResults("Deployment") +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName)); + print("----------------------------"); +} + +function updateApplicationSize() +{ + print("Calculating application file sizes..."); + + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), + format = CFPropertyList.sniffedFormatOfString(contents), + plist = CFPropertyList.propertyListFromString(contents), + totalBytes = {executable:0, data:0, mhtml:0}; + + // Get the size of all framework executables and sprite data + var frameworksDir = "Frameworks"; + + if (configuration === "Debug") + frameworksDir = FILE.join(frameworksDir, "Debug"); + + var frameworks = FILE.list(frameworksDir); + + frameworks.forEach(function(framework) + { + if (framework !== "Source") + addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes); + }); + + // Read in the default theme name, and attempt to get its size + var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2", + themePath = nil; + + if (themeName === "Aristo" || themeName === "Aristo2") + themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend"); + else + themePath = FILE.join("Frameworks", "Resources", themeName + ".blend"); + + if (FILE.isDirectory(themePath)) + addBundleFileSizes(themePath, totalBytes); + + // Add sizes for the app + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); + + print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); + + var dict = new CFMutableDictionary(); + + dict.setValueForKey("executable", totalBytes.executable); + dict.setValueForKey("data", totalBytes.data); + dict.setValueForKey("mhtml", totalBytes.mhtml); + + plist.setValueForKey("CPApplicationSize", dict); + + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); +} + +function addBundleFileSizes(bundlePath, totalBytes) +{ + var bundleName = FILE.basename(bundlePath), + environment = bundleName === "Foundation" ? "Objj" : "Browser", + bundlePath = FILE.join(bundlePath, environment + ".environment"); + + if (FILE.isDirectory(bundlePath)) + { + var filename = bundleName + ".sj", + filePath = new FILE.Path(FILE.join(bundlePath, filename)); + + if (filePath.exists()) + totalBytes.executable += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt")); + + if (filePath.exists()) + totalBytes.data += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + } +} diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.cib b/Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.cib new file mode 100644 index 000000000..b0cfec082 --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;2;23E;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;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;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;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;57E;D;K;6;CP$UIDd;2;59E;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;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;127E;D;K;6;CP$UIDd;3;129E;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;1;0E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;142E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;68E;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;72E;D;K;6;CP$UIDd;2;73E;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;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;11E;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;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;2;11E;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;2;11E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;142E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;143E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;144E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;132E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;138E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;133E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;135E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;149E;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;20E;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;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;63E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;87E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;176E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;179E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;180E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;133E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;138E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;133E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;143E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;185E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;186E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;187E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;188E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;62E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;62E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;188E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;191E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;193E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;194E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;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;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;62E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;197E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;62E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;198E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;194E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;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;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;62E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;199E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;62E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;200E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;201E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;69E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;69E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;201E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;203E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;204E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;205E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;206E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;207E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;73E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;207E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;208E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;209E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;210E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;73E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;194E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;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;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;211E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;212E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;213E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;214E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;215E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;216E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;218E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;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;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;81E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;219E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;221E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;222E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;223E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;224E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;194E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;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;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;225E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;226E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;227E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;228E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;229E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;230E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;231E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;232E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;233E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;194E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;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;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;234E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;92E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;92E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;234E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;236E;K;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;237E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;238E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;239E;K;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;240E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;241E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;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;243E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;244E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;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;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;247E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;92E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;249E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;250E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;99E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;99E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;250E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;252E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;253E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;255E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;257E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;99E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;105E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;105E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;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;237E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;105E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;238E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;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;240E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;105E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;241E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;262E;K;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;243E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;105E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;244E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;110E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;110E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;263E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;265E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;266E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;114E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;267E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;269E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;272E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;273E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;118E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;273E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;274E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;277E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;278E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;194E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;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;196E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;279E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;280E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;124E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;189E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;124E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;280E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;282E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;124E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;283E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;190E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;284E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;285E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;287E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;246E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;273E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;129E;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;128E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;290E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;291E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;292E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;294E;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;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;129E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;295E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;296E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;129E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;297E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;298E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;299E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;289E;K;6;$afontD;K;6;CP$UIDd;3;301E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;289E;K;11;$aalignmentD;K;6;CP$UIDd;3;240E;K;7;$aimageD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;304E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;289E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;305E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;289E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;306E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;307E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;196E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;308E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;289E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;194E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;240E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;289E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;284E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;285E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;310E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;311E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;312E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;313E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;273E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;314E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;314E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;292E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;3;126E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;284E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;285E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;310E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;316E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;312E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;313E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;317E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;314E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;314E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;318E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;292E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;3;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;136E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;320E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;296E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;136E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;321E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;298E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;299E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;289E;K;6;$afontD;K;6;CP$UIDd;3;301E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;289E;K;11;$aalignmentD;K;6;CP$UIDd;3;240E;K;7;$aimageD;K;6;CP$UIDd;3;322E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;323E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;289E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;305E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;289E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;306E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;307E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;196E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;308E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;289E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;194E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;240E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;289E;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;3;126E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;284E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;324E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;310E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;325E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;312E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;313E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;273E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;326E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;326E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;327E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;292E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;328E;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;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;329E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;330E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;139E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;321E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;331E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;333E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;240E;K;11;$aalignmentD;K;6;CP$UIDd;3;305E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;334E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;194E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;305E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;289E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;306E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;196E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;196E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;196E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;337E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;240E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;305E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;196E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;196E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;3;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;289E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;338E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;139E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;321E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;298E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;299E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;289E;K;6;$afontD;K;6;CP$UIDd;3;301E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;289E;K;11;$aalignmentD;K;6;CP$UIDd;3;240E;K;7;$aimageD;K;6;CP$UIDd;3;340E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;341E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;289E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;305E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;289E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;306E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;342E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;195E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;196E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;308E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;289E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;194E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;240E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;289E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;135E;E;E;S;8;delegateS;11;sheetWindowS;9;theWindowS;6;windowS;7;window2S;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;10;terminate: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;21;makeKeyAndOrderFront:S;9;orderOut:S;9;AMainMenuS;11;_CPMainMenuD;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;68E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;123E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;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;71E;D;K;6;CP$UIDd;2;72E;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;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;74E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;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;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;98E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;109E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;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;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;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;20;Spelling and GrammarD;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;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;E;E;S;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;18;Customize Toolbar…S;6;WindowS;14;_CPWindowsMenuD;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;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;125E;E;E;S;19;NewApplication HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 128}, {480, 360}}S;21;{{0, 0}, {1440, 878}}d;1;0S;20;{{0, 0}, {480, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;131E;E;E;S;6;normalS;6;{1, 1}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{173, 170}, {134, 25}}S;19;{{0, 0}, {134, 25}}d;2;45S;6;buttonS;27;bordered+controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;300E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;343E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;306E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;196E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;194E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;302E;K;4;nameD;K;6;CP$UIDd;3;344E;K;12;defaultValueD;K;6;CP$UIDd;3;346E;K;5;stateD;K;6;CP$UIDd;3;347E;K;5;valueD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;4d;2;-1S;16;Make Other Frontd;2;14S;13;AppControllerd;10;1618478080S;24;{{200, 148}, {480, 270}}S;22;{{0, 0}, {2560, 1418}}d;2;15S;20;{{0, 0}, {480, 270}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;24;{{220, 168}, {480, 270}}S;7;Window2D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{154, 80}, {134, 25}}d;2;36D;K;6;$classD;K;6;CP$UIDd;3;302E;K;4;nameD;K;6;CP$UIDd;3;344E;K;12;defaultValueD;K;6;CP$UIDd;3;346E;K;5;stateD;K;6;CP$UIDd;3;347E;K;5;valueD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;7;CPPanelS;25;{{272, 1077}, {436, 169}}S;20;{{0, 0}, {436, 169}}D;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;142E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{20, 20}, {284, 17}}S;19;{{0, 0}, {284, 17}}S;9;textfieldS;18;controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;300E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;343E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;306E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;196E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;196E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;46;This is a window that can be attached as sheetD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;336E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;349E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;350E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;292E;E;S;23;{{315, 128}, {101, 25}}S;19;{{0, 0}, {101, 25}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;4;nameD;K;6;CP$UIDd;3;344E;K;12;defaultValueD;K;6;CP$UIDd;3;346E;K;5;stateD;K;6;CP$UIDd;3;347E;K;5;valueD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Close SheetS;28;_CPFontSystemFacePlaceholderS;5;imageD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;345E;E;S;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;300E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;351E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;352E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;196E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;196E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;196E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;353E;D;K;6;CP$UIDd;3;237E;E;E;S;5;colorS;18;.AppleSystemUIFontd;2;13f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.xib b/Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.xib new file mode 100644 index 000000000..906d6d2e4 --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/Resources/MainMenu.xib @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/index-debug.html b/Tests/Manual/SheetWindowOrderFrontIssue/index-debug.html new file mode 100644 index 000000000..dbdee830d --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/index-debug.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + WindowSheetOrderTest + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/index.html b/Tests/Manual/SheetWindowOrderFrontIssue/index.html new file mode 100644 index 000000000..2356dfcbf --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/index.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + WindowSheetOrderTest + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/SheetWindowOrderFrontIssue/main.j b/Tests/Manual/SheetWindowOrderFrontIssue/main.j new file mode 100644 index 000000000..4a83e0fb0 --- /dev/null +++ b/Tests/Manual/SheetWindowOrderFrontIssue/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * WindowSheetOrderTest + * + * Created by You on March 23, 2018. + * Copyright 2018, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From 091debd2a78b5cacd527ccaba457c705783b4e12 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 11:40:00 +0200 Subject: [PATCH 58/95] Fixed: deviation from cocoa when calling setTitle:'' (#2607) --- AppKit/CPPopUpButton.j | 12 ++++++++++-- Tests/Manual/CPPopUpButtonTest/AppController.j | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index 12f7b8638..e5c669b44 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -491,9 +491,17 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); if (index < 0) { - [self addItemWithTitle:aTitle]; - index = [self numberOfItems] - 1; + // this ist to match cocoa where setting an empty string does not add it but simply clears the title + // and sets objectValue to -1 + if (aTitle === '') + [self selectItemAtIndex:-1]; + else + { + [self addItemWithTitle:aTitle]; + + index = [self numberOfItems] - 1; + } } [self selectItemAtIndex:index]; diff --git a/Tests/Manual/CPPopUpButtonTest/AppController.j b/Tests/Manual/CPPopUpButtonTest/AppController.j index 84886378a..0e13f1dd7 100644 --- a/Tests/Manual/CPPopUpButtonTest/AppController.j +++ b/Tests/Manual/CPPopUpButtonTest/AppController.j @@ -75,9 +75,24 @@ // https://github.com/280north/cappuccino/pull/1018 [popUpButton2 selectItemWithTag:2]; + // manual test for https://github.com/cappuccino/cappuccino/issues/2471 + var button2 = [CPButton buttonWithTitle:@"Set title to: ''"]; + + [button2 setCenter:CGPointMake([contentView center].x, 0)]; + [button2 setFrameOrigin:CGPointMake(CGRectGetMinX([button frame]), CGRectGetMaxY([button frame]) + 20)]; + [button2 setTarget:self]; + [button2 setAction:@selector(setTitleToEmptyString:)]; + [contentView addSubview:button2]; + + [theWindow orderFront:self]; } +- (@action)setTitleToEmptyString:(id)sender +{ + [popUpButton setTitle:'']; +} + - (@action)removeItems:(id)sender { [popUpButton2 removeAllItems]; From e6475c1a9e43b3b1923df5a564fbe673b7254f5c Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 12:47:29 +0200 Subject: [PATCH 59/95] Fixed: setMinSize: had no effect in platform windows (#2609) --- AppKit/CPWindow/CPWindow.j | 24 +++- .../CPWindow/_CPBorderlessBridgeWindowView.j | 15 +++ AppKit/Platform/CPPlatformWindow.j | 2 +- .../CPPlattformWindowMinSize/AppController.j | 57 ++++++++++ .../CPPlattformWindowMinSize/Info.plist | 12 ++ .../Manual/CPPlattformWindowMinSize/Jakefile | 93 ++++++++++++++++ .../Resources/spinner.gif | Bin 0 -> 1434 bytes .../CPPlattformWindowMinSize/index-debug.html | 103 ++++++++++++++++++ .../CPPlattformWindowMinSize/index.html | 76 +++++++++++++ Tests/Manual/CPPlattformWindowMinSize/main.j | 18 +++ 10 files changed, 395 insertions(+), 5 deletions(-) create mode 100644 Tests/Manual/CPPlattformWindowMinSize/AppController.j create mode 100644 Tests/Manual/CPPlattformWindowMinSize/Info.plist create mode 100644 Tests/Manual/CPPlattformWindowMinSize/Jakefile create mode 100644 Tests/Manual/CPPlattformWindowMinSize/Resources/spinner.gif create mode 100644 Tests/Manual/CPPlattformWindowMinSize/index-debug.html create mode 100644 Tests/Manual/CPPlattformWindowMinSize/index.html create mode 100644 Tests/Manual/CPPlattformWindowMinSize/main.j diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index cc023ee18..db7677075 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -3607,6 +3607,20 @@ var keyViewComparator = function(lhs, rhs, context) return [CPPlatform isBrowser] ? [self convertBaseToPlatformWindow:aPoint] : [self convertBaseToScreen:aPoint]; } +/*! + @ignore + get the scroll offset (if any) from native scroll bars (can happen when the platform window shrinks below minSize) +*/ +- (CGPoint)_nativeScrollOffset +{ +#if PLATFORM(DOM) + return CGPointMake(_windowView._DOMElement.scrollLeft, _windowView._DOMElement.scrollTop); +#else + CGPointMake(0, 0); +#endif + +} + /*! Converts aPoint from the global coordinate system to the window coordinate system. */ @@ -3623,9 +3637,10 @@ var keyViewComparator = function(lhs, rhs, context) if ([self _sharesChromeWithPlatformWindow]) return CGPointMakeCopy(aPoint); - var origin = [self frame].origin; + var origin = [self frame].origin, + scrollOffset = [self _nativeScrollOffset]; - return CGPointMake(aPoint.x + origin.x, aPoint.y + origin.y); + return CGPointMake(aPoint.x + origin.x - scrollOffset.x, aPoint.y + origin.y - scrollOffset.y); } /*! @@ -3636,9 +3651,10 @@ var keyViewComparator = function(lhs, rhs, context) if ([self _sharesChromeWithPlatformWindow]) return CGPointMakeCopy(aPoint); - var origin = [self frame].origin; + var origin = [self frame].origin, + scrollOffset = [self _nativeScrollOffset]; - return CGPointMake(aPoint.x - origin.x, aPoint.y - origin.y); + return CGPointMake(aPoint.x - origin.x + scrollOffset.x, aPoint.y - origin.y + scrollOffset.y); } - (CGPoint)convertScreenToBase:(CGPoint)aPoint diff --git a/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j b/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j index 202aa9880..de208b924 100644 --- a/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j +++ b/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j @@ -81,4 +81,19 @@ [_toolbarBackgroundView setFrame:frame]; } +- (void)setFrameSize:(CGSize)aFrameSize +{ + [super setFrameSize:aFrameSize]; + + var theWindow = [self window]; + + if (_frame.size.width < theWindow._minSize.width || _frame.size.height < theWindow._minSize.height) + [theWindow._contentView setFrameSize:CGSizeMake(MAX(_frame.size.width, theWindow._minSize.width), MAX(_frame.size.height, theWindow._minSize.height))]; + +#if PLATFORM(DOM) + _DOMElement.style.overflowX = (_frame.size.width < theWindow._minSize.width)? "scroll":"hidden"; + _DOMElement.style.overflowY = (_frame.size.height < theWindow._minSize.height)? "scroll":"hidden"; +#endif +} + @end diff --git a/AppKit/Platform/CPPlatformWindow.j b/AppKit/Platform/CPPlatformWindow.j index bf39de81a..a3a5d7f26 100644 --- a/AppKit/Platform/CPPlatformWindow.j +++ b/AppKit/Platform/CPPlatformWindow.j @@ -285,7 +285,7 @@ var PrimaryPlatformWindow = NULL; - (BOOL)_canUpdateContentRect { - // We onyl update the contentRect with the frame of the bridgeless window if we have initialized the platform with the method initWithWindow: + // We only update the contentRect with the frame of the bridgeless window if we have initialized the platform with the method initWithWindow: return _shouldUpdateContentRect && _hasInitializeInstanceWithWindow; } diff --git a/Tests/Manual/CPPlattformWindowMinSize/AppController.j b/Tests/Manual/CPPlattformWindowMinSize/AppController.j new file mode 100644 index 000000000..e274c97bf --- /dev/null +++ b/Tests/Manual/CPPlattformWindowMinSize/AppController.j @@ -0,0 +1,57 @@ +/* + * AppController.j + * MinSize PlattformWindow + * + * Created by Daniel Boehringer on March 25, 2018. + */ + +@import + + +@implementation AppController : CPObject +{ + CPTextField textFieldWidth; + CPTextField textFieldHeight; + CPWindow theWindow; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() + styleMask:CPBorderlessBridgeWindowMask]; + + var contentView = [theWindow contentView]; + + textFieldWidth = [[CPTextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 29.0)]; + textFieldHeight = [[CPTextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 29.0)]; + + [textFieldWidth setEditable:YES]; + [textFieldWidth setBezeled:YES]; + [textFieldWidth setCenter:CGPointMake([contentView center].x, [contentView center].y + 40.0)]; + [textFieldWidth setPlaceholderString:"enter min width"]; + [contentView addSubview:textFieldWidth]; + + [textFieldHeight setEditable:YES]; + [textFieldHeight setBezeled:YES]; + [textFieldHeight setCenter:CGPointMake([contentView center].x, [contentView center].y + 65.0)]; + [textFieldHeight setPlaceholderString:"enter min height"]; + [contentView addSubview:textFieldHeight]; + + var button = [CPButton buttonWithTitle:@"SetMinSize"], + frame = [textFieldWidth frame]; + + [button setCenter:CGPointMake([contentView center].x, 0)]; + [button setFrameOrigin:CGPointMake(CGRectGetMinX([textFieldHeight frame]), CGRectGetMaxY([textFieldHeight frame]) + 20)]; + [button setTarget:self]; + [button setAction:@selector(setMinSize:)]; + [contentView addSubview:button]; + + [theWindow orderFront:self]; +} + +- (void)setMinSize:(id)sender +{ + [theWindow setMinSize:CGSizeMake([textFieldWidth intValue], [textFieldHeight intValue])]; +} + +@end diff --git a/Tests/Manual/CPPlattformWindowMinSize/Info.plist b/Tests/Manual/CPPlattformWindowMinSize/Info.plist new file mode 100644 index 000000000..70e6c614c --- /dev/null +++ b/Tests/Manual/CPPlattformWindowMinSize/Info.plist @@ -0,0 +1,12 @@ + + + + + CPApplicationDelegateClass + AppController + CPBundleName + CPPlattformWindowMinSize + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/CPPlattformWindowMinSize/Jakefile b/Tests/Manual/CPPlattformWindowMinSize/Jakefile new file mode 100644 index 000000000..cc5c666cb --- /dev/null +++ b/Tests/Manual/CPPlattformWindowMinSize/Jakefile @@ -0,0 +1,93 @@ +/* + * Jakefile + * CPPopUpButtonTest + * + * Created by You on December 8, 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 ("CPPopUpButtonTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPPopUpButtonTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPPopUpButtonTest"); + task.setIdentifier("com.yourcompany.CPPopUpButtonTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPPopUpButtonTest"); + 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", ["CPPopUpButtonTest"], 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", "CPPopUpButtonTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPPopUpButtonTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPPopUpButtonTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPPopUpButtonTest"), FILE.join("Build", "Deployment", "CPPopUpButtonTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPPopUpButtonTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPPopUpButtonTest"), FILE.join("Build", "Desktop", "CPPopUpButtonTest", "CPPopUpButtonTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPPopUpButtonTest", "CPPopUpButtonTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPPopUpButtonTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPPlattformWindowMinSize/Resources/spinner.gif b/Tests/Manual/CPPlattformWindowMinSize/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5e705f6cbdf914e5e714c35a8dfef807f19e3c2 GIT binary patch literal 1434 zcmZvbdrVVj7{t$-UNOu86#VHu^|s&3rWfwHBbPG_8{SrlB{Tv1uvvj4t6zP!)#d!Ogc zP^62J^$0+~?-ZcXXpBaq%jFsw8L`=H2?+@R02Yg-*Xw;gACBV^i3CMahr>Z667S!? zk3LDe>VLEsU;sWo$Py~o!gWuaIAnaG3Sv``&tvc+8DJO!| zt4fcbQ8tW}a&xZfgtQ9BnFYLvGG|PvCNlg&uh@Q^w9Pz}+I^hCj`vu9JQADPqdkyk zR40xycD9geUgJu1e;$L`Fpa)?Wl-2&6hO@U*KrPqK(I1H=1h?2fce}6GhhP1oBZC# z1e@gt-qFa6lZrl%s1>bdxg*W)Ebt__O(4sj6(*2X@ciUClwHH#U(NRM7XAjS z+scDZ32J*PCoslsgS~#ZlCCGo`r>S6F)Ghw5wVlqHioFaw?ucD(XoLJ0j;28oPoPV z9A}dR$0SKn>uExfkl#j09o;v$BZ909R=*p{ATNq8BJW;YduX2QMOU7$a$_L5e!G^g zpbkx5G4&FZ%7m14rTN}5YB(;x7$5XOc_hf3E|Hw$TVg)P#qf~}nOn03uqsp>UG>vi zWThIoO)-1Q#@u#O;fMC#WAf@Xj70-0g9YZ;dA$HH1fW1q=9-c>>_yA0S$7M*5?}vi z)8MU`Q%P!7sEBBnd$DrKgFQ2?O%6LpdaC%F8Pn-)EC2t=j~ zoaLamla$FX!GQqWi!%s>sj-#5SJX0IF!TP=r21Z}s)k#btN0?=I7uD9C)Gb$fZ#sm zaVq7g`LwZ%PfNpN^_N-IGLHj@AV`s#4&va7_{Hw63G6BkSGXHdogTZ%QOiRb bDpZ@qYcJKM>x%b%*HX74c8MnqfHi*u-bC?g literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPPlattformWindowMinSize/index-debug.html b/Tests/Manual/CPPlattformWindowMinSize/index-debug.html new file mode 100644 index 000000000..aa6461fdc --- /dev/null +++ b/Tests/Manual/CPPlattformWindowMinSize/index-debug.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + CPPopUpButtonTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPPlattformWindowMinSize/index.html b/Tests/Manual/CPPlattformWindowMinSize/index.html new file mode 100644 index 000000000..1f2fb16e4 --- /dev/null +++ b/Tests/Manual/CPPlattformWindowMinSize/index.html @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + CPPopUpButtonTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + + diff --git a/Tests/Manual/CPPlattformWindowMinSize/main.j b/Tests/Manual/CPPlattformWindowMinSize/main.j new file mode 100644 index 000000000..10e33bfeb --- /dev/null +++ b/Tests/Manual/CPPlattformWindowMinSize/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPPopUpButtonTest + * + * Created by You on December 8, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From ef2152beea6a7d28ce49b9f47a12ad47595e39db Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 12:48:58 +0200 Subject: [PATCH 60/95] FIXED: click to key window in the background did not bring it forward (take 2) (#2705) --- AppKit/CPWindow/CPWindow.j | 24 +- .../AppController.j | 42 +++ .../Info.plist | 14 + .../Jakefile | 172 +++++++++ .../Resources/MainMenu.cib | 1 + .../Resources/MainMenu.xib | 345 ++++++++++++++++++ .../index-debug.html | 204 +++++++++++ .../index.html | 166 +++++++++ .../KeyWindowInTheBackgroundActivation/main.j | 18 + 9 files changed, 985 insertions(+), 1 deletion(-) create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/index.html create mode 100644 Tests/Manual/KeyWindowInTheBackgroundActivation/main.j diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index db7677075..dfedcf4cf 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -1982,7 +1982,7 @@ CPTexturedBackgroundWindowMask var theWindow = [anEvent window], selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); - if ([theWindow isKeyWindow] || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) + if (([theWindow _isFrontmostWindow] && [theWindow isKeyWindow]) || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) return [_leftMouseDownView performSelector:selector withObject:anEvent]; else { @@ -2105,6 +2105,28 @@ CPTexturedBackgroundWindowMask return (_styleMask & CPTitledWindowMask) || [self isFullPlatformWindow] || _isSheet; } + /* @ignore */ +- (BOOL)_isFrontmostWindow +{ + if ([self isFullBridge]) + return YES; + + var orderedWindows = [CPApp orderedWindows]; + + if ([orderedWindows count] == 0) + return YES; + + if ([orderedWindows objectAtIndex:0] === self) + return YES; + + // this is necessary, because the CPMainMenuWindow is always the first object in orderedWindows, even if another window is in front of it + if ([[orderedWindows objectAtIndex:0] level] === CPMainMenuWindowLevel && + [orderedWindows count] > 1 && [orderedWindows objectAtIndex:1] === self) + return YES; + + return NO; +} + /*! Returns \c YES if the window is the key window. */ diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j b/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j new file mode 100644 index 000000000..959fc5541 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/AppController.j @@ -0,0 +1,42 @@ +/* + * AppController.j + * WindowFrontTest + * + * Created by You on January 15, 2018. + * Copyright 2018, Your Company All rights reserved. + */ + +@import +@import + + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; + @outlet CPWindow window1; + @outlet CPWindow window2; +} + +- (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]; + + [window1 performSelector:@selector(makeKeyAndOrderFront:) withObject:self afterDelay:0.1]; +} + +- (IBAction)bringWindow2Front:(id)sender +{ + [window2 orderFront:self]; +} + +@end diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist b/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist new file mode 100644 index 000000000..8016aeaa5 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Info.plist @@ -0,0 +1,14 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + WindowFrontTest + CPBundleVersion + 1.0 + CPHumanReadableCopyright + Copyright © 2018, Your Company All rights reserved. + + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile b/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile new file mode 100644 index 000000000..f158726dc --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Jakefile @@ -0,0 +1,172 @@ +/* + * Jakefile + * WindowFrontTest + * + * Created by You on January 15, 2018. + * Copyright 2018, 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"), + projectName = "WindowFrontTest"; + +app (projectName, function(task) +{ + ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; + + if (configuration === "Debug") + ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); + + task.setBuildIntermediatesPath(FILE.join("Build", "WindowFrontTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("WindowFrontTest"); + task.setIdentifier("com.yourcompany.WindowFrontTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("WindowFrontTest"); + task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O2"); +}); + +task ("default", [projectName], function() +{ + printResults(configuration); +}); + +task ("build", ["default"], function() +{ + updateApplicationSize(); +}); + +task ("debug", function() +{ + configuration = ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + configuration = ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", projectName, "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", projectName)); + OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]); + printResults("Deployment") +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName)); + print("----------------------------"); +} + +function updateApplicationSize() +{ + print("Calculating application file sizes..."); + + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), + format = CFPropertyList.sniffedFormatOfString(contents), + plist = CFPropertyList.propertyListFromString(contents), + totalBytes = {executable:0, data:0, mhtml:0}; + + // Get the size of all framework executables and sprite data + var frameworksDir = "Frameworks"; + + if (configuration === "Debug") + frameworksDir = FILE.join(frameworksDir, "Debug"); + + var frameworks = FILE.list(frameworksDir); + + frameworks.forEach(function(framework) + { + if (framework !== "Source") + addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes); + }); + + // Read in the default theme name, and attempt to get its size + var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2", + themePath = nil; + + if (themeName === "Aristo" || themeName === "Aristo2") + themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend"); + else + themePath = FILE.join("Frameworks", "Resources", themeName + ".blend"); + + if (FILE.isDirectory(themePath)) + addBundleFileSizes(themePath, totalBytes); + + // Add sizes for the app + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); + + print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); + + var dict = new CFMutableDictionary(); + + dict.setValueForKey("executable", totalBytes.executable); + dict.setValueForKey("data", totalBytes.data); + dict.setValueForKey("mhtml", totalBytes.mhtml); + + plist.setValueForKey("CPApplicationSize", dict); + + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); +} + +function addBundleFileSizes(bundlePath, totalBytes) +{ + var bundleName = FILE.basename(bundlePath), + environment = bundleName === "Foundation" ? "Objj" : "Browser", + bundlePath = FILE.join(bundlePath, environment + ".environment"); + + if (FILE.isDirectory(bundlePath)) + { + var filename = bundleName + ".sj", + filePath = new FILE.Path(FILE.join(bundlePath, filename)); + + if (filePath.exists()) + totalBytes.executable += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt")); + + if (filePath.exists()) + totalBytes.data += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + } +} diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.cib new file mode 100644 index 000000000..20d490fd8 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;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;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;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;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;54E;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;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;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;124E;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;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;135E;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;11E;D;K;6;CP$UIDd;2;11E;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;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;114E;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;115E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;135E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;136E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;137E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;124E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;128E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;127E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;132E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;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;19E;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;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;146E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;151E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;155E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;136E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;176E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;177E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;178E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;59E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;59E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;179E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;182E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;184E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;190E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;191E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;66E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;66E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;192E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;194E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;196E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;198E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;70E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;70E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;198E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;199E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;201E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;70E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;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;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;203E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;204E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;205E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;207E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;209E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;210E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;78E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;78E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;210E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;212E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;213E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;214E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;215E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;216E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;217E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;218E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;219E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;220E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;221E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;222E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;223E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;224E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;225E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;89E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;89E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;225E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;227E;K;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;230E;K;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;233E;K;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;236E;K;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;237E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;238E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;239E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;89E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;240E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;241E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;96E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;241E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;243E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;244E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;246E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;247E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;102E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;249E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;251E;K;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;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;229E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;252E;K;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;231E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;232E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;253E;K;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;234E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;254E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;107E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;78E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;257E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;111E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;111E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;261E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;264E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;115E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;115E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;264E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;265E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;268E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;269E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;185E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;186E;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;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;270E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;271E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;180E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;121E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;271E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;273E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;274E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;181E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;277E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;278E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;279E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;237E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;264E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;126E;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;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;287E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;289E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;290E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;291E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;292E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;293E;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;130E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;129E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;294E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;295E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;129E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;296E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;297E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;298E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;280E;K;6;$afontD;K;6;CP$UIDd;3;300E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;280E;K;11;$aalignmentD;K;6;CP$UIDd;3;231E;K;7;$aimageD;K;6;CP$UIDd;3;302E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;303E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;280E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;304E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;280E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;305E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;306E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;186E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;280E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;185E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;231E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;280E;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;3;123E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;275E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;276E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;286E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;308E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;288E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;289E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;309E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;291E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;311E;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;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;133E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;280E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;133E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;296E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;314E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;315E;K;6;$afontD;K;6;CP$UIDd;3;316E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;280E;K;11;$aalignmentD;K;6;CP$UIDd;3;231E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;283E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;317E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;318E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;304E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;280E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;305E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;187E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;320E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;280E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;231E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;187E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;185E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;187E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;E;E;S;8;delegateS;9;theWindowS;7;window1S;7;window2S;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;10;terminate: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;18;bringWindow2Front:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;120E;E;E;S;14;NewApplicationS;14;submenuAction:d;7;1048576S;18;_CPApplicationMenuD;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;63E;D;K;6;CP$UIDd;2;64E;E;E;S;20;About NewApplicationT;S;0;F;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;4;FileD;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;68E;D;K;6;CP$UIDd;2;69E;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;E;E;S;3;NewS;1;nS;5;Open…S;1;oS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;71E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;4;SaveS;1;sS;8;Save As…S;1;Sd;7;1179648S;15;Revert to SavedS;4;EditD;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;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;95E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;106E;E;E;S;4;UndoS;1;zS;4;RedoS;1;ZS;3;CutS;1;xS;4;CopyS;1;cS;5;PasteS;1;vS;6;DeleteS;10;Select AllS;1;aS;4;FindD;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;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;E;E;S;5;Find…d;1;1S;1;fS;9;Find Nextd;1;2S;1;gS;13;Find Previousd;1;3S;1;GS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;27;Check Grammar With SpellingS;13;SubstitutionsD;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;3;104E;D;K;6;CP$UIDd;3;105E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;4;ViewD;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;113E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;18;Customize Toolbar…S;6;WindowS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;E;E;S;19;NewApplication HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;24;{{335, 128}, {480, 360}}S;21;{{0, 0}, {1440, 878}}d;1;0S;20;{{0, 0}, {480, 360}}S;6;normalS;6;{1, 1}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;AppControllerd;10;1618478080S;24;{{157, 107}, {480, 270}}S;22;{{0, 0}, {2560, 1417}}d;2;15S;8;Window 1S;20;{{0, 0}, {480, 270}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;131E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{151, 125}, {178, 25}}S;19;{{0, 0}, {178, 25}}d;2;36S;6;buttonS;27;bordered+controlSizeRegularD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;321E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;185E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;185E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;301E;K;4;nameD;K;6;CP$UIDd;3;322E;K;12;defaultValueD;K;6;CP$UIDd;3;324E;K;5;stateD;K;6;CP$UIDd;3;325E;K;5;valueD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;4d;2;-1S;23;Bring Window 2 To Frontd;2;14S;24;{{246, 251}, {480, 270}}S;8;Window 2D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;22;{{50, 114}, {380, 42}}S;19;{{0, 0}, {380, 42}}S;9;textfieldS;18;controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;327E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;289E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;185E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;71;This is window 2--bet you can't click on window 1 to bring it to front!D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;319E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;328E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;329E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;282E;E;S;28;_CPFontSystemFacePlaceholderS;5;imageD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;323E;E;S;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;299E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;330E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;331E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;187E;E;S;5;ArialD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;332E;D;K;6;CP$UIDd;3;228E;E;E;S;5;colorS;18;.AppleSystemUIFontd;2;13f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib new file mode 100644 index 000000000..b9721bd11 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/Resources/MainMenu.xib @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html b/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html new file mode 100644 index 000000000..c4de7ac52 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/index-debug.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + WindowFrontTest + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html b/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html new file mode 100644 index 000000000..6fd788486 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/index.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + WindowFrontTest + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j b/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j new file mode 100644 index 000000000..cb26b4ad7 --- /dev/null +++ b/Tests/Manual/KeyWindowInTheBackgroundActivation/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * WindowFrontTest + * + * Created by You on January 15, 2018. + * Copyright 2018, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From a178d43b0102cbbbe77ce3726a892b0c32195089 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Mon, 20 Aug 2018 12:52:53 +0200 Subject: [PATCH 61/95] Fixed: return key was not swallowed by textview but triggered the default button. (#2598) --- AppKit/CPTextView/CPTextView.j | 2 ++ AppKit/CPWindow/CPWindow.j | 12 ++++++++++-- Tests/Manual/CPTextView/AppController.j | 20 +++++++++++--------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index 91ea5ebf1..1985411aa 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -1673,6 +1673,8 @@ Sets the selection to a range of characters in response to user action. - (void)insertLineBreak:(id)sender { [self insertText:@"\n"]; + // make sure that the return key is "swallowed" and the default button not triggered as is the case in cocoa + [[self window] _temporarilyDisableKeyEquivalentForDefaultButton]; } - (void)insertTab:(id)sender diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index dfedcf4cf..90917f81e 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -238,6 +238,7 @@ var CPWindowActionMessageKeys = [ CPButton _defaultButton; BOOL _defaultButtonEnabled; + BOOL _defaultButtonDisabledTemporarily; BOOL _autorecalculatesKeyViewLoop; BOOL _keyViewLoopIsDirty; @@ -402,6 +403,7 @@ CPTexturedBackgroundWindowMask _autorecalculatesKeyViewLoop = NO; _defaultButtonEnabled = YES; + _defaultButtonDisabledTemporarily = NO; _keyViewLoopIsDirty = NO; _hasBecomeKeyWindow = NO; @@ -1930,8 +1932,7 @@ CPTexturedBackgroundWindowMask [[self firstResponder] keyDown:anEvent]; // Trigger the default button if needed - // FIXME: Is this only applicable in a sheet? See isse: #722. - if (![self disableKeyEquivalentForDefaultButton]) + if (_defaultButtonEnabled && !_defaultButtonDisabledTemporarily) { var defaultButton = [self defaultButton], keyEquivalent = [defaultButton keyEquivalent], @@ -1941,6 +1942,8 @@ CPTexturedBackgroundWindowMask [[self defaultButton] performClick:self]; } + _defaultButtonDisabledTemporarily = NO; + return; case CPScrollWheel: @@ -3439,6 +3442,11 @@ CPTexturedBackgroundWindowMask _defaultButtonEnabled = NO; } +- (void)_temporarilyDisableKeyEquivalentForDefaultButton +{ + _defaultButtonDisabledTemporarily = YES; +} + /*! Removes the key equivalent for the default button. Note: this method is deprecated. Use disableKeyEquivalentForDefaultButton instead. diff --git a/Tests/Manual/CPTextView/AppController.j b/Tests/Manual/CPTextView/AppController.j index 963916c9a..3258f11c3 100755 --- a/Tests/Manual/CPTextView/AppController.j +++ b/Tests/Manual/CPTextView/AppController.j @@ -51,23 +51,25 @@ [contentView setBackgroundColor:[CPColor colorWithWhite:0.95 alpha:1.0]]; - var mybutton=[[CPButton alloc] initWithFrame:CGRectMake(0, 0,50, 25)]; - [mybutton setTitle:"Open sheet"] - [mybutton setTarget:self] - [mybutton setAction:@selector(openSheet:)] - [contentView addSubview:mybutton] + var mybutton=[[CPButton alloc] initWithFrame:CGRectMake(0, 0, 250, 25)]; + [mybutton setTitle:"Open sheet (must not be triggered by return)"] + [mybutton setTarget:self]; + [mybutton setAction:@selector(openSheet:)]; + [mybutton setKeyEquivalent:@"\r"]; + + [contentView addSubview:mybutton]; - _textView = [[CPTextView alloc] initWithFrame:CGRectMake(0,0,500,500)]; + _textView = [[CPTextView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)]; [_textView setRichText:YES]; - _textView2 = [[CPTextView alloc] initWithFrame:CGRectMake(0,0,500,500)]; + _textView2 = [[CPTextView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)]; _textView2._isRichText = NO; [_textView setBackgroundColor:[CPColor whiteColor]]; [_textView2 setBackgroundColor:[CPColor whiteColor]]; - var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(20, 20,520,510)]; - var scrollView2 = [[CPScrollView alloc] initWithFrame:CGRectMake(560, 20,520,510)]; + var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(20, 70, 520, 510)]; + var scrollView2 = [[CPScrollView alloc] initWithFrame:CGRectMake(560, 70, 520, 510)]; // [scrollView setAutohidesScrollers:YES]; [scrollView setDocumentView:_textView]; [scrollView2 setDocumentView:_textView2]; From 62ed21b316720f1ca3fb84f6f3d9d4088826176b Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 12:54:17 +0200 Subject: [PATCH 62/95] Fixed: Before this PR, when dragging a partially masked column, the dragged view was truncated (#2754) --- AppKit/CPTableView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 62b4f0849..5d7e3dd87 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -3154,7 +3154,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad // Now a view that clips the column data views, which itself is clipped to the content view var columnVisRect = CGRectIntersection(columnRect, visibleRect); - frame = CGRectMake(0.0, CGRectGetHeight(headerFrame), CGRectGetWidth(columnVisRect), CGRectGetHeight(columnVisRect)); + frame = CGRectMake(0.0, CGRectGetHeight(headerFrame), CGRectGetWidth(columnRect), CGRectGetHeight(columnVisRect)); var columnClipView = [[CPView alloc] initWithFrame:frame]; From 3d15844f7c08926c89ac14f87bf1fb0774a32c4e Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 12:55:35 +0200 Subject: [PATCH 63/95] CPTableView-bad-selection-color (#2756) --- AppKit/CPTableView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 5d7e3dd87..0119896ce 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -6368,7 +6368,7 @@ var CPTableViewDataSourceKey = @"CPTableViewDataSourceKey", if (tableView._draggedColumnIsSelected) { - CGContextSetFillColor(context, [tableView selectionHighlightColor]); + CGContextSetFillColor(context, [tableView _isFocused] ? [tableView selectionHighlightColor] : [tableView unfocusedSelectionHighlightColor]); CGContextFillRect(context, bounds); } else From d5a7e8938d13fa410f5bb9c80e62571571c74a0e Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 13:01:52 +0200 Subject: [PATCH 64/95] CPTrackingArea-manual-test-fix (#2759) --- Tests/Manual/TrackingArea/AppController.j | 39 ++++++++++++----------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/Tests/Manual/TrackingArea/AppController.j b/Tests/Manual/TrackingArea/AppController.j index 5c9f6f729..014a1c801 100644 --- a/Tests/Manual/TrackingArea/AppController.j +++ b/Tests/Manual/TrackingArea/AppController.j @@ -531,10 +531,11 @@ @implementation SensibleView : CPView { - CPString viewName @accessors; - CPCursor viewCursor @accessors; - CPColor viewColor; - CPTextField coords; + CPString viewName @accessors; + CPCursor viewCursor @accessors; + CPColor viewColor; + CPTextField coords; + CPTrackingArea trackingArea; } - (id)initWithFrame:(CGRect)aFrame @@ -666,15 +667,16 @@ - (void)updateTrackingAreas { CPLog.trace("updateTrackingAreas @"+viewName); + + if (trackingArea) + [self removeTrackingArea:trackingArea]; - [self removeAllTrackingAreas]; + trackingArea = [[CPTrackingArea alloc] initWithRect:CGRectMake(0, 0, 25, 25) + options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow + owner:self + userInfo:nil]; - var t = [[CPTrackingArea alloc] initWithRect:CGRectMake(0, 0, 25, 25) - options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow - owner:self - userInfo:nil]; - - [self addTrackingArea:t]; + [self addTrackingArea:trackingArea]; } @end @@ -684,15 +686,16 @@ - (void)updateTrackingAreas { CPLog.trace("updateTrackingAreas @"+viewName); + + if (trackingArea) + [self removeTrackingArea:trackingArea]; - [self removeAllTrackingAreas]; + trackingArea = [[CPTrackingArea alloc] initWithRect:CGRectMakeZero() + options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow | CPTrackingInVisibleRect + owner:self + userInfo:nil]; - var t = [[CPTrackingArea alloc] initWithRect:CGRectMakeZero() - options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow | CPTrackingInVisibleRect - owner:self - userInfo:nil]; - - [self addTrackingArea:t]; + [self addTrackingArea:trackingArea]; } @end From 4518dfc0ca3652b3f502fe72d6fac7c8a9aec306 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 13:12:22 +0200 Subject: [PATCH 65/95] FIXED: CPSearchField was positionning its menu with hard coded offset (#2691) --- AppKit/CPSearchField.j | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index ece795923..a54d8f49f 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -74,6 +74,7 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat @"image-cancel-pressed": [CPNull null], @"image-search-inset" : CGInsetMake(0, 0, 0, 5), @"image-cancel-inset" : CGInsetMake(0, 5, 0, 0), + @"search-menu-offset": CGPointMake(10, -4), @"search-right-margin": 2 }; } @@ -690,7 +691,8 @@ var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotificat return; var aFrame = [[self superview] convertRect:[self frame] toView:nil], - location = CGPointMake(aFrame.origin.x + 10, aFrame.origin.y + aFrame.size.height - 4); + offset = [self currentValueForThemeAttribute:@"search-menu-offset"], + location = CGPointMake(aFrame.origin.x + offset.x, aFrame.origin.y + aFrame.size.height + offset.y); var anEvent = [CPEvent mouseEventWithType:CPRightMouseDown location:location modifierFlags:0 timestamp:[[CPApp currentEvent] timestamp] windowNumber:[[self window] windowNumber] context:nil eventNumber:1 clickCount:1 pressure:0]; From 3615912ce0862b12988f04ccd7fc32c1ad3a9350 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 13:30:02 +0200 Subject: [PATCH 66/95] Fixed: Before this PR, loading of a CPTabView from a CIB file could crash the app (#2686) --- AppKit/CPTabView.j | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTabView.j b/AppKit/CPTabView.j index 84f6907ed..f48fb24e7 100644 --- a/AppKit/CPTabView.j +++ b/AppKit/CPTabView.j @@ -132,10 +132,10 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, */ - (void)insertTabViewItem:(CPTabViewItem)aTabViewItem atIndex:(CPUInteger)anIndex { - [self _insertTabViewItems:[aTabViewItem] atIndexes:[CPIndexSet indexSetWithIndex:anIndex]]; + [self _insertTabViewItems:[aTabViewItem] atIndexes:[CPIndexSet indexSetWithIndex:anIndex] canUpdateSelectedTab:YES]; } -- (void)_insertTabViewItems:(CPArray)tabViewItems atIndexes:(CPIndexSet)indexes +- (void)_insertTabViewItems:(CPArray)tabViewItems atIndexes:(CPIndexSet)indexes canUpdateSelectedTab:(BOOL)canUpdateSelectedTab { var prevItemsCount = [self numberOfTabViewItems]; @@ -148,7 +148,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, [self _sendDelegateTabViewDidChangeNumberOfTabViewItems]; // Do not allow empty selection if selection bindings are not enabled. - if (prevItemsCount == 0 && [self numberOfTabViewItems] > 0 && ![self _isSelectionBinded]) + if (prevItemsCount == 0 && [self numberOfTabViewItems] > 0 && ![self _isSelectionBinded] && canUpdateSelectedTab) [self _selectTabViewItemAtIndex:0]; } @@ -796,7 +796,7 @@ var CPTabViewItemsKey = "CPTabViewItemsKey", [_tabs setFont:_font]; var items = [aCoder decodeObjectForKey:CPTabViewItemsKey] || [CPArray array]; - [self _insertTabViewItems:items atIndexes:[CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, [items count])]]; + [self _insertTabViewItems:items atIndexes:[CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, [items count])] canUpdateSelectedTab:NO]; [self setDelegate:[aCoder decodeObjectForKey:CPTabViewDelegateKey]]; From eeb056d509eb440166edc680d2ac4e61e057e542 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Mon, 20 Aug 2018 13:35:18 +0200 Subject: [PATCH 67/95] Fixed: CPCursor-fix-and-update, some cursors were badly or not displayed (#2752) --- AppKit/CPCursor.j | 157 ++++++++++++++++++-------- Tests/Manual/CPCursor/AppController.j | 6 +- 2 files changed, 118 insertions(+), 45 deletions(-) diff --git a/AppKit/CPCursor.j b/AppKit/CPCursor.j index 57f3039c6..a0968c358 100755 --- a/AppKit/CPCursor.j +++ b/AppKit/CPCursor.j @@ -23,6 +23,7 @@ Cursor support by browser: @import @import "CPImage.j" +@import "CPCompatibility.j" @global CPApp @@ -31,6 +32,12 @@ var currentCursor = nil, cursors = {}, ieCursorMap = {}; +@typedef CPCursorPlatform +CPCursorPlatformNone = 0; +CPCursorPlatformMac = 1; +CPCursorPlatformWindows = 2; +CPCursorPlatformBoth = 3; + @implementation CPCursor : CPObject { CPString _cssString @accessors(readonly); @@ -157,7 +164,7 @@ var currentCursor = nil, } // Internal method that is used to return the system cursors. Caches the system cursors for performance. -+ (CPCursor)_systemCursorWithName:(CPString)cursorName cssString:(CPString)aString hasImage:(BOOL)doesHaveImage ++ (CPCursor)_nativeSystemCursorWithName:(CPString)cursorName cssString:(CPString)aString { var cursor = cursors[cursorName]; @@ -165,155 +172,217 @@ var currentCursor = nil, { var cssString; - if (doesHaveImage) - { - var themeResourcePath = [[[CPApp themeBlend] bundle] resourcePath], - extension = CPBrowserIsEngine(CPInternetExplorerBrowserEngine) ? @"cur" : @"png"; - - cssString = [CPString stringWithFormat:@"url(%@cursors/%@.%@), %@", themeResourcePath, cursorName, extension, aString]; - } + // IE <= 8 does not support some cursors, map them to supported cursors + var ieLessThan9 = CPBrowserIsEngine(CPInternetExplorerBrowserEngine) && !CPFeatureIsCompatible(CPHTMLCanvasFeature); + if (ieLessThan9) + cssString = ieCursorMap[aString] || aString; else - { - // IE <= 8 does not support some cursors, map them to supported cursors - var ieLessThan9 = CPBrowserIsEngine(CPInternetExplorerBrowserEngine) && !CPFeatureIsCompatible(CPHTMLCanvasFeature); + cssString = aString; - if (ieLessThan9) - cssString = ieCursorMap[aString] || aString; - else - cssString = aString; - } - - cursor = [[CPCursor alloc] initWithCSSString:cssString]; - cursors[cursorName] = cursor; + cursors[cursorName] = cursor = [[CPCursor alloc] initWithCSSString:cssString]; } return cursor; } ++ (CPCursor)_imageCursorWithName:(CPString)cursorName cssString:(CPString)aString +{ + var cursor = cursors[cursorName]; + + if (typeof cursor === "undefined") + { + var themeResourcePath = [[[CPApp themeBlend] bundle] resourcePath], + extension = CPBrowserIsOperatingSystem(CPWindowsOperatingSystem) ? @"cur" : @"png"; + + cssString = [CPString stringWithFormat:@"url(%@cursors/%@.%@), %@", themeResourcePath, cursorName, extension, aString]; + + cursors[cursorName] = cursor = [[CPCursor alloc] initWithCSSString:cssString]; + } + + return cursor; +} + ++ (CPCursor)_tryUsingNativeSystemCursorWithName:(CPString)cursorName cssString:(CPString)cssName onPlatform:(CPCursorPlatform)shouldUseNativeCursorOn fallingBackWithImageAndCSSPointer:(CPString)aString +{ + var useNativeSystemCursor = (((shouldUseNativeCursorOn == CPCursorPlatformBoth) || + ((shouldUseNativeCursorOn == CPCursorPlatformMac) && CPBrowserIsOperatingSystem(CPMacOperatingSystem)) || + ((shouldUseNativeCursorOn == CPCursorPlatformWindows) && CPBrowserIsOperatingSystem(CPWindowsOperatingSystem))) + && [CPCursor _nativeCursorExists:cssName]); + + if (useNativeSystemCursor) + return [CPCursor _nativeSystemCursorWithName:cursorName cssString:cssName]; + else + return [CPCursor _imageCursorWithName:cursorName cssString:aString]; +} + ++ (BOOL)_nativeCursorExists:(CPString)cursorCSSName +{ +#if PLATFORM(DOM) + + // FIXME: Trick until FF/Win & Chrome/Win correctly implement context-menu cursor + // They will answer that they implement it but they actually don't + + if ([cursorCSSName isEqualToString:@"context-menu"] && CPBrowserIsOperatingSystem(CPWindowsOperatingSystem) && !CPBrowserIsEngine(CPInternetExplorerBrowserEngine) && !CPBrowserIsEngine(CPEdgeBrowserEngine)) + return NO; + + // Normal usage : try to set the cursor and check if resulting cursor is the one we tried to set. + // If yes, then the browser implements the cursor. If no (and usually we get "default"), then it doesn't. + + var platformWindows = [[CPPlatformWindow visiblePlatformWindows] allObjects], + count = [platformWindows count]; + + if (count > 0) + { + var currentPlatformCursor = platformWindows[0]._DOMBodyElement.style.cursor; + platformWindows[0]._DOMBodyElement.style.cursor = cursorCSSName; + var doesExist = (platformWindows[0]._DOMBodyElement.style.cursor == cursorCSSName); + platformWindows[0]._DOMBodyElement.style.cursor = currentPlatformCursor; + + return doesExist; + } +#endif + + return NO; +} + + (CPCursor)arrowCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"default" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"default"]; } + (CPCursor)crosshairCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"crosshair" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"crosshair"]; } + (CPCursor)IBeamCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"text" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"text"]; } + (CPCursor)pointingHandCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"pointer" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"pointer"]; } + (CPCursor)resizeNorthwestCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nw-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nw-resize"]; } + (CPCursor)resizeNorthwestSoutheastCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nwse-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nwse-resize"]; } + (CPCursor)resizeNortheastCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ne-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ne-resize"]; } + (CPCursor)resizeNortheastSouthwestCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nesw-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nesw-resize"]; } + (CPCursor)resizeSouthwestCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"sw-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"sw-resize"]; } + (CPCursor)resizeSoutheastCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"se-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"se-resize"]; } + (CPCursor)resizeDownCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"s-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"s-resize"]; } + (CPCursor)resizeUpCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"n-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"n-resize"]; } + (CPCursor)resizeLeftCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"w-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"w-resize"]; } + (CPCursor)resizeRightCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"e-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"e-resize"]; } + (CPCursor)resizeLeftRightCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"col-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"col-resize"]; } + (CPCursor)resizeEastWestCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ew-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ew-resize"]; } + (CPCursor)resizeUpDownCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"row-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"row-resize"]; } + (CPCursor)resizeNorthSouthCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ns-resize" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ns-resize"]; } + (CPCursor)operationNotAllowedCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"not-allowed" hasImage:NO]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"not-allowed"]; } + (CPCursor)dragCopyCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"copy" hasImage:YES]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"copy"]; } + (CPCursor)dragLinkCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"alias" hasImage:YES]; + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"alias"]; } + (CPCursor)contextualMenuCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"context-menu" hasImage:YES]; + return [CPCursor _tryUsingNativeSystemCursorWithName:CPStringFromSelector(_cmd) + cssString:@"context-menu" + onPlatform:CPCursorPlatformBoth + fallingBackWithImageAndCSSPointer:@"default"]; } + (CPCursor)openHandCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"move" hasImage:YES]; + return [CPCursor _tryUsingNativeSystemCursorWithName:CPStringFromSelector(_cmd) + cssString:@"grab" + onPlatform:CPCursorPlatformMac + fallingBackWithImageAndCSSPointer:@"default"]; } + (CPCursor)closedHandCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"-moz-grabbing" hasImage:YES]; + return [CPCursor _tryUsingNativeSystemCursorWithName:CPStringFromSelector(_cmd) + cssString:@"grabbing" + onPlatform:CPCursorPlatformMac + fallingBackWithImageAndCSSPointer:@"default"]; } + (CPCursor)disappearingItemCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"auto" hasImage:YES]; + return [CPCursor _imageCursorWithName:CPStringFromSelector(_cmd) cssString:@"default"]; +} + ++ (CPCursor)IBeamCursorForVerticalLayout +{ + return [CPCursor _nativeSystemCursorWithName:CPStringFromSelector(_cmd) cssString:@"vertical-text"]; } @end diff --git a/Tests/Manual/CPCursor/AppController.j b/Tests/Manual/CPCursor/AppController.j index e5fcb4392..0e7d529b8 100644 --- a/Tests/Manual/CPCursor/AppController.j +++ b/Tests/Manual/CPCursor/AppController.j @@ -119,7 +119,10 @@ cursor:[CPCursor closedHandCursor]], disappearingItemCursorTester = [[CursorTester alloc] initWithText:@"Disappearing item cursor" origin:CGPointMake(x, y+=yInc) - cursor:[CPCursor disappearingItemCursor]]; + cursor:[CPCursor disappearingItemCursor]], + verticalTextCursorTester = [[CursorTester alloc] initWithText:@"Vertical text cursor" + origin:CGPointMake(x, y+=yInc) + cursor:[CPCursor IBeamCursorForVerticalLayout]]; [contentView addSubview:imageCursorTester]; [contentView addSubview:arrowCursorTester]; @@ -139,6 +142,7 @@ [contentView addSubview:openHandCursorTester]; [contentView addSubview:closedHandCursorTester]; [contentView addSubview:disappearingItemCursorTester]; + [contentView addSubview:verticalTextCursorTester]; [theWindow orderFront:self]; } From eb27d24923c670abc2f68c0052c76db30383dc05 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Tue, 21 Aug 2018 09:08:17 +0200 Subject: [PATCH 68/95] Fixed: CPTableView-visual-problem(#2755) --- AppKit/CPTableView.j | 1 + 1 file changed, 1 insertion(+) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 0119896ce..a4ec8284d 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -3189,6 +3189,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad // While dragging, the column is deselected in the table view [_selectedColumnIndexes removeIndex:columnIndex]; + [self setNeedsDisplay:YES]; return dragView; } From 73f02cc1bf8f44a4c74fdb91e5acde257417d164 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Tue, 21 Aug 2018 09:14:21 +0200 Subject: [PATCH 69/95] NEW: Add first responder management based on content view to CPScrollView (#2757) --- AppKit/CPScrollView.j | 45 +++++++++++++++++++++++++++++++++ Tests/AppKit/CPScrollViewTest.j | 8 +++--- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index 39a884307..9f2009a32 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -1508,6 +1508,51 @@ Notifies the delegate when the scroll view has finished scrolling. @end +#pragma mark - + +@implementation CPScrollView (FirstResponder) + +// Those 4 next methods are needed to (un)set CPThemeStateFirstResponder based on content view + +- (void)viewWillMoveToWindow:(CPWindow)aWindow +{ + [super viewWillMoveToWindow:aWindow]; + + [self _stopObservingFirstResponderForWindow:[self window]]; + + if (aWindow) + [self _startObservingFirstResponderForWindow:aWindow]; +} + +- (void)_startObservingFirstResponderForWindow:(CPWindow)aWindow +{ + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_firstResponderDidChange:) name:_CPWindowDidChangeFirstResponderNotification object:aWindow]; +} + +- (void)_stopObservingFirstResponderForWindow:(CPWindow)aWindow +{ + [[CPNotificationCenter defaultCenter] removeObserver:self name:_CPWindowDidChangeFirstResponderNotification object:aWindow]; +} + +- (void)_firstResponderDidChange:(CPNotification)aNotification +{ + var responder = [[self window] firstResponder], + // FIXME: We add focus ring only on table views right now. When focus ring management will be added, this must be adapted. + shouldAddFocusRing = [responder isKindOfClass:[CPTableView class]], + found; + + while (!(found = (responder === self)) && responder) + responder = [responder superview]; + + if (found && shouldAddFocusRing) + [self setThemeState:CPThemeStateFirstResponder]; + else + [self unsetThemeState:CPThemeStateFirstResponder]; +} + +@end + +#pragma mark - var CPScrollViewContentViewKey = @"CPScrollViewContentView", CPScrollViewHeaderClipViewKey = @"CPScrollViewHeaderClipViewKey", diff --git a/Tests/AppKit/CPScrollViewTest.j b/Tests/AppKit/CPScrollViewTest.j index 5bcaad4b4..81c3c7a91 100644 --- a/Tests/AppKit/CPScrollViewTest.j +++ b/Tests/AppKit/CPScrollViewTest.j @@ -327,16 +327,16 @@ theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(0.0, 0.0, 1024.0, 768.0) styleMask:CPWindowNotSizable]; - [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong"]; + [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong -1-"]; [[theWindow contentView] addSubview:scrollView]; - [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[@"CPScrollerStyleGlobalChangeNotification"] message:@"Notications registered for the scrollView in the notification center are wrong"]; + [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[@"CPScrollerStyleGlobalChangeNotification", @"_CPWindowDidChangeFirstResponderNotification"] message:@"Notications registered for the scrollView in the notification center are wrong -2-"]; [[theWindow contentView] addSubview:scrollView]; - [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[@"CPScrollerStyleGlobalChangeNotification"] message:@"Notications registered for the scrollView in the notification center are wrong"]; + [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[@"CPScrollerStyleGlobalChangeNotification", @"_CPWindowDidChangeFirstResponderNotification"] message:@"Notications registered for the scrollView in the notification center are wrong -3-"]; [scrollView removeFromSuperview]; - [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong"]; + [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong -4-"]; } - (void)testDocumentVisibleRect From 586c419c46b9763408837061dd58c67281acf513 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Tue, 21 Aug 2018 09:26:40 +0200 Subject: [PATCH 70/95] Fixed: Before this PR, Nib2Cib wasn't using theme attribute "header-view-height" (#2758) --- Tools/nib2cib/NSTableHeaderView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/nib2cib/NSTableHeaderView.j b/Tools/nib2cib/NSTableHeaderView.j index 3e245d572..f903807d5 100644 --- a/Tools/nib2cib/NSTableHeaderView.j +++ b/Tools/nib2cib/NSTableHeaderView.j @@ -38,7 +38,7 @@ if (_bounds.size.height === 17) { var theme = [Nib2Cib defaultTheme], - height = [theme valueForAttributeWithName:@"default-row-height" forClass:CPTableView]; + height = [theme valueForAttributeWithName:@"header-view-height" forClass:CPTableView]; _bounds.size.height = height; _frame.size.height = height; From ff6d17990f950ff6f51cabdee2942049cfde1049 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Tue, 21 Aug 2018 19:26:42 +0200 Subject: [PATCH 71/95] FIXED: Before this PR, starting a column drag within a scrolled down table would scroll the table content to the bottom (#2753) Before this commit, in the method [view convertPoint:aPoint toView:aView] : aPoint was not in the coordinate system of view. --- AppKit/CPTableHeaderView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index fd67c93a9..cf77ffff6 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -550,7 +550,7 @@ var CPTableHeaderViewResizeZone = 3.0, - (void)_autoscroll:(CPEvent)theEvent localLocation:(CGPoint)theLocation { // Constrain the y coordinate so we don't autoscroll vertically - var constrainedLocation = CGPointMake(theLocation.x, CGRectGetMinY([_tableView visibleRect])), + var constrainedLocation = CGPointMake(theLocation.x, CGRectGetMaxY([self frame])), constrainedEvent = [CPEvent mouseEventWithType:CPLeftMouseDragged location:[self convertPoint:constrainedLocation toView:nil] modifierFlags:[theEvent modifierFlags] From f02d0ab1dda85595cd2c492f9e0dc67ed3b591c4 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Wed, 22 Aug 2018 09:18:21 +0200 Subject: [PATCH 72/95] STYLE: refactoring using CPCharacterSet (#2762) --- Foundation/CPDateFormatter.j | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Foundation/CPDateFormatter.j b/Foundation/CPDateFormatter.j index 65c048500..069649cdd 100644 --- a/Foundation/CPDateFormatter.j +++ b/Foundation/CPDateFormatter.j @@ -49,6 +49,8 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4, relativeDateFormating, patternStringTokens; +var _separatorsCharacterSet = nil; + /*! @ingroup foundation @class CPDateFormatter @@ -136,6 +138,14 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4, defaultDateFormatterBehavior = behavior; } ++ (CPCharacterSet)_separatorsCharacterSet +{ + if (_separatorsCharacterSet == nil) + _separatorsCharacterSet = [CPCharacterSet characterSetWithCharactersInString:@" ,:/-."]; + + return _separatorsCharacterSet; +} + /*! Init a dateFormatter @return a new CPDateFormatter */ @@ -743,7 +753,7 @@ var defaultDateFormatterBehavior = CPDateFormatterBehavior10_4, continue; } - if ([character isEqualToString:@","] || [character isEqualToString:@":"] || [character isEqualToString:@"/"] || [character isEqualToString:@"-"] || [character isEqualToString:@" "] || [character isEqualToString:@"."]) + if ([[CPDateFormatter _separatorsCharacterSet] characterIsMember:character]) { result += [self _stringFromToken:currentToken date:aDate]; result += character; From c0ee5f6563e14490e145df9f00484e23ca29abc7 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Wed, 22 Aug 2018 09:41:37 +0200 Subject: [PATCH 73/95] Fixed: Problem with nib2cib introduced by #2758 (#2763) --- Tools/nib2cib/NSTableHeaderView.j | 23 +++++++++-------------- Tools/nib2cib/NSTableView.j | 7 +++++++ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Tools/nib2cib/NSTableHeaderView.j b/Tools/nib2cib/NSTableHeaderView.j index f903807d5..63f1b609b 100644 --- a/Tools/nib2cib/NSTableHeaderView.j +++ b/Tools/nib2cib/NSTableHeaderView.j @@ -23,31 +23,26 @@ @import @class CPTableView -@class Nib2Cib - @implementation CPTableHeaderView (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder { if (self = [super NS_initWithCoder:aCoder]) - { _tableView = [aCoder decodeObjectForKey:"NSTableView"]; - // change the default height - if (_bounds.size.height === 17) - { - var theme = [Nib2Cib defaultTheme], - height = [theme valueForAttributeWithName:@"header-view-height" forClass:CPTableView]; - - _bounds.size.height = height; - _frame.size.height = height; - } - } - return self; } +- (void)_setHeightIfDefaultValue:(CPInteger)height +{ + if (_bounds.size.height === 17) + { + _bounds.size.height = height; + _frame.size.height = height; + } +} + @end @implementation NSTableHeaderView : CPTableHeaderView diff --git a/Tools/nib2cib/NSTableView.j b/Tools/nib2cib/NSTableView.j index 3b4da3f54..e8de111b7 100644 --- a/Tools/nib2cib/NSTableView.j +++ b/Tools/nib2cib/NSTableView.j @@ -86,6 +86,13 @@ _allowsColumnReordering = (flags & 0x80000000) ? YES : NO; [self setBackgroundColor:[aCoder decodeObjectForKey:@"NSBackgroundColor"]]; + + var headerViewHeight = [theme valueForAttributeWithName:@"header-view-height" forClass:CPTableView]; + + if (!headerViewHeight) + headerViewHeight = [self currentValueForThemeAttribute:@"header-view-height"]; + + [_headerView _setHeightIfDefaultValue:headerViewHeight]; } return self; From 988b3d27b89f2c4ab0a760c5f718c8fba3c4fdba Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Wed, 29 Aug 2018 11:27:50 +0200 Subject: [PATCH 74/95] Fixed: allowFadingOut side effect introduced by #2718 (#2768) --- AppKit/CPScroller.j | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index f06d974fb..6755624cb 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -226,6 +226,7 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); if (_style === CPScrollerStyleLegacy) { + _allowFadingOut = NO; [self fadeIn]; [self setThemeState:CPThemeStateScrollViewLegacy]; } @@ -758,7 +759,7 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); if ([self isHidden] || ![self isEnabled] || !_isMouseOver) return; - _allowFadingOut = YES; + _allowFadingOut = (_style !== CPScrollerStyleLegacy); _isMouseOver = NO; if (_timerFadeOut) From 9ad44e6dc2938594c441c0c80ef9ac06d7995a33 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Wed, 29 Aug 2018 14:28:02 +0200 Subject: [PATCH 75/95] Fixed: Define header-view-height attribute in ThemeDescriptors. (#2764) This is a better solution for problem introduced by #2758 --- AppKit/Themes/Aristo2/ThemeDescriptors.j | 1 + .../TableCibTest/Resources/MainMenu.cib | 2 +- Tools/nib2cib/NSTableHeaderView.j | 21 ++++++++++++------- Tools/nib2cib/NSTableView.j | 7 ------- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j index 67627ba6a..840a9fe2d 100644 --- a/AppKit/Themes/Aristo2/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -2104,6 +2104,7 @@ var themedButtonValues = nil, [@"sort-image-reversed", sortImageReversed], [@"image-generic-file", imageGenericFile], [@"default-row-height", 25.0], + [@"header-view-height", 25.0], [@"dropview-on-background-color", [CPColor colorWithRed:72 / 255 green:134 / 255 blue:202 / 255 alpha:0.25]], [@"dropview-on-border-color", [CPColor colorWithHexString:@"4886ca"]], diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib index c0bfaedc4..4a7a37c16 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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;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;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;1;0E;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;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;11E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;41E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;21E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;45E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;49E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;50E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;51E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;23E;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;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;53E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;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;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;56E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;58E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;60E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;62E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;63E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;27E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;28E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;64E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;64E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;64E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;64E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;65E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;65E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;65E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;66E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;67E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;52E;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;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;68E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;69E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;74E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;52E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;65E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;76E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;77E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;78E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;52E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;80E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;81E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;29E;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;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;62E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;12;$agrid-colorD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;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;2;87E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;88E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;52E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;75E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;80E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;65E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;65E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;65E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;65E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;89E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;86E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;90E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;65E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;92E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;38E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;93E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;94E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;95E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;96E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;98E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;100E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;101E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;95E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;96E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;104E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;105E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;64E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;107E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;110E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;64E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;113E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;115E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;64E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;117E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;119E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;63E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;120E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;120E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;30E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;122E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {686, 348}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;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;25E;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;62E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;66E;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;61E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;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;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;38E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;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;25E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}S;29;_horizontalScrollerDidScroll:F;f;18;0.9415204678362573S;20;{{0, 0}, {644, 290}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;129E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;130E;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;34E;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;E;E;d;1;3D;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;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;S;1;1d;3;101d;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;97E;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;134E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;12;$atext-colorD;K;6;CP$UIDd;3;136E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;139E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;138E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;136E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;52E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;143E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;12;$atext-colorD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;148E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;65E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;65E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;80E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;84E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;52E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;2;97E;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;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;151E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;152E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;151E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;150E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;143E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;6;$afontD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;148E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;65E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;65E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;80E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;84E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;2;97E;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;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;3;155E;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;155E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;67E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;109E;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;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;52E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;52E;E;f;9;94.078125f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;2;97E;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;158E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;12;$atext-colorD;K;6;CP$UIDd;3;136E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;159E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;138E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;136E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;52E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;160E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;2;67E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;67E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;162E;K;16;$aimage-positionD;K;6;CP$UIDd;2;67E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;163E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;164E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;80E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;150E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;150E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;65E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;67E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;52E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;165E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;166E;E;d;2;92D;K;6;$classD;K;6;CP$UIDd;2;97E;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;167E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;12;$atext-colorD;K;6;CP$UIDd;3;136E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;168E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;138E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;136E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;52E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;3;118E;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;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;90E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;67E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;52E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;90E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;90E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;90E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;52E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;52E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;80E;E;S;19;{{0, 0}, {644, 25}}S;14;tableHeaderRowS;13;AppControllerS;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;30E;E;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;38E;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;150E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;E;E;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;3;170E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;150E;E;E;S;20;{{502, 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;172E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;174E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;65E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;65E;E;S;8;Column 1S;17;{{3, 0}, {-6, 0}}S;17;{{0, 0}, {-6, 0}}S;9;textfieldS;22;tableDataView+editableD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;4;nameD;K;6;CP$UIDd;3;176E;K;12;defaultValueD;K;6;CP$UIDd;3;177E;K;6;valuesD;K;6;CP$UIDd;3;179E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;174E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;180E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;65E;E;S;9;Text Celld;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;181E;E;E;d;1;1D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;65E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;184E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;185E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;5;ImageS;13;tableDataViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;187E;E;E;S;20;Checkbox really longS;17;{{0, 0}, {0, 21}}S;9;check-boxD;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;188E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;5;CheckS;0;f;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;15;Level IndicatorS;15;level-indicatorf;3;0.8D;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;171E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;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;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;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;191E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;150E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;11S;10;text-colorD;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;192E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;178E;K;10;CP.objectsD;K;43;tableDataView+selectedTableDataView+editingD;K;6;CP$UIDd;3;193E;K;35;tableDataView+selectedTableDataViewD;K;6;CP$UIDd;3;194E;K;6;normalD;K;6;CP$UIDd;3;193E;E;E;d;2;-1D;K;6;$classD;K;6;CP$UIDd;3;171E;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;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;103E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;S;13;Lucida Granded;2;20S;15;Times New RomanD;K;6;$classD;K;6;CP$UIDd;3;171E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;108E;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;108E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;3;171E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;113E;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;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;d;2;13D;K;6;$classD;K;6;CP$UIDd;3;171E;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;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;d;2;18f;18;0.5019607843137255D;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;52E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;150E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;196E;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;52E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;E;E;D;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;3;150E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;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;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;1;0E;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;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;11E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;41E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;21E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;45E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;49E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;50E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;51E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;23E;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;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;53E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;59E;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;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;60E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;61E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;65E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;67E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;68E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;27E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;28E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;69E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;70E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;70E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;70E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;71E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;72E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;52E;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;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;73E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;74E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;70E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;82E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;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;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;85E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;58E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;87E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;12;$agrid-colorD;K;6;CP$UIDd;2;92E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;93E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;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;2;94E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;95E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;52E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;81E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;58E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;70E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;70E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;70E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;70E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;96E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;92E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;97E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;70E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;2;98E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;100E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;38E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;101E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;104E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;108E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;109E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;110E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;104E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;112E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;113E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;114E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;69E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;115E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;118E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;69E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;123E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;69E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;125E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;127E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;68E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;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;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;130E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;131E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {686, 348}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;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;25E;E;E;S;4;viewS;6;normalS;6;{1, 1}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;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;67E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;71E;E;E;d;2;36S;10;scrollviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;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;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;134E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;137E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;138E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;38E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;140E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;27;controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;29;_horizontalScrollerDidScroll:f;18;0.9415204678362573S;20;{{0, 0}, {644, 290}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;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;34E;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;E;E;d;1;3D;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;144E;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;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;148E;E;S;1;1d;3;101d;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;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;12;$atext-colorD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;154E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;155E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;158E;K;12;$atext-colorD;K;6;CP$UIDd;3;160E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;161E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;162E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;163E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;70E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;70E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;58E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;90E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;52E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;58E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;58E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;58E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;166E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;167E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;168E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;169E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;170E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;3;167E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;162E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;163E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;70E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;70E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;58E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;90E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;167E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;58E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;58E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;58E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;173E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;72E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;174E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;175E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;117E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;176E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;177E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;52E;E;f;9;94.078125f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;12;$atext-colorD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;179E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;180E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;122E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;183E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;72E;K;16;$aimage-positionD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;184E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;187E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;58E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;167E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;167E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;70E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;72E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;52E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;188E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;189E;E;d;2;92D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;12;$atext-colorD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;191E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;192E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;176E;K;6;$afontD;K;6;CP$UIDd;3;184E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;194E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;97E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;72E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;52E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;97E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;97E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;97E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;52E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;52E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;58E;E;S;19;{{0, 0}, {644, 25}}S;14;tableHeaderRowD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;AppControllerS;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;30E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;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;38E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;{{0, 0}, {0, 0}}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;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;E;E;S;5;colorD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;S;20;{{502, 0}, {14, 25}}S;18;{{0, 0}, {14, 25}}S;10;cornerviewD;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;198E;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;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;199E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;200E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;201E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;Column 1S;9;textfieldS;41;controlSizeRegular+editable+tableDataViewD;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;199E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;164E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;70E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;159E;K;4;nameD;K;6;CP$UIDd;3;202E;K;12;defaultValueD;K;6;CP$UIDd;3;203E;K;6;valuesD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;E;E;S;9;Text Celld;4;3072d;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;209E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;210E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;211E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;d;1;1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;212E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;211E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;215E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;216E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;217E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;5;ImageS;32;controlSizeRegular+tableDataViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;218E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;219E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;Checkbox really longS;17;{{0, 0}, {0, 21}}S;9;check-boxS;42;controlSizeRegular+roundRect+tableDataViewD;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;220E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;221E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;222E;E;E;S;5;CheckS;0;f;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;223E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;15;Level IndicatorS;15;level-indicatorD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;224E;E;E;f;3;0.8D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;167E;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;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;106E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;231E;E;S;28;_CPFontSystemFacePlaceholderd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;167E;E;E;S;10;text-colorD;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;204E;K;10;CP.objectsD;K;43;editing+selectedTableDataView+tableDataViewD;K;6;CP$UIDd;3;234E;K;35;selectedTableDataView+tableDataViewD;K;6;CP$UIDd;3;235E;K;11;placeholderD;K;6;CP$UIDd;3;203E;K;6;normalD;K;6;CP$UIDd;3;234E;E;E;D;K;10;$classnameS;14;CPTrackingAreaK;8;$classesA;S;14;CPTrackingAreaS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;237E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;103E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;108E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;239E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;108E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;241E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;111E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;111E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;242E;E;S;14;.SF NS Displayd;2;20S;15;Times New RomanD;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;243E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;103E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;112E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;112E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;245E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;112E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;112E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;246E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;116E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;116E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;247E;E;S;7;Georgiad;2;11D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;248E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;118E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;118E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;121E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;121E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;250E;E;S;18;.AppleSystemUIFontd;2;13D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;251E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;123E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;123E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;125E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;125E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;254E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;127E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;127E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;255E;E;f;18;0.9607843137254902f;18;0.9764705882352941f;18;0.9882352941176471S;18;{{5, 0}, {-10, 0}}S;18;{{0, 0}, {-10, 0}}d;2;18D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;f;18;0.5019607843137255D;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;52E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;256E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;257E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;d;3;546D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;52E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;167E;E;E;S;55;{"origin":{"x":0,"y":1},"size":{"width":0,"height":-1}}S;54;{"origin":{"x":0,"y":0},"size":{"width":0,"height":1}}S;54;{"origin":{"x":0,"y":0},"size":{"width":0,"height":0}}f;3;0.2E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tools/nib2cib/NSTableHeaderView.j b/Tools/nib2cib/NSTableHeaderView.j index 63f1b609b..f11420c81 100644 --- a/Tools/nib2cib/NSTableHeaderView.j +++ b/Tools/nib2cib/NSTableHeaderView.j @@ -23,24 +23,29 @@ @import @class CPTableView +@class Nib2Cib + @implementation CPTableHeaderView (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder { if (self = [super NS_initWithCoder:aCoder]) + { _tableView = [aCoder decodeObjectForKey:"NSTableView"]; - return self; -} + // change the default height + if (_bounds.size.height === 17) + { + var theme = [Nib2Cib defaultTheme], + height = [_tableView currentValueForThemeAttribute:@"header-view-height"]; -- (void)_setHeightIfDefaultValue:(CPInteger)height -{ - if (_bounds.size.height === 17) - { - _bounds.size.height = height; - _frame.size.height = height; + _bounds.size.height = height; + _frame.size.height = height; + } } + + return self; } @end diff --git a/Tools/nib2cib/NSTableView.j b/Tools/nib2cib/NSTableView.j index e8de111b7..3b4da3f54 100644 --- a/Tools/nib2cib/NSTableView.j +++ b/Tools/nib2cib/NSTableView.j @@ -86,13 +86,6 @@ _allowsColumnReordering = (flags & 0x80000000) ? YES : NO; [self setBackgroundColor:[aCoder decodeObjectForKey:@"NSBackgroundColor"]]; - - var headerViewHeight = [theme valueForAttributeWithName:@"header-view-height" forClass:CPTableView]; - - if (!headerViewHeight) - headerViewHeight = [self currentValueForThemeAttribute:@"header-view-height"]; - - [_headerView _setHeightIfDefaultValue:headerViewHeight]; } return self; From 96793b39ba62fa75f7ec7bee72f821c0f4727593 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Thu, 30 Aug 2018 16:02:48 +0200 Subject: [PATCH 76/95] Revert "Fixed: Define header-view-height attribute in ThemeDescriptors. (#2764)" This reverts commit 9ad44e6dc2938594c441c0c80ef9ac06d7995a33. --- AppKit/Themes/Aristo2/ThemeDescriptors.j | 1 - .../TableCibTest/Resources/MainMenu.cib | 2 +- Tools/nib2cib/NSTableHeaderView.j | 23 ++++++++----------- Tools/nib2cib/NSTableView.j | 7 ++++++ 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j index 840a9fe2d..67627ba6a 100644 --- a/AppKit/Themes/Aristo2/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -2104,7 +2104,6 @@ var themedButtonValues = nil, [@"sort-image-reversed", sortImageReversed], [@"image-generic-file", imageGenericFile], [@"default-row-height", 25.0], - [@"header-view-height", 25.0], [@"dropview-on-background-color", [CPColor colorWithRed:72 / 255 green:134 / 255 blue:202 / 255 alpha:0.25]], [@"dropview-on-border-color", [CPColor colorWithHexString:@"4886ca"]], diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib index 4a7a37c16..c0bfaedc4 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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;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;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;1;0E;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;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;11E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;41E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;21E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;45E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;49E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;50E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;51E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;23E;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;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;53E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;59E;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;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;60E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;61E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;65E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;67E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;68E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;27E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;28E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;69E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;70E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;70E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;70E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;71E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;72E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;52E;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;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;73E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;74E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;70E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;82E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;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;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;85E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;58E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;87E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;12;$agrid-colorD;K;6;CP$UIDd;2;92E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;93E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;1;0E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;1;0E;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;2;94E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;95E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;52E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;81E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;58E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;70E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;70E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;70E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;70E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;96E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;92E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;97E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;70E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;2;98E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;100E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;38E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;101E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;104E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;108E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;109E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;110E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;104E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;112E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;113E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;114E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;69E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;115E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;118E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;69E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;123E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;69E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;125E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;127E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;58E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;70E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;68E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;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;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;130E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;131E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {686, 348}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;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;25E;E;E;S;4;viewS;6;normalS;6;{1, 1}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;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;67E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;71E;E;E;d;2;36S;10;scrollviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;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;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;134E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;137E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;138E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;38E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;140E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;27;controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;29;_horizontalScrollerDidScroll:f;18;0.9415204678362573S;20;{{0, 0}, {644, 290}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;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;34E;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;E;E;d;1;3D;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;144E;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;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;148E;E;S;1;1d;3;101d;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;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;12;$atext-colorD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;154E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;155E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;158E;K;12;$atext-colorD;K;6;CP$UIDd;3;160E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;161E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;162E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;163E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;70E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;70E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;58E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;90E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;52E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;58E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;58E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;58E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;166E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;167E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;168E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;169E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;170E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;3;167E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;162E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;163E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;70E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;70E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;58E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;90E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;167E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;58E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;58E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;58E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;173E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;72E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;174E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;175E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;117E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;176E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;177E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;52E;E;f;9;94.078125f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;12;$atext-colorD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;179E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;180E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;122E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;183E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;72E;K;16;$aimage-positionD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;184E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;187E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;58E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;167E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;167E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;70E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;72E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;52E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;188E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;189E;E;d;2;92D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;12;$atext-colorD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;191E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;192E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;152E;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;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;176E;K;6;$afontD;K;6;CP$UIDd;3;184E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;194E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;97E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;52E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;164E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;72E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;52E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;97E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;97E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;97E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;52E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;52E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;58E;E;S;19;{{0, 0}, {644, 25}}S;14;tableHeaderRowD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;13;AppControllerS;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;30E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;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;38E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;16;{{0, 0}, {0, 0}}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;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;E;E;S;5;colorD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;S;20;{{502, 0}, {14, 25}}S;18;{{0, 0}, {14, 25}}S;10;cornerviewD;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;198E;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;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;199E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;200E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;201E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;8;Column 1S;9;textfieldS;41;controlSizeRegular+editable+tableDataViewD;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;199E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;164E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;70E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;159E;K;4;nameD;K;6;CP$UIDd;3;202E;K;12;defaultValueD;K;6;CP$UIDd;3;203E;K;6;valuesD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;E;E;S;9;Text Celld;4;3072d;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;209E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;210E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;211E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;d;1;1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;212E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;211E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;215E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;216E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;217E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;5;ImageS;32;controlSizeRegular+tableDataViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;218E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;219E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;Checkbox really longS;17;{{0, 0}, {0, 21}}S;9;check-boxS;42;controlSizeRegular+roundRect+tableDataViewD;K;6;$classD;K;6;CP$UIDd;3;151E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;220E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;221E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;58E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;222E;E;E;S;5;CheckS;0;f;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;223E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;15;Level IndicatorS;15;level-indicatorD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;224E;E;E;f;3;0.8D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;167E;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;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;106E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;231E;E;S;28;_CPFontSystemFacePlaceholderd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;167E;E;E;S;10;text-colorD;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;204E;K;10;CP.objectsD;K;43;editing+selectedTableDataView+tableDataViewD;K;6;CP$UIDd;3;234E;K;35;selectedTableDataView+tableDataViewD;K;6;CP$UIDd;3;235E;K;11;placeholderD;K;6;CP$UIDd;3;203E;K;6;normalD;K;6;CP$UIDd;3;234E;E;E;D;K;10;$classnameS;14;CPTrackingAreaK;8;$classesA;S;14;CPTrackingAreaS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;237E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;103E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;108E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;239E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;108E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;241E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;111E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;111E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;242E;E;S;14;.SF NS Displayd;2;20S;15;Times New RomanD;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;243E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;103E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;112E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;112E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;245E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;112E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;112E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;246E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;116E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;116E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;247E;E;S;7;Georgiad;2;11D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;248E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;118E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;118E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;121E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;121E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;250E;E;S;18;.AppleSystemUIFontd;2;13D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;251E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;123E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;123E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;3;197E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;125E;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;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;125E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;3;206E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;254E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;240E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;3;127E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;3;127E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;255E;E;f;18;0.9607843137254902f;18;0.9764705882352941f;18;0.9882352941176471S;18;{{5, 0}, {-10, 0}}S;18;{{0, 0}, {-10, 0}}d;2;18D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;f;18;0.5019607843137255D;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;52E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;256E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;257E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;d;3;546D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;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;52E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;167E;E;E;S;55;{"origin":{"x":0,"y":1},"size":{"width":0,"height":-1}}S;54;{"origin":{"x":0,"y":0},"size":{"width":0,"height":1}}S;54;{"origin":{"x":0,"y":0},"size":{"width":0,"height":0}}f;3;0.2E;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;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;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;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;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;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;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;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;1;0E;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;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;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;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;11E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;41E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;21E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;45E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;49E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;50E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;51E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;23E;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;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;53E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;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;24E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;56E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;57E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;58E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;23E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;60E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;62E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;63E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;27E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;28E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;64E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;64E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;64E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;64E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;65E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;65E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;65E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;66E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;67E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;52E;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;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;68E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;69E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;74E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;52E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;65E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;76E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;77E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;78E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;25E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;52E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;2;80E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;81E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;29E;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;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;62E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;12;$agrid-colorD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;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;2;87E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;88E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;52E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;75E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;80E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;65E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;65E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;65E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;65E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;89E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;86E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;90E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;65E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;92E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;38E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;93E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;94E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;95E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;96E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;98E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;100E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;101E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;95E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;96E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;103E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;104E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;105E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;64E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;107E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;110E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;64E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;113E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;115E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;64E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;117E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;119E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;80E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;65E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;63E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;120E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;120E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;30E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;122E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;21E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {686, 348}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;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;25E;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;62E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;66E;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;61E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;30E;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;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;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;70E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;38E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;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;25E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}S;29;_horizontalScrollerDidScroll:F;f;18;0.9415204678362573S;20;{{0, 0}, {644, 290}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;129E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;130E;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;34E;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;E;E;d;1;3D;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;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;52E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;S;1;1d;3;101d;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;97E;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;134E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;12;$atext-colorD;K;6;CP$UIDd;3;136E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;139E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;138E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;136E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;52E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;143E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;12;$atext-colorD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;148E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;65E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;65E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;80E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;84E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;52E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;2;97E;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;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;151E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;152E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;151E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;150E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;143E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;75E;K;6;$afontD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;148E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;65E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;65E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;80E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;84E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;75E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;2;97E;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;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;3;155E;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;155E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;67E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;109E;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;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;52E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;52E;E;f;9;94.078125f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;2;97E;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;158E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;12;$atext-colorD;K;6;CP$UIDd;3;136E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;159E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;138E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;136E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;52E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;114E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;160E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;2;67E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;67E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;162E;K;16;$aimage-positionD;K;6;CP$UIDd;2;67E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;52E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;163E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;164E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;80E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;150E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;150E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;65E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;67E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;52E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;165E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;166E;E;d;2;92D;K;6;$classD;K;6;CP$UIDd;2;97E;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;167E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;52E;K;12;$atext-colorD;K;6;CP$UIDd;3;136E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;168E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;138E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;136E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;2;52E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;75E;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;3;118E;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;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;90E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;75E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;67E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;52E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;90E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;90E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;90E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;52E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;52E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;80E;E;S;19;{{0, 0}, {644, 25}}S;14;tableHeaderRowS;13;AppControllerS;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;30E;E;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;38E;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;150E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;E;E;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;3;170E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;150E;E;E;S;20;{{502, 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;172E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;174E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;65E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;65E;E;S;8;Column 1S;17;{{3, 0}, {-6, 0}}S;17;{{0, 0}, {-6, 0}}S;9;textfieldS;22;tableDataView+editableD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;4;nameD;K;6;CP$UIDd;3;176E;K;12;defaultValueD;K;6;CP$UIDd;3;177E;K;6;valuesD;K;6;CP$UIDd;3;179E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;174E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;180E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;65E;E;S;9;Text Celld;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;181E;E;E;d;1;1D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;65E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;184E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;185E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;5;ImageS;13;tableDataViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;187E;E;E;S;20;Checkbox really longS;17;{{0, 0}, {0, 21}}S;9;check-boxD;K;6;$classD;K;6;CP$UIDd;3;137E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;188E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;5;CheckS;0;f;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;15;Level IndicatorS;15;level-indicatorf;3;0.8D;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;171E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;98E;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;98E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;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;191E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;150E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;11S;10;text-colorD;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;192E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;178E;K;10;CP.objectsD;K;43;tableDataView+selectedTableDataView+editingD;K;6;CP$UIDd;3;193E;K;35;tableDataView+selectedTableDataViewD;K;6;CP$UIDd;3;194E;K;6;normalD;K;6;CP$UIDd;3;193E;E;E;d;2;-1D;K;6;$classD;K;6;CP$UIDd;3;171E;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;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;103E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;S;13;Lucida Granded;2;20S;15;Times New RomanD;K;6;$classD;K;6;CP$UIDd;3;171E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;108E;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;108E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;3;171E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;113E;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;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;d;2;13D;K;6;$classD;K;6;CP$UIDd;3;171E;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;190E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;55E;E;d;2;18f;18;0.5019607843137255D;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;52E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;3;150E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;196E;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;52E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;E;E;D;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;3;150E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tools/nib2cib/NSTableHeaderView.j b/Tools/nib2cib/NSTableHeaderView.j index f11420c81..63f1b609b 100644 --- a/Tools/nib2cib/NSTableHeaderView.j +++ b/Tools/nib2cib/NSTableHeaderView.j @@ -23,31 +23,26 @@ @import @class CPTableView -@class Nib2Cib - @implementation CPTableHeaderView (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder { if (self = [super NS_initWithCoder:aCoder]) - { _tableView = [aCoder decodeObjectForKey:"NSTableView"]; - // change the default height - if (_bounds.size.height === 17) - { - var theme = [Nib2Cib defaultTheme], - height = [_tableView currentValueForThemeAttribute:@"header-view-height"]; - - _bounds.size.height = height; - _frame.size.height = height; - } - } - return self; } +- (void)_setHeightIfDefaultValue:(CPInteger)height +{ + if (_bounds.size.height === 17) + { + _bounds.size.height = height; + _frame.size.height = height; + } +} + @end @implementation NSTableHeaderView : CPTableHeaderView diff --git a/Tools/nib2cib/NSTableView.j b/Tools/nib2cib/NSTableView.j index 3b4da3f54..e8de111b7 100644 --- a/Tools/nib2cib/NSTableView.j +++ b/Tools/nib2cib/NSTableView.j @@ -86,6 +86,13 @@ _allowsColumnReordering = (flags & 0x80000000) ? YES : NO; [self setBackgroundColor:[aCoder decodeObjectForKey:@"NSBackgroundColor"]]; + + var headerViewHeight = [theme valueForAttributeWithName:@"header-view-height" forClass:CPTableView]; + + if (!headerViewHeight) + headerViewHeight = [self currentValueForThemeAttribute:@"header-view-height"]; + + [_headerView _setHeightIfDefaultValue:headerViewHeight]; } return self; From dd68b37a2a2918c4ce1b281823ab1fbf82c0cd92 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Fri, 31 Aug 2018 09:10:44 +0200 Subject: [PATCH 77/95] Fixed: CPButtonBar with actionPopupButton was outside the visible rect. Fixes #2770 (#2771) --- AppKit/CPButtonBar.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPButtonBar.j b/AppKit/CPButtonBar.j index 322d8c65a..28b17538d 100644 --- a/AppKit/CPButtonBar.j +++ b/AppKit/CPButtonBar.j @@ -70,7 +70,7 @@ [button addItemWithTitle:nil]; [[button lastItem] setImage:image]; [button setImagePosition:CPImageOnly]; - [button setValue:CGInsetMake(0, 0, 0, 0) forThemeAttribute:"content-inset"]; + [button setValue:CGInsetMake(0, 0, 0, 0) forThemeAttribute:"content-inset" inState:CPPopUpButtonStatePullsDown]; [button setPullsDown:YES]; From 8a3eb0d83baf1e039bf0b0ff21dbfebf36c71bb6 Mon Sep 17 00:00:00 2001 From: Didier Korthoudt Date: Fri, 31 Aug 2018 09:14:54 +0200 Subject: [PATCH 78/95] FIXED: This PR fixes a side effect of #2744 on table data views (#2767) When a textField is used in a tableView, setValue forThemeAttribute should refer to state CPThemeStateTableDataView instead of CPThemeStateNormal as #2744 is now more accurate on states. --- AppKit/CPCheckBox.j | 17 +++++++++++++++++ AppKit/CPTextField.j | 19 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/AppKit/CPCheckBox.j b/AppKit/CPCheckBox.j index ab674775b..e6c29b459 100644 --- a/AppKit/CPCheckBox.j +++ b/AppKit/CPCheckBox.j @@ -163,3 +163,20 @@ CPCheckBoxImageOffset = 4.0; } @end + +#pragma mark - + +@implementation CPCheckBox (TableDataView) + +// We overide here _CPObject+Theme setValue:forThemeAttribute as CPCheckBox can be used as tableView data view +// So, when outside a table data view, setValue:forThemeAttribute should store the value with the CPThemeStateNormal (default behavior) +// When inside a table data view, it should store the value with the CPThemeStateTableDataView. If not, the value won't be used if the +// theme defined a value for this attribute for state CPThemeStateTableDataView + +- (void)setValue:(id)aValue forThemeAttribute:(CPString)aName +{ + [super setValue:aValue forThemeAttribute:aName]; + [super setValue:aValue forThemeAttribute:aName inState:CPThemeStateTableDataView]; +} + +@end diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 00b15a227..66f6f2f56 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -2217,3 +2217,22 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey", } @end + +#pragma mark - + +@implementation CPTextField (TableDataView) + +// We overide here _CPObject+Theme setValue:forThemeAttribute as CPTextField can be used as tableView data view +// So, when outside a table data view, setValue:forThemeAttribute should store the value with the CPThemeStateNormal (default behavior) +// When inside a table data view, it should store the value with the CPThemeStateTableDataView. If not, the value won't be used if the +// theme defined a value for this attribute for state CPThemeStateTableDataView + +- (void)setValue:(id)aValue forThemeAttribute:(CPString)aName +{ + [super setValue:aValue forThemeAttribute:aName]; + [super setValue:aValue forThemeAttribute:aName inState:CPThemeStateTableDataView]; +} + +@end + + From 57f6f3b318537aeaf7a5a562d4f791aec072f654 Mon Sep 17 00:00:00 2001 From: David Richardson Date: Fri, 31 Aug 2018 06:51:20 -0600 Subject: [PATCH 79/95] New: Add --rsync-base option to bootstrap.sh (#2769) Existing --copy-local option to use local cappuccino-base has following limitations which are cumbersome when updating bootstrap process * local source must be a zip archive - which requires an extra step after making changes to source * local zip archive is erased after install - which makes repetitive testing more difficult This commit intended to allow testing of updates to cappuccino-base narwhal-jsc. With macOS 10.14 and later, narwhal-jsc must use modern c++ standard library. libedit must do the same, so the dependency reference to it is updated to version which is current at this time. --- bootstrap.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bootstrap.sh b/bootstrap.sh index 155ade7af..928e22dd8 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -185,6 +185,7 @@ while [ $# -gt 0 ]; do --copy-local) local_distrib="$2"; shift;; --github-user) github_user="$2"; shift;; --github-ref) github_ref="$2"; shift;; + --rsync-base) local_base="$2"; shift;; -q|--quiet) verbosity=$[verbosity - 1];; -v|--verbose) verbosity=$[verbosity + 1];; *) cat >&2 <<-EOT @@ -197,6 +198,7 @@ usage: ./bootstrap.sh [OPTIONS] --copy-local: Use a local copy instead of downloading zips. --github-user [USER]: Github user (default: $github_user). --github-ref [REF]: Use another git ref (default: $github_ref). + --rsync-base: Use a local development base repo instead of downloading zips. -q | --quiet: Output less logging. -v | --verbose: Output more logging. EOT @@ -311,6 +313,16 @@ if [ "$install_cappuccino" ]; then echo "Cloning Cappuccino base from \"$git_repo\"..." git clone "$git_repo" "$install_directory" (cd "$install_directory" && git checkout "origin/$github_ref") + elif [ -n "local_base" ]; then + echo "rsyncing local copy of the base distribution from $local_base to $install_directory" + + quiet_arg="" + if (( $verbosity < 2 )); then quiet_arg="-q"; fi + # Use rsync to copy a local version of cappuccino-base to install directory + # Unlike --local-copy option, leave rsync source directory intact + # for further development and/or testing + rsync -avz --exclude '.git' "$local_base" "$install_directory" + check_and_exit elif [ -n "$local_distrib" ]; then echo "Extracting local copy of the distribution from $local_distrib to $install_directory" @@ -379,7 +391,7 @@ if [ `uname` = "Darwin" ]; then if $(autoconf --version | head -1 | python -c "import sys, re; major, minor=re.search(r'(\d+)\.(\d+)', sys.stdin.read()).groups(); sys.exit((int(major) < $needed_autoconf_major or int(minor) < $needed_autoconf_minor) and 1)"); then # Don't bother checking the return code of this operation. Even if it fails, it's still # worthwhile to continue and attempt the full build. - (cd "$install_directory/packages/narwhal-jsc/deps/libedit-20100424-3.0" && autoreconf -if) + (cd "$install_directory/packages/narwhal-jsc/deps/libedit-20180525-3.1" && autoreconf -if) fi if ! (cd "$install_directory/packages/narwhal-jsc/" && make webkit); then From de36a2f4d19164b2ed4e5f66c2518bf12468f7eb Mon Sep 17 00:00:00 2001 From: David Richardson Date: Mon, 3 Sep 2018 02:29:43 -0600 Subject: [PATCH 80/95] Fixed: Update XcodeCapp code and Jakefile to install properly and launch without crashing when built with Xcode 10/ macOSSDK10.14 (#2773) Disable YRKSpinningProgressIndicator threaded animation (causing immediate crash on launch since Xcode 10 beta 6). Simplify Jakefile build process to 'xcodebuild install' to avoid permissions problems when building (still requires sudo when using Cappuccino defaults). Increment version number to 4.0.1 to reflect minor nature of change. Update About window version number field to fully display and properly align longer version numbers. --- Tools/XcodeCapp/Jakefile | 8 +- .../XcodeCapp.xcodeproj/project.pbxproj | 2 + .../XcodeCapp/Base.lproj/MainMenu.xib | 89 ++++++++----------- Tools/XcodeCapp/XcodeCapp/Info.plist | 6 +- .../XcodeCapp/YRKSpinningProgressIndicator.m | 1 + 5 files changed, 48 insertions(+), 58 deletions(-) diff --git a/Tools/XcodeCapp/Jakefile b/Tools/XcodeCapp/Jakefile index 3ae57348a..2ee1083fc 100644 --- a/Tools/XcodeCapp/Jakefile +++ b/Tools/XcodeCapp/Jakefile @@ -44,14 +44,14 @@ task ("build", function() if (executableExists("xcodebuild")) { - var args = "-sdk macosx -alltargets -configuration Release", - installPath = FILE.join("/", "Applications", applicationName); + var args = installPath = FILE.join("/", "Applications", applicationName); - // Remove an old symlink, the application is built directly into /Applications now. + // Remove old symlink, if present. + //The application is now built directly into /Applications if (FILE.isLink(installPath)) FILE.remove(installPath); - if (OS.system("xcodebuild " + args)) + if (!OS.system("xcodebuild install")) colorPrint("Unable to build XcodeCapp. Skipping", "orange"); } else diff --git a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj index 59d960f67..c19b750d1 100644 --- a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj +++ b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj @@ -517,6 +517,7 @@ COMBINE_HIDPI_IMAGES = YES; DSTROOT = /; INFOPLIST_FILE = XcodeCapp/Info.plist; + INSTALL_PATH = "$(LOCAL_APPS_DIR)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.7; PRODUCT_BUNDLE_IDENTIFIER = org.cappuccino.xcodecapp; @@ -532,6 +533,7 @@ COMBINE_HIDPI_IMAGES = YES; DSTROOT = /; INFOPLIST_FILE = XcodeCapp/Info.plist; + INSTALL_PATH = "$(LOCAL_APPS_DIR)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.7; PRODUCT_BUNDLE_IDENTIFIER = org.cappuccino.xcodecapp; diff --git a/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib b/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib index 61be0ea93..76ab0fa72 100644 --- a/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib +++ b/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib @@ -1,9 +1,9 @@ - - + + - - + + @@ -375,10 +375,10 @@ - + - + @@ -409,22 +409,19 @@ - + - + - + - - - @@ -533,10 +530,10 @@ - + - + @@ -582,19 +579,16 @@ - + - + - + - - - @@ -625,10 +619,10 @@ - + - + @@ -680,12 +674,9 @@ - + - - - @@ -696,7 +687,6 @@ - @@ -721,7 +711,7 @@ - + @@ -738,18 +728,6 @@ - - - - - - - - - - - - @@ -764,12 +742,24 @@ + + + + + + + + + + + + - + @@ -838,10 +828,10 @@ - + - + @@ -883,10 +873,10 @@ - + - + @@ -894,17 +884,14 @@ - + - - - - + - + diff --git a/Tools/XcodeCapp/XcodeCapp/Info.plist b/Tools/XcodeCapp/XcodeCapp/Info.plist index 49d970dab..b5d62c923 100644 --- a/Tools/XcodeCapp/XcodeCapp/Info.plist +++ b/Tools/XcodeCapp/XcodeCapp/Info.plist @@ -2,8 +2,6 @@ - NSUserNotificationAlertStyle - alert CFBundleDevelopmentRegion en CFBundleDocumentTypes @@ -36,7 +34,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - Version 4.0 + Version 4.0.1 CFBundleSignature ???? CFBundleVersion @@ -51,6 +49,8 @@ MainMenu NSPrincipalClass NSApplication + NSUserNotificationAlertStyle + alert XCCCompatibilityVersion 4 XCCLastCappuccinoMasterBranchURL diff --git a/Tools/XcodeCapp/XcodeCapp/YRKSpinningProgressIndicator.m b/Tools/XcodeCapp/XcodeCapp/YRKSpinningProgressIndicator.m index 2e2b36763..5aca51c46 100755 --- a/Tools/XcodeCapp/XcodeCapp/YRKSpinningProgressIndicator.m +++ b/Tools/XcodeCapp/XcodeCapp/YRKSpinningProgressIndicator.m @@ -66,6 +66,7 @@ const NSTimeInterval kFadeOutTime = 0.7; // seconds _indeterminate = YES; _currentValue = 0.0; _maxValue = 100.0; + _usesThreadedAnimation = NO; // YES crashes on launch when compiled with Xcode 10 beta 6 } #pragma mark - NSView overrides From de4a1d1e93d714ada816f2568b33fcd97e6e5ccc Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 3 Sep 2018 14:54:48 +0200 Subject: [PATCH 81/95] Fixed: building the source link. --- README.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index a7209edfb..c93538ef5 100644 --- a/README.markdown +++ b/README.markdown @@ -44,7 +44,7 @@ Getting Started --------------- To write you first application, [download the starter package](http://www.cappuccino-project.org/#download). -To contribute to Cappuccino, please read here: [Getting and Building the Source](). +To contribute to Cappuccino, please read here: [Getting and Building the Source](http://wiki.github.com/cappuccino/cappuccino/getting-and-building-the-source). License ------- From fe60311072080d3c9cd6474efa89b55cf1123db9 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 6 Sep 2018 18:38:52 +0100 Subject: [PATCH 82/95] This is Cappuccino 1.0. --- README.markdown | 8 +------- Tools/Documentation/Cappuccino.doxygen | 2 +- Tools/XcodeCapp/XcodeCapp/Info.plist | 2 +- bootstrap.sh | 2 +- version.json | 2 +- 5 files changed, 5 insertions(+), 11 deletions(-) diff --git a/README.markdown b/README.markdown index c93538ef5..0281bd811 100644 --- a/README.markdown +++ b/README.markdown @@ -3,18 +3,12 @@ Welcome to Cappuccino! ====================== -Special event -------------- -Release 1.0 is scheduled for [CappCon 2018 on September 4, 2018 at Université de Liège in Belgium](https://www.meetup.com/de-DE/CappCon/events/248886408). - Introduction ------------ Cappuccino is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser. - -With Cappuccino, you don't concern yourself -with HTML, CSS, or the DOM. You rather write applications with the APIs from Apple's Cocoa frameworks and the Objective-J language. +With Cappuccino, you don't concern yourself with HTML, CSS, or the DOM. You write applications with the APIs from Apple's Cocoa frameworks and the Objective-J language. Check out a [live demo of the widgets in Cappuccino](https://cappuccino-testbook.5apps.com/#ThemeKitchenSink) diff --git a/Tools/Documentation/Cappuccino.doxygen b/Tools/Documentation/Cappuccino.doxygen index 176dac670..aa72ea5b2 100644 --- a/Tools/Documentation/Cappuccino.doxygen +++ b/Tools/Documentation/Cappuccino.doxygen @@ -38,7 +38,7 @@ PROJECT_NAME = " API" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.9.10 +PROJECT_NUMBER = 1.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Tools/XcodeCapp/XcodeCapp/Info.plist b/Tools/XcodeCapp/XcodeCapp/Info.plist index b5d62c923..16e87985d 100644 --- a/Tools/XcodeCapp/XcodeCapp/Info.plist +++ b/Tools/XcodeCapp/XcodeCapp/Info.plist @@ -56,6 +56,6 @@ XCCLastCappuccinoMasterBranchURL https://github.com/cappuccino/cappuccino/archive/master.zip XCCLastCappuccinoReleaseURL - https://github.com/cappuccino/cappuccino/archive/0.9.10.zip + https://github.com/cappuccino/cappuccino/archive/1.0.0.zip diff --git a/bootstrap.sh b/bootstrap.sh index 928e22dd8..3147dd986 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -169,7 +169,7 @@ tmp_zip="/tmp/cappuccino.zip" local_distrib="" github_user="cappuccino" -github_ref="v0.9.10" +github_ref="v1.0.0" noprompt="" install_capp="" diff --git a/version.json b/version.json index 8288c78a1..9eecd8f5b 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "version": "0.9.10" + "version": "1.0.0" } \ No newline at end of file From 2e0b9f5ea5187c62ca314f988da127c70a1b9cc7 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 7 Sep 2018 23:16:31 +0100 Subject: [PATCH 83/95] New: tweak flash view warning. --- AppKit/CPFlashView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPFlashView.j b/AppKit/CPFlashView.j index 638c23d90..76f0b0193 100644 --- a/AppKit/CPFlashView.j +++ b/AppKit/CPFlashView.j @@ -44,7 +44,7 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"; - (id)initWithFrame:(CGRect)aFrame { - CPLog.warn("CPFlashView is not supported by Cappuccino, this is now deprecated and it will be removed in the version 1.1 of Cappuccino"); + CPLog.warn("CPFlashView is deprecated and it will be removed in version 1.1."); self = [super initWithFrame:aFrame]; From 803cc6e4024539e4d26fab06b55fc36b31d3d590 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 7 Sep 2018 23:49:13 +0100 Subject: [PATCH 84/95] New: bump XcodeCapp copyright year. --- Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib | 13 +++++++------ Tools/XcodeCapp/XcodeCapp/Info.plist | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib b/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib index 76ab0fa72..71b199a62 100644 --- a/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib +++ b/Tools/XcodeCapp/XcodeCapp/Base.lproj/MainMenu.xib @@ -1,8 +1,9 @@ - + - + + @@ -521,11 +522,11 @@ -