diff --git a/.gitignore b/.gitignore index 7cecf478d..bda9ca5e6 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ WebSite xcuserdata/ !*.xcodeproj/project.pbxproj *.xCodeSupport/ +*.XcodeSupport/ diff --git a/.travis.yml b/.travis.yml index 841ce09f9..34029ecf3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,4 @@ before_install: - jdk_switcher use openjdk6 install: ./bootstrap.sh --quiet --noprompt --directory ./narwhal script: jake test -env: PATH=/home/travis/builds/cappuccino/cappuccino/narwhal/bin:$PATH CAPP_BUILD=/home/travis/builds/cappuccino/cappuccino/Build NARWHAL_ENGINE=rhino +env: PATH=$HOME/build/$TRAVIS_REPO_SLUG/narwhal/bin:$PATH CAPP_BUILD=$HOME/build/$TRAVIS_REPO_SLUG/Build NARWHAL_ENGINE=rhino diff --git a/AppKit/CPAccordionView.j b/AppKit/CPAccordionView.j index c4a6e6e49..3f28cfa3c 100644 --- a/AppKit/CPAccordionView.j +++ b/AppKit/CPAccordionView.j @@ -227,7 +227,7 @@ var secondItem = [[CPAccordionViewItem alloc] initWithIdentifier:@"secondSection { var indexSet = [CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, _items.length)]; - [indexSet removeIndexes:_expandedIndexes]; + [indexSet removeIndexes:_expandedItemIndexes]; return indexSet; } diff --git a/AppKit/CPAlert.j b/AppKit/CPAlert.j index b6f9d8502..b9ff787cd 100644 --- a/AppKit/CPAlert.j +++ b/AppKit/CPAlert.j @@ -28,15 +28,19 @@ @import @import -@import "CPApplication.j" @import "CPButton.j" @import "CPColor.j" @import "CPFont.j" @import "CPImage.j" @import "CPImageView.j" @import "CPPanel.j" +@import "CPText.j" @import "CPTextField.j" +@class CPCheckBox + +@global CPApp + /* @global @group CPAlertStyle @@ -53,6 +57,8 @@ CPInformationalAlertStyle = 1; */ CPCriticalAlertStyle = 2; +var bottomHeight = 71; + /*! @ingroup appkit @@ -164,7 +170,7 @@ CPCriticalAlertStyle = 2; _alertStyle = CPWarningAlertStyle; _showHelp = NO; _needsLayout = YES; - _defaultWindowStyle = CPTitledWindowMask; + _defaultWindowStyle = _CPModalWindowMask; _themeView = [_CPAlertThemeView new]; _messageLabel = [CPTextField labelWithTitle:@"Alert"]; @@ -450,6 +456,9 @@ CPCriticalAlertStyle = 2; defaultElementsMargin = [_themeView currentValueForThemeAttribute:@"default-elements-margin"], panelSize = [[_window contentView] frame].size, buttonsOriginY, + buttonMarginY, + buttonMarginX, + theme = [self theme], offsetX; [aRepresentativeButton setTheme:[self theme]]; @@ -462,6 +471,19 @@ CPCriticalAlertStyle = 2; buttonsOriginY = panelSize.height - [aRepresentativeButton frameSize].height + buttonOffset; offsetX = panelSize.width - inset.right; + switch ([_window styleMask]) + { + case _CPModalWindowMask: + buttonMarginY = [_themeView currentValueForThemeAttribute:@"modal-window-button-margin-y"]; + buttonMarginX = [_themeView currentValueForThemeAttribute:@"modal-window-button-margin-x"]; + break; + + default: + buttonMarginY = [_themeView currentValueForThemeAttribute:@"standard-window-button-margin-y"]; + buttonMarginX = [_themeView currentValueForThemeAttribute:@"standard-window-button-margin-x"]; + break; + } + for (var i = [_buttons count] - 1; i >= 0 ; i--) { var button = _buttons[i]; @@ -473,7 +495,7 @@ CPCriticalAlertStyle = 2; height = CGRectGetHeight(buttonFrame); offsetX -= width; - [button setFrame:CGRectMake(offsetX, buttonsOriginY, width, height)]; + [button setFrame:CGRectMake(offsetX + buttonMarginX, buttonsOriginY + buttonMarginY, width, height)]; offsetX -= 10; } @@ -546,6 +568,12 @@ CPCriticalAlertStyle = 2; [_window setFrameSize:finalSize]; [_window center]; + if ([_window styleMask] & _CPModalWindowMask || [_window styleMask] & CPHUDBackgroundWindowMask) + { + [_window setMovable:YES]; + [_window setMovableByWindowBackground:YES]; + } + _needsLayout = NO; } @@ -689,63 +717,50 @@ CPCriticalAlertStyle = 2; + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[ - CGSizeMake(400.0, 110.0), - CGInsetMake(15, 15, 15, 50), 6, 10, - CPJustifiedTextAlignment, - [CPColor blackColor], - [CPFont boldSystemFontOfSize:13.0], - [CPNull null], CGSizeMakeZero(), - CPJustifiedTextAlignment, - [CPColor blackColor], - [CPFont systemFontOfSize:12.0], - [CPNull null], CGSizeMakeZero(), - CGPointMake(15, 12), - [CPNull null], - [CPNull null], - [CPNull null], - [CPNull null], - [CPNull null], - [CPNull null], - 0.0, - 0.0, - 3.0, - [CPColor blackColor], - [CPFont systemFontOfSize:12.0], - [CPNull null], - 0.0 - ] - forKeys:[ - @"size", - @"content-inset", - @"informative-offset", - @"button-offset", - @"message-text-alignment", - @"message-text-color", - @"message-text-font", - @"message-text-shadow-color", - @"message-text-shadow-offset", - @"informative-text-alignment", - @"informative-text-color", - @"informative-text-font", - @"informative-text-shadow-color", - @"informative-text-shadow-offset", - @"image-offset", - @"information-image", - @"warning-image", - @"error-image", - @"help-image", - @"help-image-left-offset", - @"help-image-pressed", - @"suppression-button-y-offset", - @"suppression-button-x-offset", - @"default-elements-margin", - @"suppression-button-text-color", - @"suppression-button-text-font", - @"suppression-button-text-shadow-color", - @"suppression-button-text-shadow-offset" - ] - ]; + return [CPDictionary dictionaryWithObjects:[CGSizeMake(400.0, 110.0), CGInsetMake(15, 15, 15, 50), 6, 10, + CPJustifiedTextAlignment, [CPColor blackColor], [CPFont boldSystemFontOfSize:13.0], [CPNull null], CGSizeMakeZero(), + CPJustifiedTextAlignment, [CPColor blackColor], [CPFont systemFontOfSize:12.0], [CPNull null], CGSizeMakeZero(), + CGPointMake(15, 12), + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + 0.0, + 0.0, + 3.0, + [CPColor blackColor], + [CPFont systemFontOfSize:12.0], + [CPNull null], + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + ] + forKeys:[@"size", @"content-inset", @"informative-offset", @"button-offset", + @"message-text-alignment", @"message-text-color", @"message-text-font", @"message-text-shadow-color", @"message-text-shadow-offset", + @"informative-text-alignment", @"informative-text-color", @"informative-text-font", @"informative-text-shadow-color", @"informative-text-shadow-offset", + @"image-offset", + @"information-image", + @"warning-image", + @"error-image", + @"help-image", + @"help-image-left-offset", + @"help-image-pressed", + @"suppression-button-y-offset", + @"suppression-button-x-offset", + @"default-elements-margin", + @"suppression-button-text-color", + @"suppression-button-text-font", + @"suppression-button-text-shadow-color", + @"suppression-button-text-shadow-offset", + @"modal-window-button-margin-y", + @"modal-window-button-margin-x", + @"standard-window-button-margin-y", + @"standard-window-button-margin-x" + ]]; } @end diff --git a/AppKit/CPAnimation.j b/AppKit/CPAnimation.j index 3192ea152..c79f1e2bb 100644 --- a/AppKit/CPAnimation.j +++ b/AppKit/CPAnimation.j @@ -123,23 +123,29 @@ ACTUAL_FRAME_RATE = 0; - (void)setAnimationCurve:(CPAnimationCurve)anAnimationCurve { var timingFunctionName; + switch (anAnimationCurve) { - case CPAnimationEaseInOut: timingFunctionName = kCAMediaTimingFunctionEaseInEaseOut; - break; + case CPAnimationEaseInOut: + timingFunctionName = kCAMediaTimingFunctionEaseInEaseOut; + break; - case CPAnimationEaseIn: timingFunctionName = kCAMediaTimingFunctionEaseIn; - break; + case CPAnimationEaseIn: + timingFunctionName = kCAMediaTimingFunctionEaseIn; + break; - case CPAnimationEaseOut: timingFunctionName = kCAMediaTimingFunctionEaseOut; - break; + case CPAnimationEaseOut: + timingFunctionName = kCAMediaTimingFunctionEaseOut; + break; - case CPAnimationLinear: timingFunctionName = kCAMediaTimingFunctionLinear; - break; + case CPAnimationLinear: + timingFunctionName = kCAMediaTimingFunctionLinear; + break; - default: [CPException raise:CPInvalidArgumentException - reason:"Invalid value provided for animation curve"]; - break; + default: + [CPException raise:CPInvalidArgumentException + reason:@"Invalid value provided for animation curve"]; + break; } _animationCurve = anAnimationCurve; @@ -325,7 +331,7 @@ ACTUAL_FRAME_RATE = 0; // currently used function to determine time // 1:1 conversion to js from webkit source files // UnitBezier.h, WebCore_animation_AnimationBase.cpp -var CubicBezierAtTime = function CubicBezierAtTime(t, p1x, p1y, p2x, p2y, duration) +var CubicBezierAtTime = function(t, p1x, p1y, p2x, p2y, duration) { var ax = 0, bx = 0, diff --git a/AppKit/CPApplication.j b/AppKit/CPApplication.j index 2d8c1ebee..5e681695a 100644 --- a/AppKit/CPApplication.j +++ b/AppKit/CPApplication.j @@ -25,14 +25,17 @@ @import @import "CPCompatibility.j" +@import "CPColorPanel.j" +@import "CPCursor.j" +@import "CPDocumentController.j" @import "CPEvent.j" @import "CPMenu.j" @import "CPResponder.j" -@import "CPDocumentController.j" @import "CPThemeBlend.j" @import "CPCibLoading.j" +@import "CPPanel.j" @import "CPPlatform.j" - +@import "CPWindowController.j" var CPMainCibFile = @"CPMainCibFile", CPMainCibFileHumanFriendly = @"Main cib file base name", @@ -407,7 +410,7 @@ CPRunContinuesResponse = -1002; } -- (void)_documentController:(NSDocumentController *)docController didCloseAll:(BOOL)didCloseAll context:(Object)info +- (void)_documentController:(CPDocumentController)docController didCloseAll:(BOOL)didCloseAll context:(Object)info { // callback method for terminate: if (didCloseAll) @@ -553,7 +556,7 @@ CPRunContinuesResponse = -1002; // [theWindow._bridge _obscureWindowsBelowModalWindow]; - [CPApp setCallback:_CPRunModalLoop forNextEventMatchingMask:CPAnyEventMask untilDate:nil inMode:0 dequeue:NO]; + [CPApp setCallback:_CPRunModalLoop forNextEventMatchingMask:CPAnyEventMask untilDate:nil inMode:0 dequeue:YES]; } /*! @@ -616,10 +619,22 @@ CPRunContinuesResponse = -1002; if (_eventListeners.length) { - if (_eventListeners[_eventListeners.length - 1]._mask & (1 << [anEvent type])) - _eventListeners.pop()._callback(anEvent); + var listener = _eventListeners[_eventListeners.length - 1]; - return; + if (listener._mask & (1 << [anEvent type])) + { + _eventListeners.pop(); + listener._callback(anEvent); + } + + /* + FIXME: This does not match Cocoa documented behavior for the dequeue + flag. Cocoa says the event is dequeued only if it matches the mask. + Unfortunately event handling code in Cappuccino is depending + on an event being dequeued even if it does not match. + */ + if (listener._dequeue) + return; } if ([anEvent type] == CPMouseMoved) @@ -908,31 +923,33 @@ CPRunContinuesResponse = -1002; /*! Fires a callback function when an event matching a given mask occurs. - @param aCallback - A js function to be fired. - @prarm aMask - An event mask for the next event. - @param anExpiration - The date for which this callback expires (not implemented). + @param aCallback A js function to be fired. + @prarm aMask An event mask for the next event. + @param anExpiration The date for which this callback expires (not implemented). @param inMode (not implemented). - @param shouldDequeue (not implemented). + @param shouldDequeue YES to remove the event from the queue after calling the callback, + NO to deliver it normally. */ - (void)setCallback:(Function)aCallback forNextEventMatchingMask:(unsigned int)aMask untilDate:(CPDate)anExpiration inMode:(CPString)aMode dequeue:(BOOL)shouldDequeue { - _eventListeners.push(_CPEventListenerMake(aMask, aCallback)); + _eventListeners.push(_CPEventListenerMake(aMask, aCallback, shouldDequeue)); } /*! Assigns a target and action for the next event matching a given event mask. The callback method called will be passed the CPEvent when it fires. - @param aTarget - The target object for the callback. - @param aSelector - The selector which should be called on the target object. - @param aMask - The mask for a given event which should trigger the callback. - @param anExpiration - The date for which the callback expires (not implemented). + @param aTarget The target object for the callback. + @param aSelector The selector which should be called on the target object. + @param aMask The mask for a given event which should trigger the callback. + @param anExpiration The date for which the callback expires (not implemented). @param aMode (not implemented). - @param shouldDequeue (not implemented). + @param shouldDequeue YES to remove the event from the queue after calling the callback, + NO to deliver it normally. */ - (void)setTarget:(id)aTarget selector:(SEL)aSelector forNextEventMatchingMask:(unsigned int)aMask untilDate:(CPDate)anExpiration inMode:(CPString)aMode dequeue:(BOOL)shouldDequeue { - _eventListeners.push(_CPEventListenerMake(aMask, function (anEvent) { objj_msgSend(aTarget, aSelector, anEvent); })); + _eventListeners.push(_CPEventListenerMake(aMask, function (anEvent) { objj_msgSend(aTarget, aSelector, anEvent); }, shouldDequeue)); } /*! @@ -1199,7 +1216,7 @@ CPRunContinuesResponse = -1002; + (CPString)defaultThemeName { - return ([[CPBundle mainBundle] objectForInfoDictionaryKey:"CPDefaultTheme"] || @"Aristo"); + return ([[CPBundle mainBundle] objectForInfoDictionaryKey:"CPDefaultTheme"] || @"Aristo2"); } @end @@ -1209,28 +1226,29 @@ var _CPModalSessionMake = function(aWindow, aStopCode) return { _window:aWindow, _state:CPRunContinuesResponse , _previous:nil }; }; -var _CPEventListenerMake = function(anEventMask, aCallback) +var _CPEventListenerMake = function(anEventMask, aCallback, shouldDequeue) { - return { _mask:anEventMask, _callback:aCallback }; + return { _mask:anEventMask, _callback:aCallback, _dequeue:shouldDequeue }; }; // Make this a global for use in CPPlatformWindow+DOM.j. _CPRunModalLoop = function(anEvent) { - [CPApp setCallback:_CPRunModalLoop forNextEventMatchingMask:CPAnyEventMask untilDate:nil inMode:0 dequeue:NO]; + [CPApp setCallback:_CPRunModalLoop forNextEventMatchingMask:CPAnyEventMask untilDate:nil inMode:0 dequeue:YES]; var theWindow = [anEvent window], modalSession = CPApp._currentSession; - // The special case for popovers here is not clear. In Cocoa the popover window does not respond YES to worksWhenModal, - // yet it works when there is a modal window. Maybe it starts its own modal session, but interaction with the original - // modal window seems to continue working as well. Regardless of correctness, this solution beats popovers not working - // at all from sheets. + /* + The special case for popovers here is not clear. In Cocoa the popover window does not respond YES to worksWhenModal, yet it works when there is a modal window. Maybe it starts its own modal session, but interaction with the original modal window seems to continue working as well. Regardless of correctness, this solution beats popovers not working at all from sheets. + */ if (theWindow == modalSession._window || [theWindow worksWhenModal] || [theWindow attachedSheet] == modalSession._window || // -dw- allow modal parent of sheet to be repositioned - ([theWindow isKindOfClass:_CPAttachedWindow] && [[theWindow targetView] window] === modalSession._window)) + ([theWindow isKindOfClass:_CPPopoverWindow] && [[theWindow targetView] window] === modalSession._window)) + { [theWindow sendEvent:anEvent]; + } }; /*! @@ -1313,7 +1331,7 @@ var _CPAppBootstrapperActions = nil; var defaultThemeName = [CPApplication defaultThemeName], themeURL = nil; - if (defaultThemeName === @"Aristo") + if (defaultThemeName === @"Aristo" || defaultThemeName === @"Aristo2") themeURL = [[CPBundle bundleForClass:[CPApplication class]] pathForResource:defaultThemeName + @".blend"]; else themeURL = [[CPBundle mainBundle] pathForResource:defaultThemeName + @".blend"]; @@ -1358,26 +1376,25 @@ var _CPAppBootstrapperActions = nil; // FIXME: We should implement autoenabling. [mainMenu setAutoenablesItems:NO]; - var bundle = [CPBundle bundleForClass:[CPApplication class]], - newMenuItem = [[CPMenuItem alloc] initWithTitle:@"New" action:@selector(newDocument:) keyEquivalent:@"n"]; + var newMenuItem = [[CPMenuItem alloc] initWithTitle:@"New" action:@selector(newDocument:) keyEquivalent:@"n"]; - [newMenuItem setImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/New.png"] size:CGSizeMake(16.0, 16.0)]]; - [newMenuItem setAlternateImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/NewHighlighted.png"] size:CGSizeMake(16.0, 16.0)]]; + [newMenuItem setImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-general-icon-new" forClass:_CPMenuView]]; + [newMenuItem setAlternateImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-general-icon-new" inState:CPThemeStateHighlighted forClass:_CPMenuView]]; [mainMenu addItem:newMenuItem]; var openMenuItem = [[CPMenuItem alloc] initWithTitle:@"Open" action:@selector(openDocument:) keyEquivalent:@"o"]; - [openMenuItem setImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/Open.png"] size:CGSizeMake(16.0, 16.0)]]; - [openMenuItem setAlternateImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/OpenHighlighted.png"] size:CGSizeMake(16.0, 16.0)]]; + [openMenuItem setImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-general-icon-open" forClass:_CPMenuView]]; + [openMenuItem setAlternateImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-general-icon-open" inState:CPThemeStateHighlighted forClass:_CPMenuView]]; [mainMenu addItem:openMenuItem]; var saveMenu = [[CPMenu alloc] initWithTitle:@"Save"], saveMenuItem = [[CPMenuItem alloc] initWithTitle:@"Save" action:@selector(saveDocument:) keyEquivalent:nil]; - [saveMenuItem setImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/Save.png"] size:CGSizeMake(16.0, 16.0)]]; - [saveMenuItem setAlternateImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPApplication/SaveHighlighted.png"] size:CGSizeMake(16.0, 16.0)]]; + [saveMenuItem setImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-general-icon-save" forClass:_CPMenuView]]; + [saveMenuItem setAlternateImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-general-icon-save" inState:CPThemeStateHighlighted forClass:_CPMenuView]]; [saveMenu addItem:[[CPMenuItem alloc] initWithTitle:@"Save" action:@selector(saveDocument:) keyEquivalent:@"s"]]; [saveMenu addItem:[[CPMenuItem alloc] initWithTitle:@"Save As" action:@selector(saveDocumentAs:) keyEquivalent:nil]]; diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index dc13ae452..f907ee032 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -964,7 +964,7 @@ // be the 'wrong' one - as in not the one the user selected - but the wrong // one is still just another pointer to the same object, so the user will not // be able to see any difference. - contentIndex = [_contentObject indexOfObjectIdenticalTo:object]; + var contentIndex = [_contentObject indexOfObjectIdenticalTo:object]; [_contentObject removeObjectAtIndex:contentIndex]; } [arrangedObjects removeObjectAtIndex:anIndex]; @@ -1093,7 +1093,8 @@ isCompound = [self handlesContentAsCompoundValue], dotIndex = keyPath.lastIndexOf("."), firstPart = dotIndex !== CPNotFound ? keyPath.substring(0, dotIndex) : nil, - isSelectionProxy = firstPart && [[destination valueForKeyPath:firstPart] isKindOfClass:CPControllerSelectionProxy]; + isSelectionProxy = firstPart && [[destination valueForKeyPath:firstPart] isKindOfClass:CPControllerSelectionProxy], + newValue; if (!isCompound && !isSelectionProxy) { diff --git a/AppKit/CPBox.j b/AppKit/CPBox.j index 794c6ee8d..e7fab217d 100644 --- a/AppKit/CPBox.j +++ b/AppKit/CPBox.j @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPTextField.j" @import "CPView.j" // CPBoxType @@ -55,14 +56,6 @@ CPBelowBottom = 6; { CPBoxType _boxType; CPBorderType _borderType; - - CPColor _borderColor; - CPColor _fillColor; - - float _cornerRadius; - float _borderWidth; - - CPSize _contentMargin; CPView _contentView; CPString _title @accessors(getter=title); @@ -85,18 +78,31 @@ CPBelowBottom = 6; return box; } -- (id)initWithFrame:(CPRect)frameRect ++ (CPString)defaultThemeClass +{ + return @"box"; +} + ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], 1.0, 3.0, CGSizeMakeZero(), 6.0, [CPNull null], CGSizeMakeZero()] + forKeys:[ @"background-color", + @"border-color", + @"border-width", + @"corner-radius", + @"inner-shadow-offset", + @"inner-shadow-size", + @"inner-shadow-color", + @"content-margin"]]; +} + +- (id)initWithFrame:(CGRect)frameRect { self = [super initWithFrame:frameRect]; if (self) { _borderType = CPBezelBorder; - _fillColor = [CPColor clearColor]; - _borderColor = [CPColor blackColor]; - - _borderWidth = 1.0; - _contentMargin = CGSizeMake(0.0, 0.0); _titlePosition = CPNoTitle; _titleView = [CPTextField labelWithTitle:@""]; @@ -118,7 +124,7 @@ CPBelowBottom = 6; @return the border rectangle of the box */ -- (CPRect)borderRect +- (CGRect)borderRect { return [self bounds]; } @@ -208,58 +214,54 @@ CPBelowBottom = 6; - (CPColor)borderColor { - return _borderColor; + return [self valueForThemeAttribute:@"border-color"]; } - (void)setBorderColor:(CPColor)color { - if ([color isEqual:_borderColor]) + if ([color isEqual:[self borderColor]]) return; - _borderColor = color; - [self setNeedsDisplay:YES]; + [self setValue:color forThemeAttribute:@"border-color"]; } - (float)borderWidth { - return _borderWidth; + return [self valueForThemeAttribute:@"border-width"]; } - (void)setBorderWidth:(float)width { - if (width === _borderWidth) + if (width === [self borderWidth]) return; - _borderWidth = width; - [self setNeedsDisplay:YES]; + [self setValue:width forThemeAttribute:@"border-width"]; } - (float)cornerRadius { - return _cornerRadius; + return [self valueForThemeAttribute:@"corner-radius"]; } - (void)setCornerRadius:(float)radius { - if (radius === _cornerRadius) + if (radius === [self cornerRadius]) return; - _cornerRadius = radius; - [self setNeedsDisplay:YES]; + [self setValue:radius forThemeAttribute:@"corner-radius"]; } - (CPColor)fillColor { - return _fillColor; + return [self valueForThemeAttribute:@"background-color"]; } - (void)setFillColor:(CPColor)color { - if ([color isEqual:_fillColor]) + if ([color isEqual:[self fillColor]]) return; - _fillColor = color; - [self setNeedsDisplay:YES]; + [self setValue:color forThemeAttribute:@"background-color"]; } - (CPView)contentView @@ -272,34 +274,36 @@ CPBelowBottom = 6; if (aView === _contentView) return; - [aView setFrame:CGRectInset([self bounds], _contentMargin.width + _borderWidth, _contentMargin.height + _borderWidth)]; + var borderWidth = [self borderWidth], + contentMargin = [self valueForThemeAttribute:@"content-margin"]; + + [aView setFrame:CGRectInset([self bounds], contentMargin.width + borderWidth, contentMargin.height + borderWidth)]; [aView setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; [self replaceSubview:_contentView with:aView]; _contentView = aView; } -- (CPSize)contentViewMargins +- (CGSize)contentViewMargins { - return _contentMargin; + return [self valueForThemeAttribute:@"content-margin"]; } -- (void)setContentViewMargins:(CPSize)size +- (void)setContentViewMargins:(CGSize)size { if (size.width < 0 || size.height < 0) [CPException raise:CPGenericException reason:@"Margins must be positive"]; - _contentMargin = CGSizeMakeCopy(size); - [self setNeedsDisplay:YES]; + [self setValue:CGSizeMakeCopy(size) forThemeAttribute:@"content-margin"]; } -- (void)setFrameFromContentFrame:(CPRect)aRect +- (void)setFrameFromContentFrame:(CGRect)aRect { - var offset = [self _titleHeightOffset]; + var offset = [self _titleHeightOffset], + borderWidth = [self borderWidth], + contentMargin = [self valueForThemeAttribute:@"content-margin"]; - [self setFrame:CGRectInset(aRect, -(_contentMargin.width + _borderWidth), -(_contentMargin.height + offset[0] + _borderWidth))]; - - [self setNeedsDisplay:YES]; + [self setFrame:CGRectInset(aRect, -(contentMargin.width + borderWidth), -(contentMargin.height + offset[0] + borderWidth))]; } - (void)setTitle:(CPString)aTitle @@ -360,7 +364,7 @@ CPBelowBottom = 6; case CPAtTop: case CPAboveTop: case CPBelowTop: - [_titleView setFrameOrigin:CPPointMake(5.0, 0.0)]; + [_titleView setFrameOrigin:CGPointMake(5.0, 0.0)]; [_titleView setAutoresizingMask:CPViewNotSizable]; break; @@ -368,7 +372,7 @@ CPBelowBottom = 6; case CPAtBottom: case CPBelowBottom: var h = [_titleView frameSize].height; - [_titleView setFrameOrigin:CPPointMake(5.0, [self frameSize].height - h)]; + [_titleView setFrameOrigin:CGPointMake(5.0, [self frameSize].height - h)]; [_titleView setAutoresizingMask:CPViewMinYMargin]; break; } @@ -380,17 +384,13 @@ CPBelowBottom = 6; - (void)sizeToFit { var contentFrame = [_contentView frame], - offset = [self _titleHeightOffset]; + offset = [self _titleHeightOffset], + contentMargin = [self valueForThemeAttribute:@"content-margin"]; if (!contentFrame) return; - [_contentView setAutoresizingMask:CPViewNotSizable]; - [self setFrameSize:CGSizeMake(contentFrame.size.width + _contentMargin.width * 2, - contentFrame.size.height + _contentMargin.height * 2 + offset[0])]; - [_contentView setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; - - [_contentView setFrameOrigin:CGPointMake(_contentMargin.width, _contentMargin.height + offset[1])]; + [_contentView setFrameOrigin:CGPointMake(contentMargin.width, contentMargin.height + offset[1])]; } - (float)_titleHeightOffset @@ -411,11 +411,8 @@ CPBelowBottom = 6; } } -- (void)drawRect:(CPRect)rect +- (void)drawRect:(CGRect)rect { - if (_borderType === CPNoBorder) - return; - var bounds = CGRectMakeCopy([self bounds]); switch (_boxType) @@ -447,10 +444,14 @@ CPBelowBottom = 6; [self _drawBezelBorderInRect:bounds]; break; - default: + case CPGrooveBorder: case CPLineBorder: [self _drawLineBorderInRect:bounds]; break; + + case CPNoBorder: + [self _drawNoBorderInRect:bounds]; + break; } } @@ -461,8 +462,8 @@ CPBelowBottom = 6; CGContextSetStrokeColor(context, [self borderColor]); CGContextSetLineWidth(context, 1.0); - CGContextMoveToPoint(context, CGRectGetMinX(aRect), CGRectGetMinY(aRect) + 0.5); - CGContextAddLineToPoint(context, CGRectGetWidth(aRect), CGRectGetMinY(aRect) + 0.5); + CGContextMoveToPoint(context, CGRectGetMinX(aRect), CGRectGetMidY(aRect)); + CGContextAddLineToPoint(context, CGRectGetWidth(aRect), CGRectGetMidY(aRect)); CGContextStrokePath(context); } @@ -473,49 +474,68 @@ CPBelowBottom = 6; CGContextSetStrokeColor(context, [self borderColor]); CGContextSetLineWidth(context, 1.0); - CGContextMoveToPoint(context, CGRectGetMinX(aRect) + 0.5, CGRectGetMinY(aRect)); - CGContextAddLineToPoint(context, CGRectGetMinX(aRect) + 0.5, CGRectGetHeight(aRect)); + CGContextMoveToPoint(context, CGRectGetMidX(aRect), CGRectGetMinY(aRect)); + CGContextAddLineToPoint(context, CGRectGetMidX(aRect), CGRectGetHeight(aRect)); CGContextStrokePath(context); } +- (void)_drawLineBorderInRect:(CGRect)aRect +{ + var context = [[CPGraphicsContext currentContext] graphicsPort], + cornerRadius = [self cornerRadius], + borderWidth = [self borderWidth]; + + aRect = CGRectInset(aRect, borderWidth / 2.0, borderWidth / 2.0); + + CGContextSetFillColor(context, [self fillColor]); + CGContextSetStrokeColor(context, [self borderColor]); + + CGContextSetLineWidth(context, borderWidth); + CGContextFillRoundedRectangleInRect(context, aRect, cornerRadius, YES, YES, YES, YES); + CGContextStrokeRoundedRectangleInRect(context, aRect, cornerRadius, YES, YES, YES, YES); +} + - (void)_drawBezelBorderInRect:(CGRect)aRect { var context = [[CPGraphicsContext currentContext] graphicsPort], - sides = [CPMinYEdge, CPMaxXEdge, CPMaxYEdge, CPMinXEdge], - sideGray = 190.0 / 255.0, - grays = [142.0 / 255.0, sideGray, sideGray, sideGray], - borderWidth = _borderWidth; + cornerRadius = [self cornerRadius], + borderWidth = [self borderWidth], + shadowOffset = [self valueForThemeAttribute:@"inner-shadow-offset"], + shadowSize = [self valueForThemeAttribute:@"inner-shadow-size"], + shadowColor = [self valueForThemeAttribute:@"inner-shadow-color"]; - while (borderWidth--) - aRect = CPDrawTiledRects(aRect, aRect, sides, grays); + aRect = CGRectInset(aRect, borderWidth / 2.0, borderWidth / 2.0); + + // clip the canvas to the actual content view in order to only display inner shadow + CGContextBeginPath(context); + CGContextAddPath(context, CGPathWithRoundedRectangleInRect(aRect, cornerRadius, cornerRadius, YES, YES, YES, YES)); + CGContextClip(context); + + CGContextSetFillColor(context, [self fillColor]); + CGContextSetStrokeColor(context, [self borderColor]); + + CGContextSetShadowWithColor(context, shadowOffset, shadowSize, shadowColor); + CGContextSetLineWidth(context, borderWidth); + CGContextFillRoundedRectangleInRect(context, aRect, cornerRadius, YES, YES, YES, YES); + CGContextStrokeRoundedRectangleInRect(context, aRect, cornerRadius, YES, YES, YES, YES); +} + + +- (void)_drawNoBorderInRect:(CGRect)aRect +{ + var context = [[CPGraphicsContext currentContext] graphicsPort]; CGContextSetFillColor(context, [self fillColor]); CGContextFillRect(context, aRect); } -- (void)_drawLineBorderInRect:(CGRect)aRect -{ - var context = [[CPGraphicsContext currentContext] graphicsPort]; - aRect = CGRectInset(aRect, _borderWidth / 2.0, _borderWidth / 2.0); - CGContextSetFillColor(context, [self fillColor]); - CGContextSetStrokeColor(context, [self borderColor]); - - CGContextSetLineWidth(context, _borderWidth); - CGContextFillRoundedRectangleInRect(context, aRect, _cornerRadius, YES, YES, YES, YES); - CGContextStrokeRoundedRectangleInRect(context, aRect, _cornerRadius, YES, YES, YES, YES); -} @end var CPBoxTypeKey = @"CPBoxTypeKey", CPBoxBorderTypeKey = @"CPBoxBorderTypeKey", - CPBoxBorderColorKey = @"CPBoxBorderColorKey", - CPBoxFillColorKey = @"CPBoxFillColorKey", - CPBoxCornerRadiusKey = @"CPBoxCornerRadiusKey", - CPBoxBorderWidthKey = @"CPBoxBorderWidthKey", - CPBoxContentMarginKey = @"CPBoxContentMarginKey", CPBoxTitle = @"CPBoxTitle", CPBoxTitlePosition = @"CPBoxTitlePosition", CPBoxTitleView = @"CPBoxTitleView"; @@ -531,14 +551,6 @@ var CPBoxTypeKey = @"CPBoxTypeKey", _boxType = [aCoder decodeIntForKey:CPBoxTypeKey]; _borderType = [aCoder decodeIntForKey:CPBoxBorderTypeKey]; - _borderColor = [aCoder decodeObjectForKey:CPBoxBorderColorKey]; - _fillColor = [aCoder decodeObjectForKey:CPBoxFillColorKey]; - - _cornerRadius = [aCoder decodeFloatForKey:CPBoxCornerRadiusKey]; - _borderWidth = [aCoder decodeFloatForKey:CPBoxBorderWidthKey]; - - _contentMargin = [aCoder decodeSizeForKey:CPBoxContentMarginKey]; - _title = [aCoder decodeObjectForKey:CPBoxTitle]; _titlePosition = [aCoder decodeIntForKey:CPBoxTitlePosition]; _titleView = [aCoder decodeObjectForKey:CPBoxTitleView] || [CPTextField labelWithTitle:_title]; @@ -560,18 +572,9 @@ var CPBoxTypeKey = @"CPBoxTypeKey", [aCoder encodeInt:_boxType forKey:CPBoxTypeKey]; [aCoder encodeInt:_borderType forKey:CPBoxBorderTypeKey]; - - [aCoder encodeObject:_borderColor forKey:CPBoxBorderColorKey]; - [aCoder encodeObject:_fillColor forKey:CPBoxFillColorKey]; - - [aCoder encodeFloat:_cornerRadius forKey:CPBoxCornerRadiusKey]; - [aCoder encodeFloat:_borderWidth forKey:CPBoxBorderWidthKey]; - [aCoder encodeObject:_title forKey:CPBoxTitle]; [aCoder encodeInt:_titlePosition forKey:CPBoxTitlePosition]; [aCoder encodeObject:_titleView forKey:CPBoxTitleView]; - - [aCoder encodeSize:_contentMargin forKey:CPBoxContentMarginKey]; } @end diff --git a/AppKit/CPBrowser.j b/AppKit/CPBrowser.j index 31c21f7c8..017d57095 100644 --- a/AppKit/CPBrowser.j +++ b/AppKit/CPBrowser.j @@ -24,15 +24,16 @@ @import "CPControl.j" @import "CPImage.j" +@import "CPScrollView.j" @import "CPTableView.j" @import "CPTextField.j" -@import "CPScrollView.j" + +@global CPApp /*! @ingroup appkit @class CPBrowser */ - @implementation CPBrowser : CPControl { id _delegate; @@ -65,18 +66,18 @@ CPArray _columnWidths; } -+ (CPImage)branchImage ++ (CPString)defaultThemeClass { - return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPBrowser class]] - pathForResource:"browser-leaf.png"] - size:CGSizeMake(9,9)]; + return "browser"; } -+ (CPImage)highlightedBranchImage ++ (id)themeAttributes { - return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPBrowser class]] - pathForResource:"browser-leaf-highlighted.png"] - size:CGSizeMake(9,9)]; + return [CPDictionary dictionaryWithJSObject:{ + @"image-control-resize": [CPNull null], + @"image-control-leaf": [CPNull null], + @"image-control-leaf-pressed": [CPNull null] + }]; } - (id)initWithFrame:(CGRect)aFrame @@ -276,8 +277,8 @@ var column = [[CPTableColumn alloc] initWithIdentifier:@"Leaf"], view = [[_CPBrowserLeafView alloc] initWithFrame:CGRectMakeZero()]; - [view setBranchImage:[[self class] branchImage]]; - [view setHighlightedBranchImage:[[self class] highlightedBranchImage]]; + [view setBranchImage:[self valueForThemeAttribute:@"image-control-leaf"]]; + [view setHighlightedBranchImage:[self valueForThemeAttribute:@"image-control-leaf-pressed"]]; [column setDataView:view]; [column setResizingMask:CPTableColumnNoResizing]; @@ -704,8 +705,6 @@ @end -var _CPBrowserResizeControlBackgroundImage = nil; - @implementation _CPBrowserResizeControl : CPView { CGPoint _mouseDownX; @@ -714,22 +713,14 @@ var _CPBrowserResizeControlBackgroundImage = nil; unsigned _width; } -+ (CPImage)backgroundImage -{ - if (!_CPBrowserResizeControlBackgroundImage) - { - var path = [[CPBundle bundleForClass:[self class]] pathForResource:"browser-resize-control.png"]; - _CPBrowserResizeControlBackgroundImage = [[CPImage alloc] initWithContentsOfFile:path - size:CGSizeMake(15, 14)]; - } - - return _CPBrowserResizeControlBackgroundImage; -} - - (id)initWithFrame:(CGRect)aFrame { if (self = [super initWithFrame:aFrame]) - [self setBackgroundColor:[CPColor colorWithPatternImage:[[self class] backgroundImage]]]; + { + var browser = [[CPBrowser alloc] init]; + [self setBackgroundColor:[CPColor colorWithPatternImage:[browser valueForThemeAttribute:@"image-control-resize"]]]; + } + return self; } @@ -819,13 +810,13 @@ var _CPBrowserResizeControlBackgroundImage = nil; return [_browser canDragRowsWithIndexes:rowIndexes inColumn:[_browser columnOfTableView:self] withEvent:[CPApp currentEvent]]; } -- (CPImage)dragImageForRowsWithIndexes:(CPIndexSet)dragRows tableColumns:(CPArray)theTableColumns event:(CPEvent)dragEvent offset:(CPPointPointer)dragImageOffset +- (CPImage)dragImageForRowsWithIndexes:(CPIndexSet)dragRows tableColumns:(CPArray)theTableColumns event:(CPEvent)dragEvent offset:(CGPoint)dragImageOffset { return [_browser draggingImageForRowsWithIndexes:dragRows inColumn:[_browser columnOfTableView:self] withEvent:dragEvent offset:dragImageOffset] || [super dragImageForRowsWithIndexes:dragRows tableColumns:theTableColumns event:dragEvent offset:dragImageOffset]; } -- (CPView)dragViewForRowsWithIndexes:(CPIndexSet)dragRows tableColumns:(CPArray)theTableColumns event:(CPEvent)dragEvent offset:(CPPoint)dragViewOffset +- (CPView)dragViewForRowsWithIndexes:(CPIndexSet)dragRows tableColumns:(CPArray)theTableColumns event:(CPEvent)dragEvent offset:(CGPoint)dragViewOffset { var count = theTableColumns.length; while (count--) diff --git a/AppKit/CPButton.j b/AppKit/CPButton.j index b70039120..b6b941ed7 100644 --- a/AppKit/CPButton.j +++ b/AppKit/CPButton.j @@ -25,7 +25,8 @@ @import "CPControl.j" @import "CPStringDrawing.j" - +@import "CPText.j" +@import "CPWindow_Constants.j" /* @group CPBezelStyle */ @@ -79,7 +80,7 @@ var CPButtonBezelStyleStateMap = [CPDictionary dictionaryWithObjects:[CPButtonSt forKeys:[CPRoundedBezelStyle, CPRoundRectBezelStyle]]; -CPButtonDefaultHeight = 24.0; +CPButtonDefaultHeight = 25.0; CPButtonImageOffset = 3.0; /*! @@ -221,7 +222,7 @@ CPButtonImageOffset = 3.0; else if (![anObjectValue isKindOfClass:[CPNumber class]]) anObjectValue = CPOnState; else if (anObjectValue >= CPOnState) - anObjectValue = CPOnState + anObjectValue = CPOnState; else if (anObjectValue < CPOffState) if ([self allowsMixedState]) anObjectValue = CPMixedState; @@ -522,6 +523,7 @@ CPButtonImageOffset = 3.0; _isTracking = YES; var startedTracking = [super startTrackingAt:aPoint]; + if (_highlightsBy & (CPPushInCellMask | CPChangeGrayCellMask)) { if (_showsStateBy & (CPChangeGrayCellMask | CPChangeBackgroundCellMask)) @@ -536,6 +538,7 @@ CPButtonImageOffset = 3.0; else [self highlight:NO]; } + return startedTracking; } @@ -989,5 +992,5 @@ var CPButtonImageKey = @"CPButtonImageKey", @end -@import "CPCheckBox.j" -@import "CPRadio.j" +//@import "CPCheckBox.j" +//@import "CPRadio.j" diff --git a/AppKit/CPButtonBar.j b/AppKit/CPButtonBar.j index 162e76c47..8a0249881 100644 --- a/AppKit/CPButtonBar.j +++ b/AppKit/CPButtonBar.j @@ -1,5 +1,31 @@ +/* + * CPButtonBar.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import "CPView.j" +@import "CPWindow_Constants.j" + +@class CPSplitView + +@global CPPopUpButtonStatePullsDown @implementation CPButtonBar : CPView @@ -12,7 +38,7 @@ + (id)plusButton { var button = [[CPButton alloc] initWithFrame:CGRectMake(0, 0, 35, 25)], - image = [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"plus_button.png"] size:CGSizeMake(11, 12)]; + image = [[CPTheme defaultTheme] valueForAttributeWithName:@"button-image-plus" forClass:[CPButtonBar class]]; [button setBordered:NO]; [button setImage:image]; @@ -24,7 +50,7 @@ + (id)minusButton { var button = [[CPButton alloc] initWithFrame:CGRectMake(0, 0, 35, 25)], - image = [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"minus_button.png"] size:CGSizeMake(11, 4)]; + image = [[CPTheme defaultTheme] valueForAttributeWithName:@"button-image-minus" forClass:[CPButtonBar class]]; [button setBordered:NO]; [button setImage:image]; @@ -36,7 +62,7 @@ + (id)actionPopupButton { var button = [[CPPopUpButton alloc] initWithFrame:CGRectMake(0, 0, 35, 25)], - image = [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"action_button.png"] size:CGSizeMake(22, 14)]; + image = [[CPTheme defaultTheme] valueForAttributeWithName:@"button-image-action" forClass:[CPButtonBar class]]; [button addItemWithTitle:nil]; [[button lastItem] setImage:image]; @@ -55,8 +81,24 @@ + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[CGInsetMake(0.0, 0.0, 0.0, 0.0), CGSizeMakeZero(), [CPNull null], [CPNull null], [CPNull null], [CPNull null]] - forKeys:[@"resize-control-inset", @"resize-control-size", @"resize-control-color", @"bezel-color", @"button-bezel-color", @"button-text-color"]]; + return [CPDictionary dictionaryWithObjects:[ CGInsetMake(0.0, 0.0, 0.0, 0.0), + CGSizeMakeZero(), + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null]] + forKeys:[ @"resize-control-inset", + @"resize-control-size", + @"resize-control-color", + @"bezel-color", + @"button-bezel-color", + @"button-text-color", + @"button-image-plus", + @"button-image-minus", + @"button-image-action"]]; } - (id)initWithFrame:(CGRect)aFrame diff --git a/AppKit/CPClipView.j b/AppKit/CPClipView.j index 437a210d9..72d4311a7 100644 --- a/AppKit/CPClipView.j +++ b/AppKit/CPClipView.j @@ -22,6 +22,7 @@ @import "CPView.j" +@class CPScrollView /*! @ingroup appkit diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index e1c934f4c..51c9f8b3f 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -26,9 +26,13 @@ @import @import -@import "CPView.j" @import "CPCollectionViewItem.j" @import "CPCompatibility.j" +@import "CPPasteboard.j" +@import "CPView.j" + +@class CPClipView + /*! @ingroup appkit diff --git a/AppKit/CPColor.j b/AppKit/CPColor.j index 8a0ed9e02..26eb88720 100644 --- a/AppKit/CPColor.j +++ b/AppKit/CPColor.j @@ -21,12 +21,24 @@ */ @import +@import "CPGraphicsContext.j" @import "CGColor.j" @import "CPCompatibility.j" @import "CPImage.j" + +/*! + Orientation to use with \c CPColorPattern for vertical patterns. +*/ +CPColorPatternIsVertical = YES; + +/*! + Orientation to use with \c CPColorPattern for horizontal patterns. +*/ +CPColorPatternIsHorizontal = NO; + /// @cond IGNORE var _redComponent = 0, @@ -57,64 +69,6 @@ var cachedBlackColor, /// @endcond -/*! - Orientation to use with \c CPColorPattern for vertical patterns. -*/ -CPColorPatternIsVertical = YES; - -/*! - Orientation to use with \c CPColorPattern for horizontal patterns. -*/ -CPColorPatternIsHorizontal = NO; - -/*! - To create a simple color with a pattern image: - - CPColorWithImages(name, width, height{, bundle}) - - To create a color with a three part pattern image: - - CPColorWithImages(slices{, orientation}) - - where slices is an array of three [name, width, height{, bundle}] arrays, - and orientation is \c CPColorPatternIsVertical or \ref CPColorPatternIsHorizontal. - If orientatation is not passed, it defaults to \ref CPColorPatternIsHorizontal. - - To create a color with a nine part pattern image: - - CPColorWithImages(slices); - - where slices is an array of nine [name, width, height{, bundle}] arrays. -*/ -function CPColorWithImages() -{ - if (arguments.length < 3) - { - var slices = arguments[0], - imageSlices = []; - - for (var i = 0; i < slices.length; ++i) - { - var slice = slices[i]; - - imageSlices.push(slice ? CPImageInBundle(slice[0], CGSizeMake(slice[1], slice[2]), slice[3]) : nil); - } - - if (imageSlices.length === 3) - return [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices:imageSlices isVertical:arguments[1] || CPColorPatternIsHorizontal]]; - else - return [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices:imageSlices]]; - } - else if (arguments.length === 3 || arguments.length === 4) - { - return [CPColor colorWithPatternImage:CPImageInBundle(arguments[0], CGSizeMake(arguments[1], arguments[2]), arguments[3])]; - } - else - { - return nil; - } -} - /*! @ingroup appkit @@ -739,7 +693,7 @@ url("data:image/png;base64,BASE64ENCODEDDATA") // if there is a pattern image for (var i = 0; i < slices.length; ++i) { - var imgDescription = [slices[i] description]; + var imgDescription = [slices[i] description] || "nil"; description += imgDescription.replace(/^/mg, " ") + ",\n"; } @@ -747,7 +701,7 @@ url("data:image/png;base64,BASE64ENCODEDDATA") // if there is a pattern image description = description.substr(0, description.length - 2) + "\n ]\n}"; } else - description += [patternImage description].replace(/^/mg, " ") + "\n}"; + description += ([patternImage description] || "nil").replace(/^/mg, " ") + "\n}"; return description; } @@ -872,4 +826,550 @@ var byteToHex = function(n) hexCharacters.charAt(n % 16); }; +/*! + To create a simple color with a pattern image: + CPColorWithImages(name, width, height{, bundle}) + + To create a color with a three-part/nine-part image using a pattern string: + CPColorWithImages(pattern, attributes{, bundle}) + + must have one or more placeholders. There are there possible + placeholders available that together can be used to build a filename: + + style A top-level style, for example normal (empty) and "default". + state The state of a view, for example "highlighted" and "disabled". + position The position of an image within a 3-part or 9-part image. + This must be provided. + + Each placeholder is filled with the values you pass in a the attributes object. + Neither style nor state are necessary, if you omit them the next level of the + hierarchy is the top level. + + Attributes + ---------- + styles: [...] + An array of style names. For example, if you want to generate the filenames + "button-bezel" and "default-button-bezel", you would use ["", "default"] + for the styles. + + states: [...] + An array of state names. + + positions: + Specifies the naming convention for the slices of the image. For 3-part images, + may be one of: + + "@" Equivalent to ["left", "center", "right"] for horizontal + images, ["top", "center", "bottom"] for vertical images + "#" Equivalent to ["0", "1", "2"] + [...] An array of any three literal strings + + For 9-part images, may be one of: + + "@" | "abbrev" Equivalent to ["top-left", "top", "top-right", + "left", "center", "right", + "bottom-left", "bottom", "bottom-right"] + "full" Equivalent to ["top-left", "top-center", "top-right", + "center-left", "center-center", "center-right", + "bottom-left", "bottom-center", "bottom-right"] + "#" Equivalent to ["0", "1", "2", "3", "4", "5", "6", "7", "8"] + [...] An array of any nine literal strings + + width: + The width of the left image for horizontal 3-part images, the top image for + vertical 3-part images, or the top left corner for 9-part images. + + height: + The height of the left image for horizontal 3-part images, the top image for + vertical 3-part images, or the top left corner for 9-part images. + + centerWidth: + For a horizontal 3-part image that has a center slice width that is not 1.0, + set this for the width of the center slice. If omitted, it defaults + to 1.0. Not used for 9-part images. + + rightWidth: + For a horizontal 3-part image that has different left/right slice widths, + or a 9-part image that has different left/right corner slice widths, + set this for the width of the right slice. If omitted, the "width" + value is used for left and right widths. + + centerHeight: + For a vertical 3-part image that has a center slice height that is not 1.0, + set this for the height of the center slice. If omitted, it defaults + to 1.0. Not used for 9-part images. + + bottomHeight: + For a vertical image that has different top/bottom slice heights, + or a 9-part image that has different top/bottom corner slice heights, + set this for the height of the bottom slice. If omitted, the "height" + value is used for top and bottom heights. + + centerIsNil: + For 9-part images, if the center image is nil, set this to YES. + If omitted or set to NO, a center image must be provided. + + separator: + The separator to use between components of the pattern. + If it is omitted, it defaults to "-". + + orientation: PatternIsHorizontal | PatternIsVertical + The orientation of the image. This must be specified for 3-part images, + it should NOT be specified for 9-part images. + + Using a pattern, all of this: + + bezelColor = PatternColor( + [ + ["button-bezel-left.png", 4.0, 24.0], + ["button-bezel-center.png", 1.0, 24.0], + ["button-bezel-right.png", 4.0, 24.0] + ], + PatternIsHorizontal), + + highlightedBezelColor = PatternColor( + [ + ["button-bezel-highlighted-left.png", 4.0, 24.0], + ["button-bezel-highlighted-center.png", 1.0, 24.0], + ["button-bezel-highlighted-right.png", 4.0, 24.0] + ], + PatternIsHorizontal), + + disabledBezelColor = PatternColor( + [ + ["button-bezel-disabled-left.png", 4.0, 24.0], + ["button-bezel-disabled-center.png", 1.0, 24.0], + ["button-bezel-disabled-right.png", 4.0, 24.0] + ], + PatternIsHorizontal), + + defaultBezelColor = PatternColor( + [ + ["default-button-bezel-left.png", 4.0, 24.0], + ["default-button-bezel-center.png", 1.0, 24.0], + ["default-button-bezel-right.png", 4.0, 24.0] + ], + PatternIsHorizontal), + + defaultHighlightedBezelColor = PatternColor( + [ + ["default-button-bezel-highlighted-left.png", 4.0, 24.0], + ["default-button-bezel-highlighted-center.png", 1.0, 24.0], + ["default-button-bezel-highlighted-right.png", 4.0, 24.0] + ], + PatternIsHorizontal), + + defaultDisabledBezelColor = PatternColor( + [ + ["default-button-bezel-disabled-left.png", 4.0, 24.0], + ["default-button-bezel-disabled-center.png", 1.0, 24.0], + ["default-button-bezel-disabled-right.png", 4.0, 24.0] + ], + PatternIsHorizontal) + + can be replaced with this: + + bezelColors = PatternColor( + "{style}button-bezel{state}{position}.png", + { + styles: ["", "default"], + states: ["", "highlighted", "disabled"], + positions: "@", + width: 4.0, + height: 24.0, + orientation: PatternIsHorizontal + }) + + Which would effectively create the following object: + + { + "@": + { + "@": : + [ + ["button-bezel-left.png", 4.0, 24.0], + ["button-bezel-center.png", 1.0, 24.0], + ["button-bezel-right.png", 4.0, 24.0] + ], + "highlighted": : + [ + ["button-bezel-highlighted-left.png", 4.0, 24.0], + ["button-bezel-highlighted-center.png", 1.0, 24.0], + ["button-bezel-highlighted-right.png", 4.0, 24.0] + ], + "disabled": : + [ + ["button-bezel-disabled-left.png", 4.0, 24.0], + ["button-bezel-disabled-center.png", 1.0, 24.0], + ["button-bezel-disabled-right.png", 4.0, 24.0] + ] + }, + + "default": + { + "@": : + [ + ["default-button-bezel-left.png", 4.0, 24.0], + ["default-button-bezel-center.png", 1.0, 24.0], + ["default-button-bezel-right.png", 4.0, 24.0] + ], + "highlighted": : + [ + ["default-button-bezel-highlighted-left.png", 4.0, 24.0], + ["default-button-bezel-highlighted-center.png", 1.0, 24.0], + ["default-button-bezel-highlighted-right.png", 4.0, 24.0] + ], + "disabled": : + [ + ["default-button-bezel-disabled-left.png", 4.0, 24.0], + ["button-bezel-disabled-center.png", 1.0, 24.0], + ["default-button-bezel-disabled-right.png", 4.0, 24.0] + ] + } + } + + To reference empty names in the pattern color, use the key "@". + So, for example, to reference the "default" style, "disabled" state, + you would use the following expression: + + bezelColors["@"]["disabled"] + + To create a color with a three-part pattern image explicitly: + CPColorWithImages(slices, orientation) + + where slices is an array of three [name, width, height{, bundle}] arrays, + and orientation is CPColorPatternIsVertical or CPColorPatternIsHorizontal. + + To create a color with a nine-part pattern image explicitly: + CPColorWithImages(slices); + + where slices is an array of nine [name, width, height{, bundle}] arrays. +*/ +function CPColorWithImages() +{ + var slices = nil, + numParts = 0, + isVertical = false, + imageFactory = CPImageInBundle, + args = Array.prototype.slice.apply(arguments); + + if (typeof(args[args.length - 1]) === "function") + imageFactory = args.pop(); + + switch (args.length) + { + case 1: + return imageFromSlices(args[0], isVertical, imageFactory); + + case 2: + // New-style 3-part and 9-part images + if (typeof(args[0]) === "string") + return patternColorsFromPattern.call(this, args[0], args[1], imageFactory); + + return imageFromSlices(args[0], args[1], imageFactory); + + case 3: + return [CPColor colorWithPatternImage:imageFactory(args[0], args[1], args[2])]; + + default: + throw("ERROR: Invalid argument count: " + args.length); + } +} + +var imageFromSlices = function(slices, isVertical, imageFactory) +{ + var imageSlices = []; + + for (var i = 0; i < slices.length; ++i) + { + var slice = slices[i]; + + imageSlices.push(slice ? imageFactory(slice[0], slice[1], slice[2]) : nil); + } + + switch (slices.length) + { + case 3: + return [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices:imageSlices isVertical:isVertical]]; + + case 9: + return [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices:imageSlices]]; + + default: + throw("ERROR: Invalid number of image slices: " + slices.length); + } +}; + +var patternColorsFromPattern = function(pattern, attributes, imageFactory) +{ + if (pattern.match(/^.*\{[^}]+\}/)) + { + var width = attributes["width"], + height = attributes["height"], + separator = attributes["separator"] || "-", + orientation = attributes["orientation"], + rightWidth, + bottomHeight, + centerWidthHeight, + centerIsNil, + numParts; + + // positions are mandatory + if (pattern.indexOf("{position}") < 0) + throw("ERROR: Pattern strings must have a {position} placeholder (\"" + pattern + "\")"); + + if (orientation === undefined) + { + numParts = 9; + + if (attributes["centerIsNil"] !== undefined) + centerIsNil = attributes["centerIsNil"]; + } + else + { + numParts = 3; + isVertical = orientation === PatternIsVertical; + + if (isVertical) + { + if (attributes["centerHeight"]) + centerWidthHeight = attributes["centerHeight"]; + } + else + { + if (attributes["centerWidth"]) + centerWidthHeight = attributes["centerWidth"]; + } + } + + if (attributes["rightWidth"]) + rightWidth = attributes["rightWidth"]; + + if (attributes["bottomHeight"]) + bottomHeight = attributes["bottomHeight"]; + + var positions = attributes["positions"] || "@", + states = nil, + styles = nil; + + if (numParts === 3) + { + if (positions === "@") + { + if (isVertical) + positions = ["top", "center", "bottom"]; + else + positions = ["left", "center", "right"]; + } + else if (positions === "#") + positions = ["0", "1", "2"]; + else + throw("ERROR: Invalid positions: " + positions) + } + else // numParts === 9 + { + if (positions === "@" || positions === "abbrev") + positions = ["top-left", "top", "top-right", "left", "center", "right", "bottom-left", "bottom", "bottom-right"]; + else if (positions === "full") + positions = ["top-left", "top-center", "top-right", "center-left", "center-center", "center-right", "bottom-left", "bottom-center", "bottom-right"]; + else if (positions === "#") + positions = ["0", "1", "2", "3", "4", "5", "6", "7", "8"]; + else + throw("ERROR: Invalid positions: " + positions) + } + + // states + if (pattern.indexOf("{state}") >= 0) + { + states = attributes["states"]; + + if (!states) + throw("ERROR: {state} placeholder in the pattern (\"" + pattern + "\") but no states item in the attributes"); + } + + // styles + if (pattern.indexOf("{style}") >= 0) + { + styles = attributes["styles"]; + + if (!styles) + throw("ERROR: {style} placeholder in the pattern (\"" + pattern + "\") but no styles item in the attributes"); + } + + // Now assemble the hierarchy + var placeholder = "{position}", + pos = pattern.indexOf(placeholder), + i; + + for (i = 0; i < positions.length; ++i) + positions[i] = pattern.replace(placeholder, pos === 0 ? positions[i] + separator : separator + positions[i]); + + var slices = positions, + object = slices, + key, + sep; + + if (states) + { + placeholder = "{state}"; + pos = pattern.indexOf(placeholder); + object = {}; + + for (i = 0; i < states.length; ++i) + { + var state = states[i]; + key = state || "@"; + sep = state ? separator : ""; + + object[key] = slices.slice(0); + replacePlaceholderInArray(object[key], placeholder, pos === 0 ? state + sep : sep + state); + } + } + + if (styles) + { + placeholder = "{style}"; + pos = pattern.indexOf(placeholder); + + var styleObject = {}; + + for (i = 0; i < styles.length; ++i) + { + var style = styles[i]; + key = style || "@"; + sep = style ? separator : ""; + + if (states) + { + styleObject[key] = cloneObject(object); + replacePlaceholderInObject(styleObject[key], placeholder, pos === 0 ? style + sep : sep + style); + } + else + { + styleObject[key] = slices.slice(0); + replacePlaceholderInArray(styleObject[key], placeholder, pos === 0 ? style + sep : sep + style); + } + } + + object = styleObject; + } + + if (styles || states) + { + if (numParts === 3) + makeThreePartSlicesFromObject(object, width, height, centerWidthHeight, rightWidth, bottomHeight, isVertical); + else + makeNinePartSlicesFromObject(object, width, height, rightWidth, bottomHeight, centerIsNil); + + makeImagesFromObject(object, isVertical, imageFactory); + return object; + } + else + { + if (numParts === 3) + makeThreePartSlicesFromArray(object, width, height, centerWidthHeight, rightWidth, bottomHeight, isVertical); + else + makeNinePartSlicesFromArray(object, width, height, rightWidth, bottomHeight, centerIsNil); + + return imageFromSlices(object, isVertical, imageFactory); + } + } + else + throw("ERROR: No placeholders in slice pattern (\"" + pattern + "\")"); +}; + +var replacePlaceholderInArray = function(array, find, replacement) +{ + for (var i = 0; i < array.length; ++i) + array[i] = array[i].replace(find, replacement); +}; + +var replacePlaceholderInObject = function(object, find, replacement) +{ + for (var key in object) + if (object.hasOwnProperty(key)) + if (object[key].constructor === Array) + replacePlaceholderInArray(object[key], find, replacement); + else + replacePlaceholderInObject(object[key], find, replacement); +}; + +var cloneObject = function(object) +{ + var clone = {}; + + for (var key in object) + if (object.hasOwnProperty(key)) + if (object[key].constructor === Array) + clone[key] = object[key].slice(0); + else if (typeof(object) === "object") + clone[key] = cloneObject(object[key]); + else + clone[key] = object[key]; + + return clone; +}; + +var makeThreePartSlicesFromObject = function(object, width, height, centerWidthHeight, rightWidth, bottomHeight, isVertical) +{ + for (var key in object) + if (object.hasOwnProperty(key)) + if (object[key].constructor === Array) + makeThreePartSlicesFromArray(object[key], width, height, centerWidthHeight, rightWidth, bottomHeight, isVertical); + else // object + makeThreePartSlicesFromObject(object[key], width, height, centerWidthHeight, rightWidth, bottomHeight, isVertical); +}; + +var makeThreePartSlicesFromArray = function(array, width, height, centerWidthHeight, rightWidth, bottomHeight, isVertical) +{ + array[0] = [array[0], width, height]; + + if (isVertical) + { + array[1] = [array[1], width, centerWidthHeight ? centerWidthHeight : 1.0]; + array[2] = [array[2], width, bottomHeight ? bottomHeight : height]; + } + else + { + array[1] = [array[1], centerWidthHeight ? centerWidthHeight : 1.0, height]; + array[2] = [array[2], rightWidth ? rightWidth : width, height]; + } +}; + +var makeNinePartSlicesFromObject = function(object, width, height, rightWidth, bottomHeight, centerIsNil) +{ + for (var key in object) + if (object.hasOwnProperty(key)) + if (object[key].constructor === Array) + makeNinePartSlicesFromArray(object[key], width, height, rightWidth, bottomHeight, centerIsNil); + else // object + makeNinePartSlicesFromObject(object[key], width, height, rightWidth, bottomHeight, centerIsNil); +}; + +var makeNinePartSlicesFromArray = function(array, width, height, rightWidth, bottomHeight, centerIsNil) +{ + rightWidth = rightWidth ? rightWidth : width; + bottomHeight = bottomHeight ? bottomHeight : height; + + array[0] = [array[0], width, height]; // top-left + array[1] = [array[1], 1.0, height]; // top + array[2] = [array[2], rightWidth, height]; // top-right + array[3] = [array[3], width, 1.0]; // left + array[4] = centerIsNil ? nil : [array[4], 1.0, 1.0]; // center + array[5] = [array[5], rightWidth, 1.0]; // right + array[6] = [array[6], width, bottomHeight]; // bottom-left + array[7] = [array[7], 1.0, bottomHeight]; // bottom + array[8] = [array[8], rightWidth, bottomHeight]; // bottom-right +}; + +var makeImagesFromObject = function(object, isVertical, imageFactory) +{ + for (var key in object) + if (object.hasOwnProperty(key)) + if (object[key].constructor === Array) + object[key] = imageFromSlices(object[key], isVertical, imageFactory); + else // object + makeImagesFromObject(object[key], isVertical, imageFactory); +}; + /// @endcond diff --git a/AppKit/CPColorPanel.j b/AppKit/CPColorPanel.j index 25ee0ddda..0a3f6ba88 100644 --- a/AppKit/CPColorPanel.j +++ b/AppKit/CPColorPanel.j @@ -20,12 +20,32 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPApplication.j" @import "CPButton.j" @import "CPCookie.j" @import "CPPanel.j" +@import "CPPasteboard.j" @import "CPView.j" +@class CPSlider + +@global CPApp + +/* + A color wheel + @global + @group CPColorPanelMode +*/ +CPWheelColorPickerMode = 1; + +/* + Slider based picker + @global + @group CPColorPanelMode +*/ +CPSliderColorPickerMode = 2; + +CPColorPickerViewWidth = 265; +CPColorPickerViewHeight = 370; CPColorPanelColorDidChangeNotification = @"CPColorPanelColorDidChangeNotification"; @@ -38,22 +58,6 @@ var PREVIEW_HEIGHT = 20.0, var SharedColorPanel = nil, ColorPickerClasses = []; -/* - A color wheel - @global - @group CPColorPanelMode -*/ -CPWheelColorPickerMode = 1; -/* - Slider based picker - @global - @group CPColorPanelMode -*/ -CPSliderColorPickerMode = 2; - -CPColorPickerViewWidth = 265; -CPColorPickerViewHeight = 370; - /*! @ingroup appkit @class CPColorPanel @@ -123,7 +127,7 @@ CPColorPickerViewHeight = 370; if (self) { - [[self contentView] setBackgroundColor:[CPColor colorWithWhite:0.95 alpha:1.0]]; + //[[self contentView] setBackgroundColor:[CPColor colorWithWhite:0.95 alpha:1.0]]; [self setTitle:@"Color Panel"]; [self setLevel:CPFloatingWindowLevel]; @@ -248,8 +252,8 @@ CPColorPickerViewHeight = 370; var height = (TOOLBAR_HEIGHT + 10 + PREVIEW_HEIGHT + 5 + SWATCH_HEIGHT + 32), bounds = [[self contentView] bounds]; - [view setFrameSize:CPSizeMake(bounds.size.width - 10, bounds.size.height - height)]; - [view setFrameOrigin:CPPointMake(5, height)]; + [view setFrameSize:CGSizeMake(bounds.size.width - 10, bounds.size.height - height)]; + [view setFrameOrigin:CGPointMake(5, height)]; } [_currentView removeFromSuperview]; @@ -419,7 +423,7 @@ var CPColorPanelSwatchesCookie = "CPColorPanelSwatchesCookie"; CPCookie _swatchCookie; } -- (id)initWithFrame:(CPRect)aFrame +- (id)initWithFrame:(CGRect)aFrame { self = [super initWithFrame:aFrame]; @@ -437,7 +441,7 @@ var CPColorPanelSwatchesCookie = "CPColorPanelSwatchesCookie"; for (var i = 0; i < 50; i++) { // FIXME: http://280north.lighthouseapp.com/projects/13294-cappuccino/tickets/25-implement-cpbox - var view = [[CPView alloc] initWithFrame:CPRectMake(13 * i + 1, 1, 12, 12)], + var view = [[CPView alloc] initWithFrame:CGRectMake(13 * i + 1, 1, 12, 12)], fillView = [[CPView alloc] initWithFrame:CGRectInset([view bounds], 1.0, 1.0)]; [view setBackgroundColor:whiteColor]; @@ -592,7 +596,7 @@ var CPColorPanelSwatchesCookie = "CPColorPanelSwatchesCookie"; CPColorPanel _colorPanel; } -- (id)initWithFrame:(CPRect)aFrame +- (id)initWithFrame:(CGRect)aFrame { self = [super initWithFrame:aFrame]; @@ -633,7 +637,7 @@ var CPColorPanelSwatchesCookie = "CPColorPanelSwatchesCookie"; [[CPPasteboard pasteboardWithName:CPDragPboard] declareTypes:[CPColorDragType] owner:self]; - var bounds = CPRectMake(0, 0, 15, 15); + var bounds = CGRectMake(0, 0, 15, 15); // FIXME: http://280north.lighthouseapp.com/projects/13294-cappuccino/tickets/25-implement-cpbox var dragView = [[CPView alloc] initWithFrame:bounds], @@ -645,8 +649,8 @@ var CPColorPanelSwatchesCookie = "CPColorPanelSwatchesCookie"; [dragView addSubview:dragFillView]; [self dragView:dragView - at:CPPointMake(point.x - bounds.size.width / 2.0, point.y - bounds.size.height / 2.0) - offset:CPPointMake(0.0, 0.0) + at:CGPointMake(point.x - bounds.size.width / 2.0, point.y - bounds.size.height / 2.0) + offset:CGPointMake(0.0, 0.0) event:anEvent pasteboard:nil source:self diff --git a/AppKit/CPColorPicker.j b/AppKit/CPColorPicker.j index 7fe4e7c09..39451d0cf 100644 --- a/AppKit/CPColorPicker.j +++ b/AppKit/CPColorPicker.j @@ -24,6 +24,12 @@ @import "CPView.j" +@class CPSlider + +@global CPColorPickerViewWidth +@global CPColorPickerViewHeight +@global CPWheelColorPickerMode + /*! @ingroup appkit @@ -222,7 +228,7 @@ float _radius; } -- (id)initWithFrame:(CPRect)aFrame +- (id)initWithFrame:(CGRect)aFrame { if (self = [super initWithFrame:aFrame]) { @@ -269,13 +275,13 @@ #endif } -- (void)setFrameSize:(CPSize)aSize +- (void)setFrameSize:(CGSize)aSize { [super setFrameSize:aSize]; [self setWheelSize:aSize]; } -- (void)setWheelSize:(CPSize)aSize +- (void)setWheelSize:(CGSize)aSize { var min = MIN(aSize.width, aSize.height); @@ -353,7 +359,7 @@ _angle = [self radiansToDegrees:angle]; _distance = (distance / _radius) * 100.0; - [_crosshair setFrameOrigin:CPPointMake(COS(angle) * distance + midX - 2.0, SIN(angle) * distance + midY - 2.0)]; + [_crosshair setFrameOrigin:CGPointMake(COS(angle) * distance + midX - 2.0, SIN(angle) * distance + midY - 2.0)]; } - (void)setPositionToColor:(CPColor)aColor diff --git a/AppKit/CPColorSpace.j b/AppKit/CPColorSpace.j index 536258646..efd2f02eb 100644 --- a/AppKit/CPColorSpace.j +++ b/AppKit/CPColorSpace.j @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import + var sRGBColorSpace = nil; /*! diff --git a/AppKit/CPComboBox.j b/AppKit/CPComboBox.j index efd17405c..781c323fc 100644 --- a/AppKit/CPComboBox.j +++ b/AppKit/CPComboBox.j @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPText.j" @import "CPTextField.j" @import "_CPPopUpList.j" @@ -83,7 +84,7 @@ var CPComboBoxTextSubview = @"text", - (void)_initComboBox { _items = [CPArray array]; - _listClass = [_CPPopUpList class]; +// _listClass = [_CPPopUpList class]; _usesDataSource = NO; _completes = NO; _canComplete = NO; diff --git a/AppKit/CPCompatibility.j b/AppKit/CPCompatibility.j index d2fd4ca06..eb76bf22a 100644 --- a/AppKit/CPCompatibility.j +++ b/AppKit/CPCompatibility.j @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPEvent.j" +@import "CPEvent_Constants.j" @import "CPPlatform.j" diff --git a/AppKit/CPControl.j b/AppKit/CPControl.j index cae59c446..b7346e86e 100644 --- a/AppKit/CPControl.j +++ b/AppKit/CPControl.j @@ -22,12 +22,16 @@ #import "../Foundation/Ref.h" -@import "../Foundation/CPFormatter.j" +@import +@import + @import "CPFont.j" @import "CPShadow.j" @import "CPView.j" @import "CPKeyValueBinding.j" +@global CPApp + CPLeftTextAlignment = 0; CPRightTextAlignment = 1; CPCenterTextAlignment = 2; @@ -397,6 +401,14 @@ var CPControlBlackColor = [CPColor blackColor]; [self highlight:YES]; } +/*! + Enabled controls accept first mouse by default. +*/ +- (BOOL)acceptsFirstMouse:(CPEvent)anEvent +{ + return [self isEnabled]; +} + - (void)mouseDown:(CPEvent)anEvent { if (![self isEnabled]) diff --git a/AppKit/CPController.j b/AppKit/CPController.j index 8e2eb6f32..5f8f3ae8a 100644 --- a/AppKit/CPController.j +++ b/AppKit/CPController.j @@ -64,7 +64,7 @@ var CPControllerDeclaredKeysKey = @"CPControllerDeclaredKeysKey"; count = _editors.length; for (; index < count; ++index) - if (![[_editors objectAtIndex:i] commitEditing]) + if (![[_editors objectAtIndex:index] commitEditing]) return NO; return YES; diff --git a/AppKit/CPCursor.j b/AppKit/CPCursor.j index 9ab1aa2dc..0042699eb 100755 --- a/AppKit/CPCursor.j +++ b/AppKit/CPCursor.j @@ -23,6 +23,8 @@ Cursor support by browser: @import +@global CPApp + var currentCursor = nil, cursorStack = [], cursors = {}, @@ -77,7 +79,7 @@ var currentCursor = nil, */ - (id)initWithImage:(CPImage)image foregroundColorHint:(CPColor)foregroundColor backgroundColorHint:(CPColor)backgroundColor hotSpot:(CGPoint)aHotSpot { - return [self initWithImage:image hotSpot:hotSpot]; + return [self initWithImage:image hotSpot:aHotSpot]; } + (void)hide @@ -159,7 +161,11 @@ var currentCursor = nil, var cssString; if (doesHaveImage) - cssString = [CPString stringWithFormat:@"url(%@/CPCursor/%@.cur), %@", [[CPBundle bundleForClass:self] resourcePath], cursorName, aString]; + { + var themeResourcePath = [[[CPApp themeBlend] bundle] resourcePath]; + cssString = [CPString stringWithFormat:@"url(%@cursors/%@.cur), %@", themeResourcePath, cursorName, aString]; + } + else { // IE <= 8 does not support some cursors, map them to supported cursors diff --git a/AppKit/CPDocument.j b/AppKit/CPDocument.j index 3922efe26..e8dfaed6c 100644 --- a/AppKit/CPDocument.j +++ b/AppKit/CPDocument.j @@ -23,12 +23,16 @@ @import @import -@import "CPApplication.j" +@import "CPAlert.j" @import "CPResponder.j" @import "CPSavePanel.j" @import "CPViewController.j" @import "CPWindowController.j" +@class CPDocumentController + +@global CPApp + /* @global @@ -142,7 +146,7 @@ var CPDocumentUntitledCount = 0; @param anError not used @return the initialized document */ -- (id)initWithType:(CPString)aType error:({CPError})anError +- (id)initWithType:(CPString)aType error:(/*{*/CPError/*}*/)anError { self = [self init]; @@ -211,7 +215,7 @@ var CPDocumentUntitledCount = 0; @throws CPUnsupportedMethodException if this method hasn't been overridden by the subclass @return the document data */ -- (CPData)dataOfType:(CPString)aType error:({CPError})anError +- (CPData)dataOfType:(CPString)aType error:(/*{*/CPError/*}*/)anError { [CPException raise:CPUnsupportedMethodException reason:"dataOfType:error: must be overridden by the document subclass."]; diff --git a/AppKit/CPDocumentController.j b/AppKit/CPDocumentController.j index 8d731d2d5..f85574fe7 100644 --- a/AppKit/CPDocumentController.j +++ b/AppKit/CPDocumentController.j @@ -25,6 +25,10 @@ @import "CPDocument.j" @import "CPOpenPanel.j" +@import "CPMenuItem.j" +@import "CPWindowController.j" + +@global CPApp var CPSharedDocumentController = nil; @@ -124,7 +128,7 @@ var CPSharedDocumentController = nil; @param anError not used @return the created document */ -- (CPDocument)makeUntitledDocumentOfType:(CPString)aType error:({CPError})anError +- (CPDocument)makeUntitledDocumentOfType:(CPString)aType error:(/*{*/CPError/*}*/)anError { return [[[self documentClassForType:aType] alloc] initWithType:aType error:anError]; } @@ -339,10 +343,10 @@ var CPSharedDocumentController = nil; - (void)closeAllDocumentsWithDelegate:(id)aDelegate didCloseAllSelector:(SEL)didCloseSelector contextInfo:(Object)info { var context = { - delegate: aDelegate, - selector: didCloseSelector, - context: info - }; + delegate: aDelegate, + selector: didCloseSelector, + context: info + }; [self _closeDocumentsStartingWith:nil shouldClose:YES context:context]; } diff --git a/AppKit/CPDragServer.j b/AppKit/CPDragServer.j index bc67ee490..54ad7cb54 100644 --- a/AppKit/CPDragServer.j +++ b/AppKit/CPDragServer.j @@ -20,22 +20,17 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPApplication.j" +@import "CPDragServer_Constants.j" @import "CPEvent.j" @import "CPImageView.j" @import "CPPasteboard.j" @import "CPView.j" -@import "CPWindow.j" +@import "CPWindow_Constants.j" +@class CPWindow // This file is imported by CPWindow.j +@class _CPDOMDataTransferPasteboard -CPDragOperationNone = 0; -CPDragOperationCopy = 1 << 1; -CPDragOperationLink = 1 << 1; -CPDragOperationGeneric = 1 << 2; -CPDragOperationPrivate = 1 << 3; -CPDragOperationMove = 1 << 4; -CPDragOperationDelete = 1 << 5; -CPDragOperationEvery = -1; +@global CPApp #define DRAGGING_WINDOW(anObject) ([anObject isKindOfClass:[CPWindow class]] ? anObject : [anObject window]) @@ -72,7 +67,7 @@ var CPDragServerSource = nil, - (unsigned)draggingSourceOperationMask */ -- (CPPoint)draggingLocation +- (CGPoint)draggingLocation { return [[CPDragServer sharedDragServer] draggingLocation]; } @@ -461,6 +456,7 @@ var CPDraggingSource_draggedImage_movedTo_ = 1 << 0, else if (type === CPKeyDown) { var characters = [anEvent characters]; + if (characters === CPEscapeFunctionKey) { _dragOperation = CPDragOperationNone; @@ -477,39 +473,7 @@ var CPDraggingSource_draggedImage_movedTo_ = 1 << 0, // If we're not a mouse up, then we're going to want to grab the next event. [CPApp setTarget:self selector:@selector(trackDragging:) forNextEventMatchingMask:CPMouseMovedMask | CPLeftMouseDraggedMask | CPLeftMouseUpMask | CPKeyDownMask - untilDate:nil inMode:0 dequeue:NO]; -} - -@end - -@implementation CPWindow (CPDraggingAdditions) - -/* @ignore */ -- (id)_dragHitTest:(CGPoint)aPoint pasteboard:(CPPasteboard)aPasteboard -{ - // If none of our views or ourselves has registered for drag events... - if (!_inclusiveRegisteredDraggedTypes) - return nil; - -// We don't need to do this because the only place this gets called -// -_dragHitTest: in CPPlatformWindow does this already. Perhaps to -// be safe? -// if (![self containsPoint:aPoint]) -// return nil; - - var adjustedPoint = [self convertPlatformWindowToBase:aPoint], - hitView = [_windowView hitTest:adjustedPoint]; - - while (hitView && ![aPasteboard availableTypeFromArray:[hitView registeredDraggedTypes]]) - hitView = [hitView superview]; - - if (hitView) - return hitView; - - if ([aPasteboard availableTypeFromArray:[self registeredDraggedTypes]]) - return self; - - return nil; + untilDate:nil inMode:0 dequeue:YES]; } @end diff --git a/AppKit/CPDragServer_Constants.j b/AppKit/CPDragServer_Constants.j new file mode 100644 index 000000000..38ade5c31 --- /dev/null +++ b/AppKit/CPDragServer_Constants.j @@ -0,0 +1,30 @@ +/* + * CPDragServer_Constants.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +CPDragOperationNone = 0; +CPDragOperationCopy = 1 << 1; +CPDragOperationLink = 1 << 1; +CPDragOperationGeneric = 1 << 2; +CPDragOperationPrivate = 1 << 3; +CPDragOperationMove = 1 << 4; +CPDragOperationDelete = 1 << 5; +CPDragOperationEvery = -1; diff --git a/AppKit/CPEvent.j b/AppKit/CPEvent.j index 543dcaadd..77ea70792 100644 --- a/AppKit/CPEvent.j +++ b/AppKit/CPEvent.j @@ -20,162 +20,19 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPEvent_Constants.j" + @import +@import +@import + +@import "CPCompatibility.j" +@import "CGGeometry.j" @import "CPText.j" +@class CPTextField -CPLeftMouseDown = 1; -CPLeftMouseUp = 2; -CPRightMouseDown = 3; -CPRightMouseUp = 4; -CPMouseMoved = 5; -CPLeftMouseDragged = 6; -CPRightMouseDragged = 7; -CPMouseEntered = 8; -CPMouseExited = 9; -CPKeyDown = 10; -CPKeyUp = 11; -CPFlagsChanged = 12; -CPAppKitDefined = 13; -CPSystemDefined = 14; -CPApplicationDefined = 15; -CPPeriodic = 16; -CPCursorUpdate = 17; -CPScrollWheel = 22; -CPOtherMouseDown = 25; -CPOtherMouseUp = 26; -CPOtherMouseDragged = 27; - -// iPhone Event Types -CPTouchStart = 28; -CPTouchMove = 29; -CPTouchEnd = 30; -CPTouchCancel = 31; - -CPAlphaShiftKeyMask = 1 << 16; -CPShiftKeyMask = 1 << 17; -CPControlKeyMask = 1 << 18; -CPAlternateKeyMask = 1 << 19; -CPCommandKeyMask = 1 << 20; -CPNumericPadKeyMask = 1 << 21; -CPHelpKeyMask = 1 << 22; -CPFunctionKeyMask = 1 << 23; -CPDeviceIndependentModifierFlagsMask = 0xffff0000; - -CPLeftMouseDownMask = 1 << CPLeftMouseDown; -CPLeftMouseUpMask = 1 << CPLeftMouseUp; -CPRightMouseDownMask = 1 << CPRightMouseDown; -CPRightMouseUpMask = 1 << CPRightMouseUp; -CPOtherMouseDownMask = 1 << CPOtherMouseDown; -CPOtherMouseUpMask = 1 << CPOtherMouseUp; -CPMouseMovedMask = 1 << CPMouseMoved; -CPLeftMouseDraggedMask = 1 << CPLeftMouseDragged; -CPRightMouseDraggedMask = 1 << CPRightMouseDragged; -CPOtherMouseDragged = 1 << CPOtherMouseDragged; -CPMouseEnteredMask = 1 << CPMouseEntered; -CPMouseExitedMask = 1 << CPMouseExited; -CPCursorUpdateMask = 1 << CPCursorUpdate; -CPKeyDownMask = 1 << CPKeyDown; -CPKeyUpMask = 1 << CPKeyUp; -CPFlagsChangedMask = 1 << CPFlagsChanged; -CPAppKitDefinedMask = 1 << CPAppKitDefined; -CPSystemDefinedMask = 1 << CPSystemDefined; -CPApplicationDefinedMask = 1 << CPApplicationDefined; -CPPeriodicMask = 1 << CPPeriodic; -CPScrollWheelMask = 1 << CPScrollWheel; -CPAnyEventMask = 0xffffffff; - -CPUpArrowFunctionKey = "\uF700"; -CPDownArrowFunctionKey = "\uF701"; -CPLeftArrowFunctionKey = "\uF702"; -CPRightArrowFunctionKey = "\uF703"; -CPF1FunctionKey = "\uF704"; -CPF2FunctionKey = "\uF705"; -CPF3FunctionKey = "\uF706"; -CPF4FunctionKey = "\uF707"; -CPF5FunctionKey = "\uF708"; -CPF6FunctionKey = "\uF709"; -CPF7FunctionKey = "\uF70A"; -CPF8FunctionKey = "\uF70B"; -CPF9FunctionKey = "\uF70C"; -CPF10FunctionKey = "\uF70D"; -CPF11FunctionKey = "\uF70E"; -CPF12FunctionKey = "\uF70F"; -CPF13FunctionKey = "\uF710"; -CPF14FunctionKey = "\uF711"; -CPF15FunctionKey = "\uF712"; -CPF16FunctionKey = "\uF713"; -CPF17FunctionKey = "\uF714"; -CPF18FunctionKey = "\uF715"; -CPF19FunctionKey = "\uF716"; -CPF20FunctionKey = "\uF717"; -CPF21FunctionKey = "\uF718"; -CPF22FunctionKey = "\uF719"; -CPF23FunctionKey = "\uF71A"; -CPF24FunctionKey = "\uF71B"; -CPF25FunctionKey = "\uF71C"; -CPF26FunctionKey = "\uF71D"; -CPF27FunctionKey = "\uF71E"; -CPF28FunctionKey = "\uF71F"; -CPF29FunctionKey = "\uF720"; -CPF30FunctionKey = "\uF721"; -CPF31FunctionKey = "\uF722"; -CPF32FunctionKey = "\uF723"; -CPF33FunctionKey = "\uF724"; -CPF34FunctionKey = "\uF725"; -CPF35FunctionKey = "\uF726"; -CPInsertFunctionKey = "\uF727"; -CPDeleteFunctionKey = "\uF728"; -CPHomeFunctionKey = "\uF729"; -CPBeginFunctionKey = "\uF72A"; -CPEndFunctionKey = "\uF72B"; -CPPageUpFunctionKey = "\uF72C"; -CPPageDownFunctionKey = "\uF72D"; -CPPrintScreenFunctionKey = "\uF72E"; -CPScrollLockFunctionKey = "\uF72F"; -CPPauseFunctionKey = "\uF730"; -CPSysReqFunctionKey = "\uF731"; -CPBreakFunctionKey = "\uF732"; -CPResetFunctionKey = "\uF733"; -CPStopFunctionKey = "\uF734"; -CPMenuFunctionKey = "\uF735"; -CPUserFunctionKey = "\uF736"; -CPSystemFunctionKey = "\uF737"; -CPPrintFunctionKey = "\uF738"; -CPClearLineFunctionKey = "\uF739"; -CPClearDisplayFunctionKey = "\uF73A"; -CPInsertLineFunctionKey = "\uF73B"; -CPDeleteLineFunctionKey = "\uF73C"; -CPInsertCharFunctionKey = "\uF73D"; -CPDeleteCharFunctionKey = "\uF73E"; -CPPrevFunctionKey = "\uF73F"; -CPNextFunctionKey = "\uF740"; -CPSelectFunctionKey = "\uF741"; -CPExecuteFunctionKey = "\uF742"; -CPUndoFunctionKey = "\uF743"; -CPRedoFunctionKey = "\uF744"; -CPFindFunctionKey = "\uF745"; -CPHelpFunctionKey = "\uF746"; -CPModeSwitchFunctionKey = "\uF747"; -CPEscapeFunctionKey = "\u001B"; -CPSpaceFunctionKey = "\u0020"; - - -CPDOMEventDoubleClick = "dblclick"; -CPDOMEventMouseDown = "mousedown"; -CPDOMEventMouseUp = "mouseup"; -CPDOMEventMouseMoved = "mousemove"; -CPDOMEventMouseDragged = "mousedrag"; -CPDOMEventKeyUp = "keyup"; -CPDOMEventKeyDown = "keydown"; -CPDOMEventKeyPress = "keypress"; -CPDOMEventCopy = "copy"; -CPDOMEventPaste = "paste"; -CPDOMEventScrollWheel = "mousewheel"; -CPDOMEventTouchStart = "touchstart"; -CPDOMEventTouchMove = "touchmove"; -CPDOMEventTouchEnd = "touchend"; -CPDOMEventTouchCancel = "touchcancel"; +@global CPApp var _CPEventPeriodicEventPeriod = 0, _CPEventPeriodicEventTimer = nil, @@ -190,7 +47,7 @@ var _CPEventPeriodicEventPeriod = 0, @implementation CPEvent : CPObject { CPEventType _type; - CPPoint _location; + CGPoint _location; unsigned _modifierFlags; CPTimeInterval _timestamp; CPGraphicsContext _context; @@ -206,6 +63,7 @@ var _CPEventPeriodicEventPeriod = 0, DOMEvent _DOMEvent; int _data1; int _data2; + short _subtype; float _deltaX; float _deltaY; @@ -308,13 +166,13 @@ var _CPEventPeriodicEventPeriod = 0, } /* @ignore */ -- (id)_initMouseEventWithType:(CPEventType)anEventType location:(CPPoint)aPoint modifierFlags:(unsigned)modifierFlags +- (id)_initMouseEventWithType:(CPEventType)anEventType location:(CGPoint)aPoint modifierFlags:(unsigned)modifierFlags timestamp:(CPTimeInterval)aTimestamp windowNumber:(int)aWindowNumber context:(CPGraphicsContext)aGraphicsContext eventNumber:(int)anEventNumber clickCount:(int)aClickCount pressure:(float)aPressure { if (self = [self _initWithType:anEventType]) { - _location = CPPointCreateCopy(aPoint); + _location = CGPointCreateCopy(aPoint); _modifierFlags = modifierFlags; _timestamp = aTimestamp; _context = aGraphicsContext; @@ -328,13 +186,13 @@ var _CPEventPeriodicEventPeriod = 0, } /* @ignore */ -- (id)_initKeyEventWithType:(CPEventType)anEventType location:(CPPoint)aPoint modifierFlags:(unsigned int)modifierFlags +- (id)_initKeyEventWithType:(CPEventType)anEventType location:(CGPoint)aPoint modifierFlags:(unsigned int)modifierFlags timestamp:(CPTimeInterval)aTimestamp windowNumber:(int)aWindowNumber context:(CPGraphicsContext)aGraphicsContext characters:(CPString)characters charactersIgnoringModifiers:(CPString)unmodCharacters isARepeat:(BOOL)isARepeat keyCode:(unsigned short)code { if (self = [self _initWithType:anEventType]) { - _location = CPPointCreateCopy(aPoint); + _location = CGPointCreateCopy(aPoint); _modifierFlags = modifierFlags; _timestamp = aTimestamp; _context = aGraphicsContext; @@ -355,7 +213,7 @@ var _CPEventPeriodicEventPeriod = 0, { if (self = [self _initWithType:anEventType]) { - _location = CPPointCreateCopy(aPoint); + _location = CGPointCreateCopy(aPoint); _modifierFlags = modifierFlags; _timestamp = aTimestamp; _context = aGraphicsContext; @@ -649,7 +507,7 @@ var _CPEventPeriodicEventPeriod = 0, case CPKeyDown: case CPKeyUp: case CPFlagsChanged: - return [CPString stringWithFormat:@"CPEvent: type=%d loc=%@ time=%.1f flags=0x%X win=%@ winNum=%d ctxt=%@ chars=\"%@\" unmodchars=\"%@\" repeat=%d keyCode=%d", _type, CPStringFromPoint(_location), _timestamp, _modifierFlags, _window, _windowNumber, _context, _characters, _charactersIgnoringModifiers, _isARepeat, _keyCode]; + return [CPString stringWithFormat:@"CPEvent: type=%d loc=%@ time=%.1f flags=0x%X win=%@ winNum=%d ctxt=%@ chars=\"%@\" unmodchars=\"%@\" repeat=%d keyCode=%d", _type, CGStringFromPoint(_location), _timestamp, _modifierFlags, _window, _windowNumber, _context, _characters, _charactersIgnoringModifiers, _isARepeat, _keyCode]; case CPLeftMouseDown: case CPLeftMouseUp: case CPRightMouseDown: @@ -659,9 +517,9 @@ var _CPEventPeriodicEventPeriod = 0, case CPRightMouseDragged: case CPMouseEntered: case CPMouseExited: - return [CPString stringWithFormat:@"CPEvent: type=%d loc=%@ time=%.1f flags=0x%X win=%@ winNum=%d ctxt=%@ evNum=%d click=%d buttonNumber=%d pressure=%f", _type, CPStringFromPoint(_location), _timestamp, _modifierFlags, _window, _windowNumber, _context, _eventNumber, _clickCount, [self buttonNumber], _pressure]; + return [CPString stringWithFormat:@"CPEvent: type=%d loc=%@ time=%.1f flags=0x%X win=%@ winNum=%d ctxt=%@ evNum=%d click=%d buttonNumber=%d pressure=%f", _type, CGStringFromPoint(_location), _timestamp, _modifierFlags, _window, _windowNumber, _context, _eventNumber, _clickCount, [self buttonNumber], _pressure]; default: - return [CPString stringWithFormat:@"CPEvent: type=%d loc=%@ time=%.1f flags=0x%X win=%@ winNum=%d ctxt=%@ subtype=%d data1=%d data2=%d", _type, CPStringFromPoint(_location), _timestamp, _modifierFlags, _window, _windowNumber, _context, _subtype, _data1, _data2]; + return [CPString stringWithFormat:@"CPEvent: type=%d loc=%@ time=%.1f flags=0x%X win=%@ winNum=%d ctxt=%@ subtype=%d data1=%d data2=%d", _type, CGStringFromPoint(_location), _timestamp, _modifierFlags, _window, _windowNumber, _context, _subtype, _data1, _data2]; } } diff --git a/AppKit/CPEvent_Constants.j b/AppKit/CPEvent_Constants.j new file mode 100644 index 000000000..8dce05970 --- /dev/null +++ b/AppKit/CPEvent_Constants.j @@ -0,0 +1,174 @@ +/* + * CPEvent_Constants.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +CPLeftMouseDown = 1; +CPLeftMouseUp = 2; +CPRightMouseDown = 3; +CPRightMouseUp = 4; +CPMouseMoved = 5; +CPLeftMouseDragged = 6; +CPRightMouseDragged = 7; +CPMouseEntered = 8; +CPMouseExited = 9; +CPKeyDown = 10; +CPKeyUp = 11; +CPFlagsChanged = 12; +CPAppKitDefined = 13; +CPSystemDefined = 14; +CPApplicationDefined = 15; +CPPeriodic = 16; +CPCursorUpdate = 17; +CPScrollWheel = 22; +CPOtherMouseDown = 25; +CPOtherMouseUp = 26; +CPOtherMouseDragged = 27; + +// iPhone Event Types +CPTouchStart = 28; +CPTouchMove = 29; +CPTouchEnd = 30; +CPTouchCancel = 31; + +CPAlphaShiftKeyMask = 1 << 16; +CPShiftKeyMask = 1 << 17; +CPControlKeyMask = 1 << 18; +CPAlternateKeyMask = 1 << 19; +CPCommandKeyMask = 1 << 20; +CPNumericPadKeyMask = 1 << 21; +CPHelpKeyMask = 1 << 22; +CPFunctionKeyMask = 1 << 23; +CPDeviceIndependentModifierFlagsMask = 0xffff0000; + +CPLeftMouseDownMask = 1 << CPLeftMouseDown; +CPLeftMouseUpMask = 1 << CPLeftMouseUp; +CPRightMouseDownMask = 1 << CPRightMouseDown; +CPRightMouseUpMask = 1 << CPRightMouseUp; +CPOtherMouseDownMask = 1 << CPOtherMouseDown; +CPOtherMouseUpMask = 1 << CPOtherMouseUp; +CPMouseMovedMask = 1 << CPMouseMoved; +CPLeftMouseDraggedMask = 1 << CPLeftMouseDragged; +CPRightMouseDraggedMask = 1 << CPRightMouseDragged; +CPOtherMouseDragged = 1 << CPOtherMouseDragged; +CPMouseEnteredMask = 1 << CPMouseEntered; +CPMouseExitedMask = 1 << CPMouseExited; +CPCursorUpdateMask = 1 << CPCursorUpdate; +CPKeyDownMask = 1 << CPKeyDown; +CPKeyUpMask = 1 << CPKeyUp; +CPFlagsChangedMask = 1 << CPFlagsChanged; +CPAppKitDefinedMask = 1 << CPAppKitDefined; +CPSystemDefinedMask = 1 << CPSystemDefined; +CPApplicationDefinedMask = 1 << CPApplicationDefined; +CPPeriodicMask = 1 << CPPeriodic; +CPScrollWheelMask = 1 << CPScrollWheel; +CPAnyEventMask = 0xffffffff; + +CPUpArrowFunctionKey = "\uF700"; +CPDownArrowFunctionKey = "\uF701"; +CPLeftArrowFunctionKey = "\uF702"; +CPRightArrowFunctionKey = "\uF703"; +CPF1FunctionKey = "\uF704"; +CPF2FunctionKey = "\uF705"; +CPF3FunctionKey = "\uF706"; +CPF4FunctionKey = "\uF707"; +CPF5FunctionKey = "\uF708"; +CPF6FunctionKey = "\uF709"; +CPF7FunctionKey = "\uF70A"; +CPF8FunctionKey = "\uF70B"; +CPF9FunctionKey = "\uF70C"; +CPF10FunctionKey = "\uF70D"; +CPF11FunctionKey = "\uF70E"; +CPF12FunctionKey = "\uF70F"; +CPF13FunctionKey = "\uF710"; +CPF14FunctionKey = "\uF711"; +CPF15FunctionKey = "\uF712"; +CPF16FunctionKey = "\uF713"; +CPF17FunctionKey = "\uF714"; +CPF18FunctionKey = "\uF715"; +CPF19FunctionKey = "\uF716"; +CPF20FunctionKey = "\uF717"; +CPF21FunctionKey = "\uF718"; +CPF22FunctionKey = "\uF719"; +CPF23FunctionKey = "\uF71A"; +CPF24FunctionKey = "\uF71B"; +CPF25FunctionKey = "\uF71C"; +CPF26FunctionKey = "\uF71D"; +CPF27FunctionKey = "\uF71E"; +CPF28FunctionKey = "\uF71F"; +CPF29FunctionKey = "\uF720"; +CPF30FunctionKey = "\uF721"; +CPF31FunctionKey = "\uF722"; +CPF32FunctionKey = "\uF723"; +CPF33FunctionKey = "\uF724"; +CPF34FunctionKey = "\uF725"; +CPF35FunctionKey = "\uF726"; +CPInsertFunctionKey = "\uF727"; +CPDeleteFunctionKey = "\uF728"; +CPHomeFunctionKey = "\uF729"; +CPBeginFunctionKey = "\uF72A"; +CPEndFunctionKey = "\uF72B"; +CPPageUpFunctionKey = "\uF72C"; +CPPageDownFunctionKey = "\uF72D"; +CPPrintScreenFunctionKey = "\uF72E"; +CPScrollLockFunctionKey = "\uF72F"; +CPPauseFunctionKey = "\uF730"; +CPSysReqFunctionKey = "\uF731"; +CPBreakFunctionKey = "\uF732"; +CPResetFunctionKey = "\uF733"; +CPStopFunctionKey = "\uF734"; +CPMenuFunctionKey = "\uF735"; +CPUserFunctionKey = "\uF736"; +CPSystemFunctionKey = "\uF737"; +CPPrintFunctionKey = "\uF738"; +CPClearLineFunctionKey = "\uF739"; +CPClearDisplayFunctionKey = "\uF73A"; +CPInsertLineFunctionKey = "\uF73B"; +CPDeleteLineFunctionKey = "\uF73C"; +CPInsertCharFunctionKey = "\uF73D"; +CPDeleteCharFunctionKey = "\uF73E"; +CPPrevFunctionKey = "\uF73F"; +CPNextFunctionKey = "\uF740"; +CPSelectFunctionKey = "\uF741"; +CPExecuteFunctionKey = "\uF742"; +CPUndoFunctionKey = "\uF743"; +CPRedoFunctionKey = "\uF744"; +CPFindFunctionKey = "\uF745"; +CPHelpFunctionKey = "\uF746"; +CPModeSwitchFunctionKey = "\uF747"; +CPEscapeFunctionKey = "\u001B"; +CPSpaceFunctionKey = "\u0020"; + + +CPDOMEventDoubleClick = "dblclick"; +CPDOMEventMouseDown = "mousedown"; +CPDOMEventMouseUp = "mouseup"; +CPDOMEventMouseMoved = "mousemove"; +CPDOMEventMouseDragged = "mousedrag"; +CPDOMEventKeyUp = "keyup"; +CPDOMEventKeyDown = "keydown"; +CPDOMEventKeyPress = "keypress"; +CPDOMEventCopy = "copy"; +CPDOMEventPaste = "paste"; +CPDOMEventScrollWheel = "mousewheel"; +CPDOMEventTouchStart = "touchstart"; +CPDOMEventTouchMove = "touchmove"; +CPDOMEventTouchEnd = "touchend"; +CPDOMEventTouchCancel = "touchcancel"; diff --git a/AppKit/CPFont.j b/AppKit/CPFont.j index 6b63f6933..aa91ac694 100644 --- a/AppKit/CPFont.j +++ b/AppKit/CPFont.j @@ -281,7 +281,7 @@ following: that dynamically tracks the current system font size. @return the requested system font */ -+ (CPFont)systemFontOfSize:(CPSize)aSize ++ (CPFont)systemFontOfSize:(CGSize)aSize { return _CPSystemFont(aSize === 0 ? _CPFontSystemFontSize : aSize, NO); } @@ -293,7 +293,7 @@ following: that dynamically tracks the current system font size. @return the requested bold system font */ -+ (CPFont)boldSystemFontOfSize:(CPSize)aSize ++ (CPFont)boldSystemFontOfSize:(CGSize)aSize { return _CPSystemFont(aSize === 0 ? _CPFontSystemFontSize : aSize, YES); } diff --git a/AppKit/CPFontManager.j b/AppKit/CPFontManager.j index cfeede594..fc352bf0b 100644 --- a/AppKit/CPFontManager.j +++ b/AppKit/CPFontManager.j @@ -24,6 +24,8 @@ @import "CPFont.j" +@global CPApp + CPItalicFontMask = 1 << 0; CPBoldFontMask = 1 << 1; CPUnboldFontMask = 1 << 2; @@ -54,7 +56,7 @@ var CPSharedFontManager = nil, id _delegate @accessors(property=delegate); CPFont _selectedFont; - BOOL _multiple @accessors; + BOOL _multiple @accessors(getter=isMultiple, setter=setMultiple:); CPDictionary _activeChange; } @@ -139,7 +141,7 @@ var CPSharedFontManager = nil, - (void)setSelectedFont:(CPFont)aFont isMultiple:(BOOL)aFlag { _selectedFont = aFont; - _isMultiple = aFlag; + _multiple = aFlag; // TODO Notify CPFontPanel when it exists. } @@ -149,11 +151,6 @@ var CPSharedFontManager = nil, return _selectedFont; } -- (BOOL)isMultiple -{ - return _isMultiple; -} - - (int)weightOfFont:(CPFont)aFont { // TODO Weight 5 is a normal of book weight and 9 and above is bold, but it would be nice to be more diff --git a/AppKit/CPGradient.j b/AppKit/CPGradient.j index 725a5c71c..02bee9048 100644 --- a/AppKit/CPGradient.j +++ b/AppKit/CPGradient.j @@ -20,6 +20,15 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import +@import +@import + +@import "CGColor.j" +@import "CGColorSpace.j" +@import "CGGradient.j" +@import "CPGraphicsContext.j" + CPGradientDrawsBeforeStartingLocation = kCGGradientDrawsBeforeStartLocation; CPGradientDrawsAfterEndingLocation = kCGGradientDrawsAfterEndLocation; diff --git a/AppKit/CPImage.j b/AppKit/CPImage.j index f19991f7a..390cbb518 100644 --- a/AppKit/CPImage.j +++ b/AppKit/CPImage.j @@ -21,12 +21,14 @@ */ @import -@import @import @import @import @import +@import +@import "CGGeometry.j" +@import "CPCompatibility.j" CPImageLoadStatusInitialized = 0; CPImageLoadStatusLoading = 1; @@ -49,15 +51,44 @@ var imagesForNames = { }, AppKitImageForNames[CPImageNameColorPanel] = CGSizeMake(26.0, 29.0); AppKitImageForNames[CPImageNameColorPanelHighlighted] = CGSizeMake(26.0, 29.0); -function CPImageInBundle(aFilename, aSize, aBundle) +/*! + Returns a resource image with a relative path and size + in a bundle. + + @param filename A filename or relative path to a resource image. + @param width Width of the image. May be omitted. + @param height Height of the image. May be omitted if width is omitted. + @param size Instead of passing width/height, a CGSize may be passed. + @param bundle Bundle in which the image resource can be found. + If omitted, defaults to the main bundle. + @return CPImage +*/ +function CPImageInBundle() { - if (!aBundle) - aBundle = [CPBundle mainBundle]; + var filename = arguments[0], + size = nil, + bundle = nil; - if (aSize) - return [[CPImage alloc] initWithContentsOfFile:[aBundle pathForResource:aFilename] size:aSize]; + if (typeof(arguments[1]) === "number") + { + if (arguments[1] !== nil && arguments[1] === undefined) + size = CGSizeMake(arguments[1], arguments[2]); - return [[CPImage alloc] initWithContentsOfFile:[aBundle pathForResource:aFilename]]; + bundle = arguments[3]; + } + else if (typeof(arguments[1]) === "object") + { + size = arguments[1]; + bundle = arguments[2]; + } + + if (!bundle) + bundle = [CPBundle mainBundle]; + + if (size) + return [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:filename] size:size]; + + return [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:filename]]; } function CPAppKitImage(aFilename, aSize) @@ -117,7 +148,7 @@ function CPAppKitImage(aFilename, aSize) if (self) { - _size = CPSizeCreateCopy(aSize); + _size = CGSizeCreateCopy(aSize); _filename = aFilename; _loadStatus = CPImageLoadStatusInitialized; } diff --git a/AppKit/CPImageView.j b/AppKit/CPImageView.j index e7ea02c3b..43eae53e0 100644 --- a/AppKit/CPImageView.j +++ b/AppKit/CPImageView.j @@ -26,6 +26,9 @@ @import "CPImage.j" @import "CPShadowView.j" +@global CPImagesPboardType +@global appkit_tag_dom_elements + CPImageAlignCenter = 0; CPImageAlignTop = 1; CPImageAlignTopLeft = 2; diff --git a/AppKit/CPKeyBinding.j b/AppKit/CPKeyBinding.j index c62faabcb..970973a3a 100644 --- a/AppKit/CPKeyBinding.j +++ b/AppKit/CPKeyBinding.j @@ -21,9 +21,10 @@ */ @import +@import -@import "CPEvent.j" - +@import "CPEvent_Constants.j" +@import "CPText.j" CPStandardKeyBindings = { @"@.": @"cancelOperation:", diff --git a/AppKit/CPKeyValueBinding.j b/AppKit/CPKeyValueBinding.j index 450de2152..bf07b282b 100644 --- a/AppKit/CPKeyValueBinding.j +++ b/AppKit/CPKeyValueBinding.j @@ -27,6 +27,7 @@ @import @import @import +@import var exposedBindingsMap = [CPDictionary new], diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 27d688800..0ff9f1b4a 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -21,6 +21,9 @@ */ @import "CPControl.j" +@import "CPWindow_Constants.j" + +@global CPApp CPTickMarkBelow = 0; CPTickMarkAbove = 1; @@ -32,14 +35,6 @@ CPContinuousCapacityLevelIndicatorStyle = 1; CPDiscreteCapacityLevelIndicatorStyle = 2; CPRatingLevelIndicatorStyle = 3; -var _CPLevelIndicatorBezelColor = nil, - _CPLevelIndicatorSegmentEmptyColor = nil, - _CPLevelIndicatorSegmentNormalColor = nil, - _CPLevelIndicatorSegmentWarningColor = nil, - _CPLevelIndicatorSegmentCriticalColor = nil, - - _CPLevelIndicatorSpacing = 1; - /*! @ingroup appkit @class CPLevelIndicator @@ -62,59 +57,23 @@ var _CPLevelIndicatorBezelColor = nil, BOOL _isTracking; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [CPLevelIndicator class]) - return; - - var bundle = [CPBundle bundleForClass:CPLevelIndicator]; - - _CPLevelIndicatorBezelColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-bezel-left.png"] size:CGSizeMake(3.0, 18.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-bezel-center.png"] size:CGSizeMake(1.0, 18.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-bezel-right.png"] size:CGSizeMake(3.0, 18.0)] - ] - isVertical:NO - ]]; - - _CPLevelIndicatorSegmentEmptyColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-empty-left.png"] size:CGSizeMake(3.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-empty-center.png"] size:CGSizeMake(1.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-empty-right.png"] size:CGSizeMake(3.0, 17.0)] - ] - isVertical:NO - ]]; - - _CPLevelIndicatorSegmentNormalColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-normal-left.png"] size:CGSizeMake(3.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-normal-center.png"] size:CGSizeMake(1.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-normal-right.png"] size:CGSizeMake(3.0, 17.0)] - ] - isVertical:NO - ]]; - - _CPLevelIndicatorSegmentWarningColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-warning-left.png"] size:CGSizeMake(3.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-warning-center.png"] size:CGSizeMake(1.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-warning-right.png"] size:CGSizeMake(3.0, 17.0)] - ] - isVertical:NO - ]]; - - _CPLevelIndicatorSegmentCriticalColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-critical-left.png"] size:CGSizeMake(3.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-critical-center.png"] size:CGSizeMake(1.0, 17.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPLevelIndicator/level-indicator-segment-critical-right.png"] size:CGSizeMake(3.0, 17.0)] - ] - isVertical:NO - ]]; + return "level-indicator"; } ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjectsAndKeys:[CPNull null], @"bezel-color", + [CPNull null], @"color-empty", + [CPNull null], @"color-normal", + [CPNull null], @"color-warning", + [CPNull null], @"color-critical", + 1.0, @"spacing"]; +} + + + - (id)initWithFrame:(CGRect)aFrame { self = [super initWithFrame:aFrame]; @@ -142,20 +101,20 @@ var _CPLevelIndicatorBezelColor = nil, positioned:CPWindowBelow relativeToEphemeralSubviewNamed:nil]; // TODO Make themable. - [bezelView setBackgroundColor:_CPLevelIndicatorBezelColor]; + [bezelView setBackgroundColor:[self valueForThemeAttribute:@"bezel-color"]]; var segmentCount = _maxValue - _minValue; if (segmentCount <= 0) return; - var filledColor = _CPLevelIndicatorSegmentNormalColor, + var filledColor = [self valueForThemeAttribute:@"color-normal"], value = [self doubleValue]; if (value <= _criticalValue) - filledColor = _CPLevelIndicatorSegmentCriticalColor; + filledColor = [self valueForThemeAttribute:@"color-critical"]; else if (value <= _warningValue) - filledColor = _CPLevelIndicatorSegmentWarningColor; + filledColor = [self valueForThemeAttribute:@"color-warning"]; for (var i = 0; i < segmentCount; i++) { @@ -163,7 +122,7 @@ var _CPLevelIndicatorBezelColor = nil, positioned:CPWindowAbove relativeToEphemeralSubviewNamed:bezelView]; - [segmentView setBackgroundColor:(_minValue + i) < value ? filledColor : _CPLevelIndicatorSegmentEmptyColor]; + [segmentView setBackgroundColor:(_minValue + i) < value ? filledColor : [self valueForThemeAttribute:@"color-empty"]]; } } @@ -194,11 +153,12 @@ var _CPLevelIndicatorBezelColor = nil, return _CGRectMakeZero(); var basicSegmentWidth = bounds.size.width / segmentCount, - segmentFrame = CGRectCreateCopy([self bounds]); + segmentFrame = CGRectCreateCopy([self bounds]), + spacing = [self valueForThemeAttribute:@"spacing"]; segmentFrame.origin.y = (_CGRectGetHeight(bounds) - bezelHeight) / 2.0; segmentFrame.origin.x = FLOOR(segment * basicSegmentWidth); - segmentFrame.size.width = (segment == segmentCount - 1) ? bounds.size.width - segmentFrame.origin.x : FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - _CPLevelIndicatorSpacing; + segmentFrame.size.width = (segment == segmentCount - 1) ? bounds.size.width - segmentFrame.origin.x : FLOOR(((segment + 1) * basicSegmentWidth)) - FLOOR((segment * basicSegmentWidth)) - spacing; segmentFrame.size.height = segmentHeight; return segmentFrame; @@ -226,7 +186,7 @@ var _CPLevelIndicatorBezelColor = nil, return _isEditable; } -- (CPView)hitTest:(CPPoint)aPoint +- (CPView)hitTest:(CGPoint)aPoint { // Don't swallow clicks when displayed in a table. if (![self isEditable]) diff --git a/AppKit/CPMenu/CPMenu.j b/AppKit/CPMenu/CPMenu.j index 2d4bf62fe..f0c21f02b 100644 --- a/AppKit/CPMenu/CPMenu.j +++ b/AppKit/CPMenu/CPMenu.j @@ -25,12 +25,9 @@ @import @import -@import "_CPMenuManager.j" -@import "CPApplication.j" -@import "CPClipView.j" @import "CPMenuItem.j" -@import "CPPanel.j" +@global CPApp CPMenuDidAddItemNotification = @"CPMenuDidAddItemNotification"; CPMenuDidChangeItemNotification = @"CPMenuDidChangeItemNotification"; @@ -38,12 +35,8 @@ CPMenuDidRemoveItemNotification = @"CPMenuDidRemoveItemNotification"; CPMenuDidEndTrackingNotification = @"CPMenuDidEndTrackingNotification"; -var MENUBAR_HEIGHT = 28.0; - var _CPMenuBarVisible = NO, _CPMenuBarTitle = @"", - _CPMenuBarIconImage = nil, - _CPMenuBarIconImageAlphaValue = 1.0, _CPMenuBarAttributes = nil, _CPMenuBarSharedWindow = nil; @@ -109,8 +102,8 @@ var _CPMenuBarVisible = NO, [_CPMenuBarSharedWindow setMenu:[CPApp mainMenu]]; [_CPMenuBarSharedWindow setTitle:_CPMenuBarTitle]; - [_CPMenuBarSharedWindow setIconImage:_CPMenuBarIconImage]; - [_CPMenuBarSharedWindow setIconImageAlphaValue:_CPMenuBarIconImageAlphaValue]; + [_CPMenuBarSharedWindow setIconImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-icon-image" forClass:_CPMenuView]]; + [_CPMenuBarSharedWindow setIconImageAlphaValue:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-icon-image-alpha-value" forClass:_CPMenuView]]; [_CPMenuBarSharedWindow setColor:[_CPMenuBarAttributes objectForKey:@"CPMenuBarBackgroundColor"]]; [_CPMenuBarSharedWindow setTextColor:[_CPMenuBarAttributes objectForKey:@"CPMenuBarTextColor"]]; @@ -178,8 +171,8 @@ var _CPMenuBarVisible = NO, else if (!textColor && !titleColor) { - [_CPMenuBarAttributes setObject:[CPColor colorWithRed:0.051 green:0.2 blue:0.275 alpha:1.0] forKey:@"CPMenuBarTextColor"]; - [_CPMenuBarAttributes setObject:[CPColor colorWithRed:0.051 green:0.2 blue:0.275 alpha:1.0] forKey:@"CPMenuBarTitleColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-text-color" forClass:_CPMenuView] forKey:@"CPMenuBarTextColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-title-color" forClass:_CPMenuView] forKey:@"CPMenuBarTitleColor"]; } if (!textShadowColor && titleShadowColor) @@ -190,18 +183,18 @@ var _CPMenuBarVisible = NO, else if (!textShadowColor && !titleShadowColor) { - [_CPMenuBarAttributes setObject:[CPColor whiteColor] forKey:@"CPMenuBarTextShadowColor"]; - [_CPMenuBarAttributes setObject:[CPColor whiteColor] forKey:@"CPMenuBarTitleShadowColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-text-shadow-color" forClass:_CPMenuView] forKey:@"CPMenuBarTextShadowColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-title-shadow-color" forClass:_CPMenuView] forKey:@"CPMenuBarTitleShadowColor"]; } if (!highlightColor) - [_CPMenuBarAttributes setObject:[CPColor colorWithCalibratedRed:94.0 / 255.0 green:130.0 / 255.0 blue:186.0 / 255.0 alpha:1.0] forKey:@"CPMenuBarHighlightColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-highlight-color" forClass:_CPMenuView] forKey:@"CPMenuBarHighlightColor"]; if (!highlightTextColor) - [_CPMenuBarAttributes setObject:[CPColor whiteColor] forKey:@"CPMenuBarHighlightTextColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-highlight-text-color" forClass:_CPMenuView] forKey:@"CPMenuBarHighlightTextColor"]; if (!highlightTextShadowColor) - [_CPMenuBarAttributes setObject:[CPColor blackColor] forKey:@"CPMenuBarHighlightTextShadowColor"]; + [_CPMenuBarAttributes setObject:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-highlight-text-shadow-color" forClass:_CPMenuView] forKey:@"CPMenuBarHighlightTextShadowColor"]; if (_CPMenuBarSharedWindow) { @@ -230,14 +223,14 @@ var _CPMenuBarVisible = NO, - (float)menuBarHeight { if (self === [CPApp mainMenu]) - return MENUBAR_HEIGHT; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-height" forClass:_CPMenuView]; return 0.0; } + (float)menuBarHeight { - return MENUBAR_HEIGHT; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-height" forClass:_CPMenuView]; } // Creating a CPMenu Object diff --git a/AppKit/CPMenu/_CPMenuBarWindow.j b/AppKit/CPMenu/_CPMenuBarWindow.j index 62d6a4426..60cc01b72 100644 --- a/AppKit/CPMenu/_CPMenuBarWindow.j +++ b/AppKit/CPMenu/_CPMenuBarWindow.j @@ -1,14 +1,33 @@ +/* + * _CPMenuBarWindow.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + @import "CPPanel.j" -@import "_CPMenuWindow.j" +@import "_CPMenuManager.j" +@class _CPMenuView -var MENUBAR_HEIGHT = 28.0, - MENUBAR_MARGIN = 10.0, - MENUBAR_LEFT_MARGIN = 10.0, - MENUBAR_RIGHT_MARGIN = 10.0; - -var _CPMenuBarWindowBackgroundColor = nil, - _CPMenuBarWindowFont = nil; +@global CPMenuDidAddItemNotification +@global CPMenuDidChangeItemNotification +@global CPMenuDidRemoveItemNotification @implementation _CPMenuBarWindow : CPPanel { @@ -32,19 +51,9 @@ var _CPMenuBarWindowBackgroundColor = nil, CPColor _highlightTextShadowColor; } -+ (void)initialize -{ - if (self !== [_CPMenuBarWindow class]) - return; - - var bundle = [CPBundle bundleForClass:self]; - - _CPMenuBarWindowFont = [CPFont boldSystemFontOfSize:[CPFont systemFontSize]]; -} - + (CPFont)font { - return _CPMenuBarWindowFont; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-font" forClass:_CPMenuView]; } - (id)init @@ -52,7 +61,7 @@ var _CPMenuBarWindowBackgroundColor = nil, // This only shows up in browser land, so don't bother calculating metrics in desktop. var contentRect = [[CPPlatformWindow primaryPlatformWindow] contentBounds]; - contentRect.size.height = MENUBAR_HEIGHT; + contentRect.size.height = [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-height" forClass:_CPMenuView]; self = [super initWithContentRect:contentRect styleMask:CPBorderlessWindowMask]; @@ -119,12 +128,7 @@ var _CPMenuBarWindowBackgroundColor = nil, - (void)setColor:(CPColor)aColor { if (!aColor) - { - if (!_CPMenuBarWindowBackgroundColor) - _CPMenuBarWindowBackgroundColor = [CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[_CPMenuBarWindow class]] pathForResource:@"_CPMenuBarWindow/_CPMenuBarWindowBackground.png"] size:CGSizeMake(1.0, 28.0)]]; - - [[self contentView] setBackgroundColor:_CPMenuBarWindowBackgroundColor]; - } + [[self contentView] setBackgroundColor:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-background-color" forClass:_CPMenuView]]; else [[self contentView] setBackgroundColor:aColor]; } @@ -316,6 +320,11 @@ var _CPMenuBarWindowBackgroundColor = nil, [self tile]; } +- (BOOL)acceptsFirstMouse:(CPEvent)anEvent +{ + return YES; +} + - (void)mouseDown:(CPEvent)anEvent { var constraintRect = CGRectInset([[self platformWindow] visibleFrame], 5.0, 0.0); @@ -344,7 +353,7 @@ var _CPMenuBarWindowBackgroundColor = nil, index = 0, count = items.length, - x = MENUBAR_LEFT_MARGIN, + x = [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-left-margin" forClass:_CPMenuView], y = 0.0, isLeftAligned = YES; @@ -354,7 +363,7 @@ var _CPMenuBarWindowBackgroundColor = nil, if ([item isSeparatorItem]) { - x = CGRectGetWidth([self frame]) - MENUBAR_RIGHT_MARGIN; + x = CGRectGetWidth([self frame]) - [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-right-margin" forClass:_CPMenuView]; isLeftAligned = NO; continue; @@ -368,13 +377,13 @@ var _CPMenuBarWindowBackgroundColor = nil, if (isLeftAligned) { - [menuItemView setFrame:CGRectMake(x, 0.0, CGRectGetWidth(frame), MENUBAR_HEIGHT)]; + [menuItemView setFrame:CGRectMake(x, 0.0, CGRectGetWidth(frame), [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-height" forClass:_CPMenuView])]; x += CGRectGetWidth([menuItemView frame]); } else { - [menuItemView setFrame:CGRectMake(x - CGRectGetWidth(frame), 0.0, CGRectGetWidth(frame), MENUBAR_HEIGHT)]; + [menuItemView setFrame:CGRectMake(x - CGRectGetWidth(frame), 0.0, CGRectGetWidth(frame), [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-height" forClass:_CPMenuView])]; x = CGRectGetMinX([menuItemView frame]); } @@ -452,102 +461,3 @@ var _CPMenuBarWindowBackgroundColor = nil, } @end - -@implementation _CPMenuBarView : _CPMenuView -{ -} - -- (CGRect)rectForItemAtIndex:(int)anIndex -{ - return [_menuItemViews[anIndex === CPNotFound ? 0 : anIndex] frame]; -} - -- (int)itemIndexAtPoint:(CGPoint)aPoint -{ - var bounds = [self bounds]; - - if (!CGRectContainsPoint(bounds, aPoint)) - return CPNotFound; - - var x = aPoint.x, - low = 0, - high = _visibleMenuItemInfos.length - 1; - - while (low <= high) - { - var middle = FLOOR(low + (high - low) / 2), - info = _visibleMenuItemInfos[middle], - frame = [info.view frame]; - - if (x < CGRectGetMinX(frame)) - high = middle - 1; - - else if (x > CGRectGetMaxX(frame)) - low = middle + 1; - - else - return info.index; - } - - return CPNotFound; -} - -- (void)tile -{ - var items = [_menu itemArray], - index = 0, - count = items.length, - - x = MENUBAR_LEFT_MARGIN, - y = 0.0, - isLeftAligned = YES; - - for (; index < count; ++index) - { - var item = items[index]; - - if ([item isSeparatorItem]) - { - x = CGRectGetWidth([self frame]) - MENUBAR_RIGHT_MARGIN; - isLeftAligned = NO; - - continue; - } - - if ([item isHidden]) - continue; - - var menuItemView = [item _menuItemView], - frame = [menuItemView frame]; - - if (isLeftAligned) - { - [menuItemView setFrameOrigin:CGPointMake(x, (MENUBAR_HEIGHT - 1.0 - CGRectGetHeight(frame)) / 2.0)]; - - x += CGRectGetWidth([menuItemView frame]) + MENUBAR_MARGIN; - } - else - { - [menuItemView setFrameOrigin:CGPointMake(x - CGRectGetWidth(frame), (MENUBAR_HEIGHT - 1.0 - CGRectGetHeight(frame)) / 2.0)]; - - x = CGRectGetMinX([menuItemView frame]) - MENUBAR_MARGIN; - } - } - - var bounds = [[self contentView] bounds], - titleFrame = [_titleField frame]; - - if ([_iconImageView isHidden]) - [_titleField setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - CGRectGetWidth(titleFrame)) / 2.0, (CGRectGetHeight(bounds) - CGRectGetHeight(titleFrame)) / 2.0)]; - else - { - var iconFrame = [_iconImageView frame], - iconWidth = CGRectGetWidth(iconFrame), - totalWidth = iconWidth + CGRectGetWidth(titleFrame); - - [_iconImageView setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - totalWidth) / 2.0, (CGRectGetHeight(bounds) - CGRectGetHeight(iconFrame)) / 2.0)]; - [_titleField setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - totalWidth) / 2.0 + iconWidth, (CGRectGetHeight(bounds) - CGRectGetHeight(titleFrame)) / 2.0)]; - } -} - -@end diff --git a/AppKit/CPMenu/_CPMenuManager.j b/AppKit/CPMenu/_CPMenuManager.j index d8a92c39c..205e8cd96 100644 --- a/AppKit/CPMenu/_CPMenuManager.j +++ b/AppKit/CPMenu/_CPMenuManager.j @@ -1,11 +1,45 @@ -@import +/* + * _CPMenuManager.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +@import +@import + +@import "CPEvent.j" +@import "CPKeyBinding.j" + +@class CPWindow +@class _CPMenuWindow + + +@global CPApp +@global CPMenuDidEndTrackingNotification +@global _CPMenuWindowMenuBarBackgroundStyle +@global _CPMenuWindowPopUpBackgroundStyle _CPMenuManagerScrollingStateUp = -1; _CPMenuManagerScrollingStateDown = 1; _CPMenuManagerScrollingStateNone = 0; -var STICKY_TIME_INTERVAL = 0.5, +var STICKY_TIME_INTERVAL = 0.4, SharedMenuManager = nil; @implementation _CPMenuManager: CPObject @@ -26,6 +60,8 @@ var STICKY_TIME_INTERVAL = 0.5, CPMenuItem _previousActiveItem; int _showTimerID; + + int _menuBarButtonItemIndex; } + (_CPMenuManager)sharedMenuManager @@ -85,7 +121,7 @@ var STICKY_TIME_INTERVAL = 0.5, activeItem = activeItemIndex !== CPNotFound ? [menu itemAtIndex:activeItemIndex] : nil; _menuBarButtonItemIndex = activeItemIndex; - _menuBarButtonMenuContainer = aMenuContainer; +// _menuBarButtonMenuContainer = aMenuContainer; if ([activeItem _isMenuBarButton]) return [self trackMenuBarButtonEvent:anEvent]; @@ -125,15 +161,6 @@ var STICKY_TIME_INTERVAL = 0.5, return; } - if (_keyBuffer) - { - if (([anEvent timestamp] - _startTime) > (STICKY_TIME_INTERVAL + [activeMenu numberOfItems] / 2)) - [self selectNextItemBeginningWith:_keyBuffer inMenu:menu clearBuffer:YES]; - - if (type === CPPeriodic) - return; - } - // Periodic events don't have a valid location. var globalLocation = type === CPPeriodic ? _lastGlobalLocation : [anEvent globalLocation]; @@ -149,6 +176,15 @@ var STICKY_TIME_INTERVAL = 0.5, activeItemIndex = activeMenuContainer ? [activeMenuContainer itemIndexAtPoint:menuLocation] : CPNotFound, activeItem = activeItemIndex !== CPNotFound ? [activeMenu itemAtIndex:activeItemIndex] : nil; + if (_keyBuffer) + { + if (([anEvent timestamp] - _startTime) > (STICKY_TIME_INTERVAL + [activeMenu numberOfItems] / 2)) + [self selectNextItemBeginningWith:_keyBuffer inMenu:menu clearBuffer:YES]; + + if (type === CPPeriodic) + return; + } + // unhighlight when mouse is moved off the menu if (_lastGlobalLocation && CGRectContainsPoint([activeMenuContainer globalFrame], _lastGlobalLocation) && !CGRectContainsPoint([activeMenuContainer globalFrame], globalLocation)) @@ -556,7 +592,7 @@ var STICKY_TIME_INTERVAL = 0.5, return; } - next = current + (last - first); + var next = current + (last - first); if (next < [menu numberOfItems]) [menu _highlightItemAtIndex:next]; @@ -584,7 +620,7 @@ var STICKY_TIME_INTERVAL = 0.5, return; } - next = current - (last - first); + var next = current - (last - first); if (next < 0) [menu _highlightItemAtIndex:0]; diff --git a/AppKit/CPMenu/_CPMenuWindow.j b/AppKit/CPMenu/_CPMenuWindow.j index 27d14dcb1..d4f01f238 100644 --- a/AppKit/CPMenu/_CPMenuWindow.j +++ b/AppKit/CPMenu/_CPMenuWindow.j @@ -1,5 +1,29 @@ -@import "CPWindow.j" +/* + * _CPMenuWindow.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +@import "CPClipView.j" +@import "CPImageView.j" +@import "CPWindow.j" +@import "_CPMenuManager.j" var _CPMenuWindowPool = [], _CPMenuWindowPoolCapacity = 5, @@ -10,15 +34,6 @@ _CPMenuWindowMenuBarBackgroundStyle = 0; _CPMenuWindowPopUpBackgroundStyle = 1; _CPMenuWindowAttachedMenuBackgroundStyle = 2; -var STICKY_TIME_INTERVAL = 500, - - TOP_MARGIN = 5.0, - LEFT_MARGIN = 1.0, - RIGHT_MARGIN = 1.0, - BOTTOM_MARGIN = 5.0, - - SCROLL_INDICATOR_HEIGHT = 16.0; - /* @ignore */ @@ -63,17 +78,6 @@ var STICKY_TIME_INTERVAL = 500, _CPMenuWindowPool.push(aMenuWindow); } -+ (void)initialize -{ - if (self !== [_CPMenuWindow class]) - return; - - var bundle = [CPBundle bundleForClass:self]; - - _CPMenuWindowMoreAboveImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowMoreAbove.png"] size:CGSizeMake(38.0, 18.0)]; - _CPMenuWindowMoreBelowImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowMoreBelow.png"] size:CGSizeMake(38.0, 18.0)]; -} - - (id)initWithContentRect:(CGRect)aRect styleMask:(unsigned)aStyleMask { _constraintRect = _CGRectMakeZero(); @@ -92,22 +96,22 @@ var STICKY_TIME_INTERVAL = 500, _menuView = [[_CPMenuView alloc] initWithFrame:CGRectMakeZero()]; - _menuClipView = [[CPClipView alloc] initWithFrame:CGRectMake(LEFT_MARGIN, TOP_MARGIN, 0.0, 0.0)]; + _menuClipView = [[CPClipView alloc] initWithFrame:CGRectMake([_menuView valueForThemeAttribute:@"menu-window-margin-inset"].left, [_menuView valueForThemeAttribute:@"menu-window-margin-inset"].top, 0.0, 0.0)]; [_menuClipView setDocumentView:_menuView]; [contentView addSubview:_menuClipView]; _moreAboveView = [[CPImageView alloc] initWithFrame:CGRectMakeZero()]; - [_moreAboveView setImage:_CPMenuWindowMoreAboveImage]; - [_moreAboveView setFrameSize:[_CPMenuWindowMoreAboveImage size]]; + [_moreAboveView setImage:[_menuView valueForThemeAttribute:@"menu-window-more-above-image"]]; + [_moreAboveView setFrameSize:[[_menuView valueForThemeAttribute:@"menu-window-more-above-image"] size]]; [contentView addSubview:_moreAboveView]; _moreBelowView = [[CPImageView alloc] initWithFrame:CGRectMakeZero()]; - [_moreBelowView setImage:_CPMenuWindowMoreBelowImage]; - [_moreBelowView setFrameSize:[_CPMenuWindowMoreBelowImage size]]; + [_moreBelowView setImage:[_menuView valueForThemeAttribute:@"menu-window-more-below-image"]]; + [_moreBelowView setFrameSize:[[_menuView valueForThemeAttribute:@"menu-window-more-below-image"] size]]; [contentView addSubview:_moreBelowView]; } @@ -117,7 +121,7 @@ var STICKY_TIME_INTERVAL = 500, + (float)_standardLeftMargin { - return LEFT_MARGIN; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-window-margin-inset" forClass:_CPMenuView].left; } - (void)setFont:(CPFont)aFont @@ -139,36 +143,10 @@ var STICKY_TIME_INTERVAL = 500, var bundle = [CPBundle bundleForClass:[self class]]; if (aBackgroundStyle == _CPMenuWindowPopUpBackgroundStyle) - color = [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowRounded0.png"] size:CGSizeMake(4.0, 4.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow1.png"] size:CGSizeMake(1.0, 4.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowRounded2.png"] size:CGSizeMake(4.0, 4.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow3.png"] size:CGSizeMake(4.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow4.png"] size:CGSizeMake(1.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow5.png"] size:CGSizeMake(4.0, 1.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowRounded6.png"] size:CGSizeMake(4.0, 4.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow7.png"] size:CGSizeMake(1.0, 4.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowRounded8.png"] size:CGSizeMake(4.0, 4.0)] - ]]]; + color = [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-window-pop-up-background-style-color" forClass:_CPMenuView]; else if (aBackgroundStyle == _CPMenuWindowMenuBarBackgroundStyle) - color = [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow3.png"] size:CGSizeMake(4.0, 0.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow4.png"] size:CGSizeMake(1.0, 0.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow5.png"] size:CGSizeMake(4.0, 0.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow3.png"] size:CGSizeMake(4.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow4.png"] size:CGSizeMake(1.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow5.png"] size:CGSizeMake(4.0, 1.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowRounded6.png"] size:CGSizeMake(4.0, 4.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindow7.png"] size:CGSizeMake(1.0, 4.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuWindow/_CPMenuWindowRounded8.png"] size:CGSizeMake(4.0, 4.0)] - ]]]; + color = [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-window-menu-bar-background-style-color" forClass:_CPMenuView]; _CPMenuWindowBackgroundColors[aBackgroundStyle] = color; } @@ -186,12 +164,13 @@ var STICKY_TIME_INTERVAL = 500, [aMenu _setMenuWindow:self]; [_menuView setMenu:aMenu]; - var menuViewSize = [_menuView frame].size; + var menuViewSize = [_menuView frame].size, + marginInset = [_menuView valueForThemeAttribute:@"menu-window-margin-inset"]; - [self setFrameSize:CGSizeMake(LEFT_MARGIN + menuViewSize.width + RIGHT_MARGIN, TOP_MARGIN + menuViewSize.height + BOTTOM_MARGIN)]; + [self setFrameSize:CGSizeMake(marginInset.left + menuViewSize.width + marginInset.right, marginInset.top + menuViewSize.height + marginInset.bottom)]; [_menuView scrollPoint:CGPointMake(0.0, 0.0)]; - [_menuClipView setFrame:CGRectMake(LEFT_MARGIN, TOP_MARGIN, menuViewSize.width, menuViewSize.height)]; + [_menuClipView setFrame:CGRectMake(marginInset.left, marginInset.top, menuViewSize.width, menuViewSize.height)]; } - (void)setMinWidth:(float)aWidth @@ -249,7 +228,9 @@ var STICKY_TIME_INTERVAL = 500, // FIXME: This gets called far too often. _unconstrainedFrame = _CGRectMakeCopy(aFrame); - var constrainedFrame = CGRectIntersection(_unconstrainedFrame, _constraintRect); + var constrainedFrame = CGRectIntersection(_unconstrainedFrame, _constraintRect), + marginInset = [_menuView valueForThemeAttribute:@"menu-window-margin-inset"], + scrollIndicatorHeight = [_menuView valueForThemeAttribute:@"menu-window-scroll-indicator-height"]; // We don't want to simply intersect the visible frame and the unconstrained frame. // We should be allowing as much of the width to fit as possible (pushing back and forward). @@ -268,41 +249,41 @@ var STICKY_TIME_INTERVAL = 500, [super setFrame:constrainedFrame display:shouldDisplay animate:shouldAnimate]; // This needs to happen before changing the frame. - var menuViewOrigin = CGPointMake(CGRectGetMinX(aFrame) + LEFT_MARGIN, CGRectGetMinY(aFrame) + TOP_MARGIN), - moreAbove = menuViewOrigin.y < CGRectGetMinY(constrainedFrame) + TOP_MARGIN, - moreBelow = menuViewOrigin.y + CGRectGetHeight([_menuView frame]) > CGRectGetMaxY(constrainedFrame) - BOTTOM_MARGIN, + var menuViewOrigin = CGPointMake(CGRectGetMinX(aFrame) + marginInset.left, CGRectGetMinY(aFrame) + marginInset.top), + moreAbove = menuViewOrigin.y < CGRectGetMinY(constrainedFrame) + marginInset.top, + moreBelow = menuViewOrigin.y + CGRectGetHeight([_menuView frame]) > CGRectGetMaxY(constrainedFrame) - marginInset.bottom, - topMargin = TOP_MARGIN, - bottomMargin = BOTTOM_MARGIN, + topMargin = marginInset.top, + bottomMargin = marginInset.bottom, contentView = [self contentView], bounds = [contentView bounds]; if (moreAbove) { - topMargin += SCROLL_INDICATOR_HEIGHT; + topMargin += scrollIndicatorHeight; var frame = [_moreAboveView frame]; - [_moreAboveView setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - CGRectGetWidth(frame)) / 2.0, (TOP_MARGIN + SCROLL_INDICATOR_HEIGHT - CGRectGetHeight(frame)) / 2.0)]; + [_moreAboveView setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - CGRectGetWidth(frame)) / 2.0, (marginInset.top + scrollIndicatorHeight - CGRectGetHeight(frame)) / 2.0)]; } [_moreAboveView setHidden:!moreAbove]; if (moreBelow) { - bottomMargin += SCROLL_INDICATOR_HEIGHT; + bottomMargin += scrollIndicatorHeight; - [_moreBelowView setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - CGRectGetWidth([_moreBelowView frame])) / 2.0, CGRectGetHeight(bounds) - SCROLL_INDICATOR_HEIGHT - BOTTOM_MARGIN)]; + [_moreBelowView setFrameOrigin:CGPointMake((CGRectGetWidth(bounds) - CGRectGetWidth([_moreBelowView frame])) / 2.0, CGRectGetHeight(bounds) - scrollIndicatorHeight - marginInset.bottom)]; } [_moreBelowView setHidden:!moreBelow]; var clipFrame = CGRectMakeZero(); - clipFrame.origin.x = LEFT_MARGIN; + clipFrame.origin.x = marginInset.left; clipFrame.origin.y = topMargin; - clipFrame.size.width = CGRectGetWidth(constrainedFrame) - LEFT_MARGIN - RIGHT_MARGIN; + clipFrame.size.width = CGRectGetWidth(constrainedFrame) - marginInset.left - marginInset.right; clipFrame.size.height = CGRectGetHeight(constrainedFrame) - topMargin - bottomMargin; [_menuClipView setFrame:clipFrame]; @@ -398,15 +379,15 @@ var STICKY_TIME_INTERVAL = 500, - (_CPManagerScrollingState)scrollingStateForPoint:(CGPoint)aGlobalLocation { var frame = [self frame]; - if (!CPRectContainsPoint(frame,aGlobalLocation) || ![self canScroll]) + if (!CGRectContainsPoint(frame,aGlobalLocation) || ![self canScroll]) return _CPMenuManagerScrollingStateNone; // If we're at or above of the top scroll indicator... - if (aGlobalLocation.y < CGRectGetMinY(frame) + TOP_MARGIN + SCROLL_INDICATOR_HEIGHT && ![_moreAboveView isHidden]) + if (aGlobalLocation.y < CGRectGetMinY(frame) + [_menuView valueForThemeAttribute:@"menu-window-margin-inset"].top + [_menuView valueForThemeAttribute:@"menu-window-scroll-indicator-height"] && ![_moreAboveView isHidden]) return _CPMenuManagerScrollingStateUp; // If we're at or below the bottom scroll indicator... - if (aGlobalLocation.y > CGRectGetMaxY(frame) - BOTTOM_MARGIN - SCROLL_INDICATOR_HEIGHT && ![_moreBelowView isHidden]) + if (aGlobalLocation.y > CGRectGetMaxY(frame) - [_menuView valueForThemeAttribute:@"menu-window-margin-inset"].bottom - [_menuView valueForThemeAttribute:@"menu-window-scroll-indicator-height"] && ![_moreBelowView isHidden]) return _CPMenuManagerScrollingStateDown; return _CPMenuManagerScrollingStateNone; @@ -414,7 +395,7 @@ var STICKY_TIME_INTERVAL = 500, - (float)deltaYForItemAtIndex:(int)anIndex { - return TOP_MARGIN + CGRectGetMinY([_menuView rectForItemAtIndex:anIndex]); + return [_menuView valueForThemeAttribute:@"menu-window-margin-inset"].top + CGRectGetMinY([_menuView rectForItemAtIndex:anIndex]); } - (CGPoint)rectForItemAtIndex:(int)anIndex @@ -445,6 +426,49 @@ var STICKY_TIME_INTERVAL = 500, CPFont _font @accessors(property=font); } + ++ (CPString)defaultThemeClass +{ + return "menu-view"; +} + ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[ [CPNull null], [CPNull null], [CPNull null], [CPNull null], CGInsetMake(5.0, 1.0, 1.0, 5.0), 16.0, + [CPNull null], [CPNull null], [CPNull null], 30.0, 10.0, 10.0, 10.0, + [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], 28.0, [CPNull null], 1.0, + [CPNull null], [CPNull null], [CPNull null]] + forKeys:[ @"menu-window-more-above-image", + @"menu-window-more-below-image", + @"menu-window-pop-up-background-style-color", + @"menu-window-menu-bar-background-style-color", + @"menu-window-margin-inset", + @"menu-window-scroll-indicator-height", + + @"menu-bar-window-background-color", + @"menu-bar-window-background-selected-color", + @"menu-bar-window-font", + @"menu-bar-window-height", + @"menu-bar-window-margin", + @"menu-bar-window-left-margin", + @"menu-bar-window-right-margin", + + @"menu-bar-text-color", + @"menu-bar-title-color", + @"menu-bar-text-shadow-color", + @"menu-bar-title-shadow-color", + @"menu-bar-highlight-color", + @"menu-bar-highlight-text-color", + @"menu-bar-highlight-text-shadow-color", + @"menu-bar-height", + @"menu-bar-icon-image", + @"menu-bar-icon-image-alpha-value", + + @"menu-general-icon-new", + @"menu-general-icon-save", + @"menu-general-icon-open"]]; +} + - (unsigned)numberOfUnhiddenItems { return _visibleMenuItemInfos.length; diff --git a/AppKit/CPMenuItem/CPMenuItem.j b/AppKit/CPMenuItem/CPMenuItem.j index ea9e49225..568507a59 100644 --- a/AppKit/CPMenuItem/CPMenuItem.j +++ b/AppKit/CPMenuItem/CPMenuItem.j @@ -25,29 +25,33 @@ @import @import "CPImage.j" -@import "CPMenu.j" +@import "CPText.j" @import "CPView.j" @import "_CPMenuItemView.j" +@class CPMenu -var CPMenuItemStringRepresentationDictionary = [CPDictionary dictionary]; -[CPMenuItemStringRepresentationDictionary setObject:"\u238B" forKey:CPEscapeFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u21E5" forKey:CPTabCharacter]; -[CPMenuItemStringRepresentationDictionary setObject:"\u21E4" forKey:CPBackTabCharacter]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2423" forKey:CPSpaceFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u23CE" forKey:CPCarriageReturnCharacter]; -[CPMenuItemStringRepresentationDictionary setObject:"\u232B" forKey:CPBackspaceCharacter]; -[CPMenuItemStringRepresentationDictionary setObject:"\u232B" forKey:CPDeleteFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2326" forKey:CPDeleteCharacter]; -[CPMenuItemStringRepresentationDictionary setObject:"\u21F1" forKey:CPHomeFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u21F2" forKey:CPEndFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u21DE" forKey:CPPageUpFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u21DF" forKey:CPPageDownFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2191" forKey:CPUpArrowFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2193" forKey:CPDownArrowFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2190" forKey:CPLeftArrowFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2192" forKey:CPRightArrowFunctionKey]; -[CPMenuItemStringRepresentationDictionary setObject:"\u2327" forKey:CPClearDisplayFunctionKey]; +@global CPApp + +var CPMenuItemStringRepresentationDictionary = [CPDictionary dictionaryWithObjectsAndKeys: + "\u238B", CPEscapeFunctionKey, + "\u21E5", CPTabCharacter, + "\u21E4", CPBackTabCharacter, + "\u2423", CPSpaceFunctionKey, + "\u23CE", CPCarriageReturnCharacter, + "\u232B", CPBackspaceCharacter, + "\u232B", CPDeleteFunctionKey, + "\u2326", CPDeleteCharacter, + "\u21F1", CPHomeFunctionKey, + "\u21F2", CPEndFunctionKey, + "\u21DE", CPPageUpFunctionKey, + "\u21DF", CPPageDownFunctionKey, + "\u2191", CPUpArrowFunctionKey, + "\u2193", CPDownArrowFunctionKey, + "\u2190", CPLeftArrowFunctionKey, + "\u2192", CPRightArrowFunctionKey, + "\u2327", CPClearDisplayFunctionKey + ]; /*! @ingroup appkit diff --git a/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j b/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j index 179c084e9..11b31e688 100644 --- a/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j +++ b/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j @@ -1,17 +1,30 @@ -@import "CPView.j" +/* + * _CPMenuItemMenuBarView.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +@import "CPControl.j" +@import "_CPImageAndTextView.j" -var HORIZONTAL_MARGIN = 8.0, - SUBMENU_INDICATOR_MARGIN = 3.0, - VERTICAL_MARGIN = 4.0; - -var SelectionColor = nil, - SUBMENU_INDICATOR_COLOR = nil, - _CPMenuItemSelectionColor = nil, - _CPMenuItemTextShadowColor = nil, - - _CPMenuItemDefaultStateImages = [], - _CPMenuItemDefaultStateHighlightedImages = []; +@class _CPMenuBarWindow +@class _CPMenuView @implementation _CPMenuItemMenuBarView : CPView { @@ -27,28 +40,20 @@ var SelectionColor = nil, CPView _submenuIndicatorView; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [_CPMenuItemMenuBarView class]) - return; + return "menu-item-bar-view"; +} - var bundle = [CPBundle bundleForClass:self]; - - SelectionColor = [CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"_CPMenuBarWindow/_CPMenuBarWindowBackgroundSelected.png"] size:CGSizeMake(1.0, 28.0)]]; - - SUBMENU_INDICATOR_COLOR = [CPColor grayColor]; - - _CPMenuItemSelectionColor = [CPColor colorWithCalibratedRed:95.0 / 255.0 green:131.0 / 255.0 blue:185.0 / 255.0 alpha:1.0]; - _CPMenuItemTextShadowColor = [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]; - - _CPMenuItemDefaultStateImages[CPOffState] = nil; - _CPMenuItemDefaultStateHighlightedImages[CPOffState] = nil; - - _CPMenuItemDefaultStateImages[CPOnState] = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPMenuItem/CPMenuItemOnState.png"] size:CGSizeMake(14.0, 14.0)]; - _CPMenuItemDefaultStateHighlightedImages[CPOnState] = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPMenuItem/CPMenuItemOnStateHighlighted.png"] size:CGSizeMake(14.0, 14.0)]; - - _CPMenuItemDefaultStateImages[CPMixedState] = nil; - _CPMenuItemDefaultStateHighlightedImages[CPMixedState] = nil; ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], [CPNull null], 8.0, 3.0, 4.0] + forKeys:[ @"submenu-indicator-color", + @"menu-item-selection-color", + @"menu-item-text-shadow-color", + @"horizontal-margin", + @"submenu-indicator-margin", + @"vertical-margin"]]; } + (id)view @@ -62,7 +67,7 @@ var SelectionColor = nil, if (self) { - _imageAndTextView = [[_CPImageAndTextView alloc] initWithFrame:CGRectMake(HORIZONTAL_MARGIN, 0.0, 0.0, 0.0)]; + _imageAndTextView = [[_CPImageAndTextView alloc] initWithFrame:CGRectMake([self valueForThemeAttribute:@"horizontal-margin"], 0.0, 0.0, 0.0)]; [_imageAndTextView setImagePosition:CPImageLeft]; [_imageAndTextView setImageOffset:3.0]; @@ -101,7 +106,7 @@ var SelectionColor = nil, - (void)update { - var x = HORIZONTAL_MARGIN, + var x = [self valueForThemeAttribute:@"horizontal-margin"], height = 0.0; [_imageAndTextView setFont:[_menuItem font] || [_CPMenuBarWindow font]]; @@ -129,7 +134,7 @@ var SelectionColor = nil, var submenuViewFrame = [_submenuIndicatorView frame]; - submenuViewFrame.origin.x = x + SUBMENU_INDICATOR_MARGIN; + submenuViewFrame.origin.x = x + [self valueForThemeAttribute:@"submenu-indicator-margin"]; x = CGRectGetMaxX(submenuViewFrame); height = MAX(height, CGRectGetHeight(submenuViewFrame)); @@ -137,7 +142,7 @@ var SelectionColor = nil, else [_submenuIndicatorView setHidden:YES]; - height += 2.0 * VERTICAL_MARGIN; + height += 2.0 * [self valueForThemeAttribute:@"vertical-margin"]; imageAndTextViewFrame.origin.y = FLOOR((height - CGRectGetHeight(imageAndTextViewFrame)) / 2.0); [_imageAndTextView setFrame:imageAndTextViewFrame]; @@ -149,7 +154,7 @@ var SelectionColor = nil, } [self setAutoresizesSubviews:NO]; - [self setFrameSize:CGSizeMake(x + HORIZONTAL_MARGIN, height)]; + [self setFrameSize:CGSizeMake(x + [self valueForThemeAttribute:@"horizontal-margin"], height)]; [self setAutoresizesSubviews:YES]; } @@ -162,11 +167,11 @@ var SelectionColor = nil, if (shouldHighlight) { if (![_menuItem _isMenuBarButton]) - [self setBackgroundColor:SelectionColor]; + [self setBackgroundColor:[[CPTheme defaultTheme] valueForAttributeWithName:@"menu-bar-window-background-selected-color" forClass:_CPMenuView]]; [_imageAndTextView setImage:[_menuItem alternateImage] || [_menuItem image]]; [_imageAndTextView setTextColor:[CPColor whiteColor]]; - [_imageAndTextView setTextShadowColor:_CPMenuItemTextShadowColor]; + [_imageAndTextView setTextShadowColor:[self valueForThemeAttribute:@"menu-item-text-shadow-color"]]; [_submenuIndicatorView setColor:[CPColor whiteColor]]; [_submenuIndicatorView setShadowColor:[CPColor colorWithWhite:0.1 alpha:0.7]]; diff --git a/AppKit/CPMenuItem/_CPMenuItemSeparatorView.j b/AppKit/CPMenuItem/_CPMenuItemSeparatorView.j index 66857ef29..86f756b11 100644 --- a/AppKit/CPMenuItem/_CPMenuItemSeparatorView.j +++ b/AppKit/CPMenuItem/_CPMenuItemSeparatorView.j @@ -1,6 +1,29 @@ +/* + * _CPMenuItemSeparatorView.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import "CPView.j" +@class _CPMenuItemStandardView + @implementation _CPMenuItemSeparatorView : CPView { @@ -31,8 +54,8 @@ CGContextMoveToPoint(context, CGRectGetMinX(bounds), FLOOR(CGRectGetMidY(bounds)) - 0.5); CGContextAddLineToPoint(context, CGRectGetMaxX(bounds), FLOOR(CGRectGetMidY(bounds)) - 0.5); - CGContextSetStrokeColor(context, [CPColor lightGrayColor]); + CGContextSetStrokeColor(context, [[CPTheme defaultTheme] valueForAttributeWithName:@"menu-item-separator-color" forClass:_CPMenuItemStandardView]); CGContextStrokePath(context); } -@end \ No newline at end of file +@end diff --git a/AppKit/CPMenuItem/_CPMenuItemStandardView.j b/AppKit/CPMenuItem/_CPMenuItemStandardView.j index 19f071c47..851dba7ea 100644 --- a/AppKit/CPMenuItem/_CPMenuItemStandardView.j +++ b/AppKit/CPMenuItem/_CPMenuItemStandardView.j @@ -1,32 +1,38 @@ +/* + * _CPMenuItemStandardView.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + @import "CPControl.j" - - -var LEFT_MARGIN = 3.0, - RIGHT_MARGIN = 14.0 + 3.0, - STATE_COLUMN_WIDTH = 14.0, - INDENTATION_WIDTH = 17.0, - VERTICAL_MARGIN = 4.0, - - RIGHT_COLUMNS_MARGIN = 30.0, - KEY_EQUIVALENT_MARGIN = 10.0; - -var SUBMENU_INDICATOR_COLOR = nil, - _CPMenuItemSelectionColor = nil, - _CPMenuItemTextShadowColor = nil, - - _CPMenuItemDefaultStateImages = [], - _CPMenuItemDefaultStateHighlightedImages = []; +@import "CPImageView.j" +@import "_CPImageAndTextView.j" @implementation _CPMenuItemStandardView : CPView { CPMenuItem _menuItem @accessors(property=menuItem); CPFont _font; - CPColor _textColor; - CPColor _textShadowColor; CGSize _minSize @accessors(readonly, property=minSize); BOOL _isDirty; + BOOL _highlighted; CPImageView _stateView; _CPImageAndTextView _imageAndTextView; @@ -34,26 +40,31 @@ var SUBMENU_INDICATOR_COLOR = nil, CPView _submenuIndicatorView; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [_CPMenuItemStandardView class]) - return; + return "menu-item-standard-view"; +} - SUBMENU_INDICATOR_COLOR = [CPColor grayColor]; - - _CPMenuItemSelectionColor = [CPColor colorWithCalibratedRed:95.0 / 255.0 green:131.0 / 255.0 blue:185.0 / 255.0 alpha:1.0]; - _CPMenuItemTextShadowColor = [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]; - - var bundle = [CPBundle bundleForClass:self]; - - _CPMenuItemDefaultStateImages[CPOffState] = nil; - _CPMenuItemDefaultStateHighlightedImages[CPOffState] = nil; - - _CPMenuItemDefaultStateImages[CPOnState] = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPMenuItem/CPMenuItemOnState.png"] size:CGSizeMake(14.0, 14.0)]; - _CPMenuItemDefaultStateHighlightedImages[CPOnState] = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPMenuItem/CPMenuItemOnStateHighlighted.png"] size:CGSizeMake(14.0, 14.0)]; - - _CPMenuItemDefaultStateImages[CPMixedState] = nil; - _CPMenuItemDefaultStateHighlightedImages[CPMixedState] = nil; ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], 3.0, 17.0, 14.0, 17.0, 4.0, 30.0] + forKeys:[ @"submenu-indicator-color", + @"menu-item-selection-color", + @"menu-item-text-shadow-color", + @"menu-item-text-color", + @"menu-item-default-off-state-image", + @"menu-item-default-off-state-highlighted-image", + @"menu-item-default-on-state-image", + @"menu-item-default-on-state-highlighted-image", + @"menu-item-default-mixed-state-image", + @"menu-item-default-mixed-state-highlighted-image", + @"menu-item-separator-color", + @"left-margin", + @"right-margin", + @"state-column-width", + @"indentation-width", + @"vertical-margin", + @"right-columns-margin"]]; } + (id)view @@ -63,7 +74,7 @@ var SUBMENU_INDICATOR_COLOR = nil, + (float)_standardLeftMargin { - return LEFT_MARGIN + STATE_COLUMN_WIDTH; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"left-margin" forClass:[self class]] + [[CPTheme defaultTheme] valueForAttributeWithName:@"state-column-width" forClass:[self class]]; } - (id)initWithFrame:(CGRect)aFrame @@ -95,7 +106,7 @@ var SUBMENU_INDICATOR_COLOR = nil, _submenuIndicatorView = [[_CPMenuItemSubmenuIndicatorView alloc] initWithFrame:CGRectMake(0.0, 0.0, 8.0, 10.0)]; - [_submenuIndicatorView setColor:SUBMENU_INDICATOR_COLOR]; + [_submenuIndicatorView setColor:[self valueForThemeAttribute:@"submenu-indicator-color"]]; [_submenuIndicatorView setAutoresizingMask:CPViewMinXMargin]; [self addSubview:_submenuIndicatorView]; @@ -111,7 +122,10 @@ var SUBMENU_INDICATOR_COLOR = nil, if (![_menuItem isEnabled]) return [CPColor lightGrayColor]; - return _textColor || [CPColor colorWithCalibratedRed:70.0 / 255.0 green:69.0 / 255.0 blue:69.0 / 255.0 alpha:1.0]; + if (_highlighted) + return [CPColor whiteColor]; + + return [self valueForThemeAttribute:@"menu-item-text-color"]; } - (CPColor)textShadowColor @@ -119,7 +133,10 @@ var SUBMENU_INDICATOR_COLOR = nil, if (![_menuItem isEnabled]) return nil; - return _textShadowColor || [CPColor colorWithWhite:1.0 alpha:0.8]; + if (_highlighted) + return nil; + + return [self valueForThemeAttribute:@"menu-item-text-shadow-color"]; } - (void)setFont:(CPFont)aFont @@ -129,16 +146,34 @@ var SUBMENU_INDICATOR_COLOR = nil, - (void)update { - var x = LEFT_MARGIN + [_menuItem indentationLevel] * INDENTATION_WIDTH, + var x = [self valueForThemeAttribute:@"left-margin"] + [_menuItem indentationLevel] * [self valueForThemeAttribute:@"indentation-width"], height = 0.0, hasStateColumn = [[_menuItem menu] showsStateColumn]; if (hasStateColumn) { [_stateView setHidden:NO]; - [_stateView setImage:_CPMenuItemDefaultStateImages[[_menuItem state]] || nil]; + //[_stateView setImage:_CPMenuItemDefaultStateImages[[_menuItem state]] || nil]; - x += STATE_COLUMN_WIDTH; + switch ([_menuItem state]) + { + case CPOnState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-on-state-image"]]; + break; + + case CPOffState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-off-state-image"]]; + break; + + case CPMixedState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-mixed-state-image"]]; + break; + + default: + break; + } + + x += [self valueForThemeAttribute:@"state-column-width"]; } else [_stateView setHidden:YES]; @@ -162,7 +197,7 @@ var SUBMENU_INDICATOR_COLOR = nil, hasSubmenu = [_menuItem hasSubmenu]; if (hasKeyEquivalent || hasSubmenu) - x += RIGHT_COLUMNS_MARGIN; + x += [self valueForThemeAttribute:@"right-columns-margin"]; if (hasKeyEquivalent) { @@ -173,7 +208,7 @@ var SUBMENU_INDICATOR_COLOR = nil, [_keyEquivalentView setTextColor:[self textColor]]; [_keyEquivalentView setTextShadowColor:[self textShadowColor]]; [_keyEquivalentView setTextShadowOffset:CGSizeMake(0, 1)]; - [_keyEquivalentView setFrameOrigin:CGPointMake(x, VERTICAL_MARGIN)]; + [_keyEquivalentView setFrameOrigin:CGPointMake(x, [self valueForThemeAttribute:@"vertical-margin"])]; [_keyEquivalentView sizeToFit]; var keyEquivalentViewFrame = [_keyEquivalentView frame]; @@ -183,7 +218,7 @@ var SUBMENU_INDICATOR_COLOR = nil, height = MAX(height, CGRectGetHeight(keyEquivalentViewFrame)); if (hasSubmenu) - x += RIGHT_COLUMNS_MARGIN; + x += [self valueForThemeAttribute:@"right-columns-margin"]; } else [_keyEquivalentView setHidden:YES]; @@ -202,13 +237,13 @@ var SUBMENU_INDICATOR_COLOR = nil, else [_submenuIndicatorView setHidden:YES]; - height += 2.0 * VERTICAL_MARGIN; + height += 2.0 * [self valueForThemeAttribute:@"vertical-margin"]; imageAndTextViewFrame.origin.y = FLOOR((height - CGRectGetHeight(imageAndTextViewFrame)) / 2.0); [_imageAndTextView setFrame:imageAndTextViewFrame]; if (hasStateColumn) - [_stateView setFrameSize:CGSizeMake(STATE_COLUMN_WIDTH, height)]; + [_stateView setFrameSize:CGSizeMake([self valueForThemeAttribute:@"state-column-width"], height)]; if (hasKeyEquivalent) { @@ -222,7 +257,7 @@ var SUBMENU_INDICATOR_COLOR = nil, [_submenuIndicatorView setFrame:submenuViewFrame]; } - _minSize = CGSizeMake(x + RIGHT_MARGIN, height); + _minSize = CGSizeMake(x + [self valueForThemeAttribute:@"right-margin"], height); [self setAutoresizesSubviews:NO]; [self setFrameSize:_minSize]; @@ -235,37 +270,68 @@ var SUBMENU_INDICATOR_COLOR = nil, if (![_menuItem isEnabled]) return; + _highlighted = shouldHighlight; + + [_imageAndTextView setTextColor:[self textColor]]; + [_keyEquivalentView setTextColor:[self textColor]]; + [_imageAndTextView setTextShadowColor:[self textShadowColor]]; + [_keyEquivalentView setTextShadowColor:[self textShadowColor]]; + if (shouldHighlight) { - [self setBackgroundColor:_CPMenuItemSelectionColor]; - + [self setBackgroundColor:[self valueForThemeAttribute:@"menu-item-selection-color"]]; [_imageAndTextView setImage:[_menuItem alternateImage] || [_menuItem image]]; - [_imageAndTextView setTextColor:[CPColor whiteColor]]; - [_keyEquivalentView setTextColor:[CPColor whiteColor]]; - [_submenuIndicatorView setColor:[CPColor whiteColor]]; - - [_imageAndTextView setTextShadowColor:_CPMenuItemTextShadowColor]; - [_keyEquivalentView setTextShadowColor:_CPMenuItemTextShadowColor]; + [_submenuIndicatorView setColor:[self textColor]]; } else { [self setBackgroundColor:nil]; - [_imageAndTextView setImage:[_menuItem image]]; - [_imageAndTextView setTextColor:[self textColor]]; - [_keyEquivalentView setTextColor:[self textColor]]; - [_submenuIndicatorView setColor:SUBMENU_INDICATOR_COLOR]; - - [_imageAndTextView setTextShadowColor:[self textShadowColor]]; - [_keyEquivalentView setTextShadowColor:[self textShadowColor]]; + [_submenuIndicatorView setColor:[self valueForThemeAttribute:@"submenu-indicator-color"]]; } if ([[_menuItem menu] showsStateColumn]) { if (shouldHighlight) - [_stateView setImage:_CPMenuItemDefaultStateHighlightedImages[[_menuItem state]] || nil]; + { + switch ([_menuItem state]) + { + case CPOnState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-on-state-highlighted-image"]]; + break; + + case CPOffState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-off-state-highlighted-image"]]; + break; + + case CPMixedState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-mixed-state-highlighted-image"]]; + break; + + default: + break; + } + } else - [_stateView setImage:_CPMenuItemDefaultStateImages[[_menuItem state]] || nil]; + { + switch ([_menuItem state]) + { + case CPOnState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-on-state-image"]]; + break; + + case CPOffState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-off-state-image"]]; + break; + + case CPMixedState: + [_stateView setImage:[self valueForThemeAttribute:@"menu-item-default-mixed-state-image"]]; + break; + + default: + break; + } + } } } diff --git a/AppKit/CPMenuItem/_CPMenuItemView.j b/AppKit/CPMenuItem/_CPMenuItemView.j index e29c93a2d..c1f7b5f8f 100644 --- a/AppKit/CPMenuItem/_CPMenuItemView.j +++ b/AppKit/CPMenuItem/_CPMenuItemView.j @@ -1,22 +1,32 @@ +/* + * _CPMenuItemView.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ -@import +@import "CPControl.j" @import "_CPMenuItemSeparatorView.j" @import "_CPMenuItemStandardView.j" @import "_CPMenuItemMenuBarView.j" - -var LEFT_MARGIN = 3.0, - RIGHT_MARGIN = 16.0, - STATE_COLUMN_WIDTH = 14.0, - INDENTATION_WIDTH = 17.0, - VERTICAL_MARGIN = 4.0; - -var _CPMenuItemSelectionColor = nil, - _CPMenuItemTextShadowColor = nil, - - _CPMenuItemDefaultStateImages = [], - _CPMenuItemDefaultStateHighlightedImages = []; +@global CPApp /* @ignore @@ -38,31 +48,23 @@ var _CPMenuItemSelectionColor = nil, CPView _submenuView; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [_CPMenuItemView class]) - return; - - _CPMenuItemSelectionColor = [CPColor colorWithCalibratedRed:95.0 / 255.0 green:131.0 / 255.0 blue:185.0 / 255.0 alpha:1.0]; - _CPMenuItemTextShadowColor = [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]; - - var bundle = [CPBundle bundleForClass:self]; - - _CPMenuItemDefaultStateImages[CPOffState] = nil; - _CPMenuItemDefaultStateHighlightedImages[CPOffState] = nil; - - _CPMenuItemDefaultStateImages[CPOnState] = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPMenuItem/CPMenuItemOnState.png"] size:CGSizeMake(14.0, 14.0)]; - _CPMenuItemDefaultStateHighlightedImages[CPOnState] = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPMenuItem/CPMenuItemOnStateHighlighted.png"] size:CGSizeMake(14.0, 14.0)]; - - _CPMenuItemDefaultStateImages[CPMixedState] = nil; - _CPMenuItemDefaultStateHighlightedImages[CPMixedState] = nil; + return "menu-item-view"; } -+ (float)leftMargin ++ (id)themeAttributes { - return LEFT_MARGIN + STATE_COLUMN_WIDTH; + return [CPDictionary dictionaryWithObjects:[] + forKeys:[]]; } +// Not used in the Appkit +// + (float)leftMargin +// { +// return LEFT_MARGIN + STATE_COLUMN_WIDTH; +// } + - (id)initWithFrame:(CGRect)aFrame forMenuItem:(CPMenuItem)aMenuItem { self = [super initWithFrame:aFrame]; diff --git a/AppKit/CPObjectController.j b/AppKit/CPObjectController.j index 64ee8f5a0..5c3b3a322 100644 --- a/AppKit/CPObjectController.j +++ b/AppKit/CPObjectController.j @@ -24,6 +24,7 @@ @import @import "CPController.j" +@import "CPKeyValueBinding.j" /*! @class @@ -798,7 +799,7 @@ var CPObjectControllerContentKey = @"CPObjectControllerCo [_observationProxies removeObjectAtIndex:index]; - _observedObjects = nil; + _observedObjectsByKeyPath[aKeyPath] = nil; } @end diff --git a/AppKit/CPOpenPanel.j b/AppKit/CPOpenPanel.j index dc0557c47..75956729b 100644 --- a/AppKit/CPOpenPanel.j +++ b/AppKit/CPOpenPanel.j @@ -47,9 +47,9 @@ var options = { directoryURL: [self directoryURL], canChooseFiles: [self canChooseFiles], canChooseDirectories: [self canChooseDirectories], - allowsMultipleSelection: [self allowsMultipleSelection] }; + allowsMultipleSelection: [self allowsMultipleSelection] }, - var result = window.cpOpenPanel(options); + result = window.cpOpenPanel(options); _URLs = result.URLs; diff --git a/AppKit/CPOutlineView.j b/AppKit/CPOutlineView.j index 2fdfff156..0b6f922d2 100644 --- a/AppKit/CPOutlineView.j +++ b/AppKit/CPOutlineView.j @@ -20,9 +20,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPButton.j" @import "CPTableColumn.j" @import "CPTableView.j" +@global CPApp CPOutlineViewColumnDidMoveNotification = @"CPOutlineViewColumnDidMoveNotification"; CPOutlineViewColumnDidResizeNotification = @"CPOutlineViewColumnDidResizeNotification"; @@ -1052,11 +1054,12 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, @ignore We need to offset the dataview and add the disclosure triangle. */ -- (CPView)_dragViewForColumn:(int)theColumnIndex event:(CPEvent)theDragEvent offset:(CPPointPointer)theDragViewOffset +- (CPView)_dragViewForColumn:(int)theColumnIndex event:(CPEvent)theDragEvent offset:(CGPoint)theDragViewOffset { var dragView = [[_CPColumnDragView alloc] initWithLineColor:[self gridColor]], tableColumn = [[self tableColumns] objectAtIndex:theColumnIndex], - bounds = _CGRectMake(0.0, 0.0, [tableColumn width], _CGRectGetHeight([self exposedRect]) + 23.0), + defaultRowHeight = [self valueForThemeAttribute:@"default-row-height"], + bounds = _CGRectMake(0.0, 0.0, [tableColumn width], _CGRectGetHeight([self exposedRect]) + defaultRowHeight), columnRect = [self rectOfColumn:theColumnIndex], headerView = [tableColumn headerView], row = [_exposedRows firstIndex]; @@ -1070,7 +1073,7 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, dataViewFrame.origin.x = 0.0; // Offset by table header height - scroll position - dataViewFrame.origin.y = ( _CGRectGetMinY(dataViewFrame) - _CGRectGetMinY([self exposedRect]) ) + 23.0; + dataViewFrame.origin.y = ( _CGRectGetMinY(dataViewFrame) - _CGRectGetMinY([self exposedRect]) ) + defaultRowHeight; [dataView setFrame:dataViewFrame]; [dataView setObjectValue:[self _objectValueForTableColumn:tableColumn row:row]]; @@ -1184,7 +1187,7 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, /*! @ignore */ -- (id)_parentItemForUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex atMouseOffset:(CPPoint)theOffset +- (id)_parentItemForUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex atMouseOffset:(CGPoint)theOffset { if (_shouldRetargetItem) return _retargetedItem; @@ -1214,7 +1217,7 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, /*! @ignore */ -- (CPRect)_rectForDropHighlightViewBetweenUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex offset:(CPPoint)theOffset +- (CGRect)_rectForDropHighlightViewBetweenUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex offset:(CGPoint)theOffset { // Call super and the update x to reflect the current indentation level var rect = [super _rectForDropHighlightViewBetweenUpperRow:theUpperRowIndex andLowerRow:theLowerRowIndex offset:theOffset], @@ -1727,7 +1730,7 @@ var _loadItemInfoForItem = function(/*CPOutlineView*/ anOutlineView, /*id*/ anIt return [_outlineView._outlineViewDataSource outlineView:_outlineView writeItems:items toPasteboard:thePasteboard]; } -- (int)_childIndexForDropOperation:(CPTableViewDropOperation)theDropOperation row:(int)theRow offset:(CPPoint)theOffset +- (int)_childIndexForDropOperation:(CPTableViewDropOperation)theDropOperation row:(int)theRow offset:(CGPoint)theOffset { if (_outlineView._shouldRetargetChildIndex) return _outlineView._retargedChildIndex; @@ -1751,7 +1754,7 @@ var _loadItemInfoForItem = function(/*CPOutlineView*/ anOutlineView, /*id*/ anIt return childIndex; } -- (void)_parentItemForDropOperation:(CPTableViewDropOperation)theDropOperation row:(int)theRow offset:(CPPoint)theOffset +- (void)_parentItemForDropOperation:(CPTableViewDropOperation)theDropOperation row:(int)theRow offset:(CGPoint)theOffset { if (theDropOperation === CPTableViewDropAbove) return [_outlineView _parentItemForUpperRow:theRow - 1 andLowerRow:theRow atMouseOffset:theOffset] diff --git a/AppKit/CPPasteboard.j b/AppKit/CPPasteboard.j index 5a898ead0..82a533a70 100644 --- a/AppKit/CPPasteboard.j +++ b/AppKit/CPPasteboard.j @@ -22,6 +22,7 @@ @import @import +@import @import @import @@ -117,7 +118,7 @@ var CPPasteboards = nil, if (self) { - _name = aName; +// _name = aName; _types = []; _owners = [CPDictionary dictionary]; diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index 98f837d4c..342233a0b 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -20,8 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import - +@import "CGGeometry.j" @import "CPButton.j" @import "CPKeyValueBinding.j" @import "CPMenu.j" diff --git a/AppKit/CPPopover.j b/AppKit/CPPopover.j index 2125a499a..46991f0d9 100644 --- a/AppKit/CPPopover.j +++ b/AppKit/CPPopover.j @@ -28,7 +28,7 @@ @import "CPImageView.j" @import "CPResponder.j" @import "CPView.j" -@import "_CPAttachedWindow.j" +@import "_CPPopoverWindow.j" CPPopoverBehaviorApplicationDefined = 0; @@ -45,7 +45,7 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, /*! @ingroup appkit @class CPPopover - This class represent a widget that displays a attached + This class represent a widget that displays a popover view relative to another one. Delegate can implement: @@ -67,7 +67,7 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, int _appearance @accessors(property=appearance); int _behavior @accessors(getter=behavior); - _CPAttachedWindow _attachedWindow; + _CPPopoverWindow _popoverWindow; int _implementedDelegateMethods; } @@ -103,9 +103,10 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, */ - (CGRect)positioningRect { - if (![_attachedWindow isVisible]) + if (![_popoverWindow isVisible]) return CGRectMakeZero(); - return [_attachedWindow frame]; + + return [_popoverWindow frame]; } /*! Sets the frame of the popover @@ -113,9 +114,10 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, */ - (void)setPositioningRect:(CGRect)aRect { - if (![_attachedWindow isVisible]) + if (![_popoverWindow isVisible]) return; - [_attachedWindow setFrame:aRect]; + + [_popoverWindow setFrame:aRect]; } /*! @@ -125,8 +127,9 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, */ - (CGSize)contentSize { - if (![_attachedWindow isVisible]) + if (![_popoverWindow isVisible]) return CGRectMakeZero(); + return [[_contentViewController view] frameSize]; } @@ -135,7 +138,7 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, @param aSize the desired size */ -- (void)setContentSize:(CPSize)aSize +- (void)setContentSize:(CGSize)aSize { [[_contentViewController view] setFrameSize:aSize]; } @@ -147,7 +150,7 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, */ - (BOOL)isShown { - return [_attachedWindow isVisible]; + return [_popoverWindow isVisible]; } /*! @@ -164,7 +167,7 @@ Set the behavior of the CPPopover. It can be: return; _behavior = aBehavior; - [_attachedWindow setStyleMask:[self styleMaskForBehavior]]; + [_popoverWindow setStyleMask:[self styleMaskForBehavior]]; } - (void)setDelegate:(id)aDelegate @@ -210,29 +213,24 @@ Set the behavior of the CPPopover. It can be: [CPException raise:CPInternalInconsistencyException reason:@"contentViewController must not be nil"]; // If the popover is currently closing, do nothing. That is what Cocoa does. - if ([_attachedWindow isClosing]) + if ([_popoverWindow isClosing]) return; if (_implementedDelegateMethods & CPPopoverDelegate_popover_willShow_) [_delegate popoverWillShow:self]; - if (!_attachedWindow) + if (!_popoverWindow) { - _attachedWindow = [[_CPAttachedWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:[self styleMaskForBehavior]]; - - var parentWindow = [positioningView window]; - - if (![parentWindow isKindOfClass:_CPAttachedWindow]) - [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(parentWindowWillClose:) name:CPWindowWillCloseNotification object:parentWindow]; + _popoverWindow = [[_CPPopoverWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:[self styleMaskForBehavior]]; } - [_attachedWindow setAppearance:_appearance]; - [_attachedWindow setAnimates:_animates]; - [_attachedWindow setDelegate:self]; - [_attachedWindow setMovableByWindowBackground:NO]; - [_attachedWindow setFrame:[_attachedWindow frameRectForContentRect:[[_contentViewController view] frame]]]; - [_attachedWindow setContentView:[_contentViewController view]]; - [_attachedWindow positionRelativeToRect:positioningRect ofView:positioningView preferredEdge:preferredEdge]; + [_popoverWindow setAppearance:_appearance]; + [_popoverWindow setAnimates:_animates]; + [_popoverWindow setDelegate:self]; + [_popoverWindow setMovableByWindowBackground:NO]; + [_popoverWindow setFrame:[_popoverWindow frameRectForContentRect:[[_contentViewController view] frame]]]; + [_popoverWindow setContentView:[_contentViewController view]]; + [_popoverWindow positionRelativeToRect:positioningRect ofView:positioningView preferredEdge:preferredEdge]; if (!_animates && _implementedDelegateMethods & CPPopoverDelegate_popover_didShow_) [_delegate popoverDidShow:self]; @@ -256,16 +254,16 @@ Set the behavior of the CPPopover. It can be: */ - (void)_close { - if ([_attachedWindow isClosing] || ![self isShown]) + if ([_popoverWindow isClosing] || ![self isShown]) return; if (_implementedDelegateMethods & CPPopoverDelegate_popover_willClose_) [_delegate popoverWillClose:self]; - [_attachedWindow close]; + [_popoverWindow close]; - // popoverDidClose will be sent from attachedWindowDidClose, since - // the attached window will close asynchronously when animating. + // popoverDidClose will be sent from popoverWindowDidClose, since + // the popover window will close asynchronously when animating. } @@ -279,7 +277,7 @@ Set the behavior of the CPPopover. It can be: */ - (IBAction)performClose:(id)sender { - if ([_attachedWindow isClosing]) + if ([_popoverWindow isClosing]) return; if (_implementedDelegateMethods & CPPopoverDelegate_popover_shouldClose_) @@ -294,46 +292,30 @@ Set the behavior of the CPPopover. It can be: #pragma mark Delegates /*! @ignore */ -- (BOOL)attachedWindowShouldClose:(_CPAttachedWindow)anAttachedWindow +- (BOOL)popoverWindowShouldClose:(_CPPopoverWindow)aPopoverWindow { [self performClose:self]; // We return NO, because we want the CPPopover to determine - // if the attached window can be closed and to give us a chance + // if the popover window can be closed and to give us a chance // to send delegate messages. return NO; } /*! @ignore */ -- (void)attachedWindowDidClose:(_CPAttachedWindow)anAttachedWindow +- (void)popoverWindowDidClose:(_CPPopoverWindow)aPopoverWindow { if (_implementedDelegateMethods & CPPopoverDelegate_popover_didClose_) [_delegate popoverDidClose:self]; } /*! @ignore */ -- (void)attachedWindowDidShow:(_CPAttachedWindow)anAttachedWindow +- (void)popoverWindowDidShow:(_CPPopoverWindow)aPopoverWindow { if (_implementedDelegateMethods & CPPopoverDelegate_popover_didShow_) [_delegate popoverDidShow:self]; } - -#pragma mark - -#pragma mark Notifications - -/*! - @ignore - - This method is called only when a non-popover parent window - is closing. In that case popovers should order out. -*/ -- (void)parentWindowWillClose:(CPNotification)aNotification -{ - [_attachedWindow orderOut:nil]; - [self performClose:nil]; -} - @end @implementation CPPopover (Deprecated) @@ -347,7 +329,7 @@ Set the behavior of the CPPopover. It can be: @end -var CPPopoverNeedsNewAttachedWindowKey = @"CPPopoverNeedsNewAttachedWindowKey", +var CPPopoverNeedsNewPopoverWindowKey = @"CPPopoverNeedsNewPopoverWindowKey", CPPopoverAppearanceKey = @"CPPopoverAppearanceKey", CPPopoverAnimatesKey = @"CPPopoverAnimatesKey", CPPopoverContentViewControllerKey = @"CPPopoverContentViewControllerKey", diff --git a/AppKit/CPProgressIndicator.j b/AppKit/CPProgressIndicator.j index b7166e51c..ee3c6e187 100644 --- a/AppKit/CPProgressIndicator.j +++ b/AppKit/CPProgressIndicator.j @@ -23,6 +23,7 @@ @import "CGGeometry.j" @import "CPImageView.j" @import "CPView.j" +@import "CPWindow_Constants.j" /* @@ -41,11 +42,7 @@ CPProgressIndicatorSpinningStyle = 1; */ CPProgressIndicatorHUDBarStyle = 2; -var CPProgressIndicatorSpinningStyleColors = nil, - - CPProgressIndicatorClassName = nil, - CPProgressIndicatorStyleIdentifiers = nil, - CPProgressIndicatorStyleSizes = nil; +var CPProgressIndicatorSpinningStyleColors = nil; /*! @ingroup appkit @@ -73,66 +70,15 @@ var CPProgressIndicatorSpinningStyleColors = nil, BOOL _isDisplayedWhenStopped; } -/* - @ignore -*/ -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [CPProgressIndicator class]) - return; + return @"progress-indicator"; +} - var bundle = [CPBundle bundleForClass:self]; - - CPProgressIndicatorSpinningStyleColors = []; - - CPProgressIndicatorSpinningStyleColors[CPMiniControlSize] = [CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile: - [bundle pathForResource:@"CPProgressIndicator/CPProgressIndicatorSpinningStyleMini.gif"] size:CGSizeMake(16.0, 16.0)]]; - CPProgressIndicatorSpinningStyleColors[CPSmallControlSize] = [CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile: - [bundle pathForResource:@"CPProgressIndicator/CPProgressIndicatorSpinningStyleSmall.gif"] size:CGSizeMake(32.0, 32.0)]]; - CPProgressIndicatorSpinningStyleColors[CPRegularControlSize] = [CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile: - [bundle pathForResource:@"CPProgressIndicator/CPProgressIndicatorSpinningStyleRegular.gif"] size:CGSizeMake(64.0, 64.0)]]; - - CPProgressIndicatorBezelBorderViewPool = []; - - var start = CPProgressIndicatorBarStyle, - end = CPProgressIndicatorHUDBarStyle; - - for (; start <= end; ++start) - { - CPProgressIndicatorBezelBorderViewPool[start] = []; - CPProgressIndicatorBezelBorderViewPool[start][CPMiniControlSize] = []; - CPProgressIndicatorBezelBorderViewPool[start][CPSmallControlSize] = []; - CPProgressIndicatorBezelBorderViewPool[start][CPRegularControlSize] = []; - } - - CPProgressIndicatorClassName = [self className]; - CPProgressIndicatorStyleIdentifiers = []; - - CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorBarStyle] = @"Bar"; - CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorSpinningStyle] = @"Spinny"; - CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorHUDBarStyle] = @"HUDBar"; - - var regularIdentifier = _CPControlIdentifierForControlSize(CPRegularControlSize), - smallIdentifier = _CPControlIdentifierForControlSize(CPSmallControlSize), - miniIdentifier = _CPControlIdentifierForControlSize(CPMiniControlSize); - - CPProgressIndicatorStyleSizes = []; - - // Bar Style - var prefixes = [ - CPProgressIndicatorClassName + @"BezelBorder" + CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorBarStyle], - CPProgressIndicatorClassName + @"Bar" + CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorBarStyle], - CPProgressIndicatorClassName + @"BezelBorder" + CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorHUDBarStyle], - CPProgressIndicatorClassName + @"Bar" + CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorHUDBarStyle] - ]; - - for (var i = 0, count = prefixes.length; i < count; i++) - { - var prefix = prefixes[i]; - CPProgressIndicatorStyleSizes[prefix + regularIdentifier] = [_CGSizeMake(3.0, 16.0), _CGSizeMake(1.0, 16.0), _CGSizeMake(3.0, 16.0)]; - CPProgressIndicatorStyleSizes[prefix + smallIdentifier] = [_CGSizeMake(3.0, 16.0), _CGSizeMake(1.0, 16.0), _CGSizeMake(3.0, 16.0)]; - CPProgressIndicatorStyleSizes[prefix + miniIdentifier] = [_CGSizeMake(3.0, 16.0), _CGSizeMake(1.0, 16.0), _CGSizeMake(3.0, 16.0)]; - } ++ (CPDictionary)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], 25, [CPNull null], [CPNull null], [CPNull null], [CPNull null]] + forKeys:[@"indeterminate-bar-color", @"bar-color", @"default-height", @"bezel-color", @"spinning-mini-gif", @"spinning-small-gif", @"spinning-regular-gif"]]; } - (id)initWithFrame:(CGRect)aFrame @@ -151,8 +97,7 @@ var CPProgressIndicatorSpinningStyleColors = nil, _controlSize = CPRegularControlSize; - [self updateBackgroundColor]; - [self drawBar]; + [self setNeedsLayout]; } return self; @@ -343,6 +288,8 @@ var CPProgressIndicatorSpinningStyleColors = nil, _style = aStyle; + [self setTheme:(_style === CPProgressIndicatorHUDBarStyle) ? [CPTheme defaultHudTheme] : [CPTheme defaultTheme]]; + [self updateBackgroundColor]; } @@ -354,8 +301,7 @@ var CPProgressIndicatorSpinningStyleColors = nil, if (_style == CPProgressIndicatorSpinningStyle) [self setFrameSize:[[CPProgressIndicatorSpinningStyleColors[_controlSize] patternImage] size]]; else - [self setFrameSize:CGSizeMake(CGRectGetWidth([self frame]), CPProgressIndicatorStyleSizes[ - CPProgressIndicatorClassName + @"BezelBorder" + CPProgressIndicatorStyleIdentifiers[CPProgressIndicatorBarStyle] + _CPControlIdentifierForControlSize(_controlSize)][0].height)]; + [self setFrameSize:CGSizeMake(CGRectGetWidth([self frame]), [self valueForThemeAttribute:@"default-height"])]; } /*! @@ -405,20 +351,7 @@ var CPProgressIndicatorSpinningStyleColors = nil, /* @ignore */ - (void)drawBar { - if (_style == CPProgressIndicatorSpinningStyle) - return; - - var barView = [self layoutEphemeralSubviewNamed:"bar-view" - positioned:CPWindowBelow - relativeToEphemeralSubviewNamed:nil]; - - [barView setBackgroundColor:_CPControlThreePartImagePattern( - NO, - CPProgressIndicatorStyleSizes, - CPProgressIndicatorClassName, - @"Bar", - CPProgressIndicatorStyleIdentifiers[_style], - _CPControlIdentifierForControlSize(_controlSize))]; + [self setNeedsLayout]; } - (CPView)createEphemeralSubviewNamed:(CPString)aName @@ -436,7 +369,10 @@ var CPProgressIndicatorSpinningStyleColors = nil, if (barWidth > 0.0 && barWidth < 4.0) barWidth = 4.0; - return _CGRectMake(0, 0, barWidth, 16.0); + if (_isIndeterminate) + barWidth = width; + + return _CGRectMake(0, 0, barWidth, [self valueForThemeAttribute:@"default-height"]); } return nil; @@ -445,6 +381,17 @@ var CPProgressIndicatorSpinningStyleColors = nil, /* @ignore */ - (void)updateBackgroundColor { + [self setNeedsLayout]; +} + +- (void)layoutSubviews +{ + CPProgressIndicatorSpinningStyleColors = []; + + CPProgressIndicatorSpinningStyleColors[CPMiniControlSize] = [self valueForThemeAttribute:@"spinning-mini-gif"]; + CPProgressIndicatorSpinningStyleColors[CPSmallControlSize] = [self valueForThemeAttribute:@"spinning-small-gif"]; + CPProgressIndicatorSpinningStyleColors[CPRegularControlSize] = [self valueForThemeAttribute:@"spinning-regular-gif"]; + if (YES)//_isBezeled) { if (_style == CPProgressIndicatorSpinningStyle) @@ -458,15 +405,17 @@ var CPProgressIndicatorSpinningStyleColors = nil, } else { - [self setBackgroundColor:_CPControlThreePartImagePattern( - NO, - CPProgressIndicatorStyleSizes, - CPProgressIndicatorClassName, - @"BezelBorder", - CPProgressIndicatorStyleIdentifiers[_style], - _CPControlIdentifierForControlSize(_controlSize))]; + [self setBackgroundColor:[self currentValueForThemeAttribute:@"bezel-color"]]; + + var barView = [self layoutEphemeralSubviewNamed:"bar-view" + positioned:CPWindowBelow + relativeToEphemeralSubviewNamed:nil]; + + if (_isIndeterminate) + [barView setBackgroundColor:[self currentValueForThemeAttribute:@"indeterminate-bar-color"]]; + else + [barView setBackgroundColor:[self currentValueForThemeAttribute:@"bar-color"]]; - [self drawBar]; } } else diff --git a/AppKit/CPRadio.j b/AppKit/CPRadio.j index b5644ba15..1fa0164a6 100644 --- a/AppKit/CPRadio.j +++ b/AppKit/CPRadio.j @@ -25,6 +25,8 @@ @import "CPButton.j" +@global CPApp + /*! @ingroup appkit diff --git a/AppKit/CPResponder.j b/AppKit/CPResponder.j index 73199a1b5..1bf73056d 100644 --- a/AppKit/CPResponder.j +++ b/AppKit/CPResponder.j @@ -21,7 +21,11 @@ */ @import +@import +@import "CPEvent.j" + +@class CPKeyBinding CPDeleteKeyCode = 8; CPTabKeyCode = 9; diff --git a/AppKit/CPRuleEditor/CPPredicateEditor.j b/AppKit/CPRuleEditor/CPPredicateEditor.j index 74317e001..887f8af68 100644 --- a/AppKit/CPRuleEditor/CPPredicateEditor.j +++ b/AppKit/CPRuleEditor/CPPredicateEditor.j @@ -220,7 +220,7 @@ var children = [CPArray array], itemsCount = 0, menuIndex = -1, - itemsArray, + itemArray, templateView = [templateViews objectAtIndex:count], isPopup = [templateView isKindOfClass:[CPPopUpButton class]]; diff --git a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j index fda92ebf0..21e6043f5 100644 --- a/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j +++ b/AppKit/CPRuleEditor/CPPredicateEditorRowTemplate.j @@ -20,6 +20,17 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import + +@import "CPCheckBox.j" +@import "CPPopUpButton.j" +@import "CPMenuItem.j" +@import "CPTextField.j" + +// NOTE: CPDatePicker is not implemented yet +@class CPDatePicker + + CPUndefinedAttributeType = 0; CPInteger16AttributeType = 100; CPInteger32AttributeType = 200; @@ -583,7 +594,7 @@ CPTransformableAttributeType = 1800; - (CPPopUpButton)_viewFromExpressions:(CPArray)expressions { - var popup = [[CPPopUpButton alloc] initWithFrame:CPMakeRect(0, 0, 100, 18)], + var popup = [[CPPopUpButton alloc] initWithFrame:CGRectMake(0, 0, 100, 18)], count = [expressions count]; for (var i = 0; i < count; i++) diff --git a/AppKit/CPRuleEditor/CPRuleEditor.j b/AppKit/CPRuleEditor/CPRuleEditor.j index 9f30eb120..d9ea81ba7 100644 --- a/AppKit/CPRuleEditor/CPRuleEditor.j +++ b/AppKit/CPRuleEditor/CPRuleEditor.j @@ -20,35 +20,26 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import -@import -@import @import @import @import @import +@import "CPPasteboard.j" +@import "CPRuleEditor_Constants.j" +@import "CPTextField.j" +@import "CPViewAnimation.j" +@import "CPView.j" + @import "_CPRuleEditorViewSliceRow.j" @import "_CPRuleEditorLocalizer.j" -CPRuleEditorPredicateLeftExpression = "CPRuleEditorPredicateLeftExpression"; -CPRuleEditorPredicateRightExpression = "CPRuleEditorPredicateRightExpression"; -CPRuleEditorPredicateComparisonModifier = "CPRuleEditorPredicateComparisonModifier"; -CPRuleEditorPredicateOptions = "CPRuleEditorPredicateOptions"; -CPRuleEditorPredicateOperatorType = "CPRuleEditorPredicateOperatorType"; -CPRuleEditorPredicateCustomSelector = "CPRuleEditorPredicateCustomSelector"; -CPRuleEditorPredicateCompoundType = "CPRuleEditorPredicateCompoundType"; +@class CPCompoundPredicate +@class CPComparisonPredicate -CPRuleEditorRowsDidChangeNotification = "CPRuleEditorRowsDidChangeNotification"; -CPRuleEditorRulesDidChangeNotification = "CPRuleEditorRulesDidChangeNotification"; - -CPRuleEditorNestingModeSingle = 0; // Only a single row is allowed. Plus/minus buttons will not be shown -CPRuleEditorNestingModeList = 1; // Allows a single list, with no nesting and no compound rows -CPRuleEditorNestingModeCompound = 2; // Unlimited nesting and compound rows; this is the default -CPRuleEditorNestingModeSimple = 3; // One compound row at the top with subrows beneath it, and no further nesting allowed - -CPRuleEditorRowTypeSimple = 0; -CPRuleEditorRowTypeCompound = 1; +@global CPDirectPredicateModifier +@global CPCaseInsensitivePredicateOption +@global CPOrPredicateType var CPRuleEditorItemPBoardType = @"CPRuleEditorItemPBoardType", itemsContext = "items", @@ -1512,23 +1503,10 @@ TODO: implement oldRows = [CPArray arrayWithArray:newRows]; [oldRows removeObjectsInArray:changeNewValue]; } - else if (changeKind === CPKeyValueChangeRemoval) - { - newRows = [self _subrowObjectsOfObject:object]; - oldRows = [CPArray arrayWithArray:newRows]; - var delIndexes = [change objectForKey:CPKeyValueChangeIndexesKey]; - [oldRows insertObjects:delObjects atIndexes:changeOldValue]; // Pas sur que ce soit bon - } [self _changedRowArray:newRows withOldRowArray:oldRows forParent:object]; [self _reconfigureSubviewsAnimate:[self _wantsRowAnimations]]; } - else if (context === itemsContext) - { - } - else if (context === valuesContext) - { - } } - (void)_changedItem:(id)fromItem toItem:(id)toItem inRow:(int)aRow atCriteriaIndex:(int)fromItemIndex @@ -1703,8 +1681,8 @@ TODO: implement - (void)_setBoundDataSource:(id)datasource withKeyPath:(CPString)keyPath options:(CPDictionary)options { - if ([observableController respondsToSelector:@selector(objectClass)]) - _rowClass = [observableController objectClass]; + if ([datasource respondsToSelector:@selector(objectClass)]) + _rowClass = [datasource objectClass]; _boundArrayKeyPath = keyPath; _boundArrayOwner = datasource; @@ -2058,7 +2036,7 @@ TODO: implement [super setNeedsDisplay:flag]; } -- (void)setFrameSize:(CPSize)size +- (void)setFrameSize:(CGSize)size { [self setNeedsDisplay:YES]; @@ -2126,7 +2104,7 @@ TODO: implement [dragview setBackgroundColor:[firstSlice backgroundColor]]; [dragview setAlphaValue:0.7]; - dragPoint = CPMakePoint(0, firstIndex * _sliceHeight); + dragPoint = CGPointMake(0, firstIndex * _sliceHeight); [self dragView:dragview at:dragPoint @@ -2188,7 +2166,7 @@ TODO: implement if (_subviewIndexOfDropLine !== CPNotFound && _subviewIndexOfDropLine < numberOfRows) { var previousBelowSlice = [_slices objectAtIndex:_subviewIndexOfDropLine]; - [previousBelowSlice setFrameOrigin:CPMakePoint(0, [previousBelowSlice rowIndex] * _sliceHeight)]; + [previousBelowSlice setFrameOrigin:CGPointMake(0, [previousBelowSlice rowIndex] * _sliceHeight)]; } if (indexOfDropLine <= _lastRow && indexOfDropLine < numberOfRows) @@ -2254,7 +2232,7 @@ TODO: implement return [CPIndexSet indexSetWithIndex:CPDragOperationMove]; } -- (void)draggedView:(CPView)dragView endedAt:(CPPoint)aPoint operation:(CPDragOperation)operation +- (void)draggedView:(CPView)dragView endedAt:(CGPoint)aPoint operation:(CPDragOperation)operation { _draggingRows = nil; @@ -2578,7 +2556,7 @@ var dropSeparatorColor = [CPColor colorWithHexString:@"4886ca"]; { } -- (void)drawRect:(CPRect)rect +- (void)drawRect:(CGRect)rect { var context = [[CPGraphicsContext currentContext] graphicsPort]; CGContextSetFillColor(context, dropSeparatorColor); diff --git a/AppKit/CPRuleEditor/CPRuleEditor_Constants.j b/AppKit/CPRuleEditor/CPRuleEditor_Constants.j new file mode 100644 index 000000000..d68b6f48a --- /dev/null +++ b/AppKit/CPRuleEditor/CPRuleEditor_Constants.j @@ -0,0 +1,40 @@ +/* + * CPRuleEditor_Constants.j + * AppKit + * + * Created by cacaodev. + * Copyright 2011, cacaodev. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +CPRuleEditorPredicateLeftExpression = "CPRuleEditorPredicateLeftExpression"; +CPRuleEditorPredicateRightExpression = "CPRuleEditorPredicateRightExpression"; +CPRuleEditorPredicateComparisonModifier = "CPRuleEditorPredicateComparisonModifier"; +CPRuleEditorPredicateOptions = "CPRuleEditorPredicateOptions"; +CPRuleEditorPredicateOperatorType = "CPRuleEditorPredicateOperatorType"; +CPRuleEditorPredicateCustomSelector = "CPRuleEditorPredicateCustomSelector"; +CPRuleEditorPredicateCompoundType = "CPRuleEditorPredicateCompoundType"; + +CPRuleEditorRowsDidChangeNotification = "CPRuleEditorRowsDidChangeNotification"; +CPRuleEditorRulesDidChangeNotification = "CPRuleEditorRulesDidChangeNotification"; + +CPRuleEditorNestingModeSingle = 0; // Only a single row is allowed. Plus/minus buttons will not be shown +CPRuleEditorNestingModeList = 1; // Allows a single list, with no nesting and no compound rows +CPRuleEditorNestingModeCompound = 2; // Unlimited nesting and compound rows; this is the default +CPRuleEditorNestingModeSimple = 3; // One compound row at the top with subrows beneath it, and no further nesting allowed + +CPRuleEditorRowTypeSimple = 0; +CPRuleEditorRowTypeCompound = 1; diff --git a/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j b/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j index 4226d0e1c..ed9b59f0f 100644 --- a/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j +++ b/AppKit/CPRuleEditor/_CPPredicateEditorRowNode.j @@ -1,9 +1,25 @@ /* - * Created by cacaodev@gmail.com. - * Copyright (c) 2011 Pear, Inc. All rights reserved. + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@class _CPPredicateEditorTree; +@import +@import + @implementation _CPPredicateEditorRowNode : CPObject { _CPPredicateEditorTree tree @accessors; diff --git a/AppKit/CPRuleEditor/_CPPredicateEditorTree.j b/AppKit/CPRuleEditor/_CPPredicateEditorTree.j index 004c8d5c7..f0d47086f 100644 --- a/AppKit/CPRuleEditor/_CPPredicateEditorTree.j +++ b/AppKit/CPRuleEditor/_CPPredicateEditorTree.j @@ -1,8 +1,25 @@ /* - * Created by cacaodev@gmail.com. - * Copyright (c) 2011 Pear, Inc. All rights reserved. + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import +@import + @implementation _CPPredicateEditorTree : CPObject { CPPredicateEditorRowTemplate template @accessors; diff --git a/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j b/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j index e11febcc5..f1530dacd 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorLocalizer.j @@ -1,11 +1,27 @@ /* - * Created by cacaodev@gmail.com. - * Copyright (c) 2011 Pear, Inc. All rights reserved. + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @import @import @import +@import +@import var LocalizerStringsRegex = new RegExp("\"(.+)\"\\s*=\\s*\"(.+)\"\\s*;\\s*(//.+)?"); @@ -13,7 +29,7 @@ var LocalizerStringsRegex = new RegExp("\"(.+)\"\\s*=\\s*\"(.+)\"\\s*;\\s*(//.+) { CPDictionary _dictionary @accessors(property=dictionary); CPURLConnection connection; - CPURLRequest resquest; + CPURLRequest request; } - (void)loadContentOfURL:(CPURL)aURL @@ -77,3 +93,5 @@ var LocalizerStringsRegex = new RegExp("\"(.+)\"\\s*=\\s*\"(.+)\"\\s*;\\s*(//.+) return aString; } + +@end diff --git a/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j b/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j index d2f182647..3b48eff50 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorPopUpButton.j @@ -1,10 +1,27 @@ /* - * Created by cacaodev@gmail.com. - * Copyright (c) 2011 Pear, Inc. All rights reserved. + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPBezierPath.j" @import "CPPopUpButton.j" +@class _CPRuleEditorViewSlice + var GRADIENT_START_COLOR = "#fcfcfc", GRADIENT_END_COLOR = "#dfdfdf", BORDER_COLOR = "#BDBDBD"; @@ -46,9 +63,11 @@ else if (CPBrowserIsEngine(CPInternetExplorerBrowserEngine)) { [self setBordered:NO]; +#if PLATFORM(DOM) var style = _DOMElement.style; style.border = "1px solid " + BORDER_COLOR; style[GRADIENT_PROPERTY] = GRADIENT_NORMAL; +#endif } - (id)initWithFrame:(CGRect)aFrame @@ -67,9 +86,9 @@ else if (CPBrowserIsEngine(CPInternetExplorerBrowserEngine)) return self; } -- (id)hitTest:(CPPoint)point +- (id)hitTest:(CGPoint)point { - if (!CPRectContainsPoint([self frame], point) || ![self sliceIsEditable]) + if (!CGRectContainsPoint([self frame], point) || ![self sliceIsEditable]) return nil; return self; @@ -100,11 +119,13 @@ else if (CPBrowserIsEngine(CPInternetExplorerBrowserEngine)) - (void)layoutSubviews { +#if PLATFORM(DOM) radius = FLOOR(CGRectGetHeight([self bounds]) / 2); var style = _DOMElement.style, radiusCSS = radius + "px"; style.borderRadius = radiusCSS; +#endif [super layoutSubviews]; } @@ -141,9 +162,11 @@ else if (CPBrowserIsEngine(CPInternetExplorerBrowserEngine)) { [self setBordered:NO]; +#if PLATFORM(DOM) var style = _DOMElement.style; style.border = "1px solid " + BORDER_COLOR; style[GRADIENT_PROPERTY] = GRADIENT_NORMAL; +#endif } - (id)initWithFrame:(CGRect)aFrame @@ -164,6 +187,7 @@ else if (CPBrowserIsEngine(CPInternetExplorerBrowserEngine)) - (void)layoutSubviews { +#if PLATFORM(DOM) radius = FLOOR(CGRectGetHeight([self bounds]) / 2); var style = _DOMElement.style, @@ -171,6 +195,7 @@ else if (CPBrowserIsEngine(CPInternetExplorerBrowserEngine)) style.borderRadius = radiusCSS; style[GRADIENT_PROPERTY] = ([self isHighlighted]) ? GRADIENT_HIGHLIGHTED : GRADIENT_NORMAL; +#endif [super layoutSubviews]; } diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j index 61f22edcd..54a148ee6 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j @@ -1,17 +1,34 @@ /* - * Created by cacaodev@gmail.com. - * Copyright (c) 2011 Pear, Inc. All rights reserved. + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPView.j" + @implementation _CPRuleEditorViewSlice : CPView { CPRuleEditor _ruleEditor; int _indentation @accessors(property=indentation); int _rowIndex @accessors(property=rowIndex); - CPRect _animationTargetRect @accessors(property=_animationTargetRect); + CGRect _animationTargetRect @accessors(property=_animationTargetRect); BOOL _selected @accessors(getter=_isSelected, setter=_setSelected:); BOOL _lastSelected @accessors(getter=_isLastSelected, setter=_setLastSelected:); CPColor _backgroundColor @accessors(property=backgroundColor); + BOOL _editable @accessors(getter=isEditable, setter=setEditable:); } - (void)removeFromSuperview @@ -41,7 +58,7 @@ _selected = select; } -- (void)drawRect:(CPRect)rect +- (void)drawRect:(CGRect)rect { var context = [[CPGraphicsContext currentContext] graphicsPort], bounds = [self bounds], @@ -81,13 +98,13 @@ - (void)mouseDown:(CPEvent)theEvent { - if (editable) + if (_editable) [_ruleEditor _mouseDownOnSlice:self withEvent:theEvent]; } - (void)mouseUp:(CPEvent)theEvent { - if (editable) + if (_editable) [_ruleEditor _mouseUpOnSlice:self withEvent:theEvent]; } diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j index 127785b67..c70a6ba12 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j @@ -1,11 +1,27 @@ /* - * Created by cacaodev@gmail.com. - * Copyright (c) 2011 Pear, Inc. All rights reserved. + * Created by cacaodev@gmail.com. + * Copyright (c) 2011 Pear, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPRuleEditor_Constants.j" @import "_CPRuleEditorViewSlice.j" @import "_CPRuleEditorPopUpButton.j" -@import "CPRuleEditor.j" + +@global CPApp var CONTROL_HEIGHT = 16., BUTTON_HEIGHT = 16.; @@ -18,7 +34,7 @@ var CONTROL_HEIGHT = 16., CPMutableArray _ruleOptionInitialViewFrames; CPButton _addButton; CPButton _subtractButton; - BOOL editable; + CPRuleEditorRowType _rowType @accessors; CPRuleEditorRowType _plusButtonRowType; } @@ -37,14 +53,14 @@ var CONTROL_HEIGHT = 16., _ruleOptionFrames = [[CPMutableArray alloc] init]; _ruleOptionInitialViewFrames = [[CPMutableArray alloc] init]; _ruleOptionViews = [[CPMutableArray alloc] init]; - editable = [_ruleEditor isEditable]; + _editable = [_ruleEditor isEditable]; _addButton = [self _createAddRowButton]; _subtractButton = [self _createDeleteRowButton]; [_addButton setToolTip:[_ruleEditor _toolTipForAddSimpleRowButton]]; [_subtractButton setToolTip:[_ruleEditor _toolTipForDeleteRowButton]]; - [_addButton setHidden:!editable]; - [_subtractButton setHidden:!editable]; + [_addButton setHidden:!_editable]; + [_subtractButton setHidden:!_editable]; [self addSubview:_addButton]; [self addSubview:_subtractButton]; @@ -123,15 +139,16 @@ var CONTROL_HEIGHT = 16., - (_CPRuleEditorTextField)_createStaticTextFieldWithStringValue:(CPString)text { - var textField = [[_CPRuleEditorTextField alloc] initWithFrame:CPMakeRect(0, 0, 200, CONTROL_HEIGHT)], - refont = [_ruleEditor font], - font = [CPFont fontWithName:[refont familyName] size:[refont size] + 2], + var textField = [[_CPRuleEditorTextField alloc] initWithFrame:CGRectMakeZero()], + ruleEditorFont = [_ruleEditor font], + font = [CPFont fontWithName:[ruleEditorFont familyName] size:[ruleEditorFont size] + 2], + localizedText = [[_ruleEditor standardLocalizer] localizedStringForString:text], + size = [localizedText sizeWithFont:font]; - localizedText = [[_ruleEditor standardLocalizer] localizedStringForString:text]; + [textField setFrameSize:CGSizeMake(size.width + 4, CONTROL_HEIGHT + 2)]; [textField setValue:font forThemeAttribute:@"font"]; [textField setStringValue:localizedText]; - [textField sizeToFit]; return textField; } @@ -300,7 +317,7 @@ var CONTROL_HEIGHT = 16., [_correspondingRuleItems setArray:ruleItems]; - if (!editable) + if (!_editable) [self _updateEnabledStateForSubviews]; [self _relayoutSubviewsWidthChanged:YES]; @@ -353,14 +370,6 @@ var CONTROL_HEIGHT = 16., optionFrame.origin.y = (rowHeight - CGRectGetHeight(optionFrame)) / 2 - 2; - // small positioning fix - if ([ruleOptionView isKindOfClass:CPTextField]) - { - optionFrame.origin.y += 2; - [_ruleOptionViews[i] setValue:CGInsetMake(7, 7, 7, 8) forThemeAttribute:@"content-inset"]; - } - - if (widthChanged) { optionFrame.origin.x = optionViewOriginX; @@ -390,14 +399,9 @@ var CONTROL_HEIGHT = 16., [self _setRowTypeToAddFromPlusButton:type]; } -- (BOOL)isEditable -{ - return editable; -} - - (void)setEditable:(BOOL)value { - editable = value; + [super setEditable:value] // [self _updateEnabledStateForSubviews]; [self _updateButtonVisibilities]; } @@ -473,7 +477,7 @@ var CONTROL_HEIGHT = 16., [self layoutSubviews]; } -- (void)drawRect:(CPRect)rect +- (void)drawRect:(CGRect)rect { [super drawRect:rect]; } @@ -485,13 +489,6 @@ var CONTROL_HEIGHT = 16., return NO; } -- (BOOL)_isRuleStaticTextField:(CPView)view -{ - if ([view isKindOfClass:[_CPRuleEditorTextField class]]) - return YES; - return NO; -} - - (void)_sendRuleAction:(id)sender { [_ruleEditor _updatePredicate]; @@ -513,19 +510,17 @@ var CONTROL_HEIGHT = 16., - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; - if (self != nil) + if (self) { - [self setBordered:NO]; - [self setEditable:NO]; [self setDrawsBackground:NO]; } return self; } -- (id)hitTest:(CPPoint)point +- (id)hitTest:(CGPoint)point { - if (!CPRectContainsPoint([self frame], point)) + if (!CGRectContainsPoint([self frame], point)) return nil; return [self superview]; diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index 93fb6b374..a177d0651 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -1112,8 +1112,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 = _CGRectGetWidth([_verticalScroller frame]), - horizontalScrollerHeight = _CGRectGetHeight([_horizontalScroller frame]), + verticalScrollerWidth = [CPScroller scrollerWidthInStyle:[_verticalScroller style]], + horizontalScrollerHeight = [CPScroller scrollerWidthInStyle:[_horizontalScroller style]], hasVerticalScroll = difference.height > 0.0, hasHorizontalScroll = difference.width > 0.0, shouldShowVerticalScroller = _hasVerticalScroller && (!_autohidesScrollers || hasVerticalScroll), @@ -1256,7 +1256,7 @@ Notifies the delegate when the scroll view has finished scrolling. #pragma mark - #pragma mark Overrides -- (void)drawRect:(CPRect)aRect +- (void)drawRect:(CGRect)aRect { [super drawRect:aRect]; diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index d3d674a8a..32ab6377b 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -25,7 +25,12 @@ #include "../Foundation/Foundation.h" +@import "CPAnimation.j" @import "CPControl.j" +@import "CPWindow_Constants.j" +@import "CPViewAnimation.j" + +@global CPApp // CPScroller Constants CPScrollerNoPart = 0; @@ -217,7 +222,7 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); [self unsetThemeState:CPThemeStateScrollViewLegacy]; } - [self _adjustScrollerSize]; + //[self _adjustScrollerSize]; } - (void)setObjectValue:(id)aValue @@ -523,6 +528,7 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark"); - (void)layoutSubviews { + [self _adjustScrollerSize]; [self checkSpaceForParts]; var index = 0, diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index c9f6ba148..4baef5dc8 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -21,22 +21,19 @@ */ @import "CPButton.j" +@import "CPMenu.j" +@import "CPMenuItem.j" @import "CPTextField.j" +@class CPUserDefaults + +@global CPApp + CPSearchFieldRecentsTitleMenuItemTag = 1000; CPSearchFieldRecentsMenuItemTag = 1001; CPSearchFieldClearRecentsMenuItemTag = 1002; CPSearchFieldNoRecentsMenuItemTag = 1003; -var CPSearchFieldSearchImage = nil, - CPSearchFieldFindImage = nil, - CPSearchFieldCancelImage = nil, - CPSearchFieldCancelPressedImage = nil; - -var SEARCH_BUTTON_DEFAULT_WIDTH = 25.0, - CANCEL_BUTTON_DEFAULT_WIDTH = 22.0, - BUTTON_DEFAULT_HEIGHT = 22.0; - var CPAutosavedRecentsChangedNotification = @"CPAutosavedRecentsChangedNotification"; var RECENT_SEARCH_PREFIX = @" "; @@ -70,16 +67,15 @@ var RECENT_SEARCH_PREFIX = @" "; return @"searchfield" } -+ (void)initialize ++ (CPDictionary)themeAttributes { - if (self !== [CPSearchField class]) - return; - - var bundle = [CPBundle bundleForClass:self]; - CPSearchFieldSearchImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPSearchField/CPSearchFieldSearch.png"] size:_CGSizeMake(SEARCH_BUTTON_DEFAULT_WIDTH, BUTTON_DEFAULT_HEIGHT)]; - CPSearchFieldFindImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPSearchField/CPSearchFieldFind.png"] size:_CGSizeMake(SEARCH_BUTTON_DEFAULT_WIDTH, BUTTON_DEFAULT_HEIGHT)]; - CPSearchFieldCancelImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPSearchField/CPSearchFieldCancel.png"] size:_CGSizeMake(CANCEL_BUTTON_DEFAULT_WIDTH, BUTTON_DEFAULT_HEIGHT)]; - CPSearchFieldCancelPressedImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPSearchField/CPSearchFieldCancelPressed.png"] size:_CGSizeMake(CANCEL_BUTTON_DEFAULT_WIDTH, BUTTON_DEFAULT_HEIGHT)]; + return [CPDictionary dictionaryWithJSObject: + { + @"image-search": [CPNull null], + @"image-find": [CPNull null], + @"image-cancel": [CPNull null], + @"image-cancel-pressed": [CPNull null] + }]; } - (id)initWithFrame:(CGRect)frame @@ -170,7 +166,7 @@ var RECENT_SEARCH_PREFIX = @" "; - (void)resetSearchButton { var button = [self searchButton], - searchButtonImage = (_searchMenuTemplate === nil) ? CPSearchFieldSearchImage : CPSearchFieldFindImage; + searchButtonImage = (_searchMenuTemplate === nil) ? [self valueForThemeAttribute:@"image-search"] : [self valueForThemeAttribute:@"image-find"]; [button setBordered:NO]; [button setImageScaling:CPImageScaleAxesIndependently]; @@ -193,6 +189,7 @@ var RECENT_SEARCH_PREFIX = @" "; [_cancelButton setAutoresizingMask:CPViewMinXMargin]; [_cancelButton setTarget:self]; [_cancelButton setAction:@selector(cancelOperation:)]; + [_cancelButton setButtonType:CPMomentaryChangeButton]; [self _updateCancelButtonVisibility]; [self addSubview:_cancelButton]; } @@ -216,8 +213,8 @@ var RECENT_SEARCH_PREFIX = @" "; var button = [self cancelButton]; [button setBordered:NO]; [button setImageScaling:CPImageScaleAxesIndependently]; - [button setImage:CPSearchFieldCancelImage]; - [button setAlternateImage:CPSearchFieldCancelPressedImage]; + [button setImage:[self valueForThemeAttribute:@"image-cancel"]]; + [button setAlternateImage:[self valueForThemeAttribute:@"image-cancel-pressed"]]; [button setAutoresizingMask:CPViewMinXMargin]; [button setTarget:self]; [button setAction:@selector(cancelOperation:)]; @@ -258,7 +255,9 @@ var RECENT_SEARCH_PREFIX = @" "; */ - (CGRect)searchButtonRectForBounds:(CGRect)rect { - return _CGRectMake(5, (_CGRectGetHeight(rect) - BUTTON_DEFAULT_HEIGHT) / 2, SEARCH_BUTTON_DEFAULT_WIDTH, BUTTON_DEFAULT_HEIGHT); + var size = [[self valueForThemeAttribute:@"image-search"] size] || CGSizeMakeZero(); + + return _CGRectMake(5, (_CGRectGetHeight(rect) - size.height) / 2, size.width, size.height); } /*! @@ -268,7 +267,9 @@ var RECENT_SEARCH_PREFIX = @" "; */ - (CGRect)cancelButtonRectForBounds:(CGRect)rect { - return _CGRectMake(_CGRectGetWidth(rect) - CANCEL_BUTTON_DEFAULT_WIDTH - 5, (_CGRectGetHeight(rect) - CANCEL_BUTTON_DEFAULT_WIDTH) / 2, BUTTON_DEFAULT_HEIGHT, BUTTON_DEFAULT_HEIGHT); + var size = [[self valueForThemeAttribute:@"image-cancel"] size] || CGSizeMakeZero(); + + return _CGRectMake(_CGRectGetWidth(rect) - size.width - 5, (_CGRectGetHeight(rect) - size.width) / 2, size.height, size.height); } // Managing Menu Templates @@ -679,7 +680,7 @@ var RECENT_SEARCH_PREFIX = @" "; return; var aFrame = [[self superview] convertRect:[self frame] toView:nil], - location = CPMakePoint(aFrame.origin.x + 10, aFrame.origin.y + aFrame.size.height - 4); + location = CGPointMake(aFrame.origin.x + 10, aFrame.origin.y + aFrame.size.height - 4); 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]; diff --git a/AppKit/CPSegmentedControl.j b/AppKit/CPSegmentedControl.j index 00e0118fb..b94cc8ea0 100644 --- a/AppKit/CPSegmentedControl.j +++ b/AppKit/CPSegmentedControl.j @@ -23,7 +23,10 @@ @import @import "CPControl.j" +@import "CPWindow_Constants.j" +@import "_CPImageAndTextView.j" +@global CPApp CPSegmentSwitchTrackingSelectOne = 0; CPSegmentSwitchTrackingSelectAny = 1; @@ -465,7 +468,7 @@ CPSegmentSwitchTrackingMomentary = 2; } else if (aName === "right-segment-bezel") { - return CPRectMake(CGRectGetWidth([self bounds]) - contentInset.right, + return CGRectMake(CGRectGetWidth([self bounds]) - contentInset.right, bezelInset.top, contentInset.right, height); @@ -801,6 +804,7 @@ CPSegmentSwitchTrackingMomentary = 2; return; var highlighted = [self testSegment:location] === _trackingSegment; + if (highlighted != _trackingHighlighted) { _trackingHighlighted = highlighted; diff --git a/AppKit/CPShadow.j b/AppKit/CPShadow.j index 98a3bf014..34dcdbc5f 100644 --- a/AppKit/CPShadow.j +++ b/AppKit/CPShadow.j @@ -31,7 +31,7 @@ */ @implementation CPShadow : CPObject { - CPSize _offset; + CGSize _offset; float _blurRadius; CPColor _color; @@ -51,7 +51,7 @@ } /* @ignore */ -- (id)_initWithOffset:(CPSize)anOffset blurRadius:(float)aBlurRadius color:(CPColor)aColor +- (id)_initWithOffset:(CGSize)anOffset blurRadius:(float)aBlurRadius color:(CPColor)aColor { self = [super init]; @@ -99,4 +99,4 @@ return _cssString; } -@end \ No newline at end of file +@end diff --git a/AppKit/CPShadowView.j b/AppKit/CPShadowView.j index 081e0666a..7a3b8f261 100644 --- a/AppKit/CPShadowView.j +++ b/AppKit/CPShadowView.j @@ -24,25 +24,15 @@ @import "CGGeometry.j" @import "CPImage.j" -@import "CPImageView.j" @import "CPView.j" CPLightShadow = 0; CPHeavyShadow = 1; -var CPShadowViewLightBackgroundColor = nil, - CPShadowViewHeavyBackgroundColor = nil; +CPThemeStateShadowViewLight = CPThemeState("shadowview-style-light"); +CPThemeStateShadowViewHeavy = CPThemeState("shadowview-style-heavy"); -var LIGHT_LEFT_INSET = 3.0, - LIGHT_RIGHT_INSET = 3.0, - LIGHT_TOP_INSET = 3.0, - LIGHT_BOTTOM_INSET = 5.0, - - HEAVY_LEFT_INSET = 7.0, - HEAVY_RIGHT_INSET = 7.0, - HEAVY_TOP_INSET = 5.0, - HEAVY_BOTTOM_INSET = 5.0; /*! @ingroup appkit @@ -52,40 +42,26 @@ var LIGHT_LEFT_INSET = 3.0, CPShadowWeight _weight; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [CPShadowView class]) - return; + return "shadow-view"; +} - var bundle = [CPBundle bundleForClass:[self class]]; ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithJSObject: + { + @"bezel-color": [CPNull null], + @"content-inset": CGInsetMakeZero() + }]; +} - CPShadowViewLightBackgroundColor = CPColorWithImages([ - [@"CPShadowView/CPShadowViewLightTopLeft.png", 9.0, 9.0, bundle], - [@"CPShadowView/CPShadowViewLightTop.png", 1.0, 9.0, bundle], - [@"CPShadowView/CPShadowViewLightTopRight.png", 9.0, 9.0, bundle], ++ (CGRect)frameForContentFrame:(CGRect)aFrame withWeight:(CPShadowWeight)aWeight +{ + var shadowView = [CPShadowView new], + inset = [shadowView valueForThemeAttribute:@"content-inset" inState:(aWeight == CPLightShadow) ? CPThemeStateShadowViewLight : CPThemeStateShadowViewHeavy]; - [@"CPShadowView/CPShadowViewLightLeft.png", 9.0, 1.0, bundle], - nil, - [@"CPShadowView/CPShadowViewLightRight.png", 9.0, 1.0, bundle], - - [@"CPShadowView/CPShadowViewLightBottomLeft.png", 9.0, 9.0, bundle], - [@"CPShadowView/CPShadowViewLightBottom.png", 1.0, 9.0, bundle], - [@"CPShadowView/CPShadowViewLightBottomRight.png", 9.0, 9.0, bundle] - ]); - - CPShadowViewHeavyBackgroundColor = CPColorWithImages([ - [@"CPShadowView/CPShadowViewHeavyTopLeft.png", 17.0, 17.0, bundle], - [@"CPShadowView/CPShadowViewHeavyTop.png", 1.0, 17.0, bundle], - [@"CPShadowView/CPShadowViewHeavyTopRight.png", 17.0, 17.0, bundle], - - [@"CPShadowView/CPShadowViewHeavyLeft.png", 17.0, 1.0, bundle], - nil, - [@"CPShadowView/CPShadowViewHeavyRight.png", 17.0, 1.0, bundle], - - [@"CPShadowView/CPShadowViewHeavyBottomLeft.png", 17.0, 17.0, bundle], - [@"CPShadowView/CPShadowViewHeavyBottom.png", 1.0, 17.0, bundle], - [@"CPShadowView/CPShadowViewHeavyBottomRight.png", 17.0, 17.0, bundle] - ]); + return CGRectMake(_CGRectGetMinX(aFrame) - inset.left, _CGRectGetMinY(aFrame) - inset.top, _CGRectGetWidth(aFrame) + inset.left + inset.right, _CGRectGetHeight(aFrame) + inset.top + inset.bottom); } + (id)shadowViewEnclosingView:(CPView)aView @@ -102,15 +78,16 @@ var LIGHT_LEFT_INSET = 3.0, [shadowView setWeight:aWeight]; var size = [shadowView frame].size, - width = size.width - [shadowView leftInset] - [shadowView rightInset], - height = size.height - [shadowView topInset] - [shadowView bottomInset], + inset = [shadowView currentValueForThemeAttribute:@"content-inset"], + width = size.width - inset.left - inset.right, + height = size.height - inset.top - inset.bottom, enclosingView = [aView superview]; [shadowView setHitTests:[aView hitTests]]; [shadowView setAutoresizingMask:[aView autoresizingMask]]; [aView removeFromSuperview]; [shadowView addSubview:aView]; - [aView setFrame:CGRectMake([shadowView leftInset], [shadowView topInset], width, height)] + [aView setFrame:CGRectMake(inset.left, inset.top, width, height)]; [enclosingView addSubview:shadowView]; } @@ -123,9 +100,7 @@ var LIGHT_LEFT_INSET = 3.0, if (self) { - _weight = CPLightShadow; - - [self setBackgroundColor:CPShadowViewLightBackgroundColor]; + [self setWeight:CPLightShadow]; [self setHitTests:NO]; } @@ -141,54 +116,45 @@ var LIGHT_LEFT_INSET = 3.0, _weight = aWeight; if (_weight == CPLightShadow) - [self setBackgroundColor:CPShadowViewLightBackgroundColor]; - + [self setThemeState:CPThemeStateShadowViewLight]; else - [self setBackgroundColor:CPShadowViewHeavyBackgroundColor]; + [self setThemeState:CPThemeStateShadowViewHeavy]; + + [self setNeedsLayout]; } - (float)leftInset { - return _weight == CPLightShadow ? LIGHT_LEFT_INSET : HEAVY_LEFT_INSET; + return [self currentValueForThemeAttribute:@"content-inset"].left; } - (float)rightInset { - return _weight == CPLightShadow ? LIGHT_RIGHT_INSET : HEAVY_RIGHT_INSET; + return [self currentValueForThemeAttribute:@"content-inset"].right; } - (float)topInset { - return _weight == CPLightShadow ? LIGHT_TOP_INSET : HEAVY_TOP_INSET; + return [self currentValueForThemeAttribute:@"content-inset"].top; } - (float)bottomInset { - return _weight == CPLightShadow ? LIGHT_BOTTOM_INSET : HEAVY_BOTTOM_INSET; + return [self currentValueForThemeAttribute:@"content-inset"].bottom; } - (float)horizontalInset { - if (_weight == CPLightShadow) - return LIGHT_LEFT_INSET + LIGHT_RIGHT_INSET; + var currentContentInset = [self currentValueForThemeAttribute:@"content-inset"]; - return HEAVY_LEFT_INSET + HEAVY_RIGHT_INSET; + return currentContentInset.left + currentContentInset.right; } - (float)verticalInset { - if (_weight == CPLightShadow) - return LIGHT_TOP_INSET + LIGHT_BOTTOM_INSET; + var currentContentInset = [self currentValueForThemeAttribute:@"content-inset"]; - return HEAVY_TOP_INSET + HEAVY_BOTTOM_INSET; -} - -+ (CGRect)frameForContentFrame:(CGRect)aFrame withWeight:(CPShadowWeight)aWeight -{ - if (aWeight == CPLightShadow) - return CGRectMake(_CGRectGetMinX(aFrame) - LIGHT_LEFT_INSET, _CGRectGetMinY(aFrame) - LIGHT_TOP_INSET, _CGRectGetWidth(aFrame) + LIGHT_LEFT_INSET + LIGHT_RIGHT_INSET, _CGRectGetHeight(aFrame) + LIGHT_TOP_INSET + LIGHT_BOTTOM_INSET); - else - return CGRectMake(_CGRectGetMinX(aFrame) - HEAVY_LEFT_INSET, _CGRectGetMinY(aFrame) - HEAVY_TOP_INSET, _CGRectGetWidth(aFrame) + HEAVY_LEFT_INSET + HEAVY_RIGHT_INSET, _CGRectGetHeight(aFrame) + HEAVY_TOP_INSET + HEAVY_BOTTOM_INSET); + return currentContentInset.top + currentContentInset.bottom; } - (CGRect)frameForContentFrame:(CGRect)aFrame @@ -201,4 +167,11 @@ var LIGHT_LEFT_INSET = 3.0, [self setFrame:[self frameForContentFrame:aFrame]]; } +- (void)layoutSubviews +{ + [super layoutSubviews]; + + [self setBackgroundColor:[self currentValueForThemeAttribute:@"bezel-color"]]; +} + @end diff --git a/AppKit/CPSlider.j b/AppKit/CPSlider.j index 63f85c1ed..ba291ac09 100644 --- a/AppKit/CPSlider.j +++ b/AppKit/CPSlider.j @@ -21,6 +21,7 @@ */ @import "CPControl.j" +@import "CPWindow_Constants.j" /*! SLIDER STATES */ @@ -39,6 +40,8 @@ CPCircularSlider = 1; double _altIncrementValue; BOOL _isVertical; + + CGSize _dragOffset; } + (CPString)defaultThemeClass diff --git a/AppKit/CPSliderColorPicker.j b/AppKit/CPSliderColorPicker.j index 3bf8106db..38aa8427c 100644 --- a/AppKit/CPSliderColorPicker.j +++ b/AppKit/CPSliderColorPicker.j @@ -20,8 +20,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPView.j" @import "CPColorPicker.j" +@import "CPSlider.j" +@import "CPTextField.j" +@import "CPView.j" + +@global CPColorPickerViewWidth +@global CPColorPickerViewHeight +@global CPSliderColorPickerMode /* @@ -65,7 +71,7 @@ - (id)initView { - aFrame = CGRectMake(0, 0, CPColorPickerViewWidth, CPColorPickerViewHeight); + var aFrame = CGRectMake(0, 0, CPColorPickerViewWidth, CPColorPickerViewHeight); _contentView = [[CPView alloc] initWithFrame:aFrame]; [_contentView setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; diff --git a/AppKit/CPSound.j b/AppKit/CPSound.j index 9fcbd9a9e..3b5dda2ed 100644 --- a/AppKit/CPSound.j +++ b/AppKit/CPSound.j @@ -21,6 +21,7 @@ */ @import +@import CPSoundLoadStateEmpty = 0; CPSoundLoadStateLoading = 1; @@ -59,7 +60,7 @@ CPSoundPlayBackStatePause = 2; if (self = [super init]) { _loadStatus = CPSoundLoadStateEmpty; - _loops = NO; +// _loops = NO; _audioTag = document.createElement("audio"); _audioTag.preload = YES; _playRequestBeforeLoad = NO; diff --git a/AppKit/CPSplitView.j b/AppKit/CPSplitView.j index cd6734518..cbd8b0bbe 100644 --- a/AppKit/CPSplitView.j +++ b/AppKit/CPSplitView.j @@ -25,6 +25,10 @@ @import "CPButtonBar.j" @import "CPImage.j" @import "CPView.j" +@import "CPCursor.j" + +@class CPUserDefaults +@global CPApp #define SPLIT_VIEW_MAYBE_POST_WILL_RESIZE() \ if ((_suppressResizeNotificationsMask & DidPostWillResizeNotification) === 0) \ @@ -51,10 +55,7 @@ CPSplitViewDidResizeSubviewsNotification = @"CPSplitViewDidResizeSubviewsNotification"; CPSplitViewWillResizeSubviewsNotification = @"CPSplitViewWillResizeSubviewsNotification"; -var CPSplitViewHorizontalImage = nil, - CPSplitViewVerticalImage = nil, - - ShouldSuppressResizeNotifications = 1, +var ShouldSuppressResizeNotifications = 1, DidPostWillResizeNotification = 1 << 1, DidSuppressResizeNotification = 1 << 2; @@ -104,22 +105,16 @@ var CPSplitViewHorizontalImage = nil, + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[1.0, 10.0, [CPColor grayColor]] - forKeys:[@"divider-thickness", @"pane-divider-thickness", @"pane-divider-color"]]; -} - -/* - @ignore -*/ -+ (void)initialize -{ - if (self !== [CPSplitView class]) - return; - - var bundle = [CPBundle bundleForClass:self]; - - CPSplitViewHorizontalImage = CPImageInBundle("CPSplitView/CPSplitViewHorizontal.png", CGSizeMake(5.0, 10.0), bundle); - CPSplitViewVerticalImage = CPImageInBundle("CPSplitView/CPSplitViewVertical.png", CGSizeMake(10.0, 5.0), bundle); + return [CPDictionary dictionaryWithObjects:[1.0, + 10.0, + [CPColor grayColor], + [CPNull null], + [CPNull null]] + forKeys:[@"divider-thickness", + @"pane-divider-thickness", + @"pane-divider-color", + @"horizontal-divider-color", + @"vertical-divider-color"]]; } - (id)initWithFrame:(CGRect)aFrame @@ -202,7 +197,7 @@ var CPSplitViewHorizontalImage = nil, _originComponent = [self isVertical] ? "x" : "y"; _sizeComponent = [self isVertical] ? "width" : "height"; - _dividerImagePath = [self isVertical] ? [CPSplitViewVerticalImage filename] : [CPSplitViewHorizontalImage filename]; + _dividerImagePath = [self isVertical] ? [[self valueForThemeAttribute:@"vertical-divider-color"] filename] : [[self valueForThemeAttribute:@"horizontal-divider-color"] filename]; return changed; } @@ -793,7 +788,7 @@ var CPSplitViewHorizontalImage = nil, [self setNeedsDisplay:YES]; } -- (void)resizeSubviewsWithOldSize:(CPSize)oldSize +- (void)resizeSubviewsWithOldSize:(CGSize)oldSize { if ([_delegate respondsToSelector:@selector(splitView:resizeSubviewsWithOldSize:)]) { @@ -1102,7 +1097,7 @@ The sum of the views and the sum of the dividers should be equal to the size of for (var i = 0; i < count; i++) { var frame = [_subviews[i] frame]; - [positions addObject:CPStringFromRect(frame)]; + [positions addObject:CGStringFromRect(frame)]; [preCollapseArray addObject:[_preCollapsePositions objectForKey:"" + i]]; } @@ -1149,7 +1144,7 @@ The sum of the views and the sum of the dividers should be equal to the size of for (var i = 0, count = [frames count] - 1; i < count; i++) { - var frame = CPRectFromString(frames[i]); + var frame = CGRectFromString(frames[i]); position += frame.size[_sizeComponent]; [self setPosition:position ofDividerAtIndex:i]; diff --git a/AppKit/CPStepper.j b/AppKit/CPStepper.j index 76c7a3c9d..fc332c3cd 100644 --- a/AppKit/CPStepper.j +++ b/AppKit/CPStepper.j @@ -20,9 +20,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import -@import -@import +@import "CPControl.j" +@import "CPButton.j" +@import "CPTextField.j" @@ -55,11 +55,15 @@ */ + (CPStepper)stepperWithInitialValue:(float)aValue minValue:(float)aMinValue maxValue:(float)aMaxValue { - var stepper = [[CPStepper alloc] initWithFrame:_CGRectMake(0, 0, 19, 25)]; + var stepper = [[CPStepper alloc] initWithFrame:_CGRectMakeZero()]; + [stepper setDoubleValue:aValue]; [stepper setMinValue:aMinValue]; [stepper setMaxValue:aMaxValue]; + // _sizeToFit will put the good size for the stepper depending of the current theme + [stepper _sizeToFit]; + return stepper; } @@ -173,6 +177,7 @@ downSize = [self valueForThemeAttribute:@"down-button-size"], upFrame = _CGRectMake(aFrame.size.width - upSize.width, 0, upSize.width, upSize.height), downFrame = _CGRectMake(aFrame.size.width - downSize.width, upSize.height, downSize.width, downSize.height); + [_buttonUp setFrame:upFrame]; [_buttonDown setFrame:downFrame]; @@ -184,6 +189,11 @@ [_buttonDown setValue:[self valueForThemeAttribute:@"bezel-color-down-button" inState:CPThemeStateBordered | CPThemeStateHighlighted] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered | CPThemeStateHighlighted]; } +- (void)_sizeToFit +{ + [self setFrame:CGRectMake([self frameOrigin].x, [self frameOrigin].y, 0, 0)]; +} + /*! Set if CPStepper should autorepeat. @param shouldAutoRepeat if YES, the first mouse down does one increment (decrement) and, after each delay of 0.5 seconds diff --git a/AppKit/CPStringDrawing.j b/AppKit/CPStringDrawing.j index 9069e7f5c..6c3ce7ce0 100644 --- a/AppKit/CPStringDrawing.j +++ b/AppKit/CPStringDrawing.j @@ -22,6 +22,7 @@ @import +@import "CGGeometry.j" @import "CPPlatformString.j" diff --git a/AppKit/CPTabViewItem.j b/AppKit/CPTabViewItem.j index 34cf8c01b..c2e4347ea 100644 --- a/AppKit/CPTabViewItem.j +++ b/AppKit/CPTabViewItem.j @@ -60,6 +60,7 @@ CPPressedTab = 2; CPView _auxiliaryView; CPTabView _tabView; + unsigned _tabState; // Looks like it is not yet implemented } - (id)init diff --git a/AppKit/CPTableColumn.j b/AppKit/CPTableColumn.j index 335da30eb..6cf191f2d 100644 --- a/AppKit/CPTableColumn.j +++ b/AppKit/CPTableColumn.j @@ -26,8 +26,11 @@ @import @import -@import "CPTableHeaderView.j" +@import "CPTextField.j" +@global CPTableViewColumnDidResizeNotification + +@class _CPTableColumnHeaderView CPTableColumnNoResizing = 0; CPTableColumnAutoresizingMask = 1 << 0; diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 9051de645..20f2256ac 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -22,9 +22,15 @@ @import +@import "CPCursor.j" +@import "CPPasteboard.j" @import "CPTableColumn.j" -@import "CPTableView.j" @import "CPView.j" +@import "_CPImageAndTextView.j" + +@class CPTableView + +@global CPApp @implementation _CPTableColumnHeaderView : CPView @@ -46,6 +52,7 @@ - (void)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; + if (self) [self _init]; diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 49a08a7d3..dfbe0bb30 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -23,13 +23,26 @@ @import @import +@import "CPDragServer_Constants.j" @import "CGGradient.j" - -@import "CPControl.j" -@import "CPTableColumn.j" -@import "_CPCornerView.j" -@import "CPScroller.j" @import "CPCompatibility.j" +@import "CPControl.j" +@import "CPImageView.j" +@import "CPScroller.j" +@import "CPScrollView.j" +@import "CPTableColumn.j" +@import "CPTableHeaderView.j" +@import "CPText.j" +@import "_CPCornerView.j" + +@class CPButton +@class CPClipView +@class CPUserDefaults +@class CPTableHeaderView +@class CPClipView +@class CPButton + +@global CPApp CPTableViewColumnDidMoveNotification = @"CPTableViewColumnDidMoveNotification"; @@ -260,8 +273,26 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; */ + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null], [CPNull null]] - forKeys:["alternating-row-colors", "grid-color", "highlighted-grid-color", "selection-color", "sourcelist-selection-color", "sort-image", "sort-image-reversed", "selection-radius"]]; + return [CPDictionary dictionaryWithObjects:[[CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + [CPNull null], + 25.0] + forKeys:[@"alternating-row-colors", + @"grid-color", + @"highlighted-grid-color", + @"selection-color", + @"sourcelist-selection-color", + @"sort-image", + @"sort-image-reversed", + @"selection-radius", + @"image-generic-file", + @"default-row-height"]]; } - (id)initWithFrame:(CGRect)aFrame @@ -291,7 +322,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; _numberOfHiddenColumns = 0; _intercellSpacing = _CGSizeMake(3.0, 2.0); - _rowHeight = 23.0; + _rowHeight = [self valueForThemeAttribute:@"default-row-height"]; [self setGridColor:[CPColor colorWithHexString:@"dce0e2"]]; [self setGridStyleMask:CPTableViewGridNone]; @@ -2803,7 +2834,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad */ - (CPImage)dragImageForRowsWithIndexes:(CPIndexSet)dragRows tableColumns:(CPArray)theTableColumns event:(CPEvent)dragEvent offset:(CGPoint)dragImageOffset { - return [[CPImage alloc] initWithContentsOfFile:@"Frameworks/AppKit/Resources/GenericFile.png" size:CGSizeMake(32,32)]; + return [self valueForThemeAttribute:@"image-generic-file"]; } /*! @@ -2860,11 +2891,12 @@ Your delegate can implement this method to avoid subclassing the tableview to ad // Copy the dataviews add them to a transparent drag view and use that drag view // to make it appear we are dragging images of those rows (as you would do in regular Cocoa) */ -- (CPView)_dragViewForColumn:(int)theColumnIndex event:(CPEvent)theDragEvent offset:(CPPointPointer)theDragViewOffset +- (CPView)_dragViewForColumn:(int)theColumnIndex event:(CPEvent)theDragEvent offset:(CGPoint)theDragViewOffset { var dragView = [[_CPColumnDragView alloc] initWithLineColor:[self gridColor]], tableColumn = [[self tableColumns] objectAtIndex:theColumnIndex], - bounds = _CGRectMake(0.0, 0.0, [tableColumn width], _CGRectGetHeight([self exposedRect]) + 23.0), + defaultRowHeight = [self valueForThemeAttribute:@"default-row-height"], + bounds = _CGRectMake(0.0, 0.0, [tableColumn width], _CGRectGetHeight([self exposedRect]) + defaultRowHeight), columnRect = [self rectOfColumn:theColumnIndex], headerView = [tableColumn headerView], row = [_exposedRows firstIndex]; @@ -2878,7 +2910,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad dataViewFrame.origin.x = 0.0; // Offset by table header height - scroll position - dataViewFrame.origin.y = ( _CGRectGetMinY(dataViewFrame) - _CGRectGetMinY([self exposedRect]) ) + 23.0; + dataViewFrame.origin.y = ( _CGRectGetMinY(dataViewFrame) - _CGRectGetMinY([self exposedRect]) ) + defaultRowHeight; [dataView setFrame:dataViewFrame]; [self _setObjectValueForTableColumn:tableColumn row:row forView:dataView]; @@ -4131,7 +4163,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if ([self canDragRowsWithIndexes:_draggedRowIndexes atPoint:aPoint] && [_dataSource tableView:self writeRowsWithIndexes:_draggedRowIndexes toPasteboard:pboard]) { var currentEvent = [CPApp currentEvent], - offset = CPPointMakeZero(), + offset = CGPointMakeZero(), tableColumns = [_tableColumns objectsAtIndexes:_exposedColumns]; // We deviate from the default Cocoa implementation here by asking for a view in stead of an image @@ -4148,13 +4180,13 @@ Your delegate can implement this method to avoid subclassing the tableview to ad tableColumns:tableColumns event:currentEvent offset:offset]; - view = [[CPImageView alloc] initWithFrame:CPMakeRect(0, 0, [image size].width, [image size].height)]; + view = [[CPImageView alloc] initWithFrame:CGRectMake(0, 0, [image size].width, [image size].height)]; [view setImage:image]; } var bounds = [view bounds], - viewLocation = CPPointMake(aPoint.x - CGRectGetWidth(bounds) / 2 + offset.x, aPoint.y - CGRectGetHeight(bounds) / 2 + offset.y); - [self dragView:view at:viewLocation offset:CPPointMakeZero() event:[CPApp currentEvent] pasteboard:pboard source:self slideBack:YES]; + viewLocation = CGPointMake(aPoint.x - CGRectGetWidth(bounds) / 2 + offset.x, aPoint.y - CGRectGetHeight(bounds) / 2 + offset.y); + [self dragView:view at:viewLocation offset:CGPointMakeZero() event:[CPApp currentEvent] pasteboard:pboard source:self slideBack:YES]; _startTrackingPoint = nil; return NO; @@ -4333,7 +4365,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad // If there is no (the default) or to little inter cell spacing we create some room for the CPTableViewDropAbove indicator // This probably doesn't work if the row height is smaller than or around 5.0 if ([self intercellSpacing].height < 5.0) - rowRect = CPRectInset(rowRect, 0.0, 5.0 - [self intercellSpacing].height); + rowRect = CGRectInset(rowRect, 0.0, 5.0 - [self intercellSpacing].height); // If the altered row rect contains the drag point we show the drop on // We don't show the drop on indicator if we are dragging below the last row @@ -4381,7 +4413,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad /*! @ignore */ -- (CPRect)_rectForDropHighlightViewOnRow:(int)theRowIndex +- (CGRect)_rectForDropHighlightViewOnRow:(int)theRowIndex { if (theRowIndex >= [self numberOfRows]) theRowIndex = [self numberOfRows] - 1; @@ -4392,7 +4424,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad /*! @ignore */ -- (CPRect)_rectForDropHighlightViewBetweenUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex offset:(CPPoint)theOffset +- (CGRect)_rectForDropHighlightViewBetweenUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex offset:(CGPoint)theOffset { if (theLowerRowIndex > [self numberOfRows]) theLowerRowIndex = [self numberOfRows]; @@ -4621,6 +4653,14 @@ Your delegate can implement this method to avoid subclassing the tableview to ad return YES; } +/*! + @ignore +*/ +- (BOOL)needsPanelToBecomeKey +{ + return YES; +} + /*! @ignore */ @@ -4875,7 +4915,7 @@ var CPTableViewDataSourceKey = @"CPTableViewDataSourceKey", _tableColumns = [aCoder decodeObjectForKey:CPTableViewTableColumnsKey] || []; [_tableColumns makeObjectsPerformSelector:@selector(setTableView:) withObject:self]; - _rowHeight = [aCoder decodeFloatForKey:CPTableViewRowHeightKey] || 23.0; + _rowHeight = [aCoder decodeFloatForKey:CPTableViewRowHeightKey] || [self valueForThemeAttribute:@"default-row-height"]; _intercellSpacing = [aCoder decodeSizeForKey:CPTableViewIntercellSpacingKey]; if (_CGSizeEqualToSize(_intercellSpacing, _CGSizeMakeZero())) diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 83a552b7f..ff91a3e96 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -25,8 +25,14 @@ @import "CPControl.j" @import "CPStringDrawing.j" @import "CPCompatibility.j" +@import "CPText.j" +@import "CPWindow_Constants.j" @import "_CPImageAndTextView.j" +@class CPPasteboard + +@global CPApp +@global CPStringPboardType CPTextFieldSquareBezel = 0; /*! A textfield bezel with squared corners. */ CPTextFieldRoundedBezel = 1; /*! A textfield bezel with rounded corners. */ @@ -34,8 +40,6 @@ CPTextFieldRoundedBezel = 1; /*! A textfield bezel with rounded corne CPTextFieldDidFocusNotification = @"CPTextFieldDidFocusNotification"; CPTextFieldDidBlurNotification = @"CPTextFieldDidBlurNotification"; -#if PLATFORM(DOM) - var CPTextFieldDOMInputElement = nil, CPTextFieldDOMPasswordInputElement = nil, CPTextFieldDOMStandardInputElement = nil, @@ -49,8 +53,6 @@ var CPTextFieldDOMInputElement = nil, CPTextFieldBlurHandler = nil, CPTextFieldInputFunction = nil; -#endif - var CPSecureTextFieldCharacter = "\u2022"; @@ -200,7 +202,7 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[_CGInsetMakeZero(), _CGInsetMake(2.0, 2.0, 2.0, 2.0), [CPNull null]] + return [CPDictionary dictionaryWithObjects:[_CGInsetMakeZero(), _CGInsetMake(1.0, 0.0, 0.0, 0.0), [CPNull null]] forKeys:[@"bezel-inset", @"content-inset", @"bezel-color"]]; } @@ -780,11 +782,20 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); } /*! - Text fields require panels to become key window, so this returns \c YES. + Text fields require panels to become key window, so this returns \c YES + if the text field is ready to become the first responder as well. */ - (BOOL)needsPanelToBecomeKey { - return YES; + return [self acceptsFirstResponder]; +} + +/*! + Only text fields that can become first responder accepts first mouse. +*/ +- (BOOL)acceptsFirstMouse:(CPEvent)anEvent +{ + return [self acceptsFirstResponder]; } - (void)mouseDown:(CPEvent)anEvent diff --git a/AppKit/CPTheme.j b/AppKit/CPTheme.j index 09e689ff9..a50ec2502 100644 --- a/AppKit/CPTheme.j +++ b/AppKit/CPTheme.j @@ -21,9 +21,11 @@ */ @import +@import @import @import +@class CPView var CPThemesByName = { }, CPThemeDefaultTheme = nil, @@ -145,7 +147,7 @@ var CPThemesByName = { }, className = [aClass defaultThemeClass]; else if ([aClass respondsToSelector:@selector(themeClass)]) { - CPLog.warn(@"%@ themeClass is deprecated in favor of defaultThemeClass",CPStringFromClass([anObject class])); + CPLog.warn(@"%@ themeClass is deprecated in favor of defaultThemeClass", CPStringFromClass(aClass)); className = [aClass themeClass]; } else diff --git a/AppKit/CPThemeBlend.j b/AppKit/CPThemeBlend.j index eeea9c09c..8455bd4c0 100644 --- a/AppKit/CPThemeBlend.j +++ b/AppKit/CPThemeBlend.j @@ -33,7 +33,7 @@ @implementation CPThemeBlend : CPObject { - CPBundle _bundle; + CPBundle _bundle @accessors(getter=bundle); CPArray _themes; id _loadDelegate; } diff --git a/AppKit/CPTokenField.j b/AppKit/CPTokenField.j index c9c617ede..3906965a4 100755 --- a/AppKit/CPTokenField.j +++ b/AppKit/CPTokenField.j @@ -29,11 +29,14 @@ @import "CPButton.j" @import "CPScrollView.j" -@import "CPTextField.j" @import "CPTableView.j" -@import "CPWindow.j" +@import "CPText.j" +@import "CPTextField.j" +@import "CPWindow_Constants.j" @import "_CPAutocompleteMenu.j" +@global CPApp + #if PLATFORM(DOM) var CPTokenFieldDOMInputElement = nil, @@ -95,7 +98,7 @@ var CPScrollDestinationNone = 0, return [CPDictionary dictionaryWithObject:_CGInsetMakeZero() forKey:@"editor-inset"]; } -- (id)initWithFrame:(CPRect)frame +- (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { @@ -915,7 +918,9 @@ var CPScrollDestinationNone = 0, - (void)keyDown:(CPEvent)anEvent { +#if PLATFORM(DOM) CPTokenFieldTextDidChangeValue = [self stringValue]; +#endif // Leave the default _propagateCurrentDOMEvent setting in place. This might be YES or NO depending // on if something that could be a browser shortcut was pressed or not, such as Cmd-R to reload. @@ -925,14 +930,16 @@ var CPScrollDestinationNone = 0, [self interpretKeyEvents:[anEvent]]; [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; -}} +} - (void)keyUp:(CPEvent)anEvent { +#if PLATFORM(DOM) if ([self stringValue] !== CPTokenFieldTextDidChangeValue) { [self textDidChange:[CPNotification notificationWithName:CPControlTextDidChangeNotification object:self userInfo:nil]]; } +#endif [[[self window] platformWindow] _propagateCurrentDOMEvent:YES]; } @@ -998,8 +1005,8 @@ var CPScrollDestinationNone = 0, var contentRect = _CGRectMakeCopy([contentView bounds]), contentOrigin = contentRect.origin, contentSize = contentRect.size, - offset = CPPointMake(contentOrigin.x, contentOrigin.y), - spaceBetweenTokens = CPSizeMake(2.0, 2.0), + offset = CGPointMake(contentOrigin.x, contentOrigin.y), + spaceBetweenTokens = CGSizeMake(2.0, 2.0), isEditing = [[self window] firstResponder] == self, tokenToken = [_CPTokenFieldToken new], font = [self currentValueForThemeAttribute:@"font"], @@ -1281,11 +1288,11 @@ var CPScrollDestinationNone = 0, return NO; } -- (id)initWithFrame:(CPRect)frame +- (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { - _deleteButton = [[_CPTokenFieldTokenCloseButton alloc] initWithFrame:CPRectMakeZero()]; + _deleteButton = [[_CPTokenFieldTokenCloseButton alloc] initWithFrame:CGRectMakeZero()]; [self addSubview:_deleteButton]; [self setEditable:NO]; @@ -1375,7 +1382,7 @@ var CPScrollDestinationNone = 0, buttonOffset = [_deleteButton currentValueForThemeAttribute:@"offset"], buttonSize = [_deleteButton currentValueForThemeAttribute:@"min-size"]; - [_deleteButton setFrame:_CGRectMake(CPRectGetMaxX(frame) - buttonOffset.x, CPRectGetMinY(frame) + buttonOffset.y, buttonSize.width, buttonSize.height)]; + [_deleteButton setFrame:_CGRectMake(CGRectGetMaxX(frame) - buttonOffset.x, CGRectGetMinY(frame) + buttonOffset.y, buttonSize.width, buttonSize.height)]; } } diff --git a/AppKit/CPToolbar.j b/AppKit/CPToolbar.j index eff884890..21fbd788d 100644 --- a/AppKit/CPToolbar.j +++ b/AppKit/CPToolbar.j @@ -28,6 +28,7 @@ @import "CPPopUpButton.j" @import "CPToolbarItem.j" +@global CPApp /* @global @@ -135,19 +136,6 @@ var CPToolbarsByIdentifier = nil, [toolbarsSharingIdentifier addObject:toolbar]; } -/* - Temporary theme attributes until we've figured out which CPView these theme attributes should - belong to. - @ignore -*/ -+ (id)_themeAttributes -{ - // "regular-size-height" is used if no item has a non-zero min size and sizeMode == CPToolbarSizeModeRegular. - // "small-size-height" is used if no item has a non-zero min size and sizeMode == CPToolbarSizeModeSmall. - return [CPDictionary dictionaryWithObjects:[_CGInsetMake(4.0, 4.0, 4.0, TOOLBAR_ITEM_MARGIN), 59.0, 46.0] - forKeys:[@"content-inset", @"regular-size-height", @"small-size-height"]]; -} - - (id)init { return [self initWithIdentifier:@""]; @@ -281,18 +269,8 @@ var CPToolbarsByIdentifier = nil, - (CGRect)_toolbarViewFrame { - var height = _desiredHeight || (_sizeMode != CPToolbarSizeModeSmall ? [self _valueForThemeAttribute:@"regular-size-height"] : [self _valueForThemeAttribute:@"small-size-height"]); - return CPRectMake(0.0, 0.0, 1200.0, height); -} - -/* - Temporary theme attributes until we've figured out which CPView these theme attributes should - belong to. - @ignore -*/ -- (id)_valueForThemeAttribute:(CPString)attributeName -{ - return [[[self class] _themeAttributes] valueForKey:attributeName]; + var height = _desiredHeight || (_sizeMode != CPToolbarSizeModeSmall ? [_toolbarView valueForThemeAttribute:@"regular-size-height"] : [_toolbarView valueForThemeAttribute:@"small-size-height"]); + return CGRectMake(0.0, 0.0, 1200.0, height); } /* @ignore */ @@ -592,9 +570,6 @@ var _CPToolbarViewBackgroundColor = nil, _CPToolbarViewExtraItemsImage = nil, _CPToolbarViewExtraItemsAlternateImage = nil; -var TOOLBAR_ITEM_MARGIN = 10.0, - TOOLBAR_EXTRA_ITEMS_WIDTH = 20.0; - var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) { return { index:anIndex, view:aView, label:aLabel, minWidth:aMinWidth }; @@ -623,16 +598,32 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) BOOL _FIXME_isHUD; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [_CPToolbarView class]) - return; + return @"toolbar-view"; +} - var bundle = [CPBundle bundleForClass:self]; - - _CPToolbarViewExtraItemsImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:"_CPToolbarView/_CPToolbarViewExtraItemsImage.png"] size:CPSizeMake(10.0, 15.0)]; - - _CPToolbarViewExtraItemsAlternateImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:"_CPToolbarView/_CPToolbarViewExtraItemsAlternateImage.png"] size:_CGSizeMake(10.0, 15.0)]; ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[10.0, + 20.0, + [CPNull null], + [CPNull null], + _CGInsetMake(4.0, 4.0, 4.0, 10), + 59.0, + 46.0, + [CPNull null], + CGRectMake(0.0, 0.0, 2.0, 32.0)] + forKeys:[ + @"item-margin", + @"extra-item-width", + @"extra-item-extra-image", + @"extra-item-extra-alternate-image", + @"content-inset", + @"regular-size-height", + @"small-size-height", + @"image-item-separator-color", + @"image-item-separator-size"]]; } - (id)initWithFrame:(CGRect)aFrame @@ -652,8 +643,6 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) [_additionalItemsButton setImagePosition:CPImageOnly]; [[_additionalItemsButton menu] setShowsStateColumn:NO]; [[_additionalItemsButton menu] setAutoenablesItems:NO]; - - [_additionalItemsButton setAlternateImage:_CPToolbarViewExtraItemsAlternateImage]; } return self; @@ -709,7 +698,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) // minimum width for hiding items. if (itemsWidth < minWidth) { - itemsWidth -= TOOLBAR_EXTRA_ITEMS_WIDTH; + itemsWidth -= [self valueForThemeAttribute:@"extra-item-width"]; _visibleItems = [_visibleItems copy]; @@ -725,7 +714,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) var item = itemsSortedByVisibilityPriority[--count], view = [self viewForItem:item]; - minWidth -= [view minSize].width + TOOLBAR_ITEM_MARGIN; + minWidth -= [view minSize].width + [self valueForThemeAttribute:@"item-margin"]; [_visibleItems removeObjectIdenticalTo:item]; [invisibleItemsSortedByPriority addObject:item]; @@ -751,7 +740,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) // We'll figure out the proper height for the toolbar depending on its items. // If nothing has a minimum size we'll use the standard toolbar size for the // sizeMode, indicated by a 0 _desiredHeight. - var contentInset = [_toolbar _valueForThemeAttribute:@"content-inset"], + var contentInset = [self valueForThemeAttribute:@"content-inset"], newDesiredHeight = height ? height + contentInset.top + contentInset.bottom : 0; if (newDesiredHeight != _toolbar._desiredHeight) @@ -828,7 +817,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) var index = 0, count = _visibleItems.length, x = contentInset.left, - contentInset = [_toolbar _valueForThemeAttribute:@"content-inset"], + contentInset = [self valueForThemeAttribute:@"content-inset"], y = contentInset.top; for (; index < count; ++index) @@ -838,7 +827,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) [view setFrame:_CGRectMake(x, y, viewWidth, height)]; - x += viewWidth + TOOLBAR_ITEM_MARGIN; + x += viewWidth + [self valueForThemeAttribute:@"item-margin"]; } var needsAdditionalItemsButton = NO; @@ -877,7 +866,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) [_additionalItemsButton removeAllItems]; [_additionalItemsButton addItemWithTitle:@"Additional Items"]; - [[_additionalItemsButton itemArray][0] setImage:_CPToolbarViewExtraItemsImage]; + [[_additionalItemsButton itemArray][0] setImage:[self valueForThemeAttribute:@"extra-item-extra-image"]]; var index = 0, count = [_invisibleItems count], @@ -943,7 +932,7 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) count = items.length; - _minWidth = TOOLBAR_ITEM_MARGIN; + _minWidth = [self valueForThemeAttribute:@"item-margin"]; _viewsForToolbarItems = { }; for (; index < count; ++index) @@ -958,12 +947,17 @@ var _CPToolbarItemInfoMake = function(anIndex, aView, aLabel, aMinWidth) [self addSubview:view]; - _minWidth += [view minSize].width + TOOLBAR_ITEM_MARGIN; + _minWidth += [view minSize].width + [self valueForThemeAttribute:@"item-margin"]; } [self tile]; } +- (void)layoutSubviews +{ + [_additionalItemsButton setAlternateImage:[self valueForThemeAttribute:@"extra-item-extra-alternate-image"]]; +} + @end /* @ignore */ @@ -1060,13 +1054,7 @@ var LABEL_MARGIN = 2.0; if (identifier === CPToolbarSeparatorItemIdentifier) { - _view = [[CPView alloc] initWithFrame:_CGRectMake(0.0, 0.0, 2.0, 32.0)]; - - // FIXME: Get rid of this old API!!! - sizes = {}; - sizes[@"CPToolbarItemSeparator"] = [_CGSizeMake(2.0, 26.0), _CGSizeMake(2.0, 1.0), _CGSizeMake(2.0, 26.0)]; - [_view setBackgroundColor:_CPControlThreePartImagePattern(YES, sizes, @"CPToolbarItem", @"Separator")]; - + _view = [[CPView alloc] initWithFrame:CGRectMakeZero()]; [self addSubview:_view]; } @@ -1139,7 +1127,15 @@ var LABEL_MARGIN = 2.0; width = _CGRectGetWidth(bounds); if (identifier === CPToolbarSeparatorItemIdentifier) - return [_view setFrame:_CGRectMake(ROUND((width - 2.0) / 2.0), 0.0, 2.0, _CGRectGetHeight(bounds))]; + { + var itemSeparatorColor = [_toolbar valueForThemeAttribute:@"image-item-separator-color"], + itemSeparatorSize = [_toolbar valueForThemeAttribute:@"image-item-separator-size"]; + + [_view setFrame:_CGRectMake(ROUND((width - itemSeparatorSize.size.width) / 2.0), 0.0, itemSeparatorSize.size.width, _CGRectGetHeight(bounds))]; + [_view setBackgroundColor:itemSeparatorColor]; + + return; + } // The view is centred in the available space above the label. var view = _view || _imageView, diff --git a/AppKit/CPToolbarItem.j b/AppKit/CPToolbarItem.j index 6c6478a0f..c70590151 100644 --- a/AppKit/CPToolbarItem.j +++ b/AppKit/CPToolbarItem.j @@ -20,641 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import -@import - -@import "CPImage.j" -@import "CPView.j" - - -CPToolbarItemVisibilityPriorityStandard = 0; -CPToolbarItemVisibilityPriorityLow = -1000; -CPToolbarItemVisibilityPriorityHigh = 1000; -CPToolbarItemVisibilityPriorityUser = 2000; - -CPToolbarSeparatorItemIdentifier = @"CPToolbarSeparatorItem"; -CPToolbarSpaceItemIdentifier = @"CPToolbarSpaceItem"; -CPToolbarFlexibleSpaceItemIdentifier = @"CPToolbarFlexibleSpaceItem"; -CPToolbarShowColorsItemIdentifier = @"CPToolbarShowColorsItem"; -CPToolbarShowFontsItemIdentifier = @"CPToolbarShowFontsItem"; -CPToolbarCustomizeToolbarItemIdentifier = @"CPToolbarCustomizeToolbarItem"; -CPToolbarPrintItemIdentifier = @"CPToolbarPrintItem"; - -/*! - @ingroup appkit - @class CPToolbarItem - - A representation of an item in a CPToolbar. -*/ -@implementation CPToolbarItem : CPObject -{ - CPString _itemIdentifier; - - CPToolbar _toolbar; - - CPString _label; - CPString _paletteLabel; - CPString _toolTip; - int _tag; - id _target; - SEL _action; - BOOL _isEnabled; - CPImage _image; - CPImage _alternateImage; - - CPView _view; - - CGSize _minSize; - CGSize _maxSize; - - int _visibilityPriority; - - BOOL _autovalidates; -} - -- (id)init -{ - return [self initWithItemIdentifier:@""]; -} - -// Creating a Toolbar Item -/*! - Initializes the toolbar item with a specified identifier. - @param anItemIdentifier the item's identifier - @return the initialized toolbar item -*/ -- (id)initWithItemIdentifier:(CPString)anItemIdentifier -{ - self = [super init]; - - if (self) - { - _itemIdentifier = anItemIdentifier; - - _tag = 0; - _isEnabled = YES; - - _minSize = CGSizeMakeZero(); - _maxSize = CGSizeMakeZero(); - - _visibilityPriority = CPToolbarItemVisibilityPriorityStandard; - _autovalidates = YES; - } - - return self; -} - -// Managing Attributes -/*! - Returns the item's identifier. -*/ -- (CPString)itemIdentifier -{ - return _itemIdentifier; -} - -/*! - Returns the toolbar of which this item is a part. -*/ -- (CPToolbar)toolbar -{ - return _toolbar; -} - -/* @ignore */ -- (void)_setToolbar:(CPToolbar)aToolbar -{ - _toolbar = aToolbar; -} - -/*! - Returns the item's label -*/ -- (CPString)label -{ - return _label; -} - -/*! - Sets the item's label. - @param aLabel the new label for the item -*/ -- (void)setLabel:(CPString)aLabel -{ - _label = aLabel; -} - -/*! - Returns the palette label. -*/ -- (CPString)paletteLabel -{ - return _paletteLabel; -} - -/*! - Sets the palette label - @param aPaletteLabel the new palette label -*/ -- (void)setPaletteLabel:(CPString)aPaletteLabel -{ - _paletteLabel = aPaletteLabel; -} - -/*! - Returns the item's tooltip. A tooltip pops up - next to the cursor when the user hovers over - the item with the mouse. -*/ -- (CPString)toolTip -{ - if ([_view respondsToSelector:@selector(toolTip)]) - return [_view toolTip]; - - return _toolTip; -} - -/*! - Sets the item's tooltip. A tooltip pops up next to the cursor when the user hovers over the item with the mouse. - @param aToolTip the new item tool tip -*/ -- (void)setToolTip:(CPString)aToolTip -{ - if ([_view respondsToSelector:@selector(setToolTip:)]) - [_view setToolTip:aToolTip]; - - _toolTip = aToolTip; -} - -/*! - Returns the item's tag. -*/ -- (int)tag -{ - if ([_view respondsToSelector:@selector(tag)]) - return [_view tag]; - - return _tag; -} - -/*! - Sets the item's tag. - @param aTag the new tag for the item -*/ -- (void)setTag:(int)aTag -{ - if ([_view respondsToSelector:@selector(setTag:)]) - [_view setTag:aTag]; - - _tag = aTag; -} - -/*! - Returns the item's action target. -*/ -- (id)target -{ - if (_view) - return [_view respondsToSelector:@selector(target)] ? [_view target] : nil; - - return _target; -} - -/*! - Sets the target of the action that is triggered when the user clicks this item. \c nil will cause - the action to be passed on to the first responder. - @param aTarget the new target -*/ -- (void)setTarget:(id)aTarget -{ - if (!_view) - _target = aTarget; - - else if ([_view respondsToSelector:@selector(setTarget:)]) - [_view setTarget:aTarget]; -} - -/*! - Returns the action that is triggered when the user clicks this item. -*/ -- (SEL)action -{ - if (_view) - return [_view respondsToSelector:@selector(action)] ? [_view action] : nil; - - return _action; -} - -/*! - Sets the action that is triggered when the user clicks this item. - @param anAction the new action -*/ -- (void)setAction:(SEL)anAction -{ - if (!_view) - _action = anAction; - - else if ([_view respondsToSelector:@selector(setAction:)]) - [_view setAction:anAction]; -} - -/*! - Returns \c YES if the item is enabled. -*/ -- (BOOL)isEnabled -{ - if ([_view respondsToSelector:@selector(isEnabled)]) - return [_view isEnabled]; - - return _isEnabled; -} - -/*! - Sets whether the item is enabled. - @param aFlag \c YES enables the item -*/ -- (void)setEnabled:(BOOL)shouldBeEnabled -{ - if (_isEnabled === shouldBeEnabled) - return; - - if ([_view respondsToSelector:@selector(setEnabled:)]) - [_view setEnabled:shouldBeEnabled]; - - _isEnabled = shouldBeEnabled; -} - -/*! - Returns the item's image -*/ -- (CPImage)image -{ - if ([_view respondsToSelector:@selector(image)]) - return [_view image]; - - return _image; -} - -/*! - Sets the item's image. - @param anImage the new item image -*/ -- (void)setImage:(CPImage)anImage -{ - if ([_view respondsToSelector:@selector(setImage:)]) - [_view setImage:anImage]; - - _image = anImage; - - if (!_image) - return; - - if (_minSize.width === 0 && _minSize.height === 0 && - _maxSize.width === 0 && _maxSize.height === 0) - { - var imageSize = [_image size]; - - if (imageSize.width > 0 || imageSize.height > 0) - { - [self setMinSize:imageSize]; - [self setMaxSize:imageSize]; - } - } -} - -/*! - Sets the alternate image. This image is displayed on the item when the user is clicking it. - @param anImage the new alternate image -*/ -- (void)setAlternateImage:(CPImage)anImage -{ - if ([_view respondsToSelector:@selector(setAlternateImage:)]) - [_view setAlternateImage:anImage]; - - _alternateImage = anImage; -} - -/*! - Returns the alternate image. This image is displayed on the item when the user is clicking it. -*/ -- (CPImage)alternateImage -{ - if ([_view respondsToSelector:@selector(alternateIamge)]) - return [_view alternateImage]; - - return _alternateImage; -} - -/*! - Returns the item's view. -*/ -- (CPView)view -{ - return _view; -} - -/*! - Sets the item's view - @param aView the item's new view -*/ -- (void)setView:(CPView)aView -{ - if (_view == aView) - return; - - _view = aView; - - if (_view) - { - // Tags get forwarded. - if (_tag !== 0 && [_view respondsToSelector:@selector(setTag:)]) - [_view setTag:_tag]; - - _target = nil; - _action = nil; - } -} - -/*! - Returns the item's minimum size. -*/ -- (CGSize)minSize -{ - return _minSize; -} - -/*! - Sets the item's minimum size. - @param aMinSize the new minimum size -*/ -- (void)setMinSize:(CGSize)aMinSize -{ - if (!aMinSize.height || !aMinSize.width) - return; - - _minSize = CGSizeMakeCopy(aMinSize); - - // Try to provide some sanity: Make maxSize >= minSize - _maxSize = CGSizeMake(MAX(_minSize.width, _maxSize.width), MAX(_minSize.height, _maxSize.height)); -} - -/*! - Returns the item's maximum size. -*/ -- (CGSize)maxSize -{ - return _maxSize; -} - -/*! - Sets the item's new maximum size. - @param aMaxSize the new maximum size -*/ -- (void)setMaxSize:(CGSize)aMaxSize -{ - if (!aMaxSize.height || !aMaxSize.width) - return; - - _maxSize = CGSizeMakeCopy(aMaxSize); - - // Try to provide some sanity: Make minSize <= maxSize - _minSize = CGSizeMake(MIN(_minSize.width, _maxSize.width), MIN(_minSize.height, _maxSize.height)); -} - -// Visibility Priority -/*! - Returns the item's visibility priority. The value will be one of: -
-CPToolbarItemVisibilityPriorityStandard
-CPToolbarItemVisibilityPriorityLow
-CPToolbarItemVisibilityPriorityHigh
-CPToolbarItemVisibilityPriorityUser
-
-*/ -- (int)visibilityPriority -{ - return _visibilityPriority; -} - -/*! - Sets the item's visibility priority. The value must be one of: -
-CPToolbarItemVisibilityPriorityStandard
-CPToolbarItemVisibilityPriorityLow
-CPToolbarItemVisibilityPriorityHigh
-CPToolbarItemVisibilityPriorityUser
-
- @param aVisiblityPriority the priority -*/ -- (void)setVisibilityPriority:(int)aVisibilityPriority -{ - _visibilityPriority = aVisibilityPriority; -} - -- (void)validate -{ - var action = [self action], - target = [self target]; - - // View items do not do any target-action analysis. - if (_view) - { - if ([target respondsToSelector:@selector(validateToolbarItem:)]) - { - var shouldBeEnabled = [target validateToolbarItem:self]; - if (_isEnabled !== shouldBeEnabled) - [self setEnabled:shouldBeEnabled]; - } - - return; - } - - if (!action) - { - if (_isEnabled) - return [self setEnabled:NO]; - return; - } - - if (target && ![target respondsToSelector:action]) - { - if (_isEnabled) - return [self setEnabled:NO]; - return; - } - - target = [CPApp targetForAction:action to:target from:self]; - - if (!target) - { - if (_isEnabled) - return [self setEnabled:NO]; - return; - } - - if ([target respondsToSelector:@selector(validateToolbarItem:)]) - { - var shouldBeEnabled = [target validateToolbarItem:self]; - if (_isEnabled !== shouldBeEnabled) - [self setEnabled:shouldBeEnabled]; - } - else - { - if (!_isEnabled) - [self setEnabled:YES]; - } -} - -- (BOOL)autovalidates -{ - return _autovalidates; -} - -- (void)setAutovalidates:(BOOL)shouldAutovalidate -{ - _autovalidates = !!shouldAutovalidate; -} - -@end - -var CPToolbarItemItemIdentifierKey = @"CPToolbarItemItemIdentifierKey", - CPToolbarItemLabelKey = @"CPToolbarItemLabelKey", - CPToolbarItemPaletteLabelKey = @"CPToolbarItemPaletteLabelKey", - CPToolbarItemToolTipKey = @"CPToolbarItemToolTipKey", - CPToolbarItemTagKey = @"CPToolbarItemTagKey", - CPToolbarItemTargetKey = @"CPToolbarItemTargetKey", - CPToolbarItemActionKey = @"CPToolbarItemActionKey", - CPToolbarItemEnabledKey = @"CPToolbarItemEnabledKey", - CPToolbarItemImageKey = @"CPToolbarItemImageKey", - CPToolbarItemAlternateImageKey = @"CPToolbarItemAlternateImageKey", - CPToolbarItemViewKey = @"CPToolbarItemViewKey", - CPToolbarItemMinSizeKey = @"CPToolbarItemMinSizeKey", - CPToolbarItemMaxSizeKey = @"CPToolbarItemMaxSizeKey", - CPToolbarItemVisibilityPriorityKey = @"CPToolbarItemVisibilityPriorityKey", - CPToolbarItemAutovalidatesKey = @"CPToolbarItemAutovalidatesKey"; - -@implementation CPToolbarItem (CPCoding) - -- (id)initWithCoder:(CPCoder)aCoder -{ - self = [super init]; - - if (self) - { - _itemIdentifier = [aCoder decodeObjectForKey:CPToolbarItemItemIdentifierKey]; - - _minSize = [aCoder decodeSizeForKey:CPToolbarItemMinSizeKey]; - _maxSize = [aCoder decodeSizeForKey:CPToolbarItemMaxSizeKey]; - - [self setLabel:[aCoder decodeObjectForKey:CPToolbarItemLabelKey]]; - [self setPaletteLabel:[aCoder decodeObjectForKey:CPToolbarItemPaletteLabelKey]]; - [self setToolTip:[aCoder decodeObjectForKey:CPToolbarItemToolTipKey]]; - - [self setTag:[aCoder decodeObjectForKey:CPToolbarItemTagKey]]; - [self setTarget:[aCoder decodeObjectForKey:CPToolbarItemTargetKey]]; - [self setAction:CPSelectorFromString([aCoder decodeObjectForKey:CPToolbarItemActionKey])]; - - [self setEnabled:[aCoder decodeBoolForKey:CPToolbarItemEnabledKey]]; - - [self setImage:[aCoder decodeObjectForKey:CPToolbarItemImageKey]]; - [self setAlternateImage:[aCoder decodeObjectForKey:CPToolbarItemAlternateImageKey]]; - - [self setView:[aCoder decodeObjectForKey:CPToolbarItemViewKey]]; - - [self setVisibilityPriority:[aCoder decodeIntForKey:CPToolbarItemVisibilityPriorityKey]]; - [self setAutovalidates:[aCoder decodeBoolForKey:CPToolbarItemAutovalidatesKey]]; - } - - return self; -} - -- (void)encodeWithCoder:(CPCoder)aCoder -{ - [aCoder encodeObject:_itemIdentifier forKey:CPToolbarItemItemIdentifierKey]; - - [aCoder encodeObject:[self label] forKey:CPToolbarItemLabelKey]; - [aCoder encodeObject:[self paletteLabel] forKey:CPToolbarItemPaletteLabelKey]; - - [aCoder encodeObject:[self toolTip] forKey:CPToolbarItemToolTipKey]; - - [aCoder encodeObject:[self tag] forKey:CPToolbarItemTagKey]; - [aCoder encodeObject:[self target] forKey:CPToolbarItemTargetKey]; - [aCoder encodeObject:[self action] forKey:CPToolbarItemActionKey]; - - [aCoder encodeObject:[self isEnabled] forKey:CPToolbarItemEnabledKey]; - - [aCoder encodeObject:[self image] forKey:CPToolbarItemImageKey]; - [aCoder encodeObject:[self alternateImage] forKey:CPToolbarItemAlternateImageKey]; - - [aCoder encodeObject:[self view] forKey:CPToolbarItemViewKey]; - - [aCoder encodeSize:[self minSize] forKey:CPToolbarItemMinSizeKey]; - [aCoder encodeSize:[self maxSize] forKey:CPToolbarItemMaxSizeKey]; - - [aCoder encodeObject:[self visibilityPriority] forKey:CPToolbarItemVisibilityPriorityKey]; - [aCoder encodeBool:[self autovalidates] forKey:CPToolbarItemAutovalidatesKey]; -} - -@end - -@implementation CPToolbarItem (CPCopying) - -- (id)copy -{ - var copy = [[[self class] alloc] initWithItemIdentifier:_itemIdentifier]; - - if (_view) - [copy setView:[CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:_view]]]; - - [copy _setToolbar:_toolbar]; - - [copy setLabel:_label]; - [copy setPaletteLabel:_paletteLabel]; - [copy setToolTip:[self toolTip]]; - - [copy setTag:[self tag]]; - [copy setTarget:[self target]]; - [copy setAction:[self action]]; - - [copy setEnabled:[self isEnabled]]; - - [copy setImage:[self image]]; - [copy setAlternateImage:[self alternateImage]]; - - [copy setMinSize:_minSize]; - [copy setMaxSize:_maxSize]; - - [copy setVisibilityPriority:[self visibilityPriority]]; - [copy setAutovalidates:[self autovalidates]]; - - return copy; -} - -@end - -// Standard toolbar identifiers - -@implementation CPToolbarItem (Standard) - -/* @ignore */ -+ (CPToolbarItem)_standardItemWithItemIdentifier:(CPString)anItemIdentifier -{ - switch (anItemIdentifier) - { - case CPToolbarSeparatorItemIdentifier: return [_CPToolbarSeparatorItem new]; - case CPToolbarSpaceItemIdentifier: return [_CPToolbarSpaceItem new]; - case CPToolbarFlexibleSpaceItemIdentifier: return [_CPToolbarFlexibleSpaceItem new]; - case CPToolbarShowColorsItemIdentifier: return [_CPToolbarShowColorsItem new]; - case CPToolbarShowFontsItemIdentifier: return nil; - case CPToolbarCustomizeToolbarItemIdentifier: return nil; - case CPToolbarPrintItemIdentifier: return nil; - } - - return nil; -} - -@end +@import "_CPToolbarItem.j" @import "_CPToolbarFlexibleSpaceItem.j" @import "_CPToolbarShowColorsItem.j" @import "_CPToolbarSeparatorItem.j" diff --git a/AppKit/CPUserDefaultsController.j b/AppKit/CPUserDefaultsController.j index 6aa98fe7f..61eae10d8 100644 --- a/AppKit/CPUserDefaultsController.j +++ b/AppKit/CPUserDefaultsController.j @@ -23,9 +23,15 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ - +@import +@import @import -@import +@import + +@import "CPController.j" + +@global CPUserDefaultsDidChangeNotification + var SharedUserDefaultsController = nil; @@ -34,6 +40,7 @@ var SharedUserDefaultsController = nil; CPUserDefaults _defaults @accessors(readonly, property=defaults); CPDictionary _initialValues @accessors(property=initialValues); BOOL _appliesImmediately @accessors(property=appliesImmediately); + id _valueProxy; } + (id)sharedUserDefaultsController diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 47fecf236..a2769ba7a 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -21,19 +21,29 @@ */ @import -@import @import @import @import "CGAffineTransform.j" - - +@import "CGGeometry.j" @import "CPColor.j" @import "CPGraphicsContext.j" @import "CPResponder.j" @import "CPTheme.j" @import "_CPDisplayServer.j" +@class _CPToolTip +@class CPWindow +@class _CPMenuItemView +@class CPPlatformWindow +@class CPMenu +@class CPClipView +@class CPScrollView + +@global appkit_tag_dom_elements +@global CPWindowAbove +@global CPBorderlessWindowMask +@global CPScreenSaverWindowLevel /* @global @@ -1492,10 +1502,9 @@ var CPViewFlags = { }, Returns \c YES by default. @return \c YES, if the view object accepts first mouse-down event. \c NO, otherwise. */ -//FIXME: should be NO by default? - (BOOL)acceptsFirstMouse:(CPEvent)anEvent { - return YES; + return NO; } /*! @@ -1521,7 +1530,7 @@ var CPViewFlags = { }, @param aPoint the point to test @return returns the containing view, or nil if the point is not contained */ -- (CPView)hitTest:(CPPoint)aPoint +- (CPView)hitTest:(CGPoint)aPoint { if (_isHidden || !_hitTests || !_CGRectContainsPoint(_frame, aPoint)) return nil; @@ -2042,7 +2051,7 @@ setBoundsOrigin: @param aSourceObject the drag operation controller @param slideBack Whether the view should 'slide back' if the drag is rejected */ -- (void)dragView:(CPView)aView at:(CPPoint)aLocation offset:(CPSize)mouseOffset event:(CPEvent)anEvent pasteboard:(CPPasteboard)aPasteboard source:(id)aSourceObject slideBack:(BOOL)slideBack +- (void)dragView:(CPView)aView at:(CGPoint)aLocation offset:(CGSize)mouseOffset event:(CPEvent)anEvent pasteboard:(CPPasteboard)aPasteboard source:(id)aSourceObject slideBack:(BOOL)slideBack { [_window dragView:aView at:[self convertPoint:aLocation toView:nil] offset:mouseOffset event:anEvent pasteboard:aPasteboard source:aSourceObject slideBack:slideBack]; } @@ -2092,7 +2101,7 @@ setBoundsOrigin: Draws the receiver into \c aRect. This method should be overridden by subclasses. @param aRect the area that should be drawn into */ -- (void)drawRect:(CPRect)aRect +- (void)drawRect:(CGRect)aRect { } @@ -2112,7 +2121,7 @@ setBoundsOrigin: Marks the area denoted by \c aRect as dirty, and initiates a redraw on it. @param aRect the area that needs to be redrawn */ -- (void)setNeedsDisplayInRect:(CPRect)aRect +- (void)setNeedsDisplayInRect:(CGRect)aRect { if (!(_viewClassFlags & CPViewHasCustomDrawRect)) return; @@ -2160,7 +2169,7 @@ setBoundsOrigin: Draws the receiver into the area defined by \c aRect. @param aRect the area to be drawn */ -- (void)displayRect:(CPRect)aRect +- (void)displayRect:(CGRect)aRect { [self viewWillDraw]; @@ -2197,6 +2206,7 @@ setBoundsOrigin: { var graphicsPort = CGBitmapGraphicsContextCreate(); +#if PLATFORM(DOM) _DOMContentsElement = graphicsPort.DOMElement; _DOMContentsElement.style.zIndex = -100; @@ -2213,7 +2223,6 @@ setBoundsOrigin: _DOMContentsElement.style.width = ROUND(_CGRectGetWidth(_frame)) + "px"; _DOMContentsElement.style.height = ROUND(_CGRectGetHeight(_frame)) + "px"; -#if PLATFORM(DOM) // The performance implications of this aren't clear, but without this subviews might not be redrawn when this // view moves. if (CPPlatformHasBug(CPCanvasParentDrawErrorsOnMovementBug)) diff --git a/AppKit/CPViewAnimation.j b/AppKit/CPViewAnimation.j index 2655ec739..46e3d4ead 100644 --- a/AppKit/CPViewAnimation.j +++ b/AppKit/CPViewAnimation.j @@ -22,6 +22,7 @@ @import "CPAnimation.j" +@class CPWindow CPViewAnimationTargetKey = @"CPViewAnimationTargetKey"; CPViewAnimationStartFrameKey = @"CPViewAnimationStartFrameKey"; diff --git a/AppKit/CPViewController.j b/AppKit/CPViewController.j index f6268b4dc..b47d118d1 100644 --- a/AppKit/CPViewController.j +++ b/AppKit/CPViewController.j @@ -22,10 +22,13 @@ @import -@import "CPApplication.j" @import "CPCib.j" @import "CPResponder.j" +@class CPDocument + +@global CPApp + var CPViewControllerCachedCibs; @@ -222,7 +225,7 @@ var CPViewControllerCachedCibs; { [self willChangeValueForKey:"isViewLoaded"]; [self viewDidLoad]; - isViewLoaded = YES; + _isViewLoaded = YES; [self didChangeValueForKey:"isViewLoaded"]; } diff --git a/AppKit/CPWebView.j b/AppKit/CPWebView.j index 57717d744..85dac3c7a 100644 --- a/AppKit/CPWebView.j +++ b/AppKit/CPWebView.j @@ -126,7 +126,7 @@ CPWebViewAppKitScrollMaxPollCount = 3; BOOL _drawsBackground; } -- (id)initWithFrame:(CPRect)frameRect frameName:(CPString)frameName groupName:(CPString)groupName +- (id)initWithFrame:(CGRect)frameRect frameName:(CPString)frameName groupName:(CPString)groupName { if (self = [self initWithFrame:frameRect]) { @@ -136,7 +136,7 @@ CPWebViewAppKitScrollMaxPollCount = 3; return self; } -- (id)initWithFrame:(CPRect)aFrame +- (id)initWithFrame:(CGRect)aFrame { if (self = [super initWithFrame:aFrame]) { @@ -157,7 +157,7 @@ CPWebViewAppKitScrollMaxPollCount = 3; return self; } -- (id)_initDOMWithFrame:(CPRect)aFrame +- (id)_initDOMWithFrame:(CGRect)aFrame { _ignoreLoadStart = YES; _ignoreLoadEnd = YES; @@ -221,7 +221,7 @@ CPWebViewAppKitScrollMaxPollCount = 3; [self addSubview:_scrollView]; } -- (void)setFrameSize:(CPSize)aSize +- (void)setFrameSize:(CGSize)aSize { [super setFrameSize:aSize]; [self _resizeWebFrame]; diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index 8f19f0316..8ddda71df 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -26,181 +26,34 @@ @import "CGGeometry.j" @import "CPAnimation.j" +@import "CPCursor.j" +@import "CPDragServer.j" +@import "CPEvent.j" @import "CPPlatformWindow.j" +#if PLATFORM(BROWSER) +@import "CPPlatformWindow+DOM.j" +#endif @import "CPResponder.j" @import "CPScreen.j" +@import "CPText.j" +@import "CPView.j" +@import "CPWindow_Constants.j" +@import "_CPBorderlessBridgeWindowView.j" +@import "_CPBorderlessWindowView.j" +@import "_CPDocModalWindowView.j" +@import "_CPHUDWindowView.j" +@import "_CPModalWindowView.j" +@import "_CPPopoverWindowView.j" +@import "_CPShadowWindowView.j" +@import "_CPStandardWindowView.j" +@import "_CPToolTipWindowView.j" +@class CPMenu +@class CPProgressIndicator -/* - Borderless window mask option. - @global - @class CPWindow -*/ -CPBorderlessWindowMask = 0; -/* - Titled window mask option. - @global - @class CPWindow -*/ -CPTitledWindowMask = 1 << 0; -/* - Closeable window mask option. - @global - @class CPWindow -*/ -CPClosableWindowMask = 1 << 1; -/* - Miniaturizabe window mask option. - @global - @class CPWindow -*/ -CPMiniaturizableWindowMask = 1 << 2; -/* - Resizable window mask option. - @global - @class CPWindow -*/ -CPResizableWindowMask = 1 << 3; -/* - Textured window mask option. - @global - @class CPWindow -*/ -CPTexturedBackgroundWindowMask = 1 << 8; -/* - @global - @class CPWindow -*/ -CPBorderlessBridgeWindowMask = 1 << 20; -/* - @global - @class CPWindow -*/ -CPHUDBackgroundWindowMask = 1 << 21; - -CPWindowNotSizable = 0; -CPWindowMinXMargin = 1; -CPWindowWidthSizable = 2; -CPWindowMaxXMargin = 4; -CPWindowMinYMargin = 8; -CPWindowHeightSizable = 16; -CPWindowMaxYMargin = 32; - -CPBackgroundWindowLevel = -1; -/* - Default level for windows - @group CPWindowLevel - @global -*/ -CPNormalWindowLevel = 0; -/* - Floating palette type window - @group CPWindowLevel - @global -*/ -CPFloatingWindowLevel = 3; -/* - Submenu type window - @group CPWindowLevel - @global -*/ -CPSubmenuWindowLevel = 3; -/* - For a torn-off menu - @group CPWindowLevel - @global -*/ -CPTornOffMenuWindowLevel = 3; -/* - For the application's main menu - @group CPWindowLevel - @global -*/ -CPMainMenuWindowLevel = 24; -/* - Status window level - @group CPWindowLevel - @global -*/ -CPStatusWindowLevel = 25; -/* - Level for a modal panel - @group CPWindowLevel - @global -*/ -CPModalPanelWindowLevel = 8; -/* - Level for a pop up menu - @group CPWindowLevel - @global -*/ -CPPopUpMenuWindowLevel = 101; -/* - Level for a window being dragged - @group CPWindowLevel - @global -*/ -CPDraggingWindowLevel = 500; -/* - Level for the screens saver - @group CPWindowLevel - @global -*/ -CPScreenSaverWindowLevel = 1000; - -/* - The receiver is removed from the screen list and hidden. - @global - @class CPWindowOrderingMode -*/ -CPWindowOut = 0; -/* - The receiver is placed directly in front of the window specified. - @global - @class CPWindowOrderingMode -*/ -CPWindowAbove = 1; -/* - The receiver is placed directly behind the window specified. - @global - @class CPWindowOrderingMode -*/ -CPWindowBelow = 2; - -CPWindowWillCloseNotification = @"CPWindowWillCloseNotification"; -CPWindowDidBecomeMainNotification = @"CPWindowDidBecomeMainNotification"; -CPWindowDidResignMainNotification = @"CPWindowDidResignMainNotification"; -CPWindowDidBecomeKeyNotification = @"CPWindowDidBecomeKeyNotification"; -CPWindowDidResignKeyNotification = @"CPWindowDidResignKeyNotification"; -CPWindowDidResizeNotification = @"CPWindowDidResizeNotification"; -CPWindowDidMoveNotification = @"CPWindowDidMoveNotification"; -CPWindowWillBeginSheetNotification = @"CPWindowWillBeginSheetNotification"; -CPWindowDidEndSheetNotification = @"CPWindowDidEndSheetNotification"; -CPWindowDidMiniaturizeNotification = @"CPWindowDidMiniaturizeNotification"; -CPWindowWillMiniaturizeNotification = @"CPWindowWillMiniaturizeNotification"; -CPWindowDidDeminiaturizeNotification = @"CPWindowDidDeminiaturizeNotification"; - -_CPWindowDidChangeFirstResponderNotification = @"_CPWindowDidChangeFirstResponderNotification"; - -CPWindowShadowStyleStandard = 0; -CPWindowShadowStyleMenu = 1; -CPWindowShadowStylePanel = 2; - -CPWindowResizeStyleModern = 0; -CPWindowResizeStyleLegacy = 1; -CPWindowResizeStyle = CPWindowResizeStyleModern; -CPWindowResizeSlop = 3; - -var SHADOW_MARGIN_LEFT = 20.0, - SHADOW_MARGIN_RIGHT = 19.0, - SHADOW_MARGIN_TOP = 10.0, - SHADOW_MARGIN_BOTTOM = 10.0, - SHADOW_DISTANCE = 5.0, - - _CPWindowShadowColor = nil; +@global CPApp var CPWindowSaveImage = nil, - CPWindowSavingImage = nil, CPWindowResizeTime = 0.2, CPWindowResizeStyleGlobalChangeNotification = @"CPWindowResizeStyleGlobalChangeNotification"; @@ -285,6 +138,7 @@ var CPWindowActionMessageKeys = [ CGRect _frame; int _level; BOOL _isVisible; + BOOL _hasBeenOrderedIn @accessors; BOOL _isMiniaturized; BOOL _isAnimating; BOOL _hasShadow; @@ -352,26 +206,16 @@ var CPWindowActionMessageKeys = [ BOOL _isFullPlatformWindow; _CPWindowFullPlatformWindowSession _fullPlatformWindowSession; + CPWindow _parentWindow; + CPArray _childWindows; + CPWindowOrderingMode _childOrdering @accessors(setter=_setChildOrdering); + CPDictionary _sheetContext; CPWindow _parentView; BOOL _isSheet; _CPWindowFrameAnimation _frameAnimation; } -/* - Private initializer for Objective-J - @ignore -*/ -+ (void)initialize -{ - if (self !== [CPWindow class]) - return; - - var bundle = [CPBundle bundleForClass:[CPWindow class]]; - - CPWindowSavingImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPProgressIndicator/CPProgressIndicatorSpinningStyleRegular.gif"] size:_CGSizeMake(16.0, 16.0)] -} - - (id)init { return [self initWithContentRect:_CGRectMakeZero() styleMask:CPTitledWindowMask]; @@ -417,6 +261,7 @@ CPTexturedBackgroundWindowMask _frame.origin.x = (visibleFrame.size.width - _frame.size.width) / 2; _frame.origin.y = (visibleFrame.size.height - _frame.size.height) / 2; } + [self setPlatformWindow:[[CPPlatformWindow alloc] initWithContentRect:_frame]]; [self platformWindow]._only = self; } @@ -426,6 +271,11 @@ CPTexturedBackgroundWindowMask _registeredDraggedTypesArray = []; _acceptsMouseMovedEvents = YES; _isMovable = YES; + _hasBeenOrderedIn = NO; + + _parentWindow = nil; + _childWindows = []; + _childOrdering = CPWindowOut; _isSheet = NO; _sheetContext = nil; @@ -534,6 +384,9 @@ CPTexturedBackgroundWindowMask else if (aStyleMask & CPDocModalWindowMask) return _CPDocModalWindowView; + else if (aStyleMask & _CPModalWindowMask) + return _CPModalWindowView + return _CPStandardWindowView; } @@ -828,10 +681,12 @@ CPTexturedBackgroundWindowMask else { var origin = _frame.origin, - newOrigin = aFrame.origin; + newOrigin = aFrame.origin, + originMoved = !_CGPointEqualToPoint(origin, newOrigin); - if (!_CGPointEqualToPoint(origin, newOrigin)) + if (originMoved) { + delta = _CGPointMake(newOrigin.x - origin.x, newOrigin.y - origin.y); origin.x = newOrigin.x; origin.y = newOrigin.y; @@ -856,21 +711,7 @@ CPTexturedBackgroundWindowMask [_windowView setFrameSize:size]; if (_hasShadow) - { - // if the shadow would be taller/wider than the window height, - // make it the same as the window height. this allows views to - // become 0, 0 with no shadow on them and makes the sheet - // animation look nicer - var shadowSize = _CGSizeMake(size.width, size.height); - - if (size.width >= (SHADOW_MARGIN_LEFT + SHADOW_MARGIN_RIGHT)) - shadowSize.width += SHADOW_MARGIN_LEFT + SHADOW_MARGIN_RIGHT; - - if (size.height >= (SHADOW_MARGIN_BOTTOM + SHADOW_MARGIN_TOP + SHADOW_DISTANCE)) - shadowSize.height += SHADOW_MARGIN_BOTTOM + SHADOW_MARGIN_TOP + SHADOW_DISTANCE; - - [_shadowView setFrameSize:shadowSize]; - } + [_shadowView setNeedsLayout]; if (!_isAnimating) [[CPNotificationCenter defaultCenter] postNotificationName:CPWindowDidResizeNotification object:self]; @@ -878,9 +719,23 @@ CPTexturedBackgroundWindowMask if ([self _sharesChromeWithPlatformWindow]) [_platformWindow setContentRect:_frame]; + + if (originMoved) + [self _moveChildWindows:delta]; } } +- (void)_moveChildWindows:(CGPoint)delta +{ + [_childWindows enumerateObjectsUsingBlock:function(childWindow) + { + var origin = [childWindow frame].origin; + + [childWindow setFrameOrigin:_CGPointMake(origin.x + delta.x, origin.y + delta.y)]; + } + ]; +} + /*! Sets the window's frame rect. @param aFrame - The new CGRect of the window. @@ -927,6 +782,11 @@ CPTexturedBackgroundWindowMask @param aSender the object that requested this */ - (void)orderFront:(id)aSender +{ + [self orderWindow:CPWindowAbove relativeTo:0]; +} + +- (void)_orderFront { #if PLATFORM(DOM) // -dw- if a sheet is clicked, the parent window should come up too @@ -949,6 +809,14 @@ CPTexturedBackgroundWindowMask [self makeMainWindow]; } +/* + Called when a parent window orders in a child window directly. + without going through the ordering methods in CPWindow. +*/ +- (void)_parentDidOrderInChild +{ +} + /* Makes the receiver the last window in the screen ordering. @param aSender the object that requested this @@ -956,7 +824,12 @@ CPTexturedBackgroundWindowMask */ - (void)orderBack:(id)aSender { - //[_platformWindow order:CPWindowBelow + [self orderWindow:CPWindowBelow relativeTo:0]; +} + +- (void)_orderBack +{ + // FIXME: Implement this } /*! @@ -965,6 +838,14 @@ CPTexturedBackgroundWindowMask */ - (void)orderOut:(id)aSender { + [self orderWindow:CPWindowOut relativeTo:0]; +} + +- (void)_orderOutRecursively:(BOOL)recursive +{ + if (!_isVisible) + return; + if ([self isSheet]) { // -dw- as in Cocoa, orderOut: detaches the sheet and animates out @@ -972,15 +853,13 @@ CPTexturedBackgroundWindowMask return; } + if (recursive) + [_childWindows makeObjectsPerformSelector:@selector(_orderOutRecursively:) withObject:recursive]; + #if PLATFORM(DOM) if ([self _sharesChromeWithPlatformWindow]) [_platformWindow orderOut:self]; -#endif - if ([_delegate respondsToSelector:@selector(windowWillClose:)]) - [_delegate windowWillClose:self]; - -#if PLATFORM(DOM) [_platformWindow order:CPWindowOut window:self relativeTo:nil]; #else _isVisible = NO; @@ -991,13 +870,26 @@ CPTexturedBackgroundWindowMask /*! Relocates the window in the screen list. - @param aPlace the positioning relative to \c otherWindowNumber + @param orderingMode the positioning relative to \c otherWindowNumber @param otherWindowNumber the window relative to which the receiver should be placed */ -- (void)orderWindow:(CPWindowOrderingMode)aPlace relativeTo:(int)otherWindowNumber +- (void)orderWindow:(CPWindowOrderingMode)orderingMode relativeTo:(int)otherWindowNumber { + if (orderingMode === CPWindowOut) + { + // Directly ordering out will detach a child window + [_parentWindow removeChildWindow:self]; + + // In Cocoa, a window orders out its child windows only if it has no parent + [self _orderOutRecursively:!_parentWindow]; + } + else if (orderingMode === CPWindowAbove && otherWindowNumber === 0) + [self _orderFront]; + else if (orderingMode === CPWindowBelow && otherWindowNumber === 0) + [self _orderBack]; #if PLATFORM(DOM) - [_platformWindow order:aPlace window:self relativeTo:CPApp._windows[otherWindowNumber]]; + else + [_platformWindow order:orderingMode window:self relativeTo:CPApp._windows[otherWindowNumber]]; #endif } @@ -1275,33 +1167,11 @@ CPTexturedBackgroundWindowMask if (_hasShadow && !_shadowView) { - var bounds = [_windowView bounds]; + _shadowView = [[_CPShadowWindowView alloc] initWithFrame:CGRectMakeZero()]; - _shadowView = [[CPView alloc] initWithFrame:_CGRectMake(-SHADOW_MARGIN_LEFT, -SHADOW_MARGIN_TOP + SHADOW_DISTANCE, - SHADOW_MARGIN_LEFT + _CGRectGetWidth(bounds) + SHADOW_MARGIN_RIGHT, SHADOW_MARGIN_TOP + _CGRectGetHeight(bounds) + SHADOW_MARGIN_BOTTOM)]; - - if (!_CPWindowShadowColor) - { - var bundle = [CPBundle bundleForClass:[CPWindow class]]; - - _CPWindowShadowColor = [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow0.png"] size:_CGSizeMake(20.0, 19.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow1.png"] size:_CGSizeMake(1.0, 19.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow2.png"] size:_CGSizeMake(19.0, 19.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow3.png"] size:_CGSizeMake(20.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow4.png"] size:_CGSizeMake(1.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow5.png"] size:_CGSizeMake(19.0, 1.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow6.png"] size:_CGSizeMake(20.0, 18.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow7.png"] size:_CGSizeMake(1.0, 18.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowShadow8.png"] size:_CGSizeMake(19.0, 18.0)] - ]]]; - } - - [_shadowView setBackgroundColor:_CPWindowShadowColor]; + [_shadowView setWindowView:_windowView]; [_shadowView setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; + [_shadowView setNeedsLayout]; #if PLATFORM(DOM) CPDOMDisplayServerInsertBefore(_DOMElement, _shadowView._DOMElement, _windowView._DOMElement); @@ -1800,9 +1670,10 @@ CPTexturedBackgroundWindowMask case CPLeftMouseDown: case CPRightMouseDown: + // This will return _windowView if it is within a resize region _leftMouseDownView = [_windowView hitTest:point]; - if (_leftMouseDownView != _firstResponder && [_leftMouseDownView acceptsFirstResponder]) + if (_leftMouseDownView !== _firstResponder && [_leftMouseDownView acceptsFirstResponder]) [self makeFirstResponder:_leftMouseDownView]; [CPApp activateIgnoringOtherApps:YES]; @@ -1810,7 +1681,7 @@ CPTexturedBackgroundWindowMask var theWindow = [anEvent window], selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); - if ([theWindow isKeyWindow] || [theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey]) + if ([theWindow isKeyWindow] || ([theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey])) return [_leftMouseDownView performSelector:selector withObject:anEvent]; else { @@ -2158,7 +2029,7 @@ CPTexturedBackgroundWindowMask CPWindowSaveImage = [item image]; [item setTitle:@"Saving..."]; - [item setImage:CPWindowSavingImage]; + [item setImage:[[CPTheme defaultTheme] valueForAttributeWithName:@"spinning-regular-gif" forClass:CPProgressIndicator]]; [item setEnabled:NO]; } else @@ -2229,7 +2100,7 @@ CPTexturedBackgroundWindowMask if (!(_styleMask & CPClosableWindowMask)) return; - if ([self isFullBridge]) + if ([self isFullPlatformWindow]) { var event = [CPApp currentEvent]; @@ -2240,16 +2111,18 @@ CPTexturedBackgroundWindowMask } } - // Only send ONE windowShouldClose: message. + // The Cocoa docs say that if both the delegate and the window implement + // windowShouldClose:, only the delegate receives the message. if ([_delegate respondsToSelector:@selector(windowShouldClose:)]) { if (![_delegate windowShouldClose:self]) return; } - - // Only check self is delegate does NOT implement this. This also ensures this when delegate == self (returns true). - else if ([self respondsToSelector:@selector(windowShouldClose:)] && ![self windowShouldClose:self]) - return; + else if ([self respondsToSelector:@selector(windowShouldClose:)]) + { + if (![self windowShouldClose:self]) + return; + } var documents = [_windowController documents]; @@ -2298,9 +2171,38 @@ CPTexturedBackgroundWindowMask */ - (void)close { + if ([_delegate respondsToSelector:@selector(windowWillClose:)]) + [_delegate windowWillClose:self]; + [[CPNotificationCenter defaultCenter] postNotificationName:CPWindowWillCloseNotification object:self]; - [self orderOut:nil]; + [_parentWindow removeChildWindow:self]; + [self _orderOutRecursively:NO]; + [self _detachFromChildrenClosing:!_parentWindow]; +} + +- (void)_detachFromChildrenClosing:(BOOL)shouldCloseChildren +{ + // When a window is closed, it must detach itself from all children + [_childWindows enumerateObjectsUsingBlock:function(child) + { + [child setParentWindow:nil]; + } + ]; + + if (shouldCloseChildren) + { + [_childWindows enumerateObjectsUsingBlock:function(child) + { + // Cocoa does NOT call close or orderOut when closing child windows, + // they are summarily closed. + [child _orderOutRecursively:NO]; + [child _detachFromChildrenClosing:![child parentWindow]]; + } + ]; + } + + _childWindows = []; } // Managing Main Status @@ -2506,6 +2408,54 @@ CPTexturedBackgroundWindowMask */ } +/*! + Do NOT modify the array returned by this method! +*/ +- (CPArray)childWindows +{ + return _childWindows; +} + +- (void)addChildWindow:(CPWindow)childWindow ordered:(CPWindowOrderingMode)orderingMode +{ + // Don't add the child if it is already in our list + if ([_childWindows indexOfObject:childWindow] >= 0) + return; + + if (orderingMode === CPWindowAbove || orderingMode === CPWindowBelow) + [_childWindows addObject:childWindow]; + else + [CPException raise:CPInvalidArgumentException + reason:_cmd + @" unrecognized ordering mode " + orderingMode]; + + [childWindow setParentWindow:self]; + [childWindow _setChildOrdering:orderingMode]; + + if ([self isVisible] && ![childWindow isVisible]) + [childWindow orderWindow:orderingMode relativeTo:_windowNumber]; +} + +- (void)removeChildWindow:(CPWindow)childWindow +{ + var index = [_childWindows indexOfObject:childWindow]; + + if (index === CPNotFound) + return; + + [_childWindows removeObjectAtIndex:index]; + [childWindow setParentWindow:nil]; +} + +- (CPWindow)parentWindow +{ + return _parentWindow; +} + +- (CPWindow)setParentWindow:(CPWindow)parentWindow +{ + _parentWindow = parentWindow; +} + - (void)_setFrame:(CGRect)aFrame delegate:(id)delegate duration:(int)duration curve:(CPAnimationCurve)curve { [_frameAnimation stopAnimation]; @@ -3372,11 +3322,12 @@ var keyViewComparator = function(lhs, rhs, context) return _CGRectContainsPoint(_frame, aPoint); } +/* aPoint should be global */ - (BOOL)_isValidMousePoint:(CGPoint)aPoint { // If we are using the new resizing mode, mouse events are valid // outside the window's frame for non-full platform windows. - var mouseFrame = (!_isFullPlatformWindow && (_styleMask & CPResizableWindowMask) && (CPWindowResizeStyle === CPWindowResizeStyleModern)) ? _CGRectInset(_frame, -CPWindowResizeSlop, -CPWindowResizeSlop) : _frame; + var mouseFrame = (!_isFullPlatformWindow && (_styleMask & CPResizableWindowMask) && (CPWindowResizeStyle === CPWindowResizeStyleModern)) ? _CGRectInset(_frame, -_CPWindowViewResizeSlop, -_CPWindowViewResizeSlop) : _frame; return _CGRectContainsPoint(mouseFrame, aPoint); } @@ -3390,6 +3341,8 @@ var keyViewComparator = function(lhs, rhs, context) */ - (void)setFullBridge:(BOOL)shouldBeFullBridge { + _CPReportLenientDeprecation([self class], _cmd, @selector(setFullPlatformWindow:)); + [self setFullPlatformWindow:shouldBeFullBridge]; } @@ -3476,24 +3429,40 @@ var interpolate = function(fromValue, toValue, progress) @end + +@implementation CPWindow (CPDraggingAdditions) + +/* @ignore */ +- (id)_dragHitTest:(CGPoint)aPoint pasteboard:(CPPasteboard)aPasteboard +{ + // If none of our views or ourselves has registered for drag events... + if (!_inclusiveRegisteredDraggedTypes) + return nil; + +// We don't need to do this because the only place this gets called +// -_dragHitTest: in CPPlatformWindow does this already. Perhaps to +// be safe? +// if (![self containsPoint:aPoint]) +// return nil; + + var adjustedPoint = [self convertPlatformWindowToBase:aPoint], + hitView = [_windowView hitTest:adjustedPoint]; + + while (hitView && ![aPasteboard availableTypeFromArray:[hitView registeredDraggedTypes]]) + hitView = [hitView superview]; + + if (hitView) + return hitView; + + if ([aPasteboard availableTypeFromArray:[self registeredDraggedTypes]]) + return self; + + return nil; +} + +@end + function _CPWindowFullPlatformWindowSessionMake(aWindowView, aContentRect, hasShadow, aLevel) { return { windowView:aWindowView, contentRect:aContentRect, hasShadow:hasShadow, level:aLevel }; } - -CPStandardWindowShadowStyle = 0; -CPMenuWindowShadowStyle = 1; -CPPanelWindowShadowStyle = 2; -CPCustomWindowShadowStyle = 3; - - -@import "_CPWindowView.j" -@import "_CPStandardWindowView.j" -@import "_CPDocModalWindowView.j" -@import "_CPToolTipWindowView.j" -@import "_CPHUDWindowView.j" -@import "_CPBorderlessWindowView.j" -@import "_CPBorderlessBridgeWindowView.j" -@import "_CPAttachedWindowView.j" -@import "CPDragServer.j" -@import "CPView.j" diff --git a/AppKit/CPWindow/CPWindow_Constants.j b/AppKit/CPWindow/CPWindow_Constants.j new file mode 100644 index 000000000..1025e72e6 --- /dev/null +++ b/AppKit/CPWindow/CPWindow_Constants.j @@ -0,0 +1,196 @@ +/* + * CPWindow_Constants.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + Borderless window mask option. + @global + @class CPWindow +*/ +CPBorderlessWindowMask = 0; +/* + Titled window mask option. + @global + @class CPWindow +*/ +CPTitledWindowMask = 1 << 0; +/* + Closeable window mask option. + @global + @class CPWindow +*/ +CPClosableWindowMask = 1 << 1; +/* + Miniaturizabe window mask option. + @global + @class CPWindow +*/ +CPMiniaturizableWindowMask = 1 << 2; +/* + Resizable window mask option. + @global + @class CPWindow +*/ +CPResizableWindowMask = 1 << 3; +/* + Textured window mask option. + @global + @class CPWindow +*/ +CPTexturedBackgroundWindowMask = 1 << 8; +/* + @global + @class CPWindow +*/ +CPBorderlessBridgeWindowMask = 1 << 20; +/* + @global + @class CPWindow +*/ +CPHUDBackgroundWindowMask = 1 << 21; + +/*! + @global + @class CPWindow +*/ +_CPModalWindowMask = 1 << 22; + +CPWindowNotSizable = 0; +CPWindowMinXMargin = 1; +CPWindowWidthSizable = 2; +CPWindowMaxXMargin = 4; +CPWindowMinYMargin = 8; +CPWindowHeightSizable = 16; +CPWindowMaxYMargin = 32; + +CPBackgroundWindowLevel = -1; +/* + Default level for windows + @group CPWindowLevel + @global +*/ +CPNormalWindowLevel = 0; +/* + Floating palette type window + @group CPWindowLevel + @global +*/ +CPFloatingWindowLevel = 3; +/* + Submenu type window + @group CPWindowLevel + @global +*/ +CPSubmenuWindowLevel = 3; +/* + For a torn-off menu + @group CPWindowLevel + @global +*/ +CPTornOffMenuWindowLevel = 3; +/* + For the application's main menu + @group CPWindowLevel + @global +*/ +CPMainMenuWindowLevel = 24; +/* + Status window level + @group CPWindowLevel + @global +*/ +CPStatusWindowLevel = 25; +/* + Level for a modal panel + @group CPWindowLevel + @global +*/ +CPModalPanelWindowLevel = 8; +/* + Level for a pop up menu + @group CPWindowLevel + @global +*/ +CPPopUpMenuWindowLevel = 101; +/* + Level for a window being dragged + @group CPWindowLevel + @global +*/ +CPDraggingWindowLevel = 500; +/* + Level for the screens saver + @group CPWindowLevel + @global +*/ +CPScreenSaverWindowLevel = 1000; + +/* + The receiver is placed directly in front of the window specified. + @global + @class CPWindowOrderingMode +*/ +CPWindowAbove = 1; +/* + The receiver is placed directly behind the window specified. + @global + @class CPWindowOrderingMode +*/ +CPWindowBelow = -1; +/* + The receiver is removed from the screen list and hidden. + @global + @class CPWindowOrderingMode +*/ +CPWindowOut = 0; + +CPWindowWillCloseNotification = @"CPWindowWillCloseNotification"; +CPWindowDidBecomeMainNotification = @"CPWindowDidBecomeMainNotification"; +CPWindowDidResignMainNotification = @"CPWindowDidResignMainNotification"; +CPWindowDidBecomeKeyNotification = @"CPWindowDidBecomeKeyNotification"; +CPWindowDidResignKeyNotification = @"CPWindowDidResignKeyNotification"; +CPWindowDidResizeNotification = @"CPWindowDidResizeNotification"; +CPWindowDidMoveNotification = @"CPWindowDidMoveNotification"; +CPWindowWillBeginSheetNotification = @"CPWindowWillBeginSheetNotification"; +CPWindowDidEndSheetNotification = @"CPWindowDidEndSheetNotification"; +CPWindowDidMiniaturizeNotification = @"CPWindowDidMiniaturizeNotification"; +CPWindowWillMiniaturizeNotification = @"CPWindowWillMiniaturizeNotification"; +CPWindowDidDeminiaturizeNotification = @"CPWindowDidDeminiaturizeNotification"; + +_CPWindowDidChangeFirstResponderNotification = @"_CPWindowDidChangeFirstResponderNotification"; + +CPWindowShadowStyleStandard = 0; +CPWindowShadowStyleMenu = 1; +CPWindowShadowStylePanel = 2; + +CPWindowResizeStyleModern = 0; +CPWindowResizeStyleLegacy = 1; +CPWindowResizeStyle = CPWindowResizeStyleModern; + +CPWindowPositionFlexibleRight = 1 << 19; +CPWindowPositionFlexibleLeft = 1 << 20; +CPWindowPositionFlexibleBottom = 1 << 21; +CPWindowPositionFlexibleTop = 1 << 22; + +CPStandardWindowShadowStyle = 0; +CPMenuWindowShadowStyle = 1; +CPPanelWindowShadowStyle = 2; +CPCustomWindowShadowStyle = 3; diff --git a/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j b/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j index 05959e4b5..c59b10e8c 100644 --- a/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j +++ b/AppKit/CPWindow/_CPBorderlessBridgeWindowView.j @@ -22,27 +22,20 @@ @import "_CPWindowView.j" - -var _CPToolbarViewBackgroundColor = nil; - @implementation _CPBorderlessBridgeWindowView : _CPWindowView { CPView _toolbarBackgroundView; } -+ (CPColor)toolbarBackgroundColor ++ (CPString)defaultThemeClass { - if (!_CPToolbarViewBackgroundColor) - { - var bundle = [CPBundle bundleForClass:[_CPBorderlessBridgeWindowView class]]; - _CPToolbarViewBackgroundColor = CPColorWithImages([ - ["_CPToolbarView/toolbar-background-top.png", 1, 1, bundle], - ["_CPToolbarView/toolbar-background-center.png", 1, 57.0, bundle], - ["_CPToolbarView/toolbar-background-bottom.png", 1, 1, bundle] - ], CPColorPatternIsVertical); - } + return @"bordeless-bridge-window-view"; +} - return _CPToolbarViewBackgroundColor; ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPColor grayColor]] + forKeys:[@"toolbar-background-color"]]; } - (void)setShowsResizeIndicator:(BOOL)shouldShowResizeIndicator @@ -72,7 +65,7 @@ var _CPToolbarViewBackgroundColor = nil; { _toolbarBackgroundView = [[CPView alloc] initWithFrame:CGRectMakeZero()]; - [_toolbarBackgroundView setBackgroundColor:[[self class] toolbarBackgroundColor]]; + [_toolbarBackgroundView setBackgroundColor:[self valueForThemeAttribute:@"toolbar-background-color"]]; [_toolbarBackgroundView setAutoresizingMask:CPViewWidthSizable]; [self addSubview:_toolbarBackgroundView positioned:CPWindowBelow relativeTo:nil]; diff --git a/AppKit/CPWindow/_CPDocModalWindowView.j b/AppKit/CPWindow/_CPDocModalWindowView.j index 19babdef7..1577a2d76 100644 --- a/AppKit/CPWindow/_CPDocModalWindowView.j +++ b/AppKit/CPWindow/_CPDocModalWindowView.j @@ -1,7 +1,27 @@ +/* + * _CPDocModalWindowView.j + * AppKit + * + * Created by Ross Boucher. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import "_CPWindowView.j" -var _CPStandardWindowViewBodyBackgroundColor = nil; @implementation _CPDocModalWindowView : _CPWindowView { @@ -9,35 +29,34 @@ var _CPStandardWindowViewBodyBackgroundColor = nil; CPView _shadowView; } -+ (CPColor)bodyBackgroundColor ++ (CPString)defaultThemeClass { - if (!_CPStandardWindowViewBodyBackgroundColor) - _CPStandardWindowViewBodyBackgroundColor = [CPColor colorWithWhite:0.96 alpha:0.9]; - - return _CPStandardWindowViewBodyBackgroundColor; + return @"doc-modal-window-view"; } -- (id)initWithFrame:(CPRect)aFrame styleMask:(unsigned)aStyleMask ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPColor whiteColor], 8] + forKeys:[ @"body-color", @"height-shadow"]]; +} + +- (id)initWithFrame:(CGRect)aFrame styleMask:(unsigned)aStyleMask { self = [super initWithFrame:aFrame styleMask:aStyleMask]; if (self) { - var theClass = [self class], - bounds = [self bounds]; + var bounds = [self bounds]; _bodyView = [[CPView alloc] initWithFrame:_CGRectMake(0.0, 0.0, _CGRectGetWidth(bounds), _CGRectGetHeight(bounds))]; [_bodyView setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; - [_bodyView setBackgroundColor:[theClass bodyBackgroundColor]]; [_bodyView setHitTests:NO]; [self addSubview:_bodyView]; - var bundle = [CPBundle bundleForClass:[CPWindow class]]; - _shadowView = [[CPView alloc] initWithFrame:CGRectMake(0, 0, _CGRectGetWidth(bounds), 8)]; + _shadowView = [[CPView alloc] initWithFrame:CGRectMake(0, 0, _CGRectGetWidth(bounds), [self valueForThemeAttribute:@"height-shadow"])]; [_shadowView setAutoresizingMask:CPViewWidthSizable]; - [_shadowView setBackgroundColor:[CPColor colorWithPatternImage:[[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowAttachedSheetShadow.png"] size:CGSizeMake(9,8)]]]; [self addSubview:_shadowView]; } @@ -59,5 +78,17 @@ var _CPStandardWindowViewBodyBackgroundColor = nil; // do nothing, already a sheet } +- (void)layoutSubviews +{ + [super layoutSubviews]; + + var bounds = [self bounds]; + + [_bodyView setBackgroundColor:[self valueForThemeAttribute:@"body-color"]]; + + [_shadowView setFrame:CGRectMake(0,0, _CGRectGetWidth(bounds), [self valueForThemeAttribute:@"height-shadow"])]; + [_shadowView setBackgroundColor:[self valueForThemeAttribute:@"attached-sheet-shadow-color"]]; +} + @end diff --git a/AppKit/CPWindow/_CPHUDWindowView.j b/AppKit/CPWindow/_CPHUDWindowView.j index d4a92e6ac..28a0246dd 100644 --- a/AppKit/CPWindow/_CPHUDWindowView.j +++ b/AppKit/CPWindow/_CPHUDWindowView.j @@ -20,15 +20,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPButton.j" @import "CPTextField.j" @import "_CPTitleableWindowView.j" -var _CPHUDWindowViewBackgroundColor = nil, - _CPHUDWindowViewThemeValues = nil, - - CPHUDCloseButtonImage = nil; - -var HUD_TITLEBAR_HEIGHT = 26.0; @implementation _CPHUDWindowView : _CPTitleableWindowView { @@ -36,47 +31,9 @@ var HUD_TITLEBAR_HEIGHT = 26.0; CPButton _closeButton; } -+ (void)initialize ++ (CPString)defaultThemeClass { - if (self !== [_CPHUDWindowView class]) - return; - - var bundle = [CPBundle bundleForClass:self]; - - _CPHUDWindowViewBackgroundColor = [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground0.png"] size:CPSizeMake(7.0, 37.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground1.png"] size:CPSizeMake(1.0, 37.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground2.png"] size:CPSizeMake(7.0, 37.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground3.png"] size:CPSizeMake(7.0, 1.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground4.png"] size:CPSizeMake(2.0, 2.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground5.png"] size:CPSizeMake(7.0, 1.0)], - - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground6.png"] size:CPSizeMake(7.0, 3.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground7.png"] size:CPSizeMake(1.0, 3.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/HUD/CPWindowHUDBackground8.png"] size:CPSizeMake(7.0, 3.0)] - ]]]; - - _CPHUDWindowViewCloseImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"HUDTheme/WindowClose.png"] size:CPSizeMake(18.0, 18.0)]; - _CPHUDWindowViewCloseActiveImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"HUDTheme/WindowCloseActive.png"] size:CPSizeMake(18.0, 18.0)]; - - _CPHUDWindowViewThemeValues = [ - [@"title-font", [CPFont systemFontOfSize:[CPFont systemFontSize] - 1]], - [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:0.75]], - [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:1], CPThemeStateKeyWindow], - [@"title-text-shadow-color", [CPColor blackColor]], - [@"title-text-shadow-offset", CGSizeMake(0.0, 1.0)], - [@"title-alignment", CPCenterTextAlignment], - // FIXME: Make this to CPLineBreakByTruncatingMiddle once it's implemented. - [@"title-line-break-mode", CPLineBreakByTruncatingTail], - [@"title-vertical-alignment", CPCenterVerticalTextAlignment] - ]; -} - -+ (int)titleBarHeight -{ - return HUD_TITLEBAR_HEIGHT; + return @"hud-window-view"; } - (CGRect)contentRectForFrameRect:(CGRect)aFrameRect @@ -109,30 +66,17 @@ var HUD_TITLEBAR_HEIGHT = 26.0; return frameRect; } -- (id)initWithFrame:(CPRect)aFrame styleMask:(unsigned)aStyleMask +- (id)initWithFrame:(CGRect)aFrame styleMask:(unsigned)aStyleMask { self = [super initWithFrame:aFrame styleMask:aStyleMask]; if (self) { - // Until windows become properly themable, just set these values here in the subclass. - [self registerThemeValues:_CPHUDWindowViewThemeValues]; - - var bounds = [self bounds]; - - [self setBackgroundColor:_CPHUDWindowViewBackgroundColor]; - if (_styleMask & CPClosableWindowMask) { - var closeSize = [_CPHUDWindowViewCloseImage size]; - - _closeButton = [[CPButton alloc] initWithFrame:CGRectMake(8.0, 4.0, closeSize.width, closeSize.height)]; - + _closeButton = [[CPButton alloc] initWithFrame:CGRectMakeZero()]; [_closeButton setBordered:NO]; - - [_closeButton setImage:_CPHUDWindowViewCloseImage]; - [_closeButton setAlternateImage:_CPHUDWindowViewCloseActiveImage]; - + [_closeButton setButtonType:CPMomentaryChangeButton]; [self addSubview:_closeButton]; } @@ -215,4 +159,17 @@ var HUD_TITLEBAR_HEIGHT = 26.0; [theWindow setMovableByWindowBackground:!enable]; } +- (void)layoutSubviews +{ + [super layoutSubviews]; + + if (_styleMask & CPClosableWindowMask) + { + [_closeButton setFrameOrigin:[self valueForThemeAttribute:@"close-image-origin"]]; + [_closeButton setFrameSize:[self valueForThemeAttribute:@"close-image-size"]] + [_closeButton setImage:[self valueForThemeAttribute:@"close-image"]]; + [_closeButton setAlternateImage:[self valueForThemeAttribute:@"close-active-image"]]; + } +} + @end diff --git a/AppKit/CPWindow/_CPModalWindowView.j b/AppKit/CPWindow/_CPModalWindowView.j new file mode 100644 index 000000000..096b1e306 --- /dev/null +++ b/AppKit/CPWindow/_CPModalWindowView.j @@ -0,0 +1,42 @@ +/* + * _CPModalWindowView.j + * AppKit + * + * Created by Alexandre Wilhelm. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "_CPWindowView.j" + + +@implementation _CPModalWindowView : _CPWindowView +{ +} + ++ (CPString)defaultThemeClass +{ + return @"modal-window-view"; +} + +- (void)layoutSubviews +{ + [super layoutSubviews]; + + [self setBackgroundColor:[self valueForThemeAttribute:@"bezel-color"]]; +} + +@end diff --git a/AppKit/CPWindow/_CPAttachedWindowView.j b/AppKit/CPWindow/_CPPopoverWindowView.j similarity index 82% rename from AppKit/CPWindow/_CPAttachedWindowView.j rename to AppKit/CPWindow/_CPPopoverWindowView.j index fb3b2c7b4..ffb624774 100644 --- a/AppKit/CPWindow/_CPAttachedWindowView.j +++ b/AppKit/CPWindow/_CPPopoverWindowView.j @@ -1,5 +1,5 @@ /* - * _CPAttachedWindowView.j + * _CPPopoverWindowView.j * AppKit * * Created by Antoine Mercadal @@ -20,23 +20,28 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import + +@import "CGGradient.j" @import "_CPWindowView.j" +@global CPPopoverAppearanceMinimal + #define ALIGN_STROKE(point) (FLOOR(point) === (point) ? (point) + halfStrokeWidth : (point)) #define ALIGN_COORD(point) (FLOOR(point)) -var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), - _CPAttachedWindowViewRadius = 5.0, - _CPAttachedWindowViewStrokeWidth = 1.0, - _CPAttachedWindowViewShadowSize = CGSizeMake(0, 6), - _CPAttachedWindowViewShadowBlur = 15.0; +var _CPPopoverWindowViewDefaultCursorSize = _CGSizeMake(16, 10), + _CPPopoverWindowViewRadius = 5.0, + _CPPopoverWindowViewStrokeWidth = 1.0, + _CPPopoverWindowViewShadowSize = _CGSizeMake(0, 6), + _CPPopoverWindowViewShadowBlur = 15.0; /*! @ignore A custom CPWindowView that manages a border and cursor */ -@implementation _CPAttachedWindowView : _CPWindowView +@implementation _CPPopoverWindowView : _CPWindowView { float _arrowOffsetX @accessors(property=arrowOffsetX); float _arrowOffsetY @accessors(property=arrowOffsetY); @@ -46,6 +51,23 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), CGSize _cursorSize; } ++ (CPString)defaultThemeClass +{ + return @"popover-window-view"; +} + ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[[CPNull null], + [CPNull null], + [CPNull null], + [CPNull null]] + forKeys:[@"background-gradient", + @"background-gradient-hud", + @"stroke-color", + @"stroke-color-hud"]]; +} + /*! Compute the contentView frame from a given window frame @@ -53,7 +75,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), */ - (CGRect)contentRectForFrameRect:(CGRect)aFrameRect { - var contentRect = CGRectMakeCopy(aFrameRect), + var contentRect = _CGRectMakeCopy(aFrameRect), modifierX = 16, modifierY = 19; @@ -61,7 +83,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), // // @comment: If we use this, each time we open the popover, the content // view is reduced a little over and over - // return CGRectInset(contentRect, modifierX, modifierY); + // return _CGRectInset(contentRect, modifierX, modifierY); contentRect.origin.x += modifierX; contentRect.origin.y += modifierY; @@ -78,7 +100,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), */ + (CGRect)frameRectForContentRect:(CGRect)aContentRect { - var frameRect = CGRectMakeCopy(aContentRect), + var frameRect = _CGRectMakeCopy(aContentRect), modifierX = 16, modifierY = 19; @@ -86,7 +108,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), // @comment: If we use this, each time we open the popover, the content // // view is reduced a little over and over - // return CGRectOffset(frameRect, modifierX, modifierY); + // return _CGRectOffset(frameRect, modifierX, modifierY); frameRect.origin.x -= modifierX; frameRect.origin.y -= modifierY; @@ -106,7 +128,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), _arrowOffsetX = 0.0; _arrowOffsetY = 0.0; _appearance = CPPopoverAppearanceMinimal; - _cursorSize = CGSizeMakeCopy(_CPAttachedWindowViewDefaultCursorSize); + _cursorSize = _CGSizeMakeCopy(_CPPopoverWindowViewDefaultCursorSize); } return self; @@ -117,7 +139,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), */ - (void)hideCursor { - _cursorSize = CGSizeMakeZero(); + _cursorSize = _CGSizeMakeZero(); [self setNeedsDisplay:YES]; } @@ -126,7 +148,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), */ - (void)showCursor { - _cursorSize = CGSizeMakeCopy(_CPAttachedWindowViewDefaultCursorSize); + _cursorSize = _CGSizeMakeCopy(_CPPopoverWindowViewDefaultCursorSize); [self setNeedsDisplay:YES]; } @@ -138,42 +160,28 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), [super drawRect:aRect]; var context = [[CPGraphicsContext currentContext] graphicsPort], - radius = _CPAttachedWindowViewRadius, + radius = _CPPopoverWindowViewRadius, arrowWidth = _cursorSize.width, arrowHeight = _cursorSize.height, - strokeWidth = _CPAttachedWindowViewStrokeWidth, + strokeWidth = _CPPopoverWindowViewStrokeWidth, halfStrokeWidth = strokeWidth / 2.0, strokeColor, shadowColor = [[CPColor blackColor] colorWithAlphaComponent:.2], - shadowSize = _CPAttachedWindowViewShadowSize, - shadowBlur = _CPAttachedWindowViewShadowBlur, + shadowSize = _CPPopoverWindowViewShadowSize, + shadowBlur = _CPPopoverWindowViewShadowBlur, gradient, frame = [self bounds]; if (_appearance == CPPopoverAppearanceMinimal) { - gradient = CGGradientCreateWithColorComponents( - CGColorSpaceCreateDeviceRGB(), - [ - (254.0 / 255), (254.0 / 255), (254.0 / 255), 0.93, - (231.0 / 255), (231.0 / 255), (231.0 / 255), 0.93 - ], - [0, 1], - 2 - ); - strokeColor = [CPColor colorWithHexString:@"B8B8B8"]; + gradient = [self valueForThemeAttribute:@"background-gradient"]; + strokeColor = [self valueForThemeAttribute:@"stroke-color"]; + console.error(gradient); } else { - gradient = CGGradientCreateWithColorComponents( - CGColorSpaceCreateDeviceRGB(), - [ - (38.0 / 255), (38.0 / 255), (38.0 / 255), 0.93, - (18.0 / 255), (18.0 / 255), (18.0 / 255), 0.93 - ], - [0, 1], - 2); - strokeColor = [CPColor colorWithHexString:@"222222"]; + gradient = [self valueForThemeAttribute:@"background-gradient-hud"]; + strokeColor = [self valueForThemeAttribute:@"stroke-color-hud"]; } // fix rect to take care of stroke and shadow @@ -186,7 +194,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), CGContextSetLineWidth(context, strokeWidth); CGContextBeginPath(context); CGContextSetShadowWithColor(context, shadowSize, shadowBlur, shadowColor); - CGContextDrawLinearGradient(context, gradient, CGPointMake(CGRectGetMidX(frame), 0.0), CGPointMake(CGRectGetMidX(frame), frame.size.height), 0); + CGContextDrawLinearGradient(context, gradient, _CGPointMake(_CGRectGetMidX(frame), 0.0), _CGPointMake(_CGRectGetMidX(frame), frame.size.height), 0); var xMin = _CGRectGetMinX(frame), xMax = _CGRectGetMaxX(frame), @@ -196,9 +204,9 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), arrowMaxX = ALIGN_COORD(xMax - radius - strokeWidth), arrowMinY = ALIGN_COORD(yMin + radius + strokeWidth), arrowMaxY = ALIGN_COORD(yMax - radius + strokeWidth), - arrowAnchor = CGPointMakeZero(), - arrowStart = CGPointMakeZero(), - pt = CGPointMakeZero(); + arrowAnchor = _CGPointMakeZero(), + arrowStart = _CGPointMakeZero(), + pt = _CGPointMakeZero(); // draw! switch (_preferredEdge) @@ -231,7 +239,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), pt.y = arrowMaxY - arrowWidth; pt.x = arrowAnchor.x; - arrowStart = CGPointMakeCopy(pt); + arrowStart = _CGPointMakeCopy(pt); CGContextAddLineToPoint(context, pt.x, pt.y); // top edge -> point @@ -273,7 +281,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), pt.y = arrowMaxY; pt.x = arrowAnchor.x; - arrowStart = CGPointMakeCopy(pt); + arrowStart = _CGPointMakeCopy(pt); CGContextAddLineToPoint(context, pt.x, pt.y); // bottom edge -> point @@ -322,7 +330,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), pt.x = arrowMaxX - arrowWidth; pt.y = arrowAnchor.y; - arrowStart = CGPointMakeCopy(pt); + arrowStart = _CGPointMakeCopy(pt); CGContextAddLineToPoint(context, pt.x, pt.y); // left edge -> point @@ -364,7 +372,7 @@ var _CPAttachedWindowViewDefaultCursorSize = CGSizeMake(16, 10), pt.x = arrowMaxX; pt.y = arrowAnchor.y; - arrowStart = CGPointMakeCopy(pt); + arrowStart = _CGPointMakeCopy(pt); CGContextAddLineToPoint(context, pt.x, pt.y); // right edge -> point diff --git a/AppKit/CPWindow/_CPShadowWindowView.j b/AppKit/CPWindow/_CPShadowWindowView.j new file mode 100644 index 000000000..5a0a27f03 --- /dev/null +++ b/AppKit/CPWindow/_CPShadowWindowView.j @@ -0,0 +1,78 @@ +/* + * _CPShadowWindowView.j + * AppKit + * + * Created by Alexandre Wilhelm. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "_CPWindowView.j" + + +@implementation _CPShadowWindowView : CPView +{ + _CPWindowView _windowView @accessors(setter=setWindowView:); +} + +- (id)init +{ + if (self = [super init]) + { + } + return self; +} + ++ (CPString)defaultThemeClass +{ + return @"shadow-window-view"; +} + ++ (id)themeAttributes +{ + return [CPDictionary dictionaryWithObjects:[] + forKeys:[]]; +} + +- (void)layoutSubviews +{ + [super layoutSubviews]; + + var bounds = [_windowView bounds], + shadowDistance = [_windowView valueForThemeAttribute:@"shadow-distance"], + shadowInset = [_windowView valueForThemeAttribute:@"shadow-inset"], + size = [_windowView frameSize], + shadowSize = _CGSizeMake(size.width, size.height); + + // if the shadow would be taller/wider than the window height, + // make it the same as the window height. this allows views to + // become 0, 0 with no shadow on them and makes the sheet + // animation look nicer + if (size.width >= (shadowInset.left + shadowInset.right)) + shadowSize.width += shadowInset.left + shadowInset.right; + else + shadowSize.width = shadowInset.left + CGRectGetWidth(bounds) + shadowInset.right; + + if (size.height >= (shadowInset.bottom + shadowInset.top + shadowDistance)) + shadowSize.height += shadowInset.bottom + shadowInset.top + shadowDistance; + else + shadowSize.height = shadowInset.top + CGRectGetHeight(bounds) + shadowInset.bottom; + + [self setFrame:CGRectMake(-shadowInset.left, -shadowInset.top + shadowDistance, shadowSize.width, shadowSize.height)]; + [self setBackgroundColor:[_windowView valueForThemeAttribute:@"window-shadow-color"]]; +} + +@end diff --git a/AppKit/CPWindow/_CPStandardWindowView.j b/AppKit/CPWindow/_CPStandardWindowView.j index d07f6fe54..85c5b934f 100644 --- a/AppKit/CPWindow/_CPStandardWindowView.j +++ b/AppKit/CPWindow/_CPStandardWindowView.j @@ -20,93 +20,71 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPTextField.j" +@import "CPButton.j" @import "_CPTitleableWindowView.j" - -var GRADIENT_HEIGHT = 41.0; - -var _CPTexturedWindowHeadGradientColor = nil, - _CPTexturedWindowHeadSolidColor = nil; +@class _CPDocModalWindowView @implementation _CPTexturedWindowHeadView : CPView { - CPView _gradientView; - CPView _solidView; - CPView _dividerView; + _CPWindowView _parentView; + CPView _gradientView; + CPView _solidView; + CPView _dividerView; } -+ (CPColor)gradientColor ++ (CPString)defaultThemeClass { - if (!_CPTexturedWindowHeadGradientColor) - { - var bundle = [CPBundle bundleForClass:[_CPWindowView class]]; - - _CPTexturedWindowHeadGradientColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: - [ - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardTop0.png"] size:CGSizeMake(6.0, 41.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardTop1.png"] size:CGSizeMake(1.0, 41.0)], - [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardTop2.png"] size:CGSizeMake(6.0, 41.0)] - ] - isVertical:NO - ]]; - } - - return _CPTexturedWindowHeadGradientColor; + return @"textured-window-head-view"; } -+ (CPColor)solidColor ++ (id)themeAttributes { - if (!_CPTexturedWindowHeadSolidColor) - _CPTexturedWindowHeadSolidColor = [CPColor colorWithCalibratedRed:195.0 / 255.0 green:195.0 / 255.0 blue:195.0 / 255.0 alpha:1.0]; - - return _CPTexturedWindowHeadSolidColor; + return [CPDictionary dictionaryWithObjects:[] + forKeys:[]]; } -- (id)initWithFrame:(CGRect)aFrame +- (id)initWithFrame:(CGRect)aFrame windowView:(_CPWindowView)parentView { self = [super initWithFrame:aFrame]; if (self) { - var theClass = [self class], - bounds = [self bounds]; - - _gradientView = [[CPView alloc] initWithFrame:CGRectMake(0.0, 0.0, CGRectGetWidth(bounds), GRADIENT_HEIGHT)]; - [_gradientView setBackgroundColor:[theClass gradientColor]]; - + _parentView = parentView; + _gradientView = [[CPView alloc] initWithFrame:CGRectMakeZero()]; [self addSubview:_gradientView]; - _solidView = [[CPView alloc] initWithFrame:CGRectMake(0.0, GRADIENT_HEIGHT, CGRectGetWidth(bounds), CGRectGetHeight(bounds) - GRADIENT_HEIGHT)]; - [_solidView setBackgroundColor:[theClass solidColor]]; - + _solidView = [[CPView alloc] initWithFrame:CGRectMakeZero()]; [self addSubview:_solidView]; } return self; } +- (void)layoutSubviews +{ + [super layoutSubviews]; + + var gradientHeight = [[CPTheme defaultTheme] valueForAttributeWithName:@"gradient-height" forClass:_CPStandardWindowView], + bounds = [self bounds]; + + [_gradientView setFrame:CGRectMake(0.0, 0.0, CGRectGetWidth(bounds), gradientHeight)]; + [_gradientView setBackgroundColor:[[CPTheme defaultTheme] valueForAttributeWithName:@"bezel-head-color" inState:[_parentView themeState] forClass:_CPStandardWindowView]]; + + [_solidView setFrame:CGRectMake(0.0, gradientHeight, CGRectGetWidth(bounds), CGRectGetHeight(bounds) - gradientHeight)]; + [_solidView setBackgroundColor:[[CPTheme defaultTheme] valueForAttributeWithName:@"solid-color" forClass:_CPStandardWindowView]]; +} + - (void)resizeSubviewsWithOldSize:(CGSize)aSize { var bounds = [self bounds]; - [_gradientView setFrameSize:CGSizeMake(CGRectGetWidth(bounds), GRADIENT_HEIGHT)]; - [_solidView setFrameSize:CGSizeMake(CGRectGetWidth(bounds), CGRectGetHeight(bounds) - GRADIENT_HEIGHT)]; + [_gradientView setFrameSize:CGSizeMake(CGRectGetWidth(bounds), [[CPTheme defaultTheme] valueForAttributeWithName:@"gradient-height" forClass:_CPStandardWindowView])]; + [_solidView setFrameSize:CGSizeMake(CGRectGetWidth(bounds), CGRectGetHeight(bounds) - [[CPTheme defaultTheme] valueForAttributeWithName:@"gradient-height" forClass:_CPStandardWindowView])]; } @end -var _CPStandardWindowViewBodyBackgroundColor = nil, - _CPStandardWindowViewDividerBackgroundColor = nil, - _CPStandardWindowViewCloseButtonImage = nil, - _CPStandardWindowViewCloseButtonHighlightedImage = nil, - _CPStandardWindowViewCloseButtonUnsavedImage = nil, - _CPStandardWindowViewCloseButtonUnsavedHighlightedImage = nil, - _CPStandardWindowViewMinimizeButtonImage = nil, - _CPStandardWindowViewMinimizeButtonHighlightedImage = nil, - _CPStandardWindowViewThemeValues = nil; - -var STANDARD_GRADIENT_HEIGHT = 41.0; @implementation _CPStandardWindowView : _CPTitleableWindowView { @@ -121,50 +99,38 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; BOOL _isDocumentEdited; } -+ (void)initialize ++ (CPString)defaultThemeClass { - _CPStandardWindowViewThemeValues = [ - [@"title-font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize]], - [@"title-text-color", [CPColor colorWithWhite:22.0 / 255.0 alpha:0.75]], - [@"title-text-color", [CPColor colorWithWhite:22.0 / 255.0 alpha:1], CPThemeStateKeyWindow], - [@"title-text-shadow-color", [CPColor whiteColor]], - [@"title-text-shadow-offset", CGSizeMake(0.0, 1.0)], - [@"title-alignment", CPCenterTextAlignment], - // FIXME: Make this to CPLineBreakByTruncatingMiddle once it's implemented. - [@"title-line-break-mode", CPLineBreakByTruncatingTail], - [@"title-vertical-alignment", CPCenterVerticalTextAlignment] - ]; + return @"standard-window-view"; } -+ (CPColor)bodyBackgroundColor ++ (id)themeAttributes { - if (!_CPStandardWindowViewBodyBackgroundColor) - _CPStandardWindowViewBodyBackgroundColor = [CPColor colorWithWhite:0.96 alpha:1.0]; - - return _CPStandardWindowViewBodyBackgroundColor; + return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], [CPNull null], [CPColor blackColor], [CPColor whiteColor], 32, [CPNull null], [CPNull null],[CPNull null], [CPNull null], [CPNull null], [CPNull null]] + forKeys:[ @"gradient-height", + @"solid-color", + @"bezel-head-color", + @"divider-color", + @"body-color", + @"title-bar-height", + @"minimize-image-highlighted-button", + @"minimize-image-button", + @"close-image-button", + @"close-image-highlighted-button", + @"unsaved-image-button", + @"unsaved-image-highlighted-button"]]; } -+ (CPColor)dividerBackgroundColor -{ - if (!_CPStandardWindowViewDividerBackgroundColor) - _CPStandardWindowViewDividerBackgroundColor = [CPColor colorWithCalibratedRed:125.0 / 255.0 green:125.0 / 255.0 blue:125.0 / 255.0 alpha:1.0]; - - return _CPStandardWindowViewDividerBackgroundColor; -} - -- (id)initWithFrame:(CPRect)aFrame styleMask:(unsigned)aStyleMask +- (id)initWithFrame:(CGRect)aFrame styleMask:(unsigned)aStyleMask { self = [super initWithFrame:aFrame styleMask:aStyleMask]; if (self) { - // Until windows become properly themable, just set these values here in the subclass. - [self registerThemeValues:_CPStandardWindowViewThemeValues]; - var theClass = [self class], bounds = [self bounds]; - _headView = [[_CPTexturedWindowHeadView alloc] initWithFrame:CGRectMake(0.0, 0.0, CGRectGetWidth(bounds), [[self class] titleBarHeight])]; + _headView = [[_CPTexturedWindowHeadView alloc] initWithFrame:CGRectMake(0.0, 0.0, CGRectGetWidth(bounds), [self valueForThemeAttribute:@"title-bar-height"]) windowView:self]; [_headView setAutoresizingMask:CPViewWidthSizable];; [_headView setHitTests:NO]; @@ -174,7 +140,6 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; _dividerView = [[CPView alloc] initWithFrame:CGRectMake(0.0, CGRectGetMaxY([_headView frame]), CGRectGetWidth(bounds), 1.0)]; [_dividerView setAutoresizingMask:CPViewWidthSizable]; - [_dividerView setBackgroundColor:[theClass dividerBackgroundColor]]; [_dividerView setHitTests:NO]; [self addSubview:_dividerView]; @@ -184,7 +149,6 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; _bodyView = [[CPView alloc] initWithFrame:CGRectMake(0.0, y, CGRectGetWidth(bounds), CGRectGetHeight(bounds) - y)]; [_bodyView setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; - [_bodyView setBackgroundColor:[theClass bodyBackgroundColor]]; [_bodyView setHitTests:NO]; [self addSubview:_bodyView]; @@ -193,18 +157,9 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; if (_styleMask & CPClosableWindowMask) { - if (!_CPStandardWindowViewCloseButtonImage) - { - var bundle = [CPBundle bundleForClass:[CPWindow class]]; - - _CPStandardWindowViewCloseButtonImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardCloseButton.png"] size:CGSizeMake(16.0, 16.0)]; - _CPStandardWindowViewCloseButtonHighlightedImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardCloseButtonHighlighted.png"] size:CGSizeMake(16.0, 16.0)]; - _CPStandardWindowViewCloseButtonUnsavedImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardCloseButtonUnsaved.png"] size:CGSizeMake(16.0, 16.0)]; - _CPStandardWindowViewCloseButtonUnsavedHighlightedImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardCloseButtonUnsavedHighlighted.png"] size:CGSizeMake(16.0, 16.0)]; - } - - _closeButton = [[CPButton alloc] initWithFrame:CGRectMake(8.0, 6.0, 16.0, 16.0)]; + _closeButton = [[CPButton alloc] initWithFrame:CGRectMake(8.0, 8.0, 16.0, 16.0)]; + [_closeButton setButtonType:CPMomentaryChangeButton]; [_closeButton setBordered:NO]; [self _updateCloseButton]; @@ -213,21 +168,10 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; if (_styleMask & CPMiniaturizableWindowMask && ![CPPlatform isBrowser]) { - if (!_CPStandardWindowViewMinimizeButtonImage) - { - var bundle = [CPBundle bundleForClass:[CPWindow class]]; - - _CPStandardWindowViewMinimizeButtonImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardMinimizeButton.png"] size:CGSizeMake(16.0, 16.0)]; - _CPStandardWindowViewMinimizeButtonHighlightedImage = [[CPImage alloc] initWithContentsOfFile:[bundle pathForResource:@"CPWindow/Standard/CPWindowStandardMinimizeButtonHighlighted.png"] size:CGSizeMake(16.0, 16.0)]; - } - _minimizeButton = [[CPButton alloc] initWithFrame:CGRectMake(27.0, 7.0, 16.0, 16.0)]; - + [_minimizeButton setButtonType:CPMomentaryChangeButton]; [_minimizeButton setBordered:NO]; - [_minimizeButton setImage:_CPStandardWindowViewMinimizeButtonImage]; - [_minimizeButton setAlternateImage:_CPStandardWindowViewMinimizeButtonHighlightedImage]; - [self addSubview:_minimizeButton]; } @@ -248,7 +192,7 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; - (CGSize)toolbarOffset { - return CGSizeMake(0.0, [[self class] titleBarHeight]); + return CGSizeMake(0.0, [self valueForThemeAttribute:@"title-bar-height"]); } - (void)tile @@ -257,13 +201,15 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; var theWindow = [self window], bounds = [self bounds], - width = _CGRectGetWidth(bounds); + width = _CGRectGetWidth(bounds), + headHeight = [self toolbarMaxY]; - [_headView setFrameSize:_CGSizeMake(width, [self toolbarMaxY])]; - [_dividerView setFrame:_CGRectMake(0.0, _CGRectGetMaxY([_headView frame]), width, 1.0)]; + [_headView setFrameSize:_CGSizeMake(width, headHeight)]; + [_dividerView setFrame:_CGRectMake(0.0, headHeight, width, 1.0)]; var dividerMaxY = 0, dividerMinY = 0; + if (![_dividerView isHidden]) { dividerMinY = _CGRectGetMinY([_dividerView frame]); @@ -279,7 +225,7 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; if (_minimizeButton) leftOffset += 19.0; - [_titleField setFrame:_CGRectMake(leftOffset, 0, width - leftOffset * 2.0, [[self class] titleBarHeight])]; + [_titleField setFrame:_CGRectMake(leftOffset, 0, width - leftOffset * 2.0, [self valueForThemeAttribute:@"title-bar-height"])]; var contentRect = _CGRectMake(0.0, dividerMaxY, width, _CGRectGetHeight([_bodyView frame])); @@ -316,15 +262,18 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; - (void)_updateCloseButton { + [_closeButton setFrameSize:[self valueForThemeAttribute:@"close-image-size"]]; + [_closeButton setFrameOrigin:[self valueForThemeAttribute:@"close-image-origin"]]; + if (_isDocumentEdited) { - [_closeButton setImage:_CPStandardWindowViewCloseButtonUnsavedImage]; - [_closeButton setAlternateImage:_CPStandardWindowViewCloseButtonUnsavedHighlightedImage]; + [_closeButton setImage:[self currentValueForThemeAttribute:@"unsaved-image-button"]]; + [_closeButton setAlternateImage:[self valueForThemeAttribute:@"unsaved-image-highlighted-button"]]; } else { - [_closeButton setImage:_CPStandardWindowViewCloseButtonImage]; - [_closeButton setAlternateImage:_CPStandardWindowViewCloseButtonHighlightedImage]; + [_closeButton setImage:[self currentValueForThemeAttribute:@"close-image-button"]]; + [_closeButton setAlternateImage:[self currentValueForThemeAttribute:@"close-image-highlighted-button"]]; } } @@ -354,9 +303,9 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; [_titleField setHidden:enable]; if (enable) - [_bodyView setBackgroundColor:[_CPDocModalWindowView bodyBackgroundColor]]; + [_bodyView setBackgroundColor:[[CPTheme defaultTheme] valueForAttributeWithName:@"body-color" forClass:_CPDocModalWindowView]]; else - [_bodyView setBackgroundColor:[[self class] bodyBackgroundColor]]; + [_bodyView setBackgroundColor:[self valueForThemeAttribute:@"body-color"]]; // resize the window var theWindow = [self window], @@ -374,6 +323,37 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; [self setFrameSize:_CGSizeMake(newWidth, newHeight)]; [self tile]; [theWindow setFrame:frame display:NO animate:NO]; + +} + +- (void)layoutSubviews +{ + var bounds = [self bounds]; + + [super layoutSubviews]; + [self _updateCloseButton]; + + [_minimizeButton setImage:[self valueForThemeAttribute:@"minimize-image-button"]]; + [_minimizeButton setAlternateImage:[self valueForThemeAttribute:@"minimize-image-highlighted-button"]]; + + if (![_headView isHidden]) + [_headView setFrame:CGRectMake(0.0, 0.0, CGRectGetWidth(bounds), [self toolbarMaxY])]; + else + [_headView setFrame:CGRectMake(0.0, 0.0, CGRectGetWidth(bounds), 0)]; + + if (![_dividerView isHidden]) + [_dividerView setFrame:CGRectMake(0.0, CGRectGetMaxY([_headView frame]), CGRectGetWidth(bounds), 1.0)]; + else + [_dividerView setFrame:CGRectMake(0.0, CGRectGetMaxY([_headView frame]), CGRectGetWidth(bounds), 0.0)]; + + [_dividerView setBackgroundColor:[self valueForThemeAttribute:@"divider-color"]]; + + var y = CGRectGetMaxY([_dividerView frame]); + + [_bodyView setFrame:CGRectMake(0.0, y, CGRectGetWidth(bounds), CGRectGetHeight(bounds) - y)]; + [_bodyView setBackgroundColor:[self valueForThemeAttribute:@"body-color"]]; + + [_headView setNeedsLayout]; } @end diff --git a/AppKit/CPWindow/_CPTitleableWindowView.j b/AppKit/CPWindow/_CPTitleableWindowView.j index acb2cd963..72a4b6aa8 100644 --- a/AppKit/CPWindow/_CPTitleableWindowView.j +++ b/AppKit/CPWindow/_CPTitleableWindowView.j @@ -20,18 +20,18 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPTextField.j" @import "_CPWindowView.j" -var STANDARD_TITLEBAR_HEIGHT = 25.0; @implementation _CPTitleableWindowView : _CPWindowView { - CPTextField _titleField; + CPTextField _titleField; } + (int)titleBarHeight { - return STANDARD_TITLEBAR_HEIGHT; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"title-bar-height" forClass:[self class]]; } + (CGRect)contentRectForFrameRect:(CGRect)aFrameRect @@ -56,7 +56,7 @@ var STANDARD_TITLEBAR_HEIGHT = 25.0; return frameRect; } -- (id)initWithFrame:(CPRect)aFrame styleMask:(unsigned)aStyleMask +- (id)initWithFrame:(CGRect)aFrame styleMask:(unsigned)aStyleMask { self = [super initWithFrame:aFrame styleMask:aStyleMask]; @@ -102,6 +102,8 @@ var STANDARD_TITLEBAR_HEIGHT = 25.0; { [super layoutSubviews]; + [self setBackgroundColor:[self valueForThemeAttribute:@"bezel-color"]]; + [_titleField setTextColor:[self currentValueForThemeAttribute:@"title-text-color"]]; [_titleField setFont:[self currentValueForThemeAttribute:@"title-font"]]; [_titleField setAlignment:[self currentValueForThemeAttribute:@"title-alignment"]]; diff --git a/AppKit/CPWindow/_CPToolTipWindowView.j b/AppKit/CPWindow/_CPToolTipWindowView.j index 1bc63ae62..91a561ef3 100644 --- a/AppKit/CPWindow/_CPToolTipWindowView.j +++ b/AppKit/CPWindow/_CPToolTipWindowView.j @@ -114,4 +114,4 @@ CGContextFillPath(context); } -@end \ No newline at end of file +@end diff --git a/AppKit/CPWindow/_CPWindowView.j b/AppKit/CPWindow/_CPWindowView.j index 7801f3fd7..40dfa42e7 100644 --- a/AppKit/CPWindow/_CPWindowView.j +++ b/AppKit/CPWindow/_CPWindowView.j @@ -22,10 +22,15 @@ @import "CPImageView.j" @import "CPView.j" +@import "CPWindow_Constants.j" +@class CPCursor +@class CPMenu +@class CPPlatformWindow -var _CPWindowViewResizeIndicatorImage = nil, - _CPWindowViewCornerResizeRectWidth = 10, +@global CPApp + +var _CPWindowViewCornerResizeRectWidth = 10, _CPWindowViewResizeRegionNone = -1, _CPWindowViewResizeRegionTopLeft = 0, @@ -37,6 +42,9 @@ var _CPWindowViewResizeIndicatorImage = nil, _CPWindowViewResizeRegionBottomLeft = 6, _CPWindowViewResizeRegionLeft = 7; +_CPWindowViewResizeSlop = 3; + + @implementation _CPWindowView : CPView { unsigned _styleMask; @@ -57,14 +65,6 @@ var _CPWindowViewResizeIndicatorImage = nil, CPView _sheetShadowView; } -+ (void)initialize -{ - if (self !== [_CPWindowView class]) - return; - - _CPWindowViewResizeIndicatorImage = [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPWindow class]] pathForResource:@"_CPWindowView/_CPWindowViewResizeIndicator.png"] size:_CGSizeMake(12.0, 12.0)]; -} - + (CGRect)contentRectForFrameRect:(CGRect)aFrameRect { return _CGRectMakeCopy(aFrameRect); @@ -82,8 +82,26 @@ var _CPWindowViewResizeIndicatorImage = nil, + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[[CPColor blackColor], [CPFont systemFontOfSize:CPFontCurrentSystemSize], [CPNull null], _CGSizeMakeZero(), CPCenterTextAlignment, CPLineBreakByTruncatingTail, CPTopVerticalTextAlignment] - forKeys:[@"title-text-color", @"title-font", @"title-text-shadow-color", @"title-text-shadow-offset", @"title-alignment", @"title-line-break-mode", @"title-vertical-alignment"]]; + return [CPDictionary dictionaryWithObjects:[25, CGInsetMakeZero(), 5, [CPColor clearColor], CGSizeMakeZero(), [CPNull null], [CPColor blackColor], [CPNull null],[CPNull null], [CPNull null], [CPNull null], [CPNull null] , [CPColor blackColor], [CPFont systemFontOfSize:CPFontCurrentSystemSize], [CPNull null], _CGSizeMakeZero(), CPCenterTextAlignment, CPLineBreakByTruncatingTail, CPTopVerticalTextAlignment] + forKeys:[ @"title-bar-height", + @"shadow-inset", + @"shadow-distance", + @"window-shadow-color", + @"size-indicator", + @"resize-indicator", + @"attached-sheet-shadow-color", + @"close-image-origin", + @"close-image-size", + @"close-image", + @"close-active-image", + @"bezel-color", + @"title-text-color", + @"title-font", + @"title-text-shadow-color", + @"title-text-shadow-offset", + @"title-alignment", + @"title-line-break-mode", + @"title-vertical-alignment"]]; } - (CGRect)contentRectForFrameRect:(CGRect)aFrameRect @@ -118,7 +136,7 @@ var _CPWindowViewResizeIndicatorImage = nil, return frameRect; } -- (id)initWithFrame:(CPRect)aFrame styleMask:(unsigned)aStyleMask +- (id)initWithFrame:(CGRect)aFrame styleMask:(unsigned)aStyleMask { self = [super initWithFrame:aFrame]; @@ -140,6 +158,16 @@ var _CPWindowViewResizeIndicatorImage = nil, { } +- (CPView)hitTest:(CGPoint)locationInWindow +{ + var region = [self resizeRegionForPoint:[_window convertBaseToGlobal:locationInWindow]]; + + if (region !== _CPWindowViewResizeRegionNone) + return self; + else + return [super hitTest:locationInWindow]; +} + - (BOOL)acceptsFirstMouse:(CPEvent)anEvent { return YES; @@ -226,40 +254,40 @@ var _CPWindowViewResizeIndicatorImage = nil, if (isFixedWidth) { - rect = _CGRectMake(frame.origin.x - CPWindowResizeSlop, - frame.origin.y - CPWindowResizeSlop, - frame.size.width + (CPWindowResizeSlop * 2), - CPWindowResizeSlop * 2); + rect = _CGRectMake(frame.origin.x - _CPWindowViewResizeSlop, + frame.origin.y - _CPWindowViewResizeSlop, + frame.size.width + (_CPWindowViewResizeSlop * 2), + _CPWindowViewResizeSlop * 2); if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionTop; - rect.origin.y = _CGRectGetMaxY(frame) - CPWindowResizeSlop; + rect.origin.y = _CGRectGetMaxY(frame) - _CPWindowViewResizeSlop; if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionBottom; } else if (isFixedHeight) { - rect = _CGRectMake(frame.origin.x - CPWindowResizeSlop, - frame.origin.y - CPWindowResizeSlop, - CPWindowResizeSlop * 2, - frame.size.height + (CPWindowResizeSlop * 2)); + rect = _CGRectMake(frame.origin.x - _CPWindowViewResizeSlop, + frame.origin.y - _CPWindowViewResizeSlop, + _CPWindowViewResizeSlop * 2, + frame.size.height + (_CPWindowViewResizeSlop * 2)); if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionLeft; - rect.origin.x = _CGRectGetMaxX(frame) - CPWindowResizeSlop; + rect.origin.x = _CGRectGetMaxX(frame) - _CPWindowViewResizeSlop; if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionRight; } else { - rect = _CGRectMake(frame.origin.x - CPWindowResizeSlop, - frame.origin.y - CPWindowResizeSlop, - _CPWindowViewCornerResizeRectWidth + CPWindowResizeSlop, - _CPWindowViewCornerResizeRectWidth + CPWindowResizeSlop); + rect = _CGRectMake(frame.origin.x - _CPWindowViewResizeSlop, + frame.origin.y - _CPWindowViewResizeSlop, + _CPWindowViewCornerResizeRectWidth + _CPWindowViewResizeSlop, + _CPWindowViewCornerResizeRectWidth + _CPWindowViewResizeSlop); if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionTopLeft; @@ -274,33 +302,33 @@ var _CPWindowViewResizeIndicatorImage = nil, if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionBottomRight; - rect.origin.x = frame.origin.x - CPWindowResizeSlop; + rect.origin.x = frame.origin.x - _CPWindowViewResizeSlop; if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionBottomLeft; rect = _CGRectMake(rect.origin.x, frame.origin.y + _CPWindowViewCornerResizeRectWidth, - CPWindowResizeSlop * 2, + _CPWindowViewResizeSlop * 2, _CGRectGetHeight(frame) - (_CPWindowViewCornerResizeRectWidth * 2)); if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionLeft; - rect.origin.x = _CGRectGetMaxX(frame) - CPWindowResizeSlop; + rect.origin.x = _CGRectGetMaxX(frame) - _CPWindowViewResizeSlop; if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionRight; rect = _CGRectMake(frame.origin.x + _CPWindowViewCornerResizeRectWidth, - frame.origin.y - CPWindowResizeSlop, + frame.origin.y - _CPWindowViewResizeSlop, _CGRectGetWidth(frame) - (_CPWindowViewCornerResizeRectWidth * 2), - CPWindowResizeSlop * 2); + _CPWindowViewResizeSlop * 2); if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionTop; - rect.origin.y = _CGRectGetMaxY(frame) - CPWindowResizeSlop; + rect.origin.y = _CGRectGetMaxY(frame) - _CPWindowViewResizeSlop; if (_CGRectContainsPoint(rect, aPoint)) return _CPWindowViewResizeRegionBottom; @@ -435,8 +463,8 @@ var _CPWindowViewResizeIndicatorImage = nil, else if (type === CPLeftMouseDragged) { - var diffX = globalLocation.x - _mouseDraggedPoint.x, - diffY = globalLocation.y - _mouseDraggedPoint.y, + var deltaX = globalLocation.x - _mouseDraggedPoint.x, + deltaY = globalLocation.y - _mouseDraggedPoint.y, newX = _CGRectGetMinX(_resizeFrame), newY = _CGRectGetMinY(_resizeFrame), newWidth = _CGRectGetWidth(_resizeFrame), @@ -451,19 +479,19 @@ var _CPWindowViewResizeIndicatorImage = nil, case _CPWindowViewResizeRegionTopLeft: case _CPWindowViewResizeRegionLeft: case _CPWindowViewResizeRegionBottomLeft: - if (minSize && diffX > 0) - diffX = MIN(newWidth - minSize.width, diffX); - else if (maxSize && diffX < 0) - diffX = MAX(newWidth - maxSize.width, diffX); + if (minSize && deltaX > 0) + deltaX = MIN(newWidth - minSize.width, deltaX); + else if (maxSize && deltaX < 0) + deltaX = MAX(newWidth - maxSize.width, deltaX); - newX += diffX, - newWidth -= diffX; + newX += deltaX, + newWidth -= deltaX; break; case _CPWindowViewResizeRegionTopRight: case _CPWindowViewResizeRegionRight: case _CPWindowViewResizeRegionBottomRight: - newWidth += diffX; + newWidth += deltaX; break; } @@ -473,19 +501,19 @@ var _CPWindowViewResizeIndicatorImage = nil, case _CPWindowViewResizeRegionTopLeft: case _CPWindowViewResizeRegionTop: case _CPWindowViewResizeRegionTopRight: - if (minSize && diffY > 0) - diffY = MIN(newHeight - minSize.height, diffY); - else if (maxSize && diffY < 0) - diffY = MAX(newHeight - maxSize.height, diffY); + if (minSize && deltaY > 0) + deltaY = MIN(newHeight - minSize.height, deltaY); + else if (maxSize && deltaY < 0) + deltaY = MAX(newHeight - maxSize.height, deltaY); - newY += diffY, - newHeight -= diffY; + newY += deltaY, + newHeight -= deltaY; break; case _CPWindowViewResizeRegionBottomLeft: case _CPWindowViewResizeRegionBottom: case _CPWindowViewResizeRegionBottomRight: - newHeight += diffY; + newHeight += deltaY; break; } @@ -548,8 +576,10 @@ var _CPWindowViewResizeIndicatorImage = nil, var theWindow = [self window], frame = [theWindow frame], location = [theWindow convertBaseToGlobal:[anEvent locationInWindow]], - origin = [self _pointWithinScreenFrame:_CGPointMake(_CGRectGetMinX(frame) + (location.x - _mouseDraggedPoint.x), - _CGRectGetMinY(frame) + (location.y - _mouseDraggedPoint.y))]; + deltaX = location.x - _mouseDraggedPoint.x, + deltaY = location.y - _mouseDraggedPoint.y, + origin = [self _pointWithinScreenFrame:_CGPointMake(frame.origin.x + deltaX, + frame.origin.y + deltaY)]; [theWindow setFrameOrigin:origin]; _mouseDraggedPoint = [self _pointWithinScreenFrame:location]; @@ -573,12 +603,7 @@ var _CPWindowViewResizeIndicatorImage = nil, { if (shouldShowResizeIndicator && CPWindowResizeStyle === CPWindowResizeStyleLegacy) { - var size = [_CPWindowViewResizeIndicatorImage size], - boundsSize = [self frame].size; - - _resizeIndicator = [[CPImageView alloc] initWithFrame:_CGRectMake(boundsSize.width - size.width - _resizeIndicatorOffset.width, boundsSize.height - size.height - _resizeIndicatorOffset.height, size.width, size.height)]; - - [_resizeIndicator setImage:_CPWindowViewResizeIndicatorImage]; + _resizeIndicator = [[CPImageView alloc] initWithFrame:CGRectMakeZero()]; [_resizeIndicator setAutoresizingMask:CPViewMinXMargin | CPViewMinYMargin]; [self addSubview:_resizeIndicator]; @@ -589,6 +614,8 @@ var _CPWindowViewResizeIndicatorImage = nil, _resizeIndicator = nil; } + + [self setNeedsLayout]; } - (BOOL)showsResizeIndicator @@ -753,17 +780,32 @@ var _CPWindowViewResizeIndicatorImage = nil, { if (enable) { - var bundle = [CPBundle bundleForClass:[CPWindow class]]; _sheetShadowView = [[CPView alloc] initWithFrame:_CGRectMake(0, 0, _CGRectGetWidth([self bounds]), 8)]; [_sheetShadowView setAutoresizingMask:CPViewWidthSizable]; - [_sheetShadowView setBackgroundColor:[CPColor colorWithPatternImage:[[CPImage alloc] - initWithContentsOfFile:[bundle pathForResource:@"CPWindow/CPWindowAttachedSheetShadow.png"] size:_CGSizeMake(9, 8)]]]; [self addSubview:_sheetShadowView]; } else { [_sheetShadowView removeFromSuperview]; } + + [self setNeedsLayout]; +} + +- (void)layoutSubviews +{ + [super layoutSubviews]; + + [_sheetShadowView setBackgroundColor:[self valueForThemeAttribute:@"attached-sheet-shadow-color"]]; + + if (_resizeIndicator) + { + var size = [self valueForThemeAttribute:@"size-indicator"], + boundsSize = [self frame].size; + + [_resizeIndicator setFrame:CGRectMake(boundsSize.width - size.width - _resizeIndicatorOffset.width, boundsSize.height - size.height - _resizeIndicatorOffset.height, size.width, size.height)]; + [_resizeIndicator setImage:[self valueForThemeAttribute:@"resize-indicator"]]; + } } @end diff --git a/AppKit/CPWindowController.j b/AppKit/CPWindowController.j index f8c0a2149..21b5e79c7 100644 --- a/AppKit/CPWindowController.j +++ b/AppKit/CPWindowController.j @@ -23,9 +23,16 @@ @import @import +@import "CPCib.j" @import "CPResponder.j" @import "CPWindow.j" -@import "CPDocument.j" + +@class CPDocument + +@global CPApp +@global CPDocumentWillSaveNotification +@global CPDocumentDidSaveNotification +@global CPDocumentDidFailToSaveNotification /*! diff --git a/AppKit/Cib/CPCib.j b/AppKit/Cib/CPCib.j index c1b2a46d6..a2b5e7afa 100644 --- a/AppKit/Cib/CPCib.j +++ b/AppKit/Cib/CPCib.j @@ -33,7 +33,6 @@ @import "_CPCibProxyObject.j" @import "_CPCibWindowTemplate.j" - CPCibOwner = @"CPCibOwner"; CPCibTopLevelObjects = @"CPCibTopLevelObjects"; CPCibReplacementClasses = @"CPCibReplacementClasses"; diff --git a/AppKit/Cib/CPCibLoading.j b/AppKit/Cib/CPCibLoading.j index 12fe13e9e..02e91af1e 100644 --- a/AppKit/Cib/CPCibLoading.j +++ b/AppKit/Cib/CPCibLoading.j @@ -24,6 +24,7 @@ @import @import +@import "CPCib.j" var CPCibOwner = @"CPCibOwner"; diff --git a/AppKit/Cib/_CPCibCustomObject.j b/AppKit/Cib/_CPCibCustomObject.j index 165b24153..17410767f 100644 --- a/AppKit/Cib/_CPCibCustomObject.j +++ b/AppKit/Cib/_CPCibCustomObject.j @@ -1,5 +1,29 @@ +/* + * _CPCibCustomObject.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import +@import + +@class CPApplication var _CPCibCustomObjectClassName = @"_CPCibCustomObjectClassName"; diff --git a/AppKit/Cib/_CPCibCustomResource.j b/AppKit/Cib/_CPCibCustomResource.j index a1dc2c703..508c5e3c2 100644 --- a/AppKit/Cib/_CPCibCustomResource.j +++ b/AppKit/Cib/_CPCibCustomResource.j @@ -26,6 +26,12 @@ @import @import +@import "CPCompatibility.j" +@import "CPImage.j" +@import "CPTheme.j" + +@class CPButtonBar + var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey", _CPCibCustomResourceResourceNameKey = @"_CPCibCustomResourceResourceNameKey", @@ -90,9 +96,9 @@ var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey", if (_className === @"CPImage") { if (_resourceName == "CPAddTemplate") - return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"plus_button.png"] size:CGSizeMake(11, 12)]; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"button-image-plus" forClass:[CPButtonBar class]]; else if (_resourceName == "CPRemoveTemplate") - return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"minus_button.png"] size:CGSizeMake(11, 4)]; + return [[CPTheme defaultTheme] valueForAttributeWithName:@"button-image-minus" forClass:[CPButtonBar class]]; return [self imageFromBundle:[aCoder bundle]]; } diff --git a/AppKit/Cib/_CPCibKeyedUnarchiver.j b/AppKit/Cib/_CPCibKeyedUnarchiver.j index 39765ce53..bdb88d1a0 100644 --- a/AppKit/Cib/_CPCibKeyedUnarchiver.j +++ b/AppKit/Cib/_CPCibKeyedUnarchiver.j @@ -1,3 +1,24 @@ +/* + * _CPCibKeyedUnarchiver.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import diff --git a/AppKit/Cib/_CPCibObjectData.j b/AppKit/Cib/_CPCibObjectData.j index 2d1eecf95..87a1246f1 100644 --- a/AppKit/Cib/_CPCibObjectData.j +++ b/AppKit/Cib/_CPCibObjectData.j @@ -24,13 +24,15 @@ @import @import -@import "CPCib.j" +@import "CPCibBindingConnector.j" @import "CPCibConnector.j" @import "CPCibControlConnector.j" -@import "CPCibOutletConnector.j" -@import "CPCibBindingConnector.j" -@import "CPCibRuntimeAttributesConnector.j" @import "CPCibHelpConnector.j" +@import "CPCibOutletConnector.j" +@import "CPCibRuntimeAttributesConnector.j" +@import "CPClipView.j" + +@class CPScrollView @implementation _CPCibObjectData : CPObject diff --git a/AppKit/Cib/_CPCibProxyObject.j b/AppKit/Cib/_CPCibProxyObject.j index 5122818b4..cfaf1c64f 100644 --- a/AppKit/Cib/_CPCibProxyObject.j +++ b/AppKit/Cib/_CPCibProxyObject.j @@ -1,3 +1,24 @@ +/* + * _CPCibProxyObject.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import diff --git a/AppKit/Cib/_CPCibWindowTemplate.j b/AppKit/Cib/_CPCibWindowTemplate.j index 15be5c261..a6c210a79 100644 --- a/AppKit/Cib/_CPCibWindowTemplate.j +++ b/AppKit/Cib/_CPCibWindowTemplate.j @@ -1,13 +1,33 @@ +/* + * _CPCibWindowTemplate.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import +@import @import "CGGeometry.j" -@import "CPWindow.j" +@import "CPView.j" +@import "CPWindow_Constants.j" -CPWindowPositionFlexibleRight = 1 << 19; -CPWindowPositionFlexibleLeft = 1 << 20; -CPWindowPositionFlexibleBottom = 1 << 21; -CPWindowPositionFlexibleTop = 1 << 22; +@class CPToolbar @implementation _CPCibWindowTemplate : CPObject @@ -44,7 +64,7 @@ CPWindowPositionFlexibleTop = 1 << 22; _windowIsFullPlatformWindow = NO; - _wtFlags = CPPositionProportionalHorizontal | CPPositionProportionalVertical; + _wtFlags = CPWindowPositionFlexibleLeft | CPWindowPositionFlexibleRight | CPWindowPositionFlexibleTop | CPWindowPositionFlexibleBottom; } return self; @@ -91,12 +111,10 @@ CPWindowPositionFlexibleTop = 1 << 22; [_windowView setAutoresizesSubviews:YES]; if ([_viewClass isKindOfClass:[CPToolbar class]]) - { [theWindow setToolbar:_viewClass]; - } [theWindow setAutorecalculatesKeyViewLoop:_windowAutorecalculatesKeyViewLoop]; - [theWindow setFullBridge:_windowIsFullPlatformWindow]; + [theWindow setFullPlatformWindow:_windowIsFullPlatformWindow]; theWindow._positioningMask = _wtFlags; theWindow._positioningScreenRect = _screenRect; diff --git a/AppKit/CoreAnimation/CALayer.j b/AppKit/CoreAnimation/CALayer.j index 8e1d19651..d5b390996 100644 --- a/AppKit/CoreAnimation/CALayer.j +++ b/AppKit/CoreAnimation/CALayer.j @@ -21,6 +21,7 @@ */ @import +@import @import "CABackingStore.j" @@ -85,6 +86,7 @@ var CALayerRegisteredRunLoopUpdates = nil; float _opacity; BOOL _isHidden; + BOOL _masksToBounds; CPColor _backgroundColor; // Managing Layer Hierarchy @@ -856,7 +858,7 @@ if (_DOMContentsElement && aLayer._zPosition > _DOMContentsElement.style.zIndex) */ - (void)setNeedsDisplayInRect:(CGRect)aRect { - _dirtyRect = aRect; +// _dirtyRect = aRect; [self display]; } diff --git a/AppKit/CoreAnimation/CAMediaTimingFunction.j b/AppKit/CoreAnimation/CAMediaTimingFunction.j index 62d20f194..80c891d79 100644 --- a/AppKit/CoreAnimation/CAMediaTimingFunction.j +++ b/AppKit/CoreAnimation/CAMediaTimingFunction.j @@ -75,7 +75,7 @@ var CAMediaNamedTimingFunctions = nil; return self; } -- (void)getControlPointAtIndex:(unsigned)anIndex values:(float[2])reference +- (void)getControlPointAtIndex:(unsigned)anIndex values:(float/*[2]*/)reference { if (anIndex == 0) { diff --git a/AppKit/CoreGraphics/CGColor.j b/AppKit/CoreGraphics/CGColor.j index 61914080e..371c6861d 100644 --- a/AppKit/CoreGraphics/CGColor.j +++ b/AppKit/CoreGraphics/CGColor.j @@ -20,7 +20,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -//import "CGPattern.j" @import "CGColorSpace.j" diff --git a/AppKit/CoreGraphics/CGContext.j b/AppKit/CoreGraphics/CGContext.j index 883ef2241..e749a75ce 100644 --- a/AppKit/CoreGraphics/CGContext.j +++ b/AppKit/CoreGraphics/CGContext.j @@ -711,6 +711,11 @@ else if (CPFeatureIsCompatible(CPVMLFeature)) { #include "CGContextVML.j" } +else +{ + // I have declared these functions here to make it compile without warnings with the new compiler under rhino. + CGContextClearRect = CGContextDrawLinearGradient = CGContextClip = CGContextClipToRect = function() {throw new Error("function is not declared in this environment")} +} /*! @endcond */ diff --git a/AppKit/CoreGraphics/CGGradient.j b/AppKit/CoreGraphics/CGGradient.j index 2635f0514..3681c086e 100644 --- a/AppKit/CoreGraphics/CGGradient.j +++ b/AppKit/CoreGraphics/CGGradient.j @@ -33,6 +33,7 @@ function CGGradientCreateWithColorComponents(aColorSpace, components, locations, { var num_of_colors = components.length / 4, locations = []; + for (var idx = 0; idx < num_of_colors; idx++) locations.push( idx / (num_of_colors - 1) ); } diff --git a/AppKit/CoreGraphics/CGPath.j b/AppKit/CoreGraphics/CGPath.j index 9db475c66..b84b7a90b 100644 --- a/AppKit/CoreGraphics/CGPath.j +++ b/AppKit/CoreGraphics/CGPath.j @@ -20,8 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CGGeometry.j" @import "CGAffineTransform.j" +@import "CGGeometry.j" kCGPathElementMoveToPoint = 0; diff --git a/AppKit/Jakefile b/AppKit/Jakefile index 24325dced..70db16a3d 100644 --- a/AppKit/Jakefile +++ b/AppKit/Jakefile @@ -1,8 +1,10 @@ require("../common.jake"); -var framework = require("objective-j/jake").framework; -var BundleTask = require("objective-j/jake").BundleTask; +checkUlimit(); + +var framework = require("objective-j/jake").framework, + BundleTask = require("objective-j/jake").BundleTask; $BUILD_PATH = FILE.join($BUILD_DIR, $CONFIGURATION, 'AppKit'); @@ -54,6 +56,9 @@ task ("Theme", [$BUILD_CJS_CAPPUCCINO_APPKIT], function() cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo.blend'), FILE.join($BUILD_PATH, 'Resources', 'Aristo.blend')); cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo.blend'), FILE.join($BUILD_CJS_CAPPUCCINO_APPKIT, "Resources", "Aristo.blend")); + + cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo2.blend'), FILE.join($BUILD_PATH, 'Resources', 'Aristo2.blend')); + cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo2.blend'), FILE.join($BUILD_CJS_CAPPUCCINO_APPKIT, "Resources", "Aristo2.blend")); }); task ("build", ["AppKit", $BUILD_CJS_CAPPUCCINO_APPKIT, "Theme"]); diff --git a/AppKit/Platform/CPPlatformWindow.j b/AppKit/Platform/CPPlatformWindow.j index 28a356be1..62a82e106 100644 --- a/AppKit/Platform/CPPlatformWindow.j +++ b/AppKit/Platform/CPPlatformWindow.j @@ -20,8 +20,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import @import +@import "CPKeyBinding.j" +@import "CPPlatform.j" +@class CPMenu + +@global CPApp var PrimaryPlatformWindow = NULL; @@ -136,7 +142,7 @@ var PrimaryPlatformWindow = NULL; { var frame = [self contentBounds]; - frame.origin = CGPointMakeZero(); + frame.origin = _CGPointMakeZero(); if ([CPMenu menuBarVisible] && [CPPlatformWindow primaryPlatformWindow] === self) { @@ -278,5 +284,5 @@ var PrimaryPlatformWindow = NULL; @end #if PLATFORM(BROWSER) -@import "CPPlatformWindow+DOM.j" +//@import "CPPlatformWindow+DOM.j" #endif diff --git a/AppKit/Platform/DOM/CPDOMWindowLayer.j b/AppKit/Platform/DOM/CPDOMWindowLayer.j index a919dcff6..926074a3d 100644 --- a/AppKit/Platform/DOM/CPDOMWindowLayer.j +++ b/AppKit/Platform/DOM/CPDOMWindowLayer.j @@ -82,19 +82,26 @@ { // We will have to adjust the z-index of all windows starting at this index. var count = [_windows count], - zIndex = (anIndex == CPNotFound ? count : anIndex), + zIndex = (anIndex === CPNotFound ? count : anIndex), isVisible = aWindow._isVisible; // If the window is already a resident of this layer, remove it. if (isVisible) { + // Adjust the z-index to start at the window being inserted zIndex = MIN(zIndex, aWindow._index); + + // If the window being inserted is below the insertion index, + // the index will be one less after we remove the window below. + if (aWindow._index < anIndex) + --anIndex; + [_windows removeObjectAtIndex:aWindow._index]; } else ++count; - if (anIndex == CPNotFound || anIndex >= count) + if (anIndex === CPNotFound || anIndex >= count) [_windows addObject:aWindow]; else [_windows insertObject:aWindow atIndex:anIndex]; @@ -113,7 +120,7 @@ aWindow._isVisible = YES; - if ([aWindow isFullBridge]) + if ([aWindow isFullPlatformWindow]) [aWindow setFrame:[aWindow._platformWindow usableContentFrame]]; } } diff --git a/AppKit/Platform/DOM/CPPlatform.j b/AppKit/Platform/DOM/CPPlatform.j index 2c63d79e9..9b287120d 100644 --- a/AppKit/Platform/DOM/CPPlatform.j +++ b/AppKit/Platform/DOM/CPPlatform.j @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@global CPApp + if (typeof window["CPPlatformEnableHTMLDragAndDrop"] === "undefined") CPPlatformEnableHTMLDragAndDrop = NO; diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index dff0fb70f..72abb64fd 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -109,15 +109,26 @@ @import @import +@import +@import -@import "CPEvent.j" -@import "CPText.j" +@import "CPCursor.j" @import "CPCompatibility.j" @import "CPDOMWindowLayer.j" - +@import "CPDragServer_Constants.j" +@import "CPEvent.j" +@import "CPPasteboard.j" @import "CPPlatform.j" @import "CPPlatformWindow.j" @import "CPPlatformWindow+DOMKeys.j" +@import "CPText.j" +@import "CPWindow_Constants.j" + +@class CPDragServer +@class _CPToolTip + +@global CPApp +@global _CPRunModalLoop // List of all open native windows var PlatformWindows = [CPSet set]; @@ -192,6 +203,7 @@ var ModifierKeyCodes = [ var resizeTimer = nil; +#if PLATFORM(DOM) @implementation CPPlatformWindow (DOM) - (id)_init @@ -206,7 +218,6 @@ var resizeTimer = nil; _windowLevels = []; _windowLayers = [CPDictionary dictionary]; - [self registerDOMWindow]; [self updateFromNativeContentRect]; @@ -272,7 +283,7 @@ var resizeTimer = nil; } } -- (void)orderBack:(id)aSender +- (void)orderBack:(CPWindow)aWindow { if (_DOMWindow) _DOMWindow.blur(); @@ -306,7 +317,8 @@ var resizeTimer = nil; // Make sure the pastboard element is blurred. _DOMPasteboardElement.blur(); - // Create a full screen div to protect against iframes and other elements from consuming events during tracking + // Create a full screen div to protect against iframes and other elements + // from consuming events during tracking // FIXME: multiple windows _DOMEventGuard = theDocument.createElement("div"); _DOMEventGuard.style.position = "absolute"; @@ -529,8 +541,11 @@ var resizeTimer = nil; return PlatformWindows; } -- (void)orderFront:(id)aSender +- (void)orderFront:(CPWindow)aWindow { + if ([aWindow parentWindow]) + return; + if (_DOMWindow) return _DOMWindow.focus(); @@ -541,6 +556,7 @@ var resizeTimer = nil; // FIXME: cpSetFrame? _DOMWindow.document.write(""); _DOMWindow.document.close(); + if (self != [CPPlatformWindow primaryPlatformWindow]) _DOMWindow.document.title = _title; @@ -558,7 +574,7 @@ var resizeTimer = nil; _DOMBodyElement.style.cursor = [[CPCursor currentCursor] _cssString]; } -- (void)orderOut:(id)aSender +- (void)orderOut:(CPWindow)aWindow { if (!_DOMWindow) return; @@ -661,6 +677,7 @@ var resizeTimer = nil; - (void)keyEvent:(DOMEvent)aDOMEvent { var event, + location = _lastMouseEventLocation || _CGPointMakeZero(), timestamp = [CPEvent currentTimestamp], sourceElement = aDOMEvent.target || aDOMEvent.srcElement, windowNumber = [[CPApp keyWindow] windowNumber], @@ -695,157 +712,160 @@ var resizeTimer = nil; var isNativePasteEvent = NO, isNativeCopyOrCutEvent = NO, - overrideCharacters = nil; + overrideCharacters = nil, + charactersIgnoringModifiers = @""; switch (aDOMEvent.type) { - case "keydown": // Grab and store the keycode now since it is correct and consistent at this point. - if (aDOMEvent.keyCode in MozKeyCodeToKeyCodeMap) - _keyCode = MozKeyCodeToKeyCodeMap[aDOMEvent.keyCode]; - else - _keyCode = aDOMEvent.keyCode; + case "keydown": + // Grab and store the keycode now since it is correct and consistent at this point. + if (aDOMEvent.keyCode in MozKeyCodeToKeyCodeMap) + _keyCode = MozKeyCodeToKeyCodeMap[aDOMEvent.keyCode]; + else + _keyCode = aDOMEvent.keyCode; - var characters; + var characters; - // Handle key codes for which String.fromCharCode won't work. - // Refs #1036: In Internet Explorer, both 'which' and 'charCode' are undefined for special keys. - if (aDOMEvent.which === 0 || aDOMEvent.charCode === 0 || (aDOMEvent.which === undefined && aDOMEvent.charCode === undefined)) - characters = KeyCodesToUnicodeMap[_keyCode]; + // Handle key codes for which String.fromCharCode won't work. + // Refs #1036: In Internet Explorer, both 'which' and 'charCode' are undefined for special keys. + if (aDOMEvent.which === 0 || aDOMEvent.charCode === 0 || (aDOMEvent.which === undefined && aDOMEvent.charCode === undefined)) + characters = KeyCodesToUnicodeMap[_keyCode]; - if (!characters) - characters = String.fromCharCode(_keyCode).toLowerCase(); + if (!characters) + characters = String.fromCharCode(_keyCode).toLowerCase(); - overrideCharacters = (modifierFlags & CPShiftKeyMask || _capsLockActive) ? characters.toUpperCase() : characters; + overrideCharacters = (modifierFlags & CPShiftKeyMask || _capsLockActive) ? characters.toUpperCase() : characters; - // check for caps lock state - if (_keyCode === CPKeyCodes.CAPS_LOCK) - _capsLockActive = YES; + // check for caps lock state + if (_keyCode === CPKeyCodes.CAPS_LOCK) + _capsLockActive = YES; - if ([ModifierKeyCodes containsObject:_keyCode]) - { - // A modifier key will never fire keypress. We don't need to do any other processing so we just fire it here and break. - event = [CPEvent keyEventWithType:CPFlagsChanged location:location modifierFlags:modifierFlags - timestamp:timestamp windowNumber:windowNumber context:nil - characters:nil charactersIgnoringModifiers:nil isARepeat:NO keyCode:_keyCode]; + if ([ModifierKeyCodes containsObject:_keyCode]) + { + // A modifier key will never fire keypress. We don't need to do any other processing so we just fire it here and break. + event = [CPEvent keyEventWithType:CPFlagsChanged location:location modifierFlags:modifierFlags + timestamp:timestamp windowNumber:windowNumber context:nil + characters:nil charactersIgnoringModifiers:nil isARepeat:NO keyCode:_keyCode]; - break; - } - else if (modifierFlags & (CPControlKeyMask | CPCommandKeyMask)) - { - //we are simply going to skip all keypress events that use cmd/ctrl key - //this lets us be consistent in all browsers and send on the keydown - //which means we can cancel the event early enough, but only if sendEvent needs to + break; + } + else if (modifierFlags & (CPControlKeyMask | CPCommandKeyMask)) + { + //we are simply going to skip all keypress events that use cmd/ctrl key + //this lets us be consistent in all browsers and send on the keydown + //which means we can cancel the event early enough, but only if sendEvent needs to - var eligibleForCopyPaste = [self _validateCopyCutOrPasteEvent:aDOMEvent flags:modifierFlags]; + var eligibleForCopyPaste = [self _validateCopyCutOrPasteEvent:aDOMEvent flags:modifierFlags]; - // If this could be a native PASTE event, then we need to further examine it before - // sending a CPEvent. Select our element to see if anything gets pasted in it. - if (characters === "v" && eligibleForCopyPaste) - { - if (!_ignoreNativePastePreparation) - { - _DOMPasteboardElement.select(); - _DOMPasteboardElement.value = ""; - } + // If this could be a native PASTE event, then we need to further examine it before + // sending a CPEvent. Select our element to see if anything gets pasted in it. + if (characters === "v" && eligibleForCopyPaste) + { + if (!_ignoreNativePastePreparation) + { + _DOMPasteboardElement.select(); + _DOMPasteboardElement.value = ""; + } - isNativePasteEvent = YES; - } + isNativePasteEvent = YES; + } - // However, of this could be a native COPY event, we need to let the normal event-process take place so it - // can capture our internal Cappuccino pasteboard. - else if ((characters == "c" || characters == "x") && eligibleForCopyPaste) - { - isNativeCopyOrCutEvent = YES; + // However, of this could be a native COPY event, we need to let the normal event-process take place so it + // can capture our internal Cappuccino pasteboard. + else if ((characters == "c" || characters == "x") && eligibleForCopyPaste) + { + isNativeCopyOrCutEvent = YES; - if (_ignoreNativeCopyOrCutEvent) - break; - } - } - else if (CPKeyCodes.firesKeyPressEvent(_keyCode, _lastKey, aDOMEvent.shiftKey, aDOMEvent.ctrlKey, aDOMEvent.altKey)) - { - // this branch is taken by events which fire keydown, keypress, and keyup. - // this is the only time we'll ALLOW character keys to propagate (needed for text fields) - StopDOMEventPropagation = NO; - break; - } - else - { - //this branch is taken by "remedial" key events - // In this state we continue to keypress and send the CPEvent - } + if (_ignoreNativeCopyOrCutEvent) + break; + } + } + else if (CPKeyCodes.firesKeyPressEvent(_keyCode, _lastKey, aDOMEvent.shiftKey, aDOMEvent.ctrlKey, aDOMEvent.altKey)) + { + // this branch is taken by events which fire keydown, keypress, and keyup. + // this is the only time we'll ALLOW character keys to propagate (needed for text fields) + StopDOMEventPropagation = NO; + break; + } + else + { + //this branch is taken by "remedial" key events + // In this state we continue to keypress and send the CPEvent + } case "keypress": - // we unconditionally break on keypress events with modifiers, - // because we forced the event to be sent on the keydown - if (aDOMEvent.type === "keypress" && (modifierFlags & (CPControlKeyMask | CPCommandKeyMask))) - break; + // we unconditionally break on keypress events with modifiers, + // because we forced the event to be sent on the keydown + if (aDOMEvent.type === "keypress" && (modifierFlags & (CPControlKeyMask | CPCommandKeyMask))) + break; - var keyCode = _keyCode, - charCode = aDOMEvent.keyCode || aDOMEvent.charCode, - isARepeat = (_charCodes[keyCode] != nil); + var keyCode = _keyCode, + charCode = aDOMEvent.keyCode || aDOMEvent.charCode, + isARepeat = (_charCodes[keyCode] != nil); - _lastKey = keyCode; - _charCodes[keyCode] = charCode; + _lastKey = keyCode; + _charCodes[keyCode] = charCode; - var characters = overrideCharacters; - // Is this a special key? - if (!characters && (aDOMEvent.which === 0 || aDOMEvent.charCode === 0)) - characters = KeyCodesToUnicodeMap[charCode]; + var characters = overrideCharacters; + // Is this a special key? + if (!characters && (aDOMEvent.which === 0 || aDOMEvent.charCode === 0)) + characters = KeyCodesToUnicodeMap[charCode]; - if (!characters) - characters = String.fromCharCode(charCode); + if (!characters) + characters = String.fromCharCode(charCode); - charactersIgnoringModifiers = characters.toLowerCase(); // FIXME: This isn't correct. It SHOULD include Shift. + charactersIgnoringModifiers = characters.toLowerCase(); // FIXME: This isn't correct. It SHOULD include Shift. - // Safari won't send proper capitalization during cmd-key events - if (!overrideCharacters && (modifierFlags & CPCommandKeyMask) && ((modifierFlags & CPShiftKeyMask) || _capsLockActive)) - characters = characters.toUpperCase(); + // Safari won't send proper capitalization during cmd-key events + if (!overrideCharacters && (modifierFlags & CPCommandKeyMask) && ((modifierFlags & CPShiftKeyMask) || _capsLockActive)) + characters = characters.toUpperCase(); - event = [CPEvent keyEventWithType:CPKeyDown location:location modifierFlags:modifierFlags - timestamp:timestamp windowNumber:windowNumber context:nil - characters:characters charactersIgnoringModifiers:charactersIgnoringModifiers isARepeat:isARepeat keyCode:charCode]; + event = [CPEvent keyEventWithType:CPKeyDown location:location modifierFlags:modifierFlags + timestamp:timestamp windowNumber:windowNumber context:nil + characters:characters charactersIgnoringModifiers:charactersIgnoringModifiers isARepeat:isARepeat keyCode:charCode]; - if (isNativePasteEvent) - { - _pasteboardKeyDownEvent = event; - window.setNativeTimeout(function () { [self _checkPasteboardElement] }, 0); - } + if (isNativePasteEvent) + { + _pasteboardKeyDownEvent = event; + window.setNativeTimeout(function () { [self _checkPasteboardElement] }, 0); + } - break; + break; - case "keyup": var keyCode = aDOMEvent.keyCode, - charCode = _charCodes[keyCode]; + case "keyup": + var keyCode = aDOMEvent.keyCode, + charCode = _charCodes[keyCode]; - _keyCode = -1; - _lastKey = -1; - _charCodes[keyCode] = nil; - _ignoreNativeCopyOrCutEvent = NO; - _ignoreNativePastePreparation = NO; + _keyCode = -1; + _lastKey = -1; + _charCodes[keyCode] = nil; + _ignoreNativeCopyOrCutEvent = NO; + _ignoreNativePastePreparation = NO; - // check for caps lock state - if (keyCode === CPKeyCodes.CAPS_LOCK) - _capsLockActive = NO; + // check for caps lock state + if (keyCode === CPKeyCodes.CAPS_LOCK) + _capsLockActive = NO; - if ([ModifierKeyCodes containsObject:keyCode]) - { - // A modifier key will never fire keypress. We don't need to do any other processing so we just fire it here and break. - event = [CPEvent keyEventWithType:CPFlagsChanged location:location modifierFlags:modifierFlags - timestamp:timestamp windowNumber:windowNumber context:nil - characters:nil charactersIgnoringModifiers:nil isARepeat:NO keyCode:_keyCode]; + if ([ModifierKeyCodes containsObject:keyCode]) + { + // A modifier key will never fire keypress. We don't need to do any other processing so we just fire it here and break. + event = [CPEvent keyEventWithType:CPFlagsChanged location:location modifierFlags:modifierFlags + timestamp:timestamp windowNumber:windowNumber context:nil + characters:nil charactersIgnoringModifiers:nil isARepeat:NO keyCode:_keyCode]; - break; - } + break; + } - var characters = KeyCodesToUnicodeMap[charCode] || String.fromCharCode(charCode), - charactersIgnoringModifiers = characters.toLowerCase(); + var characters = KeyCodesToUnicodeMap[charCode] || String.fromCharCode(charCode); + charactersIgnoringModifiers = characters.toLowerCase(); - if (!(modifierFlags & CPShiftKeyMask) && (modifierFlags & CPCommandKeyMask) && !_capsLockActive) - characters = charactersIgnoringModifiers; + if (!(modifierFlags & CPShiftKeyMask) && (modifierFlags & CPCommandKeyMask) && !_capsLockActive) + characters = charactersIgnoringModifiers; - event = [CPEvent keyEventWithType:CPKeyUp location:location modifierFlags:modifierFlags - timestamp: timestamp windowNumber:windowNumber context:nil - characters:characters charactersIgnoringModifiers:charactersIgnoringModifiers isARepeat:NO keyCode:keyCode]; - break; + event = [CPEvent keyEventWithType:CPKeyUp location:location modifierFlags:modifierFlags + timestamp: timestamp windowNumber:windowNumber context:nil + characters:characters charactersIgnoringModifiers:charactersIgnoringModifiers isARepeat:NO keyCode:keyCode]; + break; } if (event && !isNativePasteEvent) @@ -877,9 +897,8 @@ var resizeTimer = nil; characters = cut ? "x" : "c", timestamp = [CPEvent currentTimestamp], // fake event, might as well use current timestamp windowNumber = [[CPApp keyWindow] windowNumber], - modifierFlags = CPPlatformActionKeyMask; - - event = [CPEvent keyEventWithType:CPKeyDown location:location modifierFlags:modifierFlags + modifierFlags = CPPlatformActionKeyMask, + event = [CPEvent keyEventWithType:CPKeyDown location:location modifierFlags:modifierFlags timestamp:timestamp windowNumber:windowNumber context:nil characters:characters charactersIgnoringModifiers:characters isARepeat:NO keyCode:keyCode]; @@ -1257,7 +1276,7 @@ var resizeTimer = nil; _DOMEventMode = YES; _mouseIsDown = YES; - //fake a down and up event so that event tracking mode will work correctly + // Fake a down and up event so that event tracking mode will work correctly [CPApp sendEvent:[CPEvent mouseEventWithType:_mouseDownIsRightClick ? CPRightMouseDown : CPLeftMouseDown location:location modifierFlags:modifierFlags timestamp:timestamp windowNumber:windowNumber context:nil eventNumber:-1 clickCount:CPDOMEventGetClickCount(_lastMouseDown, timestamp, location) pressure:0]]; @@ -1304,13 +1323,15 @@ var resizeTimer = nil; if (StopDOMEventPropagation && (!supportsNativeDragAndDrop || type !== "mousedown" && !isDragging)) CPDOMEventStop(aDOMEvent, self); - // if there are any tracking event listeners then show the event guard so we don't lose events to iframes - // TODO Actually check for tracking event listeners, not just any listener but _CPRunModalLoop. + // If there are any tracking event listeners (listening for CPLeftMouseDraggedMask) + // then show the event guard so we don't lose events to iframes var hasTrackingEventListener = NO; for (var i = 0; i < CPApp._eventListeners.length; i++) { - if (CPApp._eventListeners[i]._callback !== _CPRunModalLoop) + var listener = CPApp._eventListeners[i]; + + if (listener._callback !== _CPRunModalLoop && (listener._mask & CPLeftMouseDraggedMask)) { hasTrackingEventListener = YES; break; @@ -1371,6 +1392,7 @@ var resizeTimer = nil; } var insertionIndex = 0; + if (middle !== undefined) insertionIndex = _windowLevels[middle] > aLevel ? middle : middle + 1 @@ -1383,25 +1405,118 @@ var resizeTimer = nil; return layer; } -- (void)order:(CPWindowOrderingMode)aPlace window:(CPWindow)aWindow relativeTo:(CPWindow)otherWindow +- (void)order:(CPWindowOrderingMode)orderingMode window:(CPWindow)aWindow relativeTo:(CPWindow)otherWindow { [CPPlatform initializeScreenIfNecessary]; // Grab the appropriate level for the layer, and create it if // necessary (if we are not simply removing the window). - var layer = [self layerAtLevel:[aWindow level] create:aPlace !== CPWindowOut]; + var layer = [self layerAtLevel:[aWindow level] create:orderingMode !== CPWindowOut]; - // Ignore otherWindow, simply remove this window from it's level. + // When ordering out, ignore otherWindow, simply remove aWindow from its level. // If layer is nil, this will be a no-op. - if (aPlace === CPWindowOut) + if (orderingMode === CPWindowOut) return [layer removeWindow:aWindow]; + /* + If aWindow is a child of otherWindow and is not yet visible, + aWindow must actually be ordered relative to: + + - otherWindow's last child which is not aWindow, or + - the furthest parent of aWindow + + whichever is frontmost (orderingMode === CPWindowAbove) or rearmost + (orderingMode === CPWindowBelow). + */ + + if (![aWindow isVisible] && otherWindow && [aWindow parentWindow] === otherWindow) + { + var children = [otherWindow childWindows], + lastChild = [children lastObject]; + + if (lastChild === aWindow) + { + if ([children count] > 1) + otherWindow = [children objectAtIndex:[children count] - 2]; + } + else if (lastChild) + otherWindow = lastChild; + + var furthestParent = [self _furthestParentOf:otherWindow]; + + if ((orderingMode === CPWindowAbove && furthestParent._index > otherWindow._index) || + (orderingMode === CPWindowBelow && furthestParent._index < otherWindow._index)) + otherWindow = furthestParent; + } + + /* + If a child window is ordered front, the furthest parent is actually + the one that is ordered front, and all of the descendent children + are ordered after it. + */ + else if (orderingMode === CPWindowAbove && !otherWindow) + aWindow = [self _furthestParentOf:aWindow]; + var insertionIndex = CPNotFound; + if (otherWindow) - insertionIndex = aPlace === CPWindowAbove ? otherWindow._index + 1 : otherWindow._index; + insertionIndex = orderingMode === CPWindowAbove ? otherWindow._index + 1 : otherWindow._index; // Place the window at the appropriate index. [layer insertWindow:aWindow atIndex:insertionIndex]; + + // If aWindow is a parent, recursively order all of its children after it + if ([[aWindow childWindows] count]) + [self _orderChildWindowsOf:aWindow furthestParent:[self _furthestParentOf:aWindow] layer:layer]; + + [aWindow _setHasBeenOrderedIn:YES]; +} + +- (CPWindow)_furthestParentOf:(CPWindow)aWindow +{ + var parent; + + while ((parent = [aWindow parentWindow])) + aWindow = parent; + + return aWindow; +} + +- (void)_orderChildWindowsOf:(CPWindow)aWindow furthestParent:(CPWindow)furthestParent layer:(CPDOMWindowLayer)aLayer +{ + // When a parent window is ordered, Cocoa orders its child windows + // relative to it or the furthest parent. + var children = [aWindow childWindows], + count = [children count], + parent = aWindow; + + for (var i = 0; i < count; ++i) + { + var child = children[i], + childWasVisible = [child isVisible]; + + // If a child is not visible and has not yet been ordered in, skip it + if (!childWasVisible && ![child _hasBeenOrderedIn]) + continue; + + var ordering = [child _childOrdering]; + + if ((ordering === CPWindowAbove && furthestParent._index > parent._index) || + (ordering === CPWindowBelow && furthestParent._index < parent._index)) + parent = furthestParent; + + var index = ordering === CPWindowAbove ? parent._index + 1 : parent._index; + + [aLayer insertWindow:child atIndex:index]; + + if (!childWasVisible) + [child _parentDidOrderInChild]; + + if ([[child childWindows] count]) + [self _orderChildWindowsOf:child furthestParent:furthestParent layer:aLayer]; + + parent = child; + } } - (void)_removeLayers @@ -1433,7 +1548,7 @@ var resizeTimer = nil; } /* @ignore */ -- (id)_dragHitTest:(CPPoint)aPoint pasteboard:(CPPasteboard)aPasteboard +- (id)_dragHitTest:(CGPoint)aPoint pasteboard:(CPPasteboard)aPasteboard { var levels = _windowLevels, layers = _windowLayers, @@ -1487,17 +1602,17 @@ var resizeTimer = nil; return StopContextMenuDOMEventPropagation; } -- (CPWindow)_mouseHitTest:(CPPoint)location +- (CPWindow)_mouseHitTest:(CGPoint)location { return [self _hitTest:location withTest:@selector(_isValidMousePoint:)] } -- (CPWindow)hitTest:(CPPoint)location +- (CPWindow)hitTest:(CGPoint)location { return [self _hitTest:location withTest:@selector(containsPoint:)] } -- (CPWindow)_hitTest:(CPPoint)location withTest:(SEL)aTest +- (CPWindow)_hitTest:(CGPoint)location withTest:(SEL)aTest { if (self._only) return self._only; @@ -1581,6 +1696,7 @@ var resizeTimer = nil; } @end +#endif var CPEventClass = [CPEvent class]; diff --git a/AppKit/Resources/CPAttachedWindow/attached-window-button-close-highlighted.png b/AppKit/Resources/CPAttachedWindow/attached-window-button-close-highlighted.png deleted file mode 100644 index 61a9f456e..000000000 Binary files a/AppKit/Resources/CPAttachedWindow/attached-window-button-close-highlighted.png and /dev/null differ diff --git a/AppKit/Resources/CPAttachedWindow/attached-window-button-close.png b/AppKit/Resources/CPAttachedWindow/attached-window-button-close.png deleted file mode 100644 index cd8743de1..000000000 Binary files a/AppKit/Resources/CPAttachedWindow/attached-window-button-close.png and /dev/null differ diff --git a/AppKit/Resources/CPImageView/CPImageViewLeftShadow.png b/AppKit/Resources/CPImageView/CPImageViewLeftShadow.png deleted file mode 100644 index e897b0fc4..000000000 Binary files a/AppKit/Resources/CPImageView/CPImageViewLeftShadow.png and /dev/null differ diff --git a/AppKit/Resources/CPImageView/CPImageViewTopShadow.png b/AppKit/Resources/CPImageView/CPImageViewTopShadow.png deleted file mode 100644 index df08a10a6..000000000 Binary files a/AppKit/Resources/CPImageView/CPImageViewTopShadow.png and /dev/null differ diff --git a/AppKit/Resources/CPSearchField/CPSearchFieldCancelPressed.png b/AppKit/Resources/CPSearchField/CPSearchFieldCancelPressed.png deleted file mode 100644 index 0c49b6bcb..000000000 Binary files a/AppKit/Resources/CPSearchField/CPSearchFieldCancelPressed.png and /dev/null differ diff --git a/AppKit/Resources/CPSearchField/CPSearchFieldFind.png b/AppKit/Resources/CPSearchField/CPSearchFieldFind.png deleted file mode 100644 index 2abd54182..000000000 Binary files a/AppKit/Resources/CPSearchField/CPSearchFieldFind.png and /dev/null differ diff --git a/AppKit/Resources/CPSearchField/CPSearchFieldSearch.png b/AppKit/Resources/CPSearchField/CPSearchFieldSearch.png deleted file mode 100644 index 49df14139..000000000 Binary files a/AppKit/Resources/CPSearchField/CPSearchFieldSearch.png and /dev/null differ diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottomLeft.png b/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottomLeft.png deleted file mode 100644 index 8294f9821..000000000 Binary files a/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottomLeft.png and /dev/null differ diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottomRight.png b/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottomRight.png deleted file mode 100644 index 1b6544ed0..000000000 Binary files a/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottomRight.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/CPWindowShadow0.png b/AppKit/Resources/CPWindow/CPWindowShadow0.png deleted file mode 100644 index fe41e09cd..000000000 Binary files a/AppKit/Resources/CPWindow/CPWindowShadow0.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/CPWindowShadow8.png b/AppKit/Resources/CPWindow/CPWindowShadow8.png deleted file mode 100644 index 3825387f4..000000000 Binary files a/AppKit/Resources/CPWindow/CPWindowShadow8.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground0.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground0.png deleted file mode 100644 index 052311dc3..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground0.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground2.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground2.png deleted file mode 100644 index e9d582697..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground2.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground3.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground3.png deleted file mode 100644 index fd04ecedc..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground3.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground4.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground4.png deleted file mode 100644 index bb48f8cbb..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground4.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground5.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground5.png deleted file mode 100644 index 7535320c2..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground5.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground6.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground6.png deleted file mode 100644 index 137b827f0..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground6.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground7.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground7.png deleted file mode 100644 index 421d344a7..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground7.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground8.png b/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground8.png deleted file mode 100644 index 7989d3cf3..000000000 Binary files a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground8.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardMaximizeButtonHighlighted.png b/AppKit/Resources/CPWindow/Standard/CPWindowStandardMaximizeButtonHighlighted.png deleted file mode 100644 index 986bf4d53..000000000 Binary files a/AppKit/Resources/CPWindow/Standard/CPWindowStandardMaximizeButtonHighlighted.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop0.png b/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop0.png deleted file mode 100644 index 3fb2cd5cb..000000000 Binary files a/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop0.png and /dev/null differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop1.png b/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop1.png deleted file mode 100644 index fd2f055fb..000000000 Binary files a/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop1.png and /dev/null differ diff --git a/AppKit/Resources/CPWindowResizeIndicator.png b/AppKit/Resources/CPWindowResizeIndicator.png deleted file mode 100644 index e966196a6..000000000 Binary files a/AppKit/Resources/CPWindowResizeIndicator.png and /dev/null differ diff --git a/AppKit/Resources/FIXME_ImageShadow.png b/AppKit/Resources/FIXME_ImageShadow.png deleted file mode 100644 index 5ce568219..000000000 Binary files a/AppKit/Resources/FIXME_ImageShadow.png and /dev/null differ diff --git a/AppKit/Resources/HUDTheme/WindowClose.png b/AppKit/Resources/HUDTheme/WindowClose.png deleted file mode 100644 index dd9d7d72b..000000000 Binary files a/AppKit/Resources/HUDTheme/WindowClose.png and /dev/null differ diff --git a/AppKit/Resources/HUDTheme/WindowCloseActive.png b/AppKit/Resources/HUDTheme/WindowCloseActive.png deleted file mode 100644 index 5f54a8218..000000000 Binary files a/AppKit/Resources/HUDTheme/WindowCloseActive.png and /dev/null differ diff --git a/AppKit/Resources/_CPWindowView/_CPWindowViewResizeIndicator.png b/AppKit/Resources/_CPWindowView/_CPWindowViewResizeIndicator.png deleted file mode 100644 index e966196a6..000000000 Binary files a/AppKit/Resources/_CPWindowView/_CPWindowViewResizeIndicator.png and /dev/null differ diff --git a/AppKit/Resources/action_button.png b/AppKit/Resources/action_button.png index 78ef20a18..2af0dfc48 100644 Binary files a/AppKit/Resources/action_button.png and b/AppKit/Resources/action_button.png differ diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderHUDBarRegular1.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bar-bar-regular-center.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderHUDBarRegular1.png rename to AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bar-bar-regular-center.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderHUDBarRegular0.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bar-bar-regular-left.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderHUDBarRegular0.png rename to AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bar-bar-regular-left.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderHUDBarRegular2.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bar-bar-regular-right.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderHUDBarRegular2.png rename to AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bar-bar-regular-right.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarHUDBarRegular1.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bezel-border-bar-regular-center.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarHUDBarRegular1.png rename to AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bezel-border-bar-regular-center.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarHUDBarRegular0.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bezel-border-bar-regular-left.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarHUDBarRegular0.png rename to AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bezel-border-bar-regular-left.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarHUDBarRegular2.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bezel-border-bar-regular-right.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarHUDBarRegular2.png rename to AppKit/Themes/Aristo/Resources/HUD/progress-indicator-bezel-border-bar-regular-right.png diff --git a/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-center.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-center.png new file mode 100644 index 000000000..e0a0bd241 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-left.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-left.png new file mode 100644 index 000000000..de32b01b1 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-right.png b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-right.png new file mode 100644 index 000000000..b0e9559a1 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/progress-indicator-inderterminate-bar-bar-regular-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-center.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-center.png new file mode 100644 index 000000000..1dc21efef Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-left.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-left.png new file mode 100644 index 000000000..abb518e6c Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-right.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-right.png new file mode 100644 index 000000000..c9347d5ee Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-bottom-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-center.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-center.png new file mode 100644 index 000000000..bccd5249b Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-left.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-left.png new file mode 100644 index 000000000..90704aec8 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-right.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-right.png new file mode 100644 index 000000000..7ea5b2291 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-center-right.png differ diff --git a/AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground1.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-center.png similarity index 100% rename from AppKit/Resources/CPWindow/HUD/CPWindowHUDBackground1.png rename to AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-center.png diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-left.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-left.png new file mode 100644 index 000000000..50300b9ba Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-right.png b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-right.png new file mode 100644 index 000000000..ee3b9642d Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-bezel-top-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-close-active.png b/AppKit/Themes/Aristo/Resources/HUD/window-close-active.png new file mode 100644 index 000000000..5a59693dc Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-close-active.png differ diff --git a/AppKit/Themes/Aristo/Resources/HUD/window-close.png b/AppKit/Themes/Aristo/Resources/HUD/window-close.png new file mode 100644 index 000000000..9a99ad63f Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/HUD/window-close.png differ diff --git a/AppKit/Resources/browser-leaf-highlighted.png b/AppKit/Themes/Aristo/Resources/browser-image-leaf-pressed.png similarity index 100% rename from AppKit/Resources/browser-leaf-highlighted.png rename to AppKit/Themes/Aristo/Resources/browser-image-leaf-pressed.png diff --git a/AppKit/Resources/browser-leaf.png b/AppKit/Themes/Aristo/Resources/browser-image-leaf.png similarity index 100% rename from AppKit/Resources/browser-leaf.png rename to AppKit/Themes/Aristo/Resources/browser-image-leaf.png diff --git a/AppKit/Resources/browser-resize-control.png b/AppKit/Themes/Aristo/Resources/browser-image-resize-control.png similarity index 100% rename from AppKit/Resources/browser-resize-control.png rename to AppKit/Themes/Aristo/Resources/browser-image-resize-control.png diff --git a/AppKit/Themes/Aristo/Resources/buttonbar-image-action.png b/AppKit/Themes/Aristo/Resources/buttonbar-image-action.png new file mode 100644 index 000000000..78ef20a18 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/buttonbar-image-action.png differ diff --git a/AppKit/Resources/minus_button.png b/AppKit/Themes/Aristo/Resources/buttonbar-image-minus.png similarity index 100% rename from AppKit/Resources/minus_button.png rename to AppKit/Themes/Aristo/Resources/buttonbar-image-minus.png diff --git a/AppKit/Resources/plus_button.png b/AppKit/Themes/Aristo/Resources/buttonbar-image-plus.png similarity index 100% rename from AppKit/Resources/plus_button.png rename to AppKit/Themes/Aristo/Resources/buttonbar-image-plus.png diff --git a/AppKit/Themes/Aristo/Resources/check-box-image-disabled.png b/AppKit/Themes/Aristo/Resources/check-box-image-disabled.png index 30f523fb6..f138f18b8 100644 Binary files a/AppKit/Themes/Aristo/Resources/check-box-image-disabled.png and b/AppKit/Themes/Aristo/Resources/check-box-image-disabled.png differ diff --git a/AppKit/Themes/Aristo/Resources/check-box-image-highlighted.png b/AppKit/Themes/Aristo/Resources/check-box-image-highlighted.png index 8d9a0b268..612c127ef 100644 Binary files a/AppKit/Themes/Aristo/Resources/check-box-image-highlighted.png and b/AppKit/Themes/Aristo/Resources/check-box-image-highlighted.png differ diff --git a/AppKit/Themes/Aristo/Resources/check-box-image.png b/AppKit/Themes/Aristo/Resources/check-box-image.png index 2d78bada1..9675230ea 100644 Binary files a/AppKit/Themes/Aristo/Resources/check-box-image.png and b/AppKit/Themes/Aristo/Resources/check-box-image.png differ diff --git a/AppKit/Themes/Aristo/Resources/combobox-bezel-no-border-left.png b/AppKit/Themes/Aristo/Resources/combobox-bezel-no-border-left.png index 4616ab3e1..0a229b762 100644 Binary files a/AppKit/Themes/Aristo/Resources/combobox-bezel-no-border-left.png and b/AppKit/Themes/Aristo/Resources/combobox-bezel-no-border-left.png differ diff --git a/AppKit/Resources/CPCursor/closedHandCursor.cur b/AppKit/Themes/Aristo/Resources/cursors/closedHandCursor.cur similarity index 100% rename from AppKit/Resources/CPCursor/closedHandCursor.cur rename to AppKit/Themes/Aristo/Resources/cursors/closedHandCursor.cur diff --git a/AppKit/Resources/CPCursor/contextualMenuCursor.cur b/AppKit/Themes/Aristo/Resources/cursors/contextualMenuCursor.cur similarity index 100% rename from AppKit/Resources/CPCursor/contextualMenuCursor.cur rename to AppKit/Themes/Aristo/Resources/cursors/contextualMenuCursor.cur diff --git a/AppKit/Resources/CPCursor/disappearingItemCursor.cur b/AppKit/Themes/Aristo/Resources/cursors/disappearingItemCursor.cur similarity index 100% rename from AppKit/Resources/CPCursor/disappearingItemCursor.cur rename to AppKit/Themes/Aristo/Resources/cursors/disappearingItemCursor.cur diff --git a/AppKit/Resources/CPCursor/dragCopyCursor.cur b/AppKit/Themes/Aristo/Resources/cursors/dragCopyCursor.cur similarity index 100% rename from AppKit/Resources/CPCursor/dragCopyCursor.cur rename to AppKit/Themes/Aristo/Resources/cursors/dragCopyCursor.cur diff --git a/AppKit/Resources/CPCursor/dragLinkCursor.cur b/AppKit/Themes/Aristo/Resources/cursors/dragLinkCursor.cur similarity index 100% rename from AppKit/Resources/CPCursor/dragLinkCursor.cur rename to AppKit/Themes/Aristo/Resources/cursors/dragLinkCursor.cur diff --git a/AppKit/Resources/CPCursor/openHandCursor.cur b/AppKit/Themes/Aristo/Resources/cursors/openHandCursor.cur similarity index 100% rename from AppKit/Resources/CPCursor/openHandCursor.cur rename to AppKit/Themes/Aristo/Resources/cursors/openHandCursor.cur diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png b/AppKit/Themes/Aristo/Resources/level-indicator-bezel-center.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-bezel-center.png rename to AppKit/Themes/Aristo/Resources/level-indicator-bezel-center.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-left.png b/AppKit/Themes/Aristo/Resources/level-indicator-bezel-left.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-bezel-left.png rename to AppKit/Themes/Aristo/Resources/level-indicator-bezel-left.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-bezel-right.png b/AppKit/Themes/Aristo/Resources/level-indicator-bezel-right.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-bezel-right.png rename to AppKit/Themes/Aristo/Resources/level-indicator-bezel-right.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-critical-center.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-center.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-critical-center.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-critical-left.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-left.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-critical-left.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-critical-right.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-critical-right.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-critical-right.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-center.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-empty-center.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-center.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-empty-center.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-left.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-empty-left.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-left.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-empty-left.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-empty-right.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-empty-right.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-empty-right.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-normal-center.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-center.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-normal-center.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-normal-left.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-left.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-normal-left.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-normal-right.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-normal-right.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-normal-right.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-center.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-warning-center.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-center.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-warning-center.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-warning-left.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-left.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-warning-left.png diff --git a/AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-right.png b/AppKit/Themes/Aristo/Resources/level-indicator-segment-warning-right.png similarity index 100% rename from AppKit/Resources/CPLevelIndicator/level-indicator-segment-warning-right.png rename to AppKit/Themes/Aristo/Resources/level-indicator-segment-warning-right.png diff --git a/AppKit/Resources/_CPMenuBarWindow/_CPMenuBarWindowBackgroundSelected.png b/AppKit/Themes/Aristo/Resources/menu-bar-window-background-selected.png similarity index 100% rename from AppKit/Resources/_CPMenuBarWindow/_CPMenuBarWindowBackgroundSelected.png rename to AppKit/Themes/Aristo/Resources/menu-bar-window-background-selected.png diff --git a/AppKit/Resources/_CPMenuBarWindow/_CPMenuBarWindowBackground.png b/AppKit/Themes/Aristo/Resources/menu-bar-window-background.png similarity index 100% rename from AppKit/Resources/_CPMenuBarWindow/_CPMenuBarWindowBackground.png rename to AppKit/Themes/Aristo/Resources/menu-bar-window-background.png diff --git a/AppKit/Resources/CPApplication/NewHighlighted.png b/AppKit/Themes/Aristo/Resources/menu-general-icon-new-highlighted.png similarity index 100% rename from AppKit/Resources/CPApplication/NewHighlighted.png rename to AppKit/Themes/Aristo/Resources/menu-general-icon-new-highlighted.png diff --git a/AppKit/Resources/CPApplication/New.png b/AppKit/Themes/Aristo/Resources/menu-general-icon-new.png similarity index 100% rename from AppKit/Resources/CPApplication/New.png rename to AppKit/Themes/Aristo/Resources/menu-general-icon-new.png diff --git a/AppKit/Resources/CPApplication/OpenHighlighted.png b/AppKit/Themes/Aristo/Resources/menu-general-icon-open-highlighted.png similarity index 100% rename from AppKit/Resources/CPApplication/OpenHighlighted.png rename to AppKit/Themes/Aristo/Resources/menu-general-icon-open-highlighted.png diff --git a/AppKit/Resources/CPApplication/Open.png b/AppKit/Themes/Aristo/Resources/menu-general-icon-open.png similarity index 100% rename from AppKit/Resources/CPApplication/Open.png rename to AppKit/Themes/Aristo/Resources/menu-general-icon-open.png diff --git a/AppKit/Resources/CPApplication/SaveHighlighted.png b/AppKit/Themes/Aristo/Resources/menu-general-icon-save-highlighted.png similarity index 100% rename from AppKit/Resources/CPApplication/SaveHighlighted.png rename to AppKit/Themes/Aristo/Resources/menu-general-icon-save-highlighted.png diff --git a/AppKit/Resources/CPApplication/Save.png b/AppKit/Themes/Aristo/Resources/menu-general-icon-save.png similarity index 100% rename from AppKit/Resources/CPApplication/Save.png rename to AppKit/Themes/Aristo/Resources/menu-general-icon-save.png diff --git a/AppKit/Resources/CPMenuItem/CPMenuItemOnStateHighlighted.png b/AppKit/Themes/Aristo/Resources/menu-item-on-state-highlighted.png similarity index 100% rename from AppKit/Resources/CPMenuItem/CPMenuItemOnStateHighlighted.png rename to AppKit/Themes/Aristo/Resources/menu-item-on-state-highlighted.png diff --git a/AppKit/Resources/CPMenuItem/CPMenuItemOnState.png b/AppKit/Themes/Aristo/Resources/menu-item-on-state.png similarity index 100% rename from AppKit/Resources/CPMenuItem/CPMenuItemOnState.png rename to AppKit/Themes/Aristo/Resources/menu-item-on-state.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindow1.png b/AppKit/Themes/Aristo/Resources/menu-window-1.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindow1.png rename to AppKit/Themes/Aristo/Resources/menu-window-1.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindow3.png b/AppKit/Themes/Aristo/Resources/menu-window-3.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindow3.png rename to AppKit/Themes/Aristo/Resources/menu-window-3.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindow4.png b/AppKit/Themes/Aristo/Resources/menu-window-4.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindow4.png rename to AppKit/Themes/Aristo/Resources/menu-window-4.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindow5.png b/AppKit/Themes/Aristo/Resources/menu-window-5.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindow5.png rename to AppKit/Themes/Aristo/Resources/menu-window-5.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindow7.png b/AppKit/Themes/Aristo/Resources/menu-window-7.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindow7.png rename to AppKit/Themes/Aristo/Resources/menu-window-7.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindowMoreAbove.png b/AppKit/Themes/Aristo/Resources/menu-window-more-above.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindowMoreAbove.png rename to AppKit/Themes/Aristo/Resources/menu-window-more-above.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindowMoreBelow.png b/AppKit/Themes/Aristo/Resources/menu-window-more-below.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindowMoreBelow.png rename to AppKit/Themes/Aristo/Resources/menu-window-more-below.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded0.png b/AppKit/Themes/Aristo/Resources/menu-window-rounded-0.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded0.png rename to AppKit/Themes/Aristo/Resources/menu-window-rounded-0.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded2.png b/AppKit/Themes/Aristo/Resources/menu-window-rounded-2.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded2.png rename to AppKit/Themes/Aristo/Resources/menu-window-rounded-2.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded6.png b/AppKit/Themes/Aristo/Resources/menu-window-rounded-6.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded6.png rename to AppKit/Themes/Aristo/Resources/menu-window-rounded-6.png diff --git a/AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded8.png b/AppKit/Themes/Aristo/Resources/menu-window-rounded-8.png similarity index 100% rename from AppKit/Resources/_CPMenuWindow/_CPMenuWindowRounded8.png rename to AppKit/Themes/Aristo/Resources/menu-window-rounded-8.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarBarRegular1.png b/AppKit/Themes/Aristo/Resources/progress-indicator-bar-center.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarBarRegular1.png rename to AppKit/Themes/Aristo/Resources/progress-indicator-bar-center.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarBarRegular0.png b/AppKit/Themes/Aristo/Resources/progress-indicator-bar-left.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarBarRegular0.png rename to AppKit/Themes/Aristo/Resources/progress-indicator-bar-left.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarBarRegular2.png b/AppKit/Themes/Aristo/Resources/progress-indicator-bar-right.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBarBarRegular2.png rename to AppKit/Themes/Aristo/Resources/progress-indicator-bar-right.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderBarRegular1.png b/AppKit/Themes/Aristo/Resources/progress-indicator-bezel-border-center.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderBarRegular1.png rename to AppKit/Themes/Aristo/Resources/progress-indicator-bezel-border-center.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderBarRegular0.png b/AppKit/Themes/Aristo/Resources/progress-indicator-bezel-border-left.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderBarRegular0.png rename to AppKit/Themes/Aristo/Resources/progress-indicator-bezel-border-left.png diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderBarRegular2.png b/AppKit/Themes/Aristo/Resources/progress-indicator-bezel-border-right.png similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorBezelBorderBarRegular2.png rename to AppKit/Themes/Aristo/Resources/progress-indicator-bezel-border-right.png diff --git a/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-center.png b/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-center.png new file mode 100644 index 000000000..453892b24 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-left.png b/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-left.png new file mode 100644 index 000000000..185ae1649 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-right.png b/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-right.png new file mode 100644 index 000000000..bcbf22ce6 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/progress-indicator-indeterminate-bar-right.png differ diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorSpinningStyleMini.gif b/AppKit/Themes/Aristo/Resources/progress-indicator-spinning-style-mini.gif similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorSpinningStyleMini.gif rename to AppKit/Themes/Aristo/Resources/progress-indicator-spinning-style-mini.gif diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorSpinningStyleRegular.gif b/AppKit/Themes/Aristo/Resources/progress-indicator-spinning-style-regular.gif similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorSpinningStyleRegular.gif rename to AppKit/Themes/Aristo/Resources/progress-indicator-spinning-style-regular.gif diff --git a/AppKit/Resources/CPProgressIndicator/CPProgressIndicatorSpinningStyleSmall.gif b/AppKit/Themes/Aristo/Resources/progress-indicator-spinning-style-small.gif similarity index 100% rename from AppKit/Resources/CPProgressIndicator/CPProgressIndicatorSpinningStyleSmall.gif rename to AppKit/Themes/Aristo/Resources/progress-indicator-spinning-style-small.gif diff --git a/AppKit/Resources/CPSearchField/CPSearchFieldCancel.png b/AppKit/Themes/Aristo/Resources/search-field-cancel-pressed.png similarity index 100% rename from AppKit/Resources/CPSearchField/CPSearchFieldCancel.png rename to AppKit/Themes/Aristo/Resources/search-field-cancel-pressed.png diff --git a/AppKit/Themes/Aristo/Resources/search-field-cancel.png b/AppKit/Themes/Aristo/Resources/search-field-cancel.png new file mode 100644 index 000000000..9799f5f2c Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/search-field-cancel.png differ diff --git a/AppKit/Themes/Aristo/Resources/search-field-find.png b/AppKit/Themes/Aristo/Resources/search-field-find.png new file mode 100644 index 000000000..44bd75830 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/search-field-find.png differ diff --git a/AppKit/Themes/Aristo/Resources/search-field-search.png b/AppKit/Themes/Aristo/Resources/search-field-search.png new file mode 100644 index 000000000..d500fc636 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/search-field-search.png differ diff --git a/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom-left.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom-left.png new file mode 100644 index 000000000..0a1a803dc Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom-right.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom-right.png new file mode 100644 index 000000000..8e65572e2 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom-right.png differ diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyBottom.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewHeavyBottom.png rename to AppKit/Themes/Aristo/Resources/shadow-view-heavy-bottom.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyLeft.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-left.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewHeavyLeft.png rename to AppKit/Themes/Aristo/Resources/shadow-view-heavy-left.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyRight.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-right.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewHeavyRight.png rename to AppKit/Themes/Aristo/Resources/shadow-view-heavy-right.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyTopLeft.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-top-left.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewHeavyTopLeft.png rename to AppKit/Themes/Aristo/Resources/shadow-view-heavy-top-left.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyTopRight.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-top-right.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewHeavyTopRight.png rename to AppKit/Themes/Aristo/Resources/shadow-view-heavy-top-right.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewHeavyTop.png b/AppKit/Themes/Aristo/Resources/shadow-view-heavy-top.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewHeavyTop.png rename to AppKit/Themes/Aristo/Resources/shadow-view-heavy-top.png diff --git a/AppKit/Resources/CPImageView/CPImageViewBottomLeftShadow.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-bottom-left.png similarity index 100% rename from AppKit/Resources/CPImageView/CPImageViewBottomLeftShadow.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-bottom-left.png diff --git a/AppKit/Resources/CPImageView/CPImageViewBottomRightShadow.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-bottom-right.png similarity index 100% rename from AppKit/Resources/CPImageView/CPImageViewBottomRightShadow.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-bottom-right.png diff --git a/AppKit/Resources/CPImageView/CPImageViewBottomShadow.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-bottom.png similarity index 100% rename from AppKit/Resources/CPImageView/CPImageViewBottomShadow.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-bottom.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightLeft.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-left.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightLeft.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-left.png diff --git a/AppKit/Resources/CPImageView/CPImageViewRightShadow.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-right.png similarity index 100% rename from AppKit/Resources/CPImageView/CPImageViewRightShadow.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-right.png diff --git a/AppKit/Resources/CPImageView/CPImageViewTopLeftShadow.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-top-left.png similarity index 100% rename from AppKit/Resources/CPImageView/CPImageViewTopLeftShadow.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-top-left.png diff --git a/AppKit/Resources/CPImageView/CPImageViewTopRightShadow.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-top-right.png similarity index 100% rename from AppKit/Resources/CPImageView/CPImageViewTopRightShadow.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-top-right.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightTop.png b/AppKit/Themes/Aristo/Resources/shadow-view-light-top.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightTop.png rename to AppKit/Themes/Aristo/Resources/shadow-view-light-top.png diff --git a/AppKit/Resources/CPSplitView/CPSplitViewHorizontal.png b/AppKit/Themes/Aristo/Resources/splitview-divider-horizontal.png similarity index 100% rename from AppKit/Resources/CPSplitView/CPSplitViewHorizontal.png rename to AppKit/Themes/Aristo/Resources/splitview-divider-horizontal.png diff --git a/AppKit/Resources/CPSplitView/CPSplitViewVertical.png b/AppKit/Themes/Aristo/Resources/splitview-divider-vertical.png similarity index 100% rename from AppKit/Resources/CPSplitView/CPSplitViewVertical.png rename to AppKit/Themes/Aristo/Resources/splitview-divider-vertical.png diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-center.png index 3c705139f..8c391b38e 100644 Binary files a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-center.png and b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-center.png index a28407338..417aedefb 100644 Binary files a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-center.png and b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-down-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-down-center.png index 0043f5423..a14b9448c 100644 Binary files a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-down-center.png and b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-down-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-down-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-down-center.png index a79cde09b..c96213821 100644 Binary files a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-down-center.png and b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-down-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-center.png index 1b58112cd..a504ddac3 100644 Binary files a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-center.png and b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-center.png index c990b3062..9523ea493 100644 Binary files a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-center.png and b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-center.png differ diff --git a/AppKit/Resources/GenericFile.png b/AppKit/Themes/Aristo/Resources/tableview-image-generic-file.png similarity index 100% rename from AppKit/Resources/GenericFile.png rename to AppKit/Themes/Aristo/Resources/tableview-image-generic-file.png diff --git a/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-disabled-right.png b/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-disabled-right.png index 152acfd72..7feda8a59 100644 Binary files a/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-disabled-right.png and b/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-disabled-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-right.png b/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-right.png index 57be2e5b7..7c77c0db7 100644 Binary files a/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-right.png and b/AppKit/Themes/Aristo/Resources/textfield-bezel-rounded-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/textfield-bezel-square-0.png b/AppKit/Themes/Aristo/Resources/textfield-bezel-square-0.png index c1a9ee962..53cc1ffe4 100644 Binary files a/AppKit/Themes/Aristo/Resources/textfield-bezel-square-0.png and b/AppKit/Themes/Aristo/Resources/textfield-bezel-square-0.png differ diff --git a/AppKit/Themes/Aristo/Resources/textfield-bezel-square-disabled-0.png b/AppKit/Themes/Aristo/Resources/textfield-bezel-square-disabled-0.png index 2ba5374bb..d4488d29f 100644 Binary files a/AppKit/Themes/Aristo/Resources/textfield-bezel-square-disabled-0.png and b/AppKit/Themes/Aristo/Resources/textfield-bezel-square-disabled-0.png differ diff --git a/AppKit/Themes/Aristo/Resources/token-center-disabled.png b/AppKit/Themes/Aristo/Resources/token-disabled-center.png similarity index 100% rename from AppKit/Themes/Aristo/Resources/token-center-disabled.png rename to AppKit/Themes/Aristo/Resources/token-disabled-center.png diff --git a/AppKit/Themes/Aristo/Resources/token-left-disabled.png b/AppKit/Themes/Aristo/Resources/token-disabled-left.png similarity index 100% rename from AppKit/Themes/Aristo/Resources/token-left-disabled.png rename to AppKit/Themes/Aristo/Resources/token-disabled-left.png diff --git a/AppKit/Themes/Aristo/Resources/token-right-disabled.png b/AppKit/Themes/Aristo/Resources/token-disabled-right.png similarity index 100% rename from AppKit/Themes/Aristo/Resources/token-right-disabled.png rename to AppKit/Themes/Aristo/Resources/token-disabled-right.png diff --git a/AppKit/Resources/_CPToolbarView/toolbar-background-bottom.png b/AppKit/Themes/Aristo/Resources/toolbar-background-bottom.png similarity index 100% rename from AppKit/Resources/_CPToolbarView/toolbar-background-bottom.png rename to AppKit/Themes/Aristo/Resources/toolbar-background-bottom.png diff --git a/AppKit/Resources/_CPToolbarView/toolbar-background-center.png b/AppKit/Themes/Aristo/Resources/toolbar-background-center.png similarity index 100% rename from AppKit/Resources/_CPToolbarView/toolbar-background-center.png rename to AppKit/Themes/Aristo/Resources/toolbar-background-center.png diff --git a/AppKit/Resources/_CPToolbarView/toolbar-background-top.png b/AppKit/Themes/Aristo/Resources/toolbar-background-top.png similarity index 100% rename from AppKit/Resources/_CPToolbarView/toolbar-background-top.png rename to AppKit/Themes/Aristo/Resources/toolbar-background-top.png diff --git a/AppKit/Resources/CPToolbarItem/CPToolbarItemSeparator0.png b/AppKit/Themes/Aristo/Resources/toolbar-item-separator-0.png similarity index 100% rename from AppKit/Resources/CPToolbarItem/CPToolbarItemSeparator0.png rename to AppKit/Themes/Aristo/Resources/toolbar-item-separator-0.png diff --git a/AppKit/Resources/CPToolbarItem/CPToolbarItemSeparator1.png b/AppKit/Themes/Aristo/Resources/toolbar-item-separator-1.png similarity index 100% rename from AppKit/Resources/CPToolbarItem/CPToolbarItemSeparator1.png rename to AppKit/Themes/Aristo/Resources/toolbar-item-separator-1.png diff --git a/AppKit/Resources/CPToolbarItem/CPToolbarItemSeparator2.png b/AppKit/Themes/Aristo/Resources/toolbar-item-separator-2.png similarity index 100% rename from AppKit/Resources/CPToolbarItem/CPToolbarItemSeparator2.png rename to AppKit/Themes/Aristo/Resources/toolbar-item-separator-2.png diff --git a/AppKit/Resources/_CPToolbarView/_CPToolbarViewExtraItemsAlternateImage.png b/AppKit/Themes/Aristo/Resources/toolbar-view-extra-items-alternate-image.png similarity index 100% rename from AppKit/Resources/_CPToolbarView/_CPToolbarViewExtraItemsAlternateImage.png rename to AppKit/Themes/Aristo/Resources/toolbar-view-extra-items-alternate-image.png diff --git a/AppKit/Resources/_CPToolbarView/_CPToolbarViewExtraItemsImage.png b/AppKit/Themes/Aristo/Resources/toolbar-view-extra-items-image.png similarity index 100% rename from AppKit/Resources/_CPToolbarView/_CPToolbarViewExtraItemsImage.png rename to AppKit/Themes/Aristo/Resources/toolbar-view-extra-items-image.png diff --git a/AppKit/Resources/CPWindow/CPWindowAttachedSheetShadow.png b/AppKit/Themes/Aristo/Resources/window-attached-sheet-shadow.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowAttachedSheetShadow.png rename to AppKit/Themes/Aristo/Resources/window-attached-sheet-shadow.png diff --git a/AppKit/Themes/Aristo/Resources/window-popup-bottom-center.png b/AppKit/Themes/Aristo/Resources/window-popup-bottom-center.png new file mode 100644 index 000000000..8ae98e935 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-bottom-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-bottom-left.png b/AppKit/Themes/Aristo/Resources/window-popup-bottom-left.png new file mode 100644 index 000000000..d3b665c77 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-bottom-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-bottom-right.png b/AppKit/Themes/Aristo/Resources/window-popup-bottom-right.png new file mode 100644 index 000000000..5046366e1 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-bottom-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-center-center.png b/AppKit/Themes/Aristo/Resources/window-popup-center-center.png new file mode 100644 index 000000000..f28a8a9ed Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-center-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-center-left.png b/AppKit/Themes/Aristo/Resources/window-popup-center-left.png new file mode 100644 index 000000000..7e4f5ae0a Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-center-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-center-right.png b/AppKit/Themes/Aristo/Resources/window-popup-center-right.png new file mode 100644 index 000000000..13ddfe6b8 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-center-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-top-center.png b/AppKit/Themes/Aristo/Resources/window-popup-top-center.png new file mode 100644 index 000000000..e5f4d45c1 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-top-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-top-left.png b/AppKit/Themes/Aristo/Resources/window-popup-top-left.png new file mode 100644 index 000000000..2f9712911 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-top-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-popup-top-right.png b/AppKit/Themes/Aristo/Resources/window-popup-top-right.png new file mode 100644 index 000000000..94246df5b Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-popup-top-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-resize-indicator.png b/AppKit/Themes/Aristo/Resources/window-resize-indicator.png new file mode 100644 index 000000000..2643e3db8 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-resize-indicator.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-shadow-0.png b/AppKit/Themes/Aristo/Resources/window-shadow-0.png new file mode 100644 index 000000000..801bb4737 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-shadow-0.png differ diff --git a/AppKit/Resources/CPWindow/CPWindowShadow1.png b/AppKit/Themes/Aristo/Resources/window-shadow-1.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow1.png rename to AppKit/Themes/Aristo/Resources/window-shadow-1.png diff --git a/AppKit/Resources/CPWindow/CPWindowShadow2.png b/AppKit/Themes/Aristo/Resources/window-shadow-2.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow2.png rename to AppKit/Themes/Aristo/Resources/window-shadow-2.png diff --git a/AppKit/Resources/CPWindow/CPWindowShadow3.png b/AppKit/Themes/Aristo/Resources/window-shadow-3.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow3.png rename to AppKit/Themes/Aristo/Resources/window-shadow-3.png diff --git a/AppKit/Resources/CPWindow/CPWindowShadow4.png b/AppKit/Themes/Aristo/Resources/window-shadow-4.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow4.png rename to AppKit/Themes/Aristo/Resources/window-shadow-4.png diff --git a/AppKit/Resources/CPWindow/CPWindowShadow5.png b/AppKit/Themes/Aristo/Resources/window-shadow-5.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow5.png rename to AppKit/Themes/Aristo/Resources/window-shadow-5.png diff --git a/AppKit/Resources/CPWindow/CPWindowShadow6.png b/AppKit/Themes/Aristo/Resources/window-shadow-6.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow6.png rename to AppKit/Themes/Aristo/Resources/window-shadow-6.png diff --git a/AppKit/Resources/CPWindow/CPWindowShadow7.png b/AppKit/Themes/Aristo/Resources/window-shadow-7.png similarity index 100% rename from AppKit/Resources/CPWindow/CPWindowShadow7.png rename to AppKit/Themes/Aristo/Resources/window-shadow-7.png diff --git a/AppKit/Themes/Aristo/Resources/window-shadow-8.png b/AppKit/Themes/Aristo/Resources/window-shadow-8.png new file mode 100644 index 000000000..43615d872 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-shadow-8.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-bottom-center.png b/AppKit/Themes/Aristo/Resources/window-standard-bottom-center.png new file mode 100644 index 000000000..b82b680e3 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-bottom-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-bottom-left.png b/AppKit/Themes/Aristo/Resources/window-standard-bottom-left.png new file mode 100644 index 000000000..bdd3d889f Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-bottom-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-bottom-right.png b/AppKit/Themes/Aristo/Resources/window-standard-bottom-right.png new file mode 100644 index 000000000..3ae26af56 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-bottom-right.png differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButtonHighlighted.png b/AppKit/Themes/Aristo/Resources/window-standard-button-highlighted.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButtonHighlighted.png rename to AppKit/Themes/Aristo/Resources/window-standard-button-highlighted.png diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButtonUnsaved.png b/AppKit/Themes/Aristo/Resources/window-standard-button-unsaved.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButtonUnsaved.png rename to AppKit/Themes/Aristo/Resources/window-standard-button-unsaved.png diff --git a/AppKit/Themes/Aristo/Resources/window-standard-center-center.png b/AppKit/Themes/Aristo/Resources/window-standard-center-center.png new file mode 100644 index 000000000..ce4722e6e Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-center-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-center-left.png b/AppKit/Themes/Aristo/Resources/window-standard-center-left.png new file mode 100644 index 000000000..2dc2f6cf9 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-center-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-center-right.png b/AppKit/Themes/Aristo/Resources/window-standard-center-right.png new file mode 100644 index 000000000..6980636c1 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-center-right.png differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButtonUnsavedHighlighted.png b/AppKit/Themes/Aristo/Resources/window-standard-close-button-unsaved-highlighted.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButtonUnsavedHighlighted.png rename to AppKit/Themes/Aristo/Resources/window-standard-close-button-unsaved-highlighted.png diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButton.png b/AppKit/Themes/Aristo/Resources/window-standard-close-button.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardCloseButton.png rename to AppKit/Themes/Aristo/Resources/window-standard-close-button.png diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-center.png b/AppKit/Themes/Aristo/Resources/window-standard-head-center.png new file mode 100644 index 000000000..5d12753d4 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-left.png b/AppKit/Themes/Aristo/Resources/window-standard-head-left.png new file mode 100644 index 000000000..a599ca57e Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-right.png b/AppKit/Themes/Aristo/Resources/window-standard-head-right.png new file mode 100644 index 000000000..351f546cb Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-center.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-center.png new file mode 100644 index 000000000..29b0214c0 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-left.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-left.png new file mode 100644 index 000000000..2aba509ac Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-right.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-right.png new file mode 100644 index 000000000..bd3a4f0a4 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-bottom-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-center.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-center.png new file mode 100644 index 000000000..16c149417 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-left.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-left.png new file mode 100644 index 000000000..a24bdae46 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-right.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-right.png new file mode 100644 index 000000000..4c3fe34f4 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-center-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-center.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-center.png new file mode 100644 index 000000000..cb81f03f5 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-left.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-left.png new file mode 100644 index 000000000..6d66e4cc5 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-right.png b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-right.png new file mode 100644 index 000000000..9be2a08c8 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-head-solid-top-right.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-maximize-button-highlighted.png b/AppKit/Themes/Aristo/Resources/window-standard-maximize-button-highlighted.png new file mode 100644 index 000000000..d72cfa6a9 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-maximize-button-highlighted.png differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardMaximizeButton.png b/AppKit/Themes/Aristo/Resources/window-standard-maximize-button.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardMaximizeButton.png rename to AppKit/Themes/Aristo/Resources/window-standard-maximize-button.png diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardMinimizeButtonHighlighted.png b/AppKit/Themes/Aristo/Resources/window-standard-minimize-button-highlighted.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardMinimizeButtonHighlighted.png rename to AppKit/Themes/Aristo/Resources/window-standard-minimize-button-highlighted.png diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardMinimizeButton.png b/AppKit/Themes/Aristo/Resources/window-standard-minimize-button.png similarity index 100% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardMinimizeButton.png rename to AppKit/Themes/Aristo/Resources/window-standard-minimize-button.png diff --git a/AppKit/Themes/Aristo/Resources/window-standard-top-center.png b/AppKit/Themes/Aristo/Resources/window-standard-top-center.png new file mode 100644 index 000000000..ce4722e6e Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-top-center.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-top-left.png b/AppKit/Themes/Aristo/Resources/window-standard-top-left.png new file mode 100644 index 000000000..2dc2f6cf9 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-top-left.png differ diff --git a/AppKit/Themes/Aristo/Resources/window-standard-top-right.png b/AppKit/Themes/Aristo/Resources/window-standard-top-right.png new file mode 100644 index 000000000..6980636c1 Binary files /dev/null and b/AppKit/Themes/Aristo/Resources/window-standard-top-right.png differ diff --git a/AppKit/Themes/Aristo/ThemeDescriptors.j b/AppKit/Themes/Aristo/ThemeDescriptors.j index c57c063c8..c3c63d853 100755 --- a/AppKit/Themes/Aristo/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo/ThemeDescriptors.j @@ -4,11 +4,52 @@ * * Created by Francisco Tolmasky. * Copyright 2009, 280 North, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @import -@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import @import +@import +@import +@import +@import +@import +@import + +@import var themedButtonValues = nil, themedTextFieldValues = nil, @@ -18,8 +59,10 @@ var themedButtonValues = nil, themedHorizontalSliderValues = nil, themedVerticalSliderValues = nil, themedCircularSliderValues = nil, - themedButtonBarValues = nil, - themedAlertValues = nil; + themedAlertValues = nil, + themedProgressIndicator = nil, + themedIndeterminateProgressIndicator = nil, + themedWindowViewValues = nil; /* HOW TO ADD OR MODIFY THEMED ELEMENTS @@ -326,12 +369,24 @@ var themedButtonValues = nil, + (CPArray)themeShowcaseExcludes { - return ["alert", "cornerview", "columnHeader", "tableView", "tableHeaderRow", "tableDataView", "ruleeditor", "scrollView", "horizontalScroller", "verticalScroller", "tooltip"]; + return ["themedAlert", + "themedMenuView", + "themedMenuItemStandardView", + "themedMenuItemMenuBarView", + "themedToolbarView", + "themedBordelessBridgeWindowView", + "themedWindowView", + "themedBrowser", + "themedRuleEditor", + "themedTableDataView", + "themedCornerview", + "themedTokenFieldTokenCloseButton"]; } + + (CPButton)makeButton { - return [[CPButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, CPButtonDefaultHeight)]; + return [[CPButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 24.0)]; } + (CPButton)button @@ -470,8 +525,8 @@ var themedButtonValues = nil, [@"text-color", defaultTextColor, CPThemeStateDefault], [@"text-color", defaultDisabledTextColor, CPThemeStateDefault | CPThemeStateDisabled], - [@"min-size", CGSizeMake(0.0, CPButtonDefaultHeight)], - [@"max-size", CGSizeMake(-1.0, CPButtonDefaultHeight)], + [@"min-size", CGSizeMake(0.0, 24.0)], + [@"max-size", CGSizeMake(-1.0, 24.0)], [@"image-offset", CPButtonImageOffset] ]; @@ -621,11 +676,13 @@ var themedButtonValues = nil, + (CPScroller)makeVerticalScroller { - var scroller = [[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, 15.0, 170.0)]; + var scroller = [[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, 9.0, 170.0)]; [scroller setFloatValue:0.1]; [scroller setKnobProportion:0.5]; + [scroller setStyle:CPScrollerStyleLegacy]; + return scroller; } @@ -692,7 +749,6 @@ var themedButtonValues = nil, ], PatternIsVertical); - themedVerticalScrollerValues = [ // Common @@ -712,8 +768,8 @@ var themedButtonValues = nil, [@"knob-color", knobColorDark, CPThemeStateVertical | CPThemeStateScrollerKnobDark], [@"increment-line-color", [CPNull null], CPThemeStateVertical], [@"decrement-line-color", [CPNull null], CPThemeStateVertical], - [@"decrement-line-size", CPSizeMakeZero(), CPThemeStateVertical], - [@"increment-line-size", CPSizeMakeZero(), CPThemeStateVertical], + [@"decrement-line-size", CGSizeMakeZero(), CPThemeStateVertical], + [@"increment-line-size", CGSizeMakeZero(), CPThemeStateVertical], // Legacy [@"scroller-width", 14.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy], @@ -731,8 +787,8 @@ var themedButtonValues = nil, [@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark], [@"increment-line-color", incrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy], [@"decrement-line-color", decrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy], - [@"decrement-line-size", CPSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy], - [@"increment-line-size", CPSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy] + [@"decrement-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"increment-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy] ]; [self registerThemeValues:themedVerticalScrollerValues forView:scroller]; @@ -742,11 +798,13 @@ var themedButtonValues = nil, + (CPScroller)makeHorizontalScroller { - var scroller = [[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, 170.0, 15.0)]; + var scroller = [[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, 170.0, 9.0)]; [scroller setFloatValue:0.1]; [scroller setKnobProportion:0.5]; + [scroller setStyle:CPScrollerStyleLegacy]; + return scroller; } @@ -830,8 +888,8 @@ var themedButtonValues = nil, [@"knob-color", knobColor], [@"knob-color", knobColorLight, CPThemeStateScrollerKnobLight], [@"knob-color", knobColorDark, CPThemeStateScrollerKnobDark], - [@"decrement-line-size", CPSizeMakeZero()], - [@"increment-line-size", CPSizeMakeZero()], + [@"decrement-line-size", CGSizeMakeZero()], + [@"increment-line-size", CGSizeMakeZero()], // Legacy [@"scroller-width", 14.0, CPThemeStateScrollViewLegacy], @@ -847,8 +905,8 @@ var themedButtonValues = nil, [@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark], [@"increment-line-color", incrementColorLegacy, CPThemeStateScrollViewLegacy], [@"decrement-line-color", decrementColorLegacy, CPThemeStateScrollViewLegacy], - [@"decrement-line-size", CPSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy], - [@"increment-line-size", CPSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy] + [@"decrement-line-size", CGSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy], + [@"increment-line-size", CGSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy] ]; [self registerThemeValues:themedHorizontalScrollerValues forView:scroller]; @@ -956,7 +1014,7 @@ var themedButtonValues = nil, + (CPTextField)themedRoundedTextField { - var textfield = [[CPTextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 30.0)], + var textfield = [[CPTextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 160.0, 30.0)], bezelColor = PatternColor( [ ["textfield-bezel-rounded-left.png", 15.0, 30.0], @@ -1015,9 +1073,22 @@ var themedButtonValues = nil, + (CPSearchField)themedSearchField { - var searchField = [[CPSearchField alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 30.0)]; + var searchField = [[CPSearchField alloc] initWithFrame:CGRectMake(0.0, 0.0, 160.0, 30.0)], - [self registerThemeValues:nil forView:searchField inherit:themedRoundedTextFieldValues]; + imageSearch = PatternImage("search-field-search.png", 25.0, 22.0), + imageFind = PatternImage("search-field-find.png", 25.0, 22.0), + imageCancel = PatternImage("search-field-cancel.png", 22.0, 22.0), + imageCancelPressed = PatternImage("search-field-cancel-pressed.png", 22.0, 22.0), + + overrides = + [ + [@"image-search", imageSearch], + [@"image-find", imageFind], + [@"image-cancel", imageCancel], + [@"image-cancel-pressed", imageCancelPressed] + ]; + + [self registerThemeValues:overrides forView:searchField inherit:themedRoundedTextFieldValues]; return searchField; } @@ -1070,9 +1141,9 @@ var themedButtonValues = nil, bezelColorDisabled = PatternColor( [ - ["token-left-disabled.png", 11.0, 19.0], - ["token-center-disabled.png", 1.0, 19.0], - ["token-right-disabled.png", 11.0, 19.0] + ["token-disabled-left.png", 11.0, 19.0], + ["token-disabled-center.png", 1.0, 19.0], + ["token-disabled-right.png", 11.0, 19.0] ], PatternIsHorizontal), @@ -1169,16 +1240,17 @@ var themedButtonValues = nil, ], PatternIsHorizontal), - themedColorWellValues = [ - [@"bezel-color", bezelColor, CPThemeStateBordered], - [@"content-inset", CGInsetMake(5.0, 5.0, 5.0, 5.0), CPThemeStateBordered], - [@"content-border-inset", CGInsetMake(5.0, 5.0, 4.0, 5.0), CPThemeStateBordered], - [@"content-border-color", contentBorderColor, CPThemeStateBordered], + themedColorWellValues = + [ + [@"bezel-color", bezelColor, CPThemeStateBordered], + [@"content-inset", CGInsetMake(5.0, 5.0, 5.0, 5.0), CPThemeStateBordered], + [@"content-border-inset", CGInsetMake(5.0, 5.0, 4.0, 5.0), CPThemeStateBordered], + [@"content-border-color", contentBorderColor, CPThemeStateBordered], - [@"bezel-color", bezelHighlightedColor, CPThemeStateBordered | CPThemeStateHighlighted], + [@"bezel-color", bezelHighlightedColor, CPThemeStateBordered | CPThemeStateHighlighted], - [@"bezel-color", bezelDisabledColor, CPThemeStateBordered | CPThemeStateDisabled], - ]; + [@"bezel-color", bezelDisabledColor, CPThemeStateBordered | CPThemeStateDisabled], + ]; [self registerThemeValues:themedColorWellValues forView:colorWell]; @@ -1249,6 +1321,8 @@ var themedButtonValues = nil, [@"border-inset", CGInsetMake(3.0, 3.0, 3.0, 3.0), CPThemeStateBezeled], + [@"bezel-inset", CGInsetMake(0.0, 1.0, 1.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing], + // The right border inset has to make room for the focus ring and popup button [@"content-inset", CGInsetMake(8.0, 27.0, 7.0, 8.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered], [@"content-inset", CGInsetMake(8.0, 24.0, 7.0, 8.0), CPThemeStateBezeled], @@ -1334,6 +1408,8 @@ var themedButtonValues = nil, [@"max-size", CGSizeMake(-1.0, -1.0)] ]; + [button setThemeState:CPThemeStateSelected]; + [self registerThemeValues:themeValues forView:button]; return button; @@ -1453,7 +1529,7 @@ var themedButtonValues = nil, [@"line-break-mode", CPLineBreakByTruncatingTail], [@"divider-thickness", 1.0], - [@"default-height", 24.0] + [@"default-height", 25.0] ]; [self registerThemeValues:themedSegmentedControlValues forView:segmentedControl]; @@ -1631,21 +1707,29 @@ var themedButtonValues = nil, ["buttonbar-button-bezel-disabled-center.png", 1.0, 25.0], ["buttonbar-button-bezel-disabled-right.png", 2.0, 25.0] ], - PatternIsHorizontal); + PatternIsHorizontal), - themedButtonBarValues = - [ - [@"bezel-color", color], + buttonImagePlus = PatternImage("buttonbar-image-plus.png", 11.0, 12.0), + buttonImageMinus = PatternImage("buttonbar-image-minus.png", 11.0, 4.0), + buttonImageAction = PatternImage("buttonbar-image-action.png", 22.0, 14.0), - [@"resize-control-size", CGSizeMake(5.0, 10.0)], - [@"resize-control-inset", CGInsetMake(9.0, 4.0, 7.0, 4.0)], - [@"resize-control-color", resizeColor], + themedButtonBarValues = + [ + [@"bezel-color", color], - [@"button-bezel-color", buttonBezelColor], - [@"button-bezel-color", buttonBezelHighlightedColor, CPThemeStateHighlighted], - [@"button-bezel-color", buttonBezelDisabledColor, CPThemeStateDisabled], - [@"button-text-color", [CPColor blackColor]] - ]; + [@"resize-control-size", CGSizeMake(5.0, 10.0)], + [@"resize-control-inset", CGInsetMake(9.0, 4.0, 7.0, 4.0)], + [@"resize-control-color", resizeColor], + + [@"button-bezel-color", buttonBezelColor], + [@"button-bezel-color", buttonBezelHighlightedColor, CPThemeStateHighlighted], + [@"button-bezel-color", buttonBezelDisabledColor, CPThemeStateDisabled], + [@"button-text-color", [CPColor blackColor]], + + [@"button-image-plus", buttonImagePlus], + [@"button-image-minus", buttonImageMinus], + [@"button-image-action", buttonImageAction] + ]; [self registerThemeValues:themedButtonBarValues forView:buttonBar]; @@ -1724,6 +1808,7 @@ var themedButtonValues = nil, sortImage = PatternImage("tableview-headerview-ascending.png", 9.0, 8.0), sortImageReversed = PatternImage("tableview-headerview-descending.png", 9.0, 8.0), + imageGenericFile = PatternImage("tableview-image-generic-file.png", 64.0, 64.0), alternatingRowColors = [[CPColor whiteColor], [CPColor colorWithRed:245.0 / 255.0 green:249.0 / 255.0 blue:252.0 / 255.0 alpha:1.0]], gridColor = [CPColor colorWithHexString:@"cccccc"], selectionColor = [CPColor colorWithHexString:@"5f83b9"], @@ -1741,7 +1826,9 @@ var themedButtonValues = nil, [@"selection-color", selectionColor], [@"sourcelist-selection-color", sourceListSelectionColor], [@"sort-image", sortImage], - [@"sort-image-reversed", sortImageReversed] + [@"sort-image-reversed", sortImageReversed], + [@"image-generic-file", imageGenericFile], + [@"default-row-height", 23.0], ]; [self registerThemeValues:themedTableViewValues forView:tableview]; @@ -1764,19 +1851,21 @@ var themedButtonValues = nil, { var splitView = [[CPSplitView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 200.0)], leftView = [[CPView alloc] initWithFrame:CGRectMake(0.0, 0.0, 75.0, 150.0)], - rightView = [[CPView alloc] initWithFrame:CGRectMake(75.0, 0.0, 75.0, 150.0)]; + rightView = [[CPView alloc] initWithFrame:CGRectMake(75.0, 0.0, 75.0, 150.0)], + horizontalDividerColor = PatternImage("splitview-divider-horizontal.png", 5.0, 10.0), + verticalDividerColor = PatternImage("splitview-divider-vertical.png", 10.0, 5.0); [splitView addSubview:leftView]; [splitView addSubview:rightView]; - - [splitView setIsPaneSplitter:YES]; var themedSplitViewValues = [ [@"divider-thickness", 1.0], [@"pane-divider-thickness", 10.0], - [@"pane-divider-color", [CPColor colorWithRed:165.0 / 255.0 green:165.0 / 255.0 blue:165.0 / 255.0 alpha:1.0]] + [@"pane-divider-color", [CPColor colorWithRed:165.0 / 255.0 green:165.0 / 255.0 blue:165.0 / 255.0 alpha:1.0]], + [@"horizontal-divider-color", horizontalDividerColor], + [@"vertical-divider-color", verticalDividerColor] ]; [self registerThemeValues:themedSplitViewValues forView:splitView]; @@ -1787,7 +1876,6 @@ var themedButtonValues = nil, + (CPAlert)themedAlert { var alert = [CPAlert new], - buttonOffset = 10.0, defaultElementsMargin = 3.0, errorIcon = PatternImage("alert-error.png", 53.0, 46.0), @@ -1822,6 +1910,8 @@ var themedButtonValues = nil, [@"message-text-alignment", CPJustifiedTextAlignment], [@"message-text-color", [CPColor blackColor]], [@"message-text-font", messageFont], + [@"modal-window-button-margin-x", -1.0], + [@"modal-window-button-margin-y", 23.0], [@"suppression-button-text-color", [CPColor blackColor]], [@"suppression-button-text-font", suppressionButtonFont], [@"size", size], @@ -1895,6 +1985,7 @@ var themedButtonValues = nil, [@"bezel-color-down-button", bezelDownDisabled, CPThemeStateBordered | CPThemeStateDisabled], [@"bezel-color-up-button", bezelUpHighlighted, CPThemeStateBordered | CPThemeStateHighlighted], [@"bezel-color-down-button", bezelDownHighlighted, CPThemeStateBordered | CPThemeStateHighlighted], + [@"min-size", CGSizeMake(25.0, 25.0)], [@"up-button-size", CGSizeMake(19.0, 13.0)], [@"down-button-size", CGSizeMake(19.0, 12.0)] ]; @@ -1906,18 +1997,17 @@ var themedButtonValues = nil, + (CPRuleEditor)themedRuleEditor { - var ruleEditor = [[CPRuleEditor alloc] initWithFrame:CGRectMake(0, 0, 400, 300)]; - - var backgroundColors = [[CPColor whiteColor], [CPColor colorWithRed:235 / 255 green:239 / 255 blue:252 / 255 alpha:1]], + var ruleEditor = [[CPRuleEditor alloc] initWithFrame:CGRectMake(0, 0, 400, 300)], + backgroundColors = [[CPColor whiteColor], [CPColor colorWithRed:235 / 255 green:239 / 255 blue:252 / 255 alpha:1]], selectedActiveRowColor = [CPColor colorWithHexString:@"5f83b9"], selectedInactiveRowColor = [CPColor colorWithWhite:0.83 alpha:1], sliceTopBorderColor = [CPColor colorWithWhite:0.9 alpha:1], sliceBottomBorderColor = [CPColor colorWithWhite:0.729412 alpha:1], sliceLastBottomBorderColor = [CPColor colorWithWhite:0.6 alpha:1], addImage = PatternImage(@"rule-editor-add.png", 8.0, 8.0), - removeImage = PatternImage(@"rule-editor-remove.png", 8.0, 8.0); + removeImage = PatternImage(@"rule-editor-remove.png", 8.0, 8.0), - var ruleEditorThemedValues = + ruleEditorThemedValues = [ [@"alternating-row-colors", backgroundColors], [@"selected-color", selectedActiveRowColor, CPThemeStateNormal], @@ -1937,7 +2027,7 @@ var themedButtonValues = nil, + (_CPToolTipWindowView)themedTooltip { - var toolTipView = [[_CPToolTipWindowView alloc] initWithFrame:CPRectMakeZero() styleMask:_CPToolTipWindowMask], + var toolTipView = [[_CPToolTipWindowView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 100.0) styleMask:_CPToolTipWindowMask], themeValues = [ @@ -1953,8 +2043,694 @@ var themedButtonValues = nil, return toolTipView; } ++ (CPProgressIndicator)themedBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 75, 16)]; + [progressBar setDoubleValue:30]; + + var bezelColor = PatternColor( + [ + ["progress-indicator-bezel-border-left.png", 3.0, 16.0], + ["progress-indicator-bezel-border-center.png", 1.0, 16.0], + ["progress-indicator-bezel-border-right.png", 3.0, 16.0] + ], + PatternIsHorizontal), + + barColor = PatternColor( + [ + ["progress-indicator-bar-left.png", 3.0, 16.0], + ["progress-indicator-bar-center.png", 1.0, 16.0], + ["progress-indicator-bar-right.png", 3.0, 16.0] + ], + PatternIsHorizontal); + + themedProgressIndicator = + [ + [@"bezel-color", bezelColor], + [@"bar-color", barColor] + ]; + + [self registerThemeValues:themedProgressIndicator forView:progressBar]; + + return progressBar; +} + ++ (CPProgressIndicator)themedIndeterminateBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 75, 16)]; + + [progressBar setIndeterminate:YES]; + + var bezelColor = PatternColor( + [ + ["progress-indicator-bezel-border-left.png", 3.0, 16.0], + ["progress-indicator-bezel-border-center.png", 1.0, 16.0], + ["progress-indicator-bezel-border-right.png", 3.0, 16.0] + ], + PatternIsHorizontal), + + barColor = PatternColor( + [ + ["progress-indicator-indeterminate-bar-left.png", 3.0, 16.0], + ["progress-indicator-indeterminate-bar-center.png", 1.0, 16.0], + ["progress-indicator-indeterminate-bar-right.png", 3.0, 16.0] + ], + PatternIsHorizontal); + + themedIndeterminateProgressIndicator = + [ + [@"bezel-color", bezelColor], + [@"indeterminate-bar-color", barColor] + ]; + + [self registerThemeValues:themedIndeterminateProgressIndicator forView:progressBar]; + + return progressBar; +} + ++ (CPProgressIndicator)themedSpinningProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0,0,64,64)]; + [progressBar setStyle:CPProgressIndicatorSpinningStyle]; + + var spinningMini = PatternColor(@"progress-indicator-spinning-style-mini.gif", 16.0, 16.0), + spinningSmall = PatternColor(@"progress-indicator-spinning-style-small.gif", 32.0, 32.0), + spinningRegular = PatternColor(@"progress-indicator-spinning-style-regular.gif", 64.0, 64.0), + + themeValues = + [ + [@"spinning-mini-gif", spinningMini], + [@"spinning-small-gif", spinningSmall], + [@"spinning-regular-gif", spinningRegular] + ]; + + [self registerThemeValues:themeValues forView:progressBar]; + + return progressBar; +} + ++ (CPBox)themedBox +{ + var box = [[CPBox alloc] initWithFrame:CGRectMake(0,0,100,100)], + + themeValues = + [ + [@"background-color", [CPColor colorWithHexString:@"E4E4E4"]], + [@"border-width", 1.0], + [@"border-color", [CPColor colorWithHexString:@"B7B7B7"]], + [@"corner-radius", 3.0], + [@"inner-shadow-offset", CGSizeMakeZero()], + [@"inner-shadow-color", [CPColor blackColor]], + [@"inner-shadow-size", 6.0], + [@"content-margin", CGSizeMakeZero()] + ]; + + [self registerThemeValues:themeValues forView:box]; + + return box; +} + ++ (CPLevelIndicator)themedLevelIndicator +{ + var levelIndicator = [[CPLevelIndicator alloc] initWithFrame:CGRectMake(0,0,100,100)], + + bezelColor = PatternColor( + [ + [@"level-indicator-bezel-left.png", 3.0, 18.0], + [@"level-indicator-bezel-center.png", 1.0, 18.0], + [@"level-indicator-bezel-right.png", 3.0, 18.0] + ]), + + emptyColor = PatternColor( + [ + [@"level-indicator-segment-empty-left.png", 3.0, 17.0], + [@"level-indicator-segment-empty-center.png", 1.0, 17.0], + [@"level-indicator-segment-empty-right.png", 3.0, 17.0] + ]), + + normalColor = PatternColor( + [ + [@"level-indicator-segment-normal-left.png", 3.0, 17.0], + [@"level-indicator-segment-normal-center.png", 1.0, 17.0], + [@"level-indicator-segment-normal-right.png", 3.0, 17.0] + ]), + + warningColor = PatternColor( + [ + [@"level-indicator-segment-warning-left.png", 3.0, 17.0], + [@"level-indicator-segment-warning-center.png", 1.0, 17.0], + [@"level-indicator-segment-warning-right.png", 3.0, 17.0] + ]), + + criticalColor = PatternColor( + [ + [@"level-indicator-segment-critical-left.png", 3.0, 17.0], + [@"level-indicator-segment-critical-center.png", 1.0, 17.0], + [@"level-indicator-segment-critical-right.png", 3.0, 17.0] + ]), + + themeValues = + [ + [@"bezel-color", bezelColor], + [@"color-empty", emptyColor], + [@"color-normal", normalColor], + [@"color-warning", warningColor], + [@"color-critical", criticalColor], + [@"spacing", 1.0] + ]; + + [self registerThemeValues:themeValues forView:levelIndicator]; + + return levelIndicator; +} + ++ (CPShadowView)themedShadowView +{ + var shadowView = [[CPShadowView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100, 100)], + + lightColor = PatternColor( + [ + [@"shadow-view-light-top-left.png", 9.0, 9.0], + [@"shadow-view-light-top.png", 1.0, 9.0], + [@"shadow-view-light-top-right.png", 9.0, 9.0], + [@"shadow-view-light-left.png", 9.0, 1.0], + nil, + [@"shadow-view-light-right.png", 9.0, 1.0], + [@"shadow-view-light-bottom-left.png", 9.0, 9.0], + [@"shadow-view-light-bottom.png", 1.0, 9.0], + [@"shadow-view-light-bottom-right.png", 9.0, 9.0] + ]), + + heavyColor = PatternColor( + [ + [@"shadow-view-heavy-top-left.png", 17.0, 17.0], + [@"shadow-view-heavy-top.png", 1.0, 17.0], + [@"shadow-view-heavy-top-right.png", 17.0, 17.0], + [@"shadow-view-heavy-left.png", 17.0, 1.0], + nil, + [@"shadow-view-heavy-right.png", 17.0, 1.0], + [@"shadow-view-heavy-bottom-left.png", 17.0, 17.0], + [@"shadow-view-heavy-bottom.png", 1.0, 17.0], + [@"shadow-view-heavy-bottom-right.png", 17.0, 17.0] + ]), + + themedShadowViewValues = + [ + [@"bezel-color", lightColor, CPThemeStateShadowViewLight], + [@"bezel-color", heavyColor, CPThemeStateShadowViewHeavy], + + [@"content-inset", CGInsetMake(3.0, 3.0, 5.0, 3.0), CPThemeStateShadowViewLight], + [@"content-inset", CGInsetMake(5.0, 7.0, 5.0, 7.0), CPThemeStateShadowViewHeavy] + ]; + + [self registerThemeValues:themedShadowViewValues forView:shadowView]; + + return shadowView; +} + ++ (CPBrowser)themedBrowser +{ + var browser = [[CPBrowser alloc] initWithFrame:CGRectMakeZero()], + + imageResize = PatternImage(@"browser-image-resize-control.png", 15.0, 14.0), + imageLeaf = PatternImage(@"browser-image-leaf.png", 9.0, 9.0), + imageLeafPressed = PatternImage(@"browser-image-leaf-pressed.png", 9.0, 9.0), + + themedBrowser = + [ + ["image-control-resize", imageResize], + ["image-control-leaf", imageLeaf], + ["image-control-leaf-pressed", imageLeafPressed] + ]; + + [self registerThemeValues:themedBrowser forView:browser]; + + return browser; +} + ++ (_CPModalWindowView)themedModalWindowView +{ + var modalWindowView = [[_CPModalWindowView alloc] initWithFrame:CGRectMake(0,0,200,200) styleMask:_CPModalWindowView]; + + var bezelColor = PatternColor( + [ + ["window-popup-top-left.png", 16.0, 5.0], + ["window-popup-top-center.png", 1.0, 5.0], + ["window-popup-top-right.png", 16.0, 5.0], + ["window-popup-center-left.png", 16.0, 1.0], + ["window-popup-center-center.png", 1.0, 1.0], + ["window-popup-center-right.png", 16.0, 1.0], + ["window-popup-bottom-left.png", 16.0, 56.0], + ["window-popup-bottom-center.png", 1.0, 56.0], + ["window-popup-bottom-right.png", 16.0, 56.0] + ]), + + themeValues = + [ + [@"bezel-color", bezelColor] + ]; + + [self registerThemeValues:themeValues forView:modalWindowView]; + + return modalWindowView; +} + ++ (_CPWindowView)themedWindowView +{ + var windowView = [[_CPWindowView alloc] initWithFrame:CGRectMakeZero()], + + sheetShadow = PatternColor(@"window-attached-sheet-shadow.png", 9, 8), + resizeIndicator = PatternImage(@"window-resize-indicator.png", 12, 12), + + shadowColor = PatternColor( + [ + [@"window-shadow-0.png", 20.0, 19.0], + [@"window-shadow-1.png", 1.0, 19.0], + [@"window-shadow-2.png", 19.0, 19.0], + [@"window-shadow-3.png", 20.0, 1.0], + [@"window-shadow-4.png", 1.0, 1.0], + [@"window-shadow-5.png", 19.0, 1.0], + [@"window-shadow-6.png", 20.0, 18.0], + [@"window-shadow-7.png", 1.0, 18.0], + [@"window-shadow-8.png", 19.0, 18.0], + ]); + + themedWindowViewValues = + [ + [@"shadow-inset", CGInsetMake(10.0, 19.0, 10.0, 20.0)], + [@"shadow-distance", 5.0], + [@"window-shadow-color", shadowColor], + [@"resize-indicator", resizeIndicator], + [@"attached-sheet-shadow-color", sheetShadow], + [@"size-indicator", CGSizeMake(12, 12)] + ]; + + [self registerThemeValues:themedWindowViewValues forView:windowView]; + + return windowView; +} + ++ (_CPHUDWindowView)themedHUDWindowView +{ + var HUDWindowView = [[_CPHUDWindowView alloc] initWithFrame:CGRectMake(0,0,200,200) styleMask:CPHUDBackgroundWindowMask | CPClosableWindowMask], + + HUDBezelColor = PatternColor( + [ + ["HUD/window-bezel-top-left.png", 5.0, 37.0], + ["HUD/window-bezel-top-center.png", 1.0, 37.0], + ["HUD/window-bezel-top-right.png", 5.0, 37.0], + ["HUD/window-bezel-center-left.png", 5.0, 1.0], + ["HUD/window-bezel-center-center.png", 1.0, 1.0], + ["HUD/window-bezel-center-right.png", 5.0, 1.0], + ["HUD/window-bezel-bottom-left.png", 5.0, 2.0], + ["HUD/window-bezel-bottom-center.png", 1.0, 2.0], + ["HUD/window-bezel-bottom-right.png", 5.0, 2.0] + ]), + + closeImage = PatternImage(@"HUD/window-close.png", 18.0, 18.0), + + closeActiveImage = PatternImage(@"HUD/window-close-active.png", 18.0, 18.0), + + themeValues = + [ + [@"close-image-size", CGSizeMake(18.0, 18.0)], + [@"close-image-origin", CGPointMake(6.0,4.0)], + [@"close-image", closeImage], + [@"close-active-image", closeActiveImage], + [@"bezel-color", HUDBezelColor], + [@"title-font", [CPFont systemFontOfSize:14]], + [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:1]], + [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:1], CPThemeStateKeyWindow], + [@"title-text-shadow-color", [CPColor blackColor]], + [@"title-text-shadow-offset", CGSizeMake(0.0, 1.0)], + [@"title-alignment", CPCenterTextAlignment], + [@"title-line-break-mode", CPLineBreakByTruncatingTail], + [@"title-vertical-alignment", CPCenterVerticalTextAlignment], + [@"title-bar-height", 26], + ]; + + [self registerThemeValues:themeValues forView:HUDWindowView inherit:themedWindowViewValues]; + + [HUDWindowView setTitle:@"HUDWindow"]; + + return HUDWindowView; +} + ++ (_CPStandardWindowView)themedStandardWindowView +{ + var standardWindowView = [[_CPStandardWindowView alloc] initWithFrame:CGRectMake(0,0,200,200) styleMask:CPClosableWindowMask], + + bezelHeadColor = PatternColor( + [ + [@"window-standard-head-left.png", 5.0, 31.0], + [@"window-standard-head-center.png", 1.0, 31.0], + [@"window-standard-head-right.png", 5.0, 31.0] + ], PatternIsHorizontal), + + solidColor = PatternColor( + [ + [@"window-standard-head-solid-top-left.png", 5.0, 1.0], + [@"window-standard-head-solid-top-center.png", 1.0, 1.0], + [@"window-standard-head-solid-top-right.png", 5.0, 1.0], + [@"window-standard-head-solid-center-left.png", 5.0, 1.0], + [@"window-standard-head-solid-center-center.png", 1.0, 1.0], + [@"window-standard-head-solid-center-right.png", 5.0, 1.0], + [@"window-standard-head-solid-bottom-left.png", 5.0, 1.0], + [@"window-standard-head-solid-bottom-center.png", 1.0, 1.0], + [@"window-standard-head-solid-bottom-right.png", 5.0, 1.0] + ] + ), + + bezelColor = PatternColor( + [ + [@"window-standard-top-left.png", 2.0, 1.0], + [@"window-standard-top-center.png", 1.0, 1.0], + [@"window-standard-top-right.png", 2.0, 1.0], + [@"window-standard-center-left.png", 2.0, 1.0], + [@"window-standard-center-center.png", 1.0, 1.0], + [@"window-standard-center-right.png", 2.0, 1.0], + [@"window-standard-bottom-left.png", 2.0, 2.0], + [@"window-standard-bottom-center.png", 1.0, 2.0], + [@"window-standard-bottom-right.png", 2.0, 2.0] + ]), + + closeButtonImage = PatternImage(@"window-standard-close-button.png", 16, 16), + closeButtonImageHighlighted = PatternImage(@"window-standard-button-highlighted.png",16, 16), + unsavedButtonImage = PatternImage(@"window-standard-button-unsaved.png",16, 16), + unsavedButtonImageHighlighted = PatternImage(@"window-standard-close-button-unsaved-highlighted.png",16, 16), + minimizeButtonImage = PatternImage(@"window-standard-minimize-button.png",16, 16), + minimizeButtonImageHighlighted = PatternImage(@"window-standard-minimize-button-highlighted.png",16, 16), + + sheetShadow = PatternColor(@"window-attached-sheet-shadow.png", 9, 8), + resizeIndicator = PatternImage(@"window-resize-indicator.png", 12, 12), + + themeValues = + [ + [@"gradient-height", 31.0], + [@"bezel-head-color", bezelHeadColor], + [@"solid-color", solidColor], + + [@"title-font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize]], + [@"title-text-color", [CPColor colorWithWhite:22.0 / 255.0 alpha:0.75]], + [@"title-text-color", [CPColor colorWithWhite:22.0 / 255.0 alpha:1], CPThemeStateKeyWindow], + [@"title-text-shadow-color", [CPColor whiteColor]], + [@"title-text-shadow-offset", CGSizeMake(0.0, 1.0)], + [@"title-alignment", CPCenterTextAlignment], + // FIXME: Make this to CPLineBreakByTruncatingMiddle once it's implemented. + [@"title-line-break-mode", CPLineBreakByTruncatingTail], + [@"title-vertical-alignment", CPCenterVerticalTextAlignment], + [@"title-bar-height", 31], + + [@"divider-color", [CPColor colorWithHexString:@"979797"]], + [@"body-color", bezelColor], + [@"title-bar-height", 31], + + [@"unsaved-image-button" ,unsavedButtonImage], + [@"unsaved-image-highlighted-button" ,unsavedButtonImageHighlighted], + [@"close-image-button" ,closeButtonImage], + [@"close-image-highlighted-button" ,closeButtonImageHighlighted], + [@"minimize-image-button" ,minimizeButtonImage], + [@"minimize-image-highlighted-button" ,minimizeButtonImageHighlighted], + + [@"close-image-size", CGSizeMake(16.0, 16.0)], + [@"close-image-origin", CGPointMake(8.0, 10.0)], + + [@"resize-indicator", resizeIndicator], + [@"attached-sheet-shadow-color", sheetShadow], + [@"size-indicator", CGSizeMake(12, 12)] + ]; + + [self registerThemeValues:themeValues forView:standardWindowView inherit:themedWindowViewValues]; + + return standardWindowView; +} + ++ (_CPDocModalWindowView)themedDocModalWindowView +{ + var docModalWindowView = [[_CPDocModalWindowView alloc] initWithFrame:CGRectMake(0,0,200,200) styleMask:nil], + + bezelColor = PatternColor( + [ + [@"window-standard-top-left.png", 2.0, 1.0], + [@"window-standard-top-center.png", 1.0, 1.0], + [@"window-standard-top-right.png", 2.0, 1.0], + [@"window-standard-center-left.png", 2.0, 1.0], + [@"window-standard-center-center.png", 1.0, 1.0], + [@"window-standard-center-right.png", 2.0, 1.0], + [@"window-standard-bottom-left.png", 2.0, 2.0], + [@"window-standard-bottom-center.png", 1.0, 2.0], + [@"window-standard-bottom-right.png", 2.0, 2.0] + ]), + + sheetShadow = PatternColor(@"window-attached-sheet-shadow.png", 9, 8), + + themeValues = + [ + [@"body-color", bezelColor], + [@"height-shadow", 8], + [@"attached-sheet-shadow-color", sheetShadow] + ]; + + [self registerThemeValues:themeValues forView:docModalWindowView inherit:themedWindowViewValues]; + + return docModalWindowView; +} + ++ (_CPBorderlessBridgeWindowView)themedBordelessBridgeWindowView +{ + var bordelessBridgeWindowView = [[_CPBorderlessBridgeWindowView alloc] initWithFrame:CGRectMake(0,0,0,0)], + + toolbarBackgroundColor = PatternColor( + [ + [@"toolbar-background-top.png", 1.0, 1.0], + [@"toolbar-background-center.png", 1.0, 57.0], + [@"toolbar-background-bottom.png", 1.0, 1.0] + ], PatternIsVertical), + + themeValues = + [ + [@"toolbar-background-color", toolbarBackgroundColor] + ]; + + [self registerThemeValues:themeValues forView:bordelessBridgeWindowView inherit:themedWindowViewValues]; + + return bordelessBridgeWindowView; +} + ++ (_CPToolbarView)themedToolbarView +{ + var toolbarView = [[_CPToolbarView alloc] initWithFrame:CGRectMakeZero()], + + toolbarExtraItemsImage = PatternImage(@"toolbar-view-extra-items-image.png", 10.0, 15.0), + toolbarExtraItemsAlternateImage = PatternImage(@"toolbar-view-extra-items-alternate-image.png", 10.0, 15.0), + toolbarSeparatorColor = PatternColor([ + [@"toolbar-item-separator-0.png", 2.0, 26.0], + [@"toolbar-item-separator-1.png", 2.0, 1.0], + [@"toolbar-item-separator-2.png", 2.0, 26.0] + ], PatternIsVertical), + + themeValues = + [ + [@"extra-item-extra-image", toolbarExtraItemsImage], + [@"extra-item-extra-alternate-image", toolbarExtraItemsAlternateImage], + [@"item-margin", 10.0], + [@"extra-item-width", 20.0], + [@"content-inset", CGInsetMake(4.0, 4.0, 4.0, 10)], + [@"regular-size-height", 59.0], + [@"small-size-height", 46.0], + [@"image-item-separator-color", toolbarSeparatorColor], + [@"image-item-separator-size", CGRectMake(0.0, 0.0, 2.0, 32.0)] + ]; + + + [self registerThemeValues:themeValues forView:toolbarView]; + + return toolbarView; +} + ++ (_CPMenuItemMenuBarView)themedMenuItemMenuBarView +{ + var menuItemMenuBarView = [[_CPMenuItemMenuBarView alloc] initWithFrame:CGRectMake(0.0, 0.0, 16.0, 16.0)], + + themeValues = + [ + [@"submenu-indicator-color", [CPColor grayColor]], + [@"menu-item-selection-color", [CPColor colorWithHexString:@"5C85D8"]], + [@"menu-item-text-shadow-color", [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]], + [@"horizontal-margin", 8.0], + [@"submenu-indicator-margin", 3.0], + [@"vertical-margin", 4.0] + ]; + + [self registerThemeValues:themeValues forView:menuItemMenuBarView]; + + return menuItemMenuBarView; +} + ++ (_CPMenuItemStandardView)themedMenuItemStandardView +{ + var menuItemStandardView = [[_CPMenuItemStandardView alloc] initWithFrame:CGRectMake(0.0, 0.0, 16.0, 16.0)], + + menuItemDefaultOnStateImage = PatternImage(@"menu-item-on-state.png", 14.0, 14.0), + menuItemDefaultOnStateHighlightedImage = PatternImage(@"menu-item-on-state-highlighted.png", 14.0, 14.0), + + themeValues = + [ + [@"submenu-indicator-color", [CPColor grayColor]], + [@"menu-item-selection-color", [CPColor colorWithHexString:@"5C85D8"]], + [@"menu-item-text-color", [CPColor colorWithHexString:@"333333"]], + [@"menu-item-text-shadow-color", [CPColor colorWithWhite:1.0 alpha:0.8]], + [@"menu-item-default-off-state-image", nil], + [@"menu-item-default-off-state-highlighted-image", nil], + [@"menu-item-default-on-state-image", menuItemDefaultOnStateImage], + [@"menu-item-default-on-state-highlighted-image", menuItemDefaultOnStateHighlightedImage], + [@"menu-item-separator-color", [CPColor lightGrayColor]], + [@"menu-item-default-mixed-state-image", nil], + [@"menu-item-default-mixed-state-highlighted-image", nil], + [@"left-margin", 3.0], + [@"right-margin", 17.0], + [@"state-column-width", 14.0], + [@"indentation-width", 17.0], + [@"vertical-margin", 4.0], + [@"right-columns-margin", 30.0] + ]; + + [self registerThemeValues:themeValues forView:menuItemStandardView]; + + return menuItemStandardView; +} + ++ (_CPMenuView)themedMenuView +{ + var menuView = [[_CPMenuView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 100.0)], + + + menuWindowMoreAboveImage = PatternImage(@"menu-window-more-above.png", 38.0, 18.0), + menuWindowMoreBelowImage = PatternImage(@"menu-window-more-below.png", 38.0, 18.0), + generalIconNew = PatternImage(@"menu-general-icon-new.png", 16.0, 16.0), + generalIconNewHighlighted = PatternImage(@"menu-general-icon-new-highlighted.png", 16.0, 16.0), + generalIconOpen = PatternImage(@"menu-general-icon-open.png", 16.0, 16.0), + generalIconOpenHighlighted = PatternImage(@"menu-general-icon-open-highlighted.png", 16.0, 16.0), + generalIconSave = PatternImage(@"menu-general-icon-save.png", 16.0, 16.0), + generalIconSaveHighlighted = PatternImage(@"menu-general-icon-save-highlighted.png", 16.0, 16.0), + + menuWindowPopUpBackgroundStyleColor = PatternColor( + [ + [@"menu-window-rounded-0.png", 4.0, 4.0], + [@"menu-window-1.png", 1.0, 4.0], + [@"menu-window-rounded-2.png", 4.0, 4.0], + [@"menu-window-3.png", 4.0, 1.0], + [@"menu-window-4.png", 1.0, 1.0], + [@"menu-window-5.png", 4.0, 1.0], + [@"menu-window-rounded-6.png", 4.0, 4.0], + [@"menu-window-7.png", 1.0, 4.0], + [@"menu-window-rounded-8.png", 4.0, 4.0] + ] + ), + + menuWindowMenuBarBackgroundStyleColor = PatternColor( + [ + [@"menu-window-3.png", 4.0, 0.0], + [@"menu-window-4.png", 1.0, 0.0], + [@"menu-window-5.png", 4.0, 0.0], + [@"menu-window-3.png", 4.0, 1.0], + [@"menu-window-4.png", 1.0, 1.0], + [@"menu-window-5.png", 4.0, 1.0], + [@"menu-window-rounded-6.png", 4.0, 4.0], + [@"menu-window-7.png", 1.0, 4.0], + [@"menu-window-rounded-8.png", 4.0, 4.0] + ] + ), + + menuBarWindowBackgroundColor = PatternColor(@"menu-bar-window-background.png", 1.0, 28.0), + menuBarWindowBackgroundSelectedColor = PatternColor(@"menu-bar-window-background-selected.png", 1.0, 28.0), + + themeValues = + [ + [@"menu-window-more-above-image", menuWindowMoreAboveImage], + [@"menu-window-more-below-image", menuWindowMoreBelowImage], + [@"menu-window-pop-up-background-style-color", menuWindowPopUpBackgroundStyleColor], + [@"menu-window-menu-bar-background-style-color", menuWindowMenuBarBackgroundStyleColor], + [@"menu-window-margin-inset", CGInsetMake(3.0, 1.0, 3.0, 1.0)], + [@"menu-window-scroll-indicator-height", 16.0], + + [@"menu-bar-window-background-color", menuBarWindowBackgroundColor], + [@"menu-bar-window-background-selected-color", menuBarWindowBackgroundSelectedColor], + [@"menu-bar-window-font", [CPFont boldSystemFontOfSize:[CPFont systemFontSize]]], + [@"menu-bar-window-height", 28.0], + [@"menu-bar-window-margin", 10.0], + [@"menu-bar-window-left-margin", 10.0], + [@"menu-bar-window-right-margin", 10.0], + + [@"menu-bar-text-color", [CPColor colorWithRed:0.051 green:0.2 blue:0.275 alpha:1.0]], + [@"menu-bar-title-color", [CPColor colorWithRed:0.051 green:0.2 blue:0.275 alpha:1.0]], + [@"menu-bar-text-shadow-color", [CPColor whiteColor]], + [@"menu-bar-title-shadow-color", [CPColor whiteColor]], + [@"menu-bar-highlight-color", [CPColor colorWithCalibratedRed:94.0 / 255.0 green:130.0 / 255.0 blue:186.0 / 255.0 alpha:1.0]], + [@"menu-bar-highlight-text-color", [CPColor whiteColor]], + [@"menu-bar-highlight-text-shadow-color", [CPColor blackColor]], + [@"menu-bar-height", 28.0], + [@"menu-bar-icon-image", nil], + [@"menu-bar-icon-image-alpha-value", 1.0], + + [@"menu-general-icon-new", generalIconNew], + [@"menu-general-icon-new", generalIconNewHighlighted, CPThemeStateHighlighted], + + [@"menu-general-icon-save", generalIconSave], + [@"menu-general-icon-save", generalIconSaveHighlighted, CPThemeStateHighlighted], + + [@"menu-general-icon-open", generalIconOpen], + [@"menu-general-icon-open", generalIconOpenHighlighted, CPThemeStateHighlighted] + ]; + + + [self registerThemeValues:themeValues forView:menuView]; + + return menuView; +} + ++ (_CPPopoverWindowView)themedPopoverWindowView +{ + var popoverWindowView = [[_CPPopoverWindowView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) styleMask:nil], + + gradient = CGGradientCreateWithColorComponents( + CGColorSpaceCreateDeviceRGB(), + [ + (254.0 / 255), (254.0 / 255), (254.0 / 255), 0.93, + (231.0 / 255), (231.0 / 255), (231.0 / 255), 0.93 + ], + [0, 1], + 2 + ), + + gradientHUD = CGGradientCreateWithColorComponents( + CGColorSpaceCreateDeviceRGB(), + [ + (38.0 / 255), (38.0 / 255), (38.0 / 255), 0.93, + (18.0 / 255), (18.0 / 255), (18.0 / 255), 0.93 + ], + [0, 1], + 2), + + strokeColor = [CPColor colorWithHexString:@"B8B8B8"], + strokeColorHUD = [CPColor colorWithHexString:@"222222"], + + themeValues = + [ + [@"background-gradient", gradient], + [@"background-gradient-hud", gradientHUD], + [@"stroke-color", strokeColor], + [@"stroke-color-hud", strokeColorHUD] + ]; + + [self registerThemeValues:themeValues forView:popoverWindowView]; + + return popoverWindowView; +} + @end + @implementation AristoHUDThemeDescriptor : BKThemeDescriptor { } @@ -2098,4 +2874,25 @@ var themedButtonValues = nil, return [alert themeView]; } ++ (CPProgressIndicator)themedBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 75, 16)]; + [progressBar setDoubleValue:30]; + + [self registerThemeValues:nil forView:progressBar inherit:themedProgressIndicator]; + + return progressBar; + +} + ++ (CPProgressIndicator)themedIndeterminateBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 75, 16)]; + [progressBar setIndeterminate:YES]; + + [self registerThemeValues:nil forView:progressBar inherit:themedIndeterminateProgressIndicator]; + + return progressBar; +} + @end diff --git a/AppKit/Themes/Aristo2/Artwork/Aristo 11-06-07.psd b/AppKit/Themes/Aristo2/Artwork/Aristo 11-06-07.psd new file mode 100755 index 000000000..e83c2da54 Binary files /dev/null and b/AppKit/Themes/Aristo2/Artwork/Aristo 11-06-07.psd differ diff --git a/AppKit/Themes/Aristo2/Artwork/Aristo-HUD 11-06-07.psd b/AppKit/Themes/Aristo2/Artwork/Aristo-HUD 11-06-07.psd new file mode 100755 index 000000000..effc2c75f Binary files /dev/null and b/AppKit/Themes/Aristo2/Artwork/Aristo-HUD 11-06-07.psd differ diff --git a/AppKit/Themes/Aristo2/Artwork/window-standard-button-unsaved.psd b/AppKit/Themes/Aristo2/Artwork/window-standard-button-unsaved.psd new file mode 100644 index 000000000..348815d8e Binary files /dev/null and b/AppKit/Themes/Aristo2/Artwork/window-standard-button-unsaved.psd differ diff --git a/AppKit/Themes/Aristo2/Artwork/window-standard-close-button.psd b/AppKit/Themes/Aristo2/Artwork/window-standard-close-button.psd new file mode 100644 index 000000000..897891310 Binary files /dev/null and b/AppKit/Themes/Aristo2/Artwork/window-standard-close-button.psd differ diff --git a/AppKit/Themes/Aristo2/Info.plist b/AppKit/Themes/Aristo2/Info.plist new file mode 100644 index 000000000..18845c65e --- /dev/null +++ b/AppKit/Themes/Aristo2/Info.plist @@ -0,0 +1,16 @@ + + + + + CPApplicationDelegateClass + BKShowcaseController + CPBundleName + Aristo2 + BKLearnMoreURL + http://cappuccino.org/aristo + BKLearnMoreButtonTitle + Aristo Home Page + CPPrincipalClass + CPApplication + + diff --git a/AppKit/Themes/Aristo2/Jakefile b/AppKit/Themes/Aristo2/Jakefile new file mode 100644 index 000000000..1409fb948 --- /dev/null +++ b/AppKit/Themes/Aristo2/Jakefile @@ -0,0 +1,16 @@ + +require("../../../common.jake"); + +var blend = require("cappuccino/jake").blend; + +blend ("Aristo2.blend", function(aristo2Task) +{ + aristo2Task.setBuildIntermediatesPath(FILE.join($BUILD_DIR, "Aristo2.build", $CONFIGURATION)) + aristo2Task.setBuildPath(FILE.join($BUILD_DIR, $CONFIGURATION)); + + aristo2Task.setThemeDescriptors(new FileList("ThemeDescriptors.j")); + aristo2Task.setIdentifier("com.280n.blend.Aristo2"); + aristo2Task.setResources(new FileList("Resources/*")); +}); + +task ("build", ["Aristo2.blend"]); diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-center.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-center.png new file mode 100644 index 000000000..66d01bcd9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-center.png new file mode 100644 index 000000000..121ca956f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-left.png new file mode 100644 index 000000000..397896f20 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-right.png new file mode 100644 index 000000000..1734b3eee Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-center.png new file mode 100644 index 000000000..8d421ea80 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-left.png new file mode 100644 index 000000000..38e79abf1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-right.png new file mode 100644 index 000000000..e4bcf2c88 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-left.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-left.png new file mode 100644 index 000000000..a1d2a8e5d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-right.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-right.png new file mode 100644 index 000000000..546046be4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-center.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-center.png new file mode 100755 index 000000000..28bea0d56 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-center.png new file mode 100755 index 000000000..37e60f839 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-left.png new file mode 100755 index 000000000..795b10163 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-right.png new file mode 100755 index 000000000..99a2a452e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-center.png new file mode 100755 index 000000000..5a3fc5f27 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-left.png new file mode 100755 index 000000000..1a36e4b41 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-right.png new file mode 100755 index 000000000..41b9f7321 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-left.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-left.png new file mode 100755 index 000000000..25aa49985 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-right.png b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-right.png new file mode 100755 index 000000000..538796270 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/button-bezel-rounded-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-disabled.png new file mode 100644 index 000000000..d51da99d2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-highlighted.png new file mode 100644 index 000000000..c325d3711 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed-disabled.png new file mode 100644 index 000000000..40da36f45 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed-highlighted.png new file mode 100644 index 000000000..37665e177 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed.png new file mode 100644 index 000000000..6b3eff7b5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-mixed.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected-disabled.png new file mode 100644 index 000000000..ac6e5b322 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected-highlighted.png new file mode 100644 index 000000000..3b0ee95c3 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected.png new file mode 100644 index 000000000..384d6defb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image-selected.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/check-box-image.png b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image.png new file mode 100644 index 000000000..fd7c3100b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/check-box-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-center.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-center.png new file mode 100644 index 000000000..655f9c91c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-center.png new file mode 100644 index 000000000..121ca956f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-left.png new file mode 100644 index 000000000..397896f20 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-right.png new file mode 100644 index 000000000..1734b3eee Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-center.png new file mode 100644 index 000000000..b04722be6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-left.png new file mode 100644 index 000000000..1bdd7ef67 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-right.png new file mode 100644 index 000000000..00822ffad Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-left.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-left.png new file mode 100644 index 000000000..ce040f2dc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-right.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-right.png new file mode 100644 index 000000000..939658db7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-center.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-center.png new file mode 100755 index 000000000..ef1bcd511 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-center.png new file mode 100755 index 000000000..57a7744dd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-left.png new file mode 100755 index 000000000..462fd8ead Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-right.png new file mode 100755 index 000000000..0c28de01f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-center.png new file mode 100755 index 000000000..7d22211a6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-left.png new file mode 100755 index 000000000..07336996b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-right.png new file mode 100755 index 000000000..7fbbc9651 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-left.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-left.png new file mode 100755 index 000000000..0f527d68f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-right.png b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-right.png new file mode 100755 index 000000000..a5fe760d9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/default-button-bezel-rounded-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-center.png b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-center.png new file mode 100644 index 000000000..c8f63bfff Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-center.png new file mode 100644 index 000000000..f1515b426 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-left.png new file mode 100644 index 000000000..e1116321c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-right.png new file mode 100644 index 000000000..2ad606f4e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-left.png b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-left.png new file mode 100644 index 000000000..7864aa9c3 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-right.png b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-right.png new file mode 100644 index 000000000..d8f2ac2ab Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/horizontal-track-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/knob-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/knob-disabled.png new file mode 100644 index 000000000..03491be96 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/knob-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/knob-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/knob-highlighted.png new file mode 100644 index 000000000..e282942cc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/knob-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/knob.png b/AppKit/Themes/Aristo2/Resources/HUD/knob.png new file mode 100644 index 000000000..ad8377b5c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/knob.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-center.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-center.png new file mode 100644 index 000000000..5cea327ab Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-left.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-left.png new file mode 100644 index 000000000..14ff76b58 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-right.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-right.png new file mode 100644 index 000000000..d0b58bbd1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bar-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-center.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-center.png new file mode 100644 index 000000000..8b5d3c7f9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-left.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-left.png new file mode 100644 index 000000000..14ff76b58 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-right.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-right.png new file mode 100644 index 000000000..ea682d80e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-bezel-border-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-center.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-center.png new file mode 100644 index 000000000..9dd283a9d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-left.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-left.png new file mode 100644 index 000000000..f4a0eded2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-right.png b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-right.png new file mode 100644 index 000000000..be1baece7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/progress-indicator-indeterminate-bar-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/radio-image-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-disabled.png new file mode 100644 index 000000000..1ccff2040 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/radio-image-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-highlighted.png new file mode 100644 index 000000000..f857a1f90 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected-disabled.png new file mode 100644 index 000000000..ffbfc3b0b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected-highlighted.png new file mode 100644 index 000000000..4de9122f2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected.png b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected.png new file mode 100644 index 000000000..a86f15a88 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/radio-image-selected.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/radio-image.png b/AppKit/Themes/Aristo2/Resources/HUD/radio-image.png new file mode 100644 index 000000000..03491be96 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/radio-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow-disabled.png new file mode 100755 index 000000000..ea1ca4a94 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow-highlighted.png new file mode 100755 index 000000000..1c7890f74 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow.png new file mode 100755 index 000000000..265cf39c6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-down-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-center.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-center.png new file mode 100755 index 000000000..976b4cd2e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-left.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-left.png new file mode 100755 index 000000000..119abbcc0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-right.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-right.png new file mode 100755 index 000000000..dfb90d398 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-knob-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-track-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-track-disabled.png new file mode 100755 index 000000000..e75be59d9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-track-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-track.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-track.png new file mode 100755 index 000000000..3a4ae4a5c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-horizontal-track.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow-disabled.png new file mode 100755 index 000000000..1313443c8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow-highlighted.png new file mode 100755 index 000000000..fa2c83095 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow.png new file mode 100755 index 000000000..283e39326 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-left-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow-disabled.png new file mode 100755 index 000000000..2fff07057 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow-highlighted.png new file mode 100755 index 000000000..5e9778526 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow.png new file mode 100755 index 000000000..1a67fd503 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-right-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow-disabled.png new file mode 100755 index 000000000..a14ec1a49 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow-highlighted.png new file mode 100755 index 000000000..0a6fadd75 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow.png new file mode 100755 index 000000000..1fcec124c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-up-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-bottom.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-bottom.png new file mode 100755 index 000000000..ce1bdd94e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-center.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-center.png new file mode 100755 index 000000000..09f55b757 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-top.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-top.png new file mode 100755 index 000000000..f7aa01ca4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-knob-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-track-disabled.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-track-disabled.png new file mode 100755 index 000000000..3bf5fb3ad Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-track-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-track.png b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-track.png new file mode 100755 index 000000000..9db373166 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/scroller-vertical-track.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-center.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-center.png new file mode 100644 index 000000000..66d01bcd9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-center.png new file mode 100644 index 000000000..121ca956f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-divider.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-divider.png new file mode 100644 index 000000000..9b7b1a4fb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-left.png new file mode 100644 index 000000000..397896f20 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-right.png new file mode 100644 index 000000000..1734b3eee Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-divider.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-divider.png new file mode 100644 index 000000000..b4a5caff7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-center.png new file mode 100644 index 000000000..655f9c91c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-center.png new file mode 100644 index 000000000..deca51ae8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-divider.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-divider.png new file mode 100644 index 000000000..d03c63cca Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-left.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-left.png new file mode 100644 index 000000000..7edcb0837 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-right.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-right.png new file mode 100644 index 000000000..535f499e3 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-divider.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-divider.png new file mode 100644 index 000000000..55895fc3d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-left.png new file mode 100644 index 000000000..ce040f2dc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-right.png new file mode 100644 index 000000000..939658db7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-left.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-left.png new file mode 100644 index 000000000..a1d2a8e5d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-center.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-center.png new file mode 100644 index 000000000..8d421ea80 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-center.png new file mode 100644 index 000000000..8d421ea80 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-left.png new file mode 100644 index 000000000..38e79abf1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-right.png new file mode 100644 index 000000000..e4bcf2c88 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-left.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-left.png new file mode 100644 index 000000000..38e79abf1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-right.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-right.png new file mode 100644 index 000000000..e4bcf2c88 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-pushed-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-right.png b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-right.png new file mode 100644 index 000000000..546046be4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/segmented-control-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-bezel.png b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-bezel.png new file mode 100644 index 000000000..05eaeb2a4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-bezel.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-disabled-bezel.png b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-disabled-bezel.png new file mode 100644 index 000000000..b51fb4cc6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-disabled-bezel.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-disabled-knob.png b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-disabled-knob.png new file mode 100644 index 000000000..6d7b9eac1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-disabled-knob.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-knob.png b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-knob.png new file mode 100644 index 000000000..6d7b9eac1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/slider-circular-knob.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-bottom.png b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-bottom.png new file mode 100644 index 000000000..717ca8ca0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-center.png b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-center.png new file mode 100644 index 000000000..2139308b6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-bottom.png b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-bottom.png new file mode 100644 index 000000000..ca402d214 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-center.png b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-center.png new file mode 100644 index 000000000..c7baa4e2e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-top.png b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-top.png new file mode 100644 index 000000000..083f92050 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-disabled-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-top.png b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-top.png new file mode 100644 index 000000000..6affe89c9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/vertical-track-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-center.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-center.png new file mode 100644 index 000000000..5a1e27918 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-left.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-left.png new file mode 100644 index 000000000..c4e2db8f8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-right.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-right.png new file mode 100644 index 000000000..11139eefb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-bottom-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-center.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-center.png new file mode 100644 index 000000000..bccd5249b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-left.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-left.png new file mode 100644 index 000000000..b039be390 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-right.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-right.png new file mode 100644 index 000000000..ab15dec57 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-center-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-center.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-center.png new file mode 100644 index 000000000..020dd863d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-left.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-left.png new file mode 100644 index 000000000..a84fc8a63 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-right.png b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-right.png new file mode 100644 index 000000000..f99c4f040 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-bezel-top-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-close-active.png b/AppKit/Themes/Aristo2/Resources/HUD/window-close-active.png new file mode 100644 index 000000000..5a59693dc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-close-active.png differ diff --git a/AppKit/Themes/Aristo2/Resources/HUD/window-close.png b/AppKit/Themes/Aristo2/Resources/HUD/window-close.png new file mode 100644 index 000000000..9a99ad63f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/HUD/window-close.png differ diff --git a/AppKit/Themes/Aristo2/Resources/alert-error.png b/AppKit/Themes/Aristo2/Resources/alert-error.png new file mode 100755 index 000000000..ef70466c8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/alert-error.png differ diff --git a/AppKit/Themes/Aristo2/Resources/alert-help-pressed.png b/AppKit/Themes/Aristo2/Resources/alert-help-pressed.png new file mode 100755 index 000000000..e7c70ddd8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/alert-help-pressed.png differ diff --git a/AppKit/Themes/Aristo2/Resources/alert-help.png b/AppKit/Themes/Aristo2/Resources/alert-help.png new file mode 100755 index 000000000..5dac7fd5b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/alert-help.png differ diff --git a/AppKit/Themes/Aristo2/Resources/alert-info.png b/AppKit/Themes/Aristo2/Resources/alert-info.png new file mode 100755 index 000000000..fe781f5cb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/alert-info.png differ diff --git a/AppKit/Themes/Aristo2/Resources/alert-warning.png b/AppKit/Themes/Aristo2/Resources/alert-warning.png new file mode 100644 index 000000000..ae88052ee Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/alert-warning.png differ diff --git a/AppKit/Themes/Aristo2/Resources/browser-image-leaf-pressed.png b/AppKit/Themes/Aristo2/Resources/browser-image-leaf-pressed.png new file mode 100644 index 000000000..5b9e80e37 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/browser-image-leaf-pressed.png differ diff --git a/AppKit/Themes/Aristo2/Resources/browser-image-leaf.png b/AppKit/Themes/Aristo2/Resources/browser-image-leaf.png new file mode 100644 index 000000000..d6a5e1d41 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/browser-image-leaf.png differ diff --git a/AppKit/Themes/Aristo2/Resources/browser-image-resize-control.png b/AppKit/Themes/Aristo2/Resources/browser-image-resize-control.png new file mode 100644 index 000000000..e6329d2e8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/browser-image-resize-control.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-center.png b/AppKit/Themes/Aristo2/Resources/button-bezel-center.png new file mode 100644 index 000000000..382522ffa Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-center.png new file mode 100644 index 000000000..eb6ef4daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-left.png new file mode 100644 index 000000000..2e553b1f5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-right.png new file mode 100644 index 000000000..606e89be6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-center.png new file mode 100644 index 000000000..8227cb037 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-left.png new file mode 100644 index 000000000..0616ed91d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-right.png new file mode 100644 index 000000000..ab4818d68 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-left.png b/AppKit/Themes/Aristo2/Resources/button-bezel-left.png new file mode 100644 index 000000000..18f24f2bc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-right.png b/AppKit/Themes/Aristo2/Resources/button-bezel-right.png new file mode 100644 index 000000000..28a0862ce Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-center.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-center.png new file mode 100644 index 000000000..382522ffa Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-center.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-center.png new file mode 100644 index 000000000..eb6ef4daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-left.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-left.png new file mode 100644 index 000000000..9a70e6c94 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-right.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-right.png new file mode 100644 index 000000000..1d942850b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-center.png new file mode 100644 index 000000000..8227cb037 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-left.png new file mode 100644 index 000000000..65c8ac7f2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-right.png new file mode 100644 index 000000000..95e15484a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-left.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-left.png new file mode 100644 index 000000000..6812060ff Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-right.png b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-right.png new file mode 100644 index 000000000..bb006219e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/button-bezel-rounded-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-bezel.png b/AppKit/Themes/Aristo2/Resources/buttonbar-bezel.png new file mode 100644 index 000000000..c73a0ae5c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-bezel.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-center.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-center.png new file mode 100644 index 000000000..fa3e37e0a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-center.png new file mode 100644 index 000000000..a0754c617 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-left.png new file mode 100644 index 000000000..08a64c0c6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-right.png new file mode 100644 index 000000000..569bb4177 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-center.png new file mode 100644 index 000000000..6d34f8566 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-left.png new file mode 100644 index 000000000..043882d91 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-right.png new file mode 100644 index 000000000..ef638e46b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-left.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-left.png new file mode 100644 index 000000000..d77c8f53f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-right.png b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-right.png new file mode 100644 index 000000000..f6d173163 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-button-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-image-action.png b/AppKit/Themes/Aristo2/Resources/buttonbar-image-action.png new file mode 100644 index 000000000..78ef20a18 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-image-action.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-image-minus.png b/AppKit/Themes/Aristo2/Resources/buttonbar-image-minus.png new file mode 100644 index 000000000..d64f25060 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-image-minus.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-image-plus.png b/AppKit/Themes/Aristo2/Resources/buttonbar-image-plus.png new file mode 100644 index 000000000..548f16b8e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-image-plus.png differ diff --git a/AppKit/Themes/Aristo2/Resources/buttonbar-resize-control.png b/AppKit/Themes/Aristo2/Resources/buttonbar-resize-control.png new file mode 100644 index 000000000..fff92b3d9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/buttonbar-resize-control.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-disabled.png b/AppKit/Themes/Aristo2/Resources/check-box-image-disabled.png new file mode 100644 index 000000000..443e3064d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-highlighted.png b/AppKit/Themes/Aristo2/Resources/check-box-image-highlighted.png new file mode 100644 index 000000000..98d4cdc04 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-mixed-disabled.png b/AppKit/Themes/Aristo2/Resources/check-box-image-mixed-disabled.png new file mode 100644 index 000000000..11659d82a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-mixed-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-mixed-highlighted.png b/AppKit/Themes/Aristo2/Resources/check-box-image-mixed-highlighted.png new file mode 100644 index 000000000..1c69a1f4f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-mixed-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-mixed.png b/AppKit/Themes/Aristo2/Resources/check-box-image-mixed.png new file mode 100644 index 000000000..2b84ab675 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-mixed.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-selected-disabled.png b/AppKit/Themes/Aristo2/Resources/check-box-image-selected-disabled.png new file mode 100644 index 000000000..3330a2c78 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-selected-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-selected-highlighted.png b/AppKit/Themes/Aristo2/Resources/check-box-image-selected-highlighted.png new file mode 100644 index 000000000..3e6071168 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-selected-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image-selected.png b/AppKit/Themes/Aristo2/Resources/check-box-image-selected.png new file mode 100644 index 000000000..abc01d4d6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image-selected.png differ diff --git a/AppKit/Themes/Aristo2/Resources/check-box-image.png b/AppKit/Themes/Aristo2/Resources/check-box-image.png new file mode 100644 index 000000000..697995c20 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/check-box-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-center.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-center.png new file mode 100644 index 000000000..835bb2e53 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-center.png new file mode 100644 index 000000000..73ce9b719 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-left.png new file mode 100644 index 000000000..fb6c92e7f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-right.png new file mode 100644 index 000000000..0ae8971cb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-center.png new file mode 100644 index 000000000..33051c355 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-left.png new file mode 100644 index 000000000..84148f538 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-right.png new file mode 100644 index 000000000..6b4b60ca3 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-left.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-left.png new file mode 100644 index 000000000..4369e4b58 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-bezel-right.png b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-right.png new file mode 100644 index 000000000..7ccd0552f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-content-border-center.png b/AppKit/Themes/Aristo2/Resources/colorwell-content-border-center.png new file mode 100644 index 000000000..42e6e798a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-content-border-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-content-border-left.png b/AppKit/Themes/Aristo2/Resources/colorwell-content-border-left.png new file mode 100644 index 000000000..829450376 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-content-border-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/colorwell-content-border-right.png b/AppKit/Themes/Aristo2/Resources/colorwell-content-border-right.png new file mode 100644 index 000000000..829450376 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/colorwell-content-border-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-center.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-center.png new file mode 100644 index 000000000..fc311497d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-center.png new file mode 100644 index 000000000..9bbc8c777 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-left.png new file mode 100644 index 000000000..15b77ecc6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-right.png new file mode 100644 index 000000000..2e909ccd2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-center.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-center.png new file mode 100644 index 000000000..b6f20b9da Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-left.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-left.png new file mode 100644 index 000000000..85b0ff11c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-right.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-right.png new file mode 100644 index 000000000..07fc20c86 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-focused-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-left.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-left.png new file mode 100644 index 000000000..8735357d5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-center.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-center.png new file mode 100644 index 000000000..d2db37444 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-center.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-center.png new file mode 100644 index 000000000..44bafedc2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-left.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-left.png new file mode 100644 index 000000000..2e4b4cffb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-right.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-right.png new file mode 100644 index 000000000..b45c2e146 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-center.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-center.png new file mode 100644 index 000000000..3bf8be6a2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-left.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-left.png new file mode 100644 index 000000000..75c5ee3d6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-right.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-right.png new file mode 100644 index 000000000..5d71c7272 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-focused-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-left.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-left.png new file mode 100644 index 000000000..bdc11d31d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-right.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-right.png new file mode 100644 index 000000000..52987fd2b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-no-border-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/combobox-bezel-right.png b/AppKit/Themes/Aristo2/Resources/combobox-bezel-right.png new file mode 100644 index 000000000..db81be8a5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/combobox-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/cursors/closedHandCursor.cur b/AppKit/Themes/Aristo2/Resources/cursors/closedHandCursor.cur new file mode 100644 index 000000000..41aaa62a5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/cursors/closedHandCursor.cur differ diff --git a/AppKit/Themes/Aristo2/Resources/cursors/contextualMenuCursor.cur b/AppKit/Themes/Aristo2/Resources/cursors/contextualMenuCursor.cur new file mode 100644 index 000000000..a85df37f7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/cursors/contextualMenuCursor.cur differ diff --git a/AppKit/Themes/Aristo2/Resources/cursors/disappearingItemCursor.cur b/AppKit/Themes/Aristo2/Resources/cursors/disappearingItemCursor.cur new file mode 100644 index 000000000..e77aaea92 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/cursors/disappearingItemCursor.cur differ diff --git a/AppKit/Themes/Aristo2/Resources/cursors/dragCopyCursor.cur b/AppKit/Themes/Aristo2/Resources/cursors/dragCopyCursor.cur new file mode 100644 index 000000000..63409fa34 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/cursors/dragCopyCursor.cur differ diff --git a/AppKit/Themes/Aristo2/Resources/cursors/dragLinkCursor.cur b/AppKit/Themes/Aristo2/Resources/cursors/dragLinkCursor.cur new file mode 100644 index 000000000..5201724e0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/cursors/dragLinkCursor.cur differ diff --git a/AppKit/Themes/Aristo2/Resources/cursors/openHandCursor.cur b/AppKit/Themes/Aristo2/Resources/cursors/openHandCursor.cur new file mode 100644 index 000000000..fba3ddc80 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/cursors/openHandCursor.cur differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-center.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-center.png new file mode 100644 index 000000000..952275ce5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-center.png new file mode 100644 index 000000000..eb6ef4daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-left.png new file mode 100644 index 000000000..2e553b1f5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-right.png new file mode 100644 index 000000000..606e89be6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-center.png new file mode 100644 index 000000000..9e5a44d55 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-left.png new file mode 100644 index 000000000..5f4b38446 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-right.png new file mode 100644 index 000000000..23fbc960c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-left.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-left.png new file mode 100644 index 000000000..573c0931f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-right.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-right.png new file mode 100644 index 000000000..c91a7994d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-center.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-center.png new file mode 100644 index 000000000..952275ce5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-center.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-center.png new file mode 100644 index 000000000..eb6ef4daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-left.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-left.png new file mode 100644 index 000000000..9a70e6c94 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-right.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-right.png new file mode 100644 index 000000000..1d942850b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-center.png new file mode 100644 index 000000000..9e5a44d55 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-left.png new file mode 100644 index 000000000..5afe9a8d4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-right.png new file mode 100644 index 000000000..646cbcbe6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-left.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-left.png new file mode 100644 index 000000000..453ca4b47 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-right.png b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-right.png new file mode 100644 index 000000000..58eea4017 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/default-button-bezel-rounded-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/horizontal-track-center.png b/AppKit/Themes/Aristo2/Resources/horizontal-track-center.png new file mode 100644 index 000000000..328fadc1b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/horizontal-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-center.png b/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-center.png new file mode 100755 index 000000000..6f6f35a34 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-left.png b/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-left.png new file mode 100755 index 000000000..48d9b0bc2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-right.png b/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-right.png new file mode 100755 index 000000000..279cb870e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/horizontal-track-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/horizontal-track-left.png b/AppKit/Themes/Aristo2/Resources/horizontal-track-left.png new file mode 100644 index 000000000..1949a347d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/horizontal-track-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/horizontal-track-right.png b/AppKit/Themes/Aristo2/Resources/horizontal-track-right.png new file mode 100644 index 000000000..b5ba7c896 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/horizontal-track-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/knob-disabled.png b/AppKit/Themes/Aristo2/Resources/knob-disabled.png new file mode 100644 index 000000000..01b941d0d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/knob-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/knob-highlighted.png b/AppKit/Themes/Aristo2/Resources/knob-highlighted.png new file mode 100644 index 000000000..d88af2514 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/knob-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/knob.png b/AppKit/Themes/Aristo2/Resources/knob.png new file mode 100644 index 000000000..22d8fa814 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/knob.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-center.png b/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-center.png new file mode 100644 index 000000000..07549e694 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-left.png b/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-left.png new file mode 100644 index 000000000..6a40c8572 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-right.png b/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-right.png new file mode 100644 index 000000000..a8960f806 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-center.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-center.png new file mode 100644 index 000000000..3701f3629 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-left.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-left.png new file mode 100644 index 000000000..8b16af62e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-right.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-right.png new file mode 100644 index 000000000..177628245 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-critical-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-center.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-center.png new file mode 100644 index 000000000..b1df410d0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-left.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-left.png new file mode 100644 index 000000000..f46aa0027 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-right.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-right.png new file mode 100644 index 000000000..e546ae62d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-empty-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-center.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-center.png new file mode 100644 index 000000000..443ecf43e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-left.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-left.png new file mode 100644 index 000000000..096168186 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-right.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-right.png new file mode 100644 index 000000000..93d128c98 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-normal-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-center.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-center.png new file mode 100644 index 000000000..9b21ace3e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-left.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-left.png new file mode 100644 index 000000000..c26b6db9d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-right.png b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-right.png new file mode 100644 index 000000000..02ce4ffad Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/level-indicator-segment-warning-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-bar-window-background-selected.png b/AppKit/Themes/Aristo2/Resources/menu-bar-window-background-selected.png new file mode 100644 index 000000000..67e873bd6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-bar-window-background-selected.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-bar-window-background.png b/AppKit/Themes/Aristo2/Resources/menu-bar-window-background.png new file mode 100644 index 000000000..ee644619a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-bar-window-background.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-general-icon-new-highlighted.png b/AppKit/Themes/Aristo2/Resources/menu-general-icon-new-highlighted.png new file mode 100644 index 000000000..cc1798ce5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-general-icon-new-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-general-icon-new.png b/AppKit/Themes/Aristo2/Resources/menu-general-icon-new.png new file mode 100644 index 000000000..2ca371152 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-general-icon-new.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-general-icon-open-highlighted.png b/AppKit/Themes/Aristo2/Resources/menu-general-icon-open-highlighted.png new file mode 100644 index 000000000..61bef991a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-general-icon-open-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-general-icon-open.png b/AppKit/Themes/Aristo2/Resources/menu-general-icon-open.png new file mode 100644 index 000000000..e7377da06 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-general-icon-open.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-general-icon-save-highlighted.png b/AppKit/Themes/Aristo2/Resources/menu-general-icon-save-highlighted.png new file mode 100644 index 000000000..8a42c72a7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-general-icon-save-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-general-icon-save.png b/AppKit/Themes/Aristo2/Resources/menu-general-icon-save.png new file mode 100644 index 000000000..d7aed8e2d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-general-icon-save.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-item-on-state-highlighted.png b/AppKit/Themes/Aristo2/Resources/menu-item-on-state-highlighted.png new file mode 100644 index 000000000..5f0899daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-item-on-state-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-item-on-state.png b/AppKit/Themes/Aristo2/Resources/menu-item-on-state.png new file mode 100644 index 000000000..d67d4f03d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-item-on-state.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-1.png b/AppKit/Themes/Aristo2/Resources/menu-window-1.png new file mode 100644 index 000000000..3cef3405d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-1.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-3.png b/AppKit/Themes/Aristo2/Resources/menu-window-3.png new file mode 100644 index 000000000..9be4bb338 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-3.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-4.png b/AppKit/Themes/Aristo2/Resources/menu-window-4.png new file mode 100644 index 000000000..1a44296c1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-4.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-5.png b/AppKit/Themes/Aristo2/Resources/menu-window-5.png new file mode 100644 index 000000000..a0c47fca8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-5.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-7.png b/AppKit/Themes/Aristo2/Resources/menu-window-7.png new file mode 100644 index 000000000..30580fd59 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-7.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-more-above.png b/AppKit/Themes/Aristo2/Resources/menu-window-more-above.png new file mode 100644 index 000000000..f7aba4e91 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-more-above.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-more-below.png b/AppKit/Themes/Aristo2/Resources/menu-window-more-below.png new file mode 100644 index 000000000..b46b9fec3 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-more-below.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-rounded-0.png b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-0.png new file mode 100644 index 000000000..c9d07a606 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-0.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-rounded-2.png b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-2.png new file mode 100644 index 000000000..1dcbabee7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-2.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-rounded-6.png b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-6.png new file mode 100644 index 000000000..b863c151d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-6.png differ diff --git a/AppKit/Themes/Aristo2/Resources/menu-window-rounded-8.png b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-8.png new file mode 100644 index 000000000..4f94b9807 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/menu-window-rounded-8.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-center.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-center.png new file mode 100644 index 000000000..382522ffa Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-center.png new file mode 100644 index 000000000..eb6ef4daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-left.png new file mode 100644 index 000000000..2e553b1f5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-right-pullsdown.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-right-pullsdown.png new file mode 100644 index 000000000..0f31a5952 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-right-pullsdown.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-right.png new file mode 100644 index 000000000..efa6a43a6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-left.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-left.png new file mode 100644 index 000000000..18f24f2bc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-right-pullsdown.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-right-pullsdown.png new file mode 100644 index 000000000..b0f39322f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-right-pullsdown.png differ diff --git a/AppKit/Themes/Aristo2/Resources/popup-bezel-right.png b/AppKit/Themes/Aristo2/Resources/popup-bezel-right.png new file mode 100644 index 000000000..76c84e80a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/popup-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-center.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-center.png new file mode 100644 index 000000000..bcebaa982 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-left.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-left.png new file mode 100644 index 000000000..8a8c22dfe Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-right.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-right.png new file mode 100644 index 000000000..1d472722d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-bar-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-center.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-center.png new file mode 100644 index 000000000..382522ffa Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-left.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-left.png new file mode 100644 index 000000000..3fc65c1c2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-right.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-right.png new file mode 100644 index 000000000..3fc65c1c2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-bezel-border-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-center.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-center.png new file mode 100644 index 000000000..977acd1a8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-left.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-left.png new file mode 100644 index 000000000..04f96924f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-right.png b/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-right.png new file mode 100644 index 000000000..9ec314d50 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-indeterminate-bar-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-mini.gif b/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-mini.gif new file mode 100644 index 000000000..ab874279f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-mini.gif differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-regular.gif b/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-regular.gif new file mode 100644 index 000000000..598cab3dc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-regular.gif differ diff --git a/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-small.gif b/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-small.gif new file mode 100644 index 000000000..cbd275d4c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/progress-indicator-spinning-style-small.gif differ diff --git a/AppKit/Themes/Aristo2/Resources/radio-image-disabled.png b/AppKit/Themes/Aristo2/Resources/radio-image-disabled.png new file mode 100644 index 000000000..fe5473392 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/radio-image-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/radio-image-highlighted.png b/AppKit/Themes/Aristo2/Resources/radio-image-highlighted.png new file mode 100644 index 000000000..510b90660 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/radio-image-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/radio-image-selected-disabled.png b/AppKit/Themes/Aristo2/Resources/radio-image-selected-disabled.png new file mode 100644 index 000000000..78415e21f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/radio-image-selected-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/radio-image-selected-highlighted.png b/AppKit/Themes/Aristo2/Resources/radio-image-selected-highlighted.png new file mode 100644 index 000000000..351d7ef35 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/radio-image-selected-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/radio-image-selected.png b/AppKit/Themes/Aristo2/Resources/radio-image-selected.png new file mode 100644 index 000000000..e84fca120 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/radio-image-selected.png differ diff --git a/AppKit/Themes/Aristo2/Resources/radio-image.png b/AppKit/Themes/Aristo2/Resources/radio-image.png new file mode 100644 index 000000000..01b941d0d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/radio-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/rule-editor-add.png b/AppKit/Themes/Aristo2/Resources/rule-editor-add.png new file mode 100755 index 000000000..bc0393a85 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/rule-editor-add.png differ diff --git a/AppKit/Themes/Aristo2/Resources/rule-editor-remove.png b/AppKit/Themes/Aristo2/Resources/rule-editor-remove.png new file mode 100755 index 000000000..788574a9f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/rule-editor-remove.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-down-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/scroller-down-arrow-disabled.png new file mode 100644 index 000000000..f8c7e0b05 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-down-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-down-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/scroller-down-arrow-highlighted.png new file mode 100644 index 000000000..19314c85f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-down-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-down-arrow.png b/AppKit/Themes/Aristo2/Resources/scroller-down-arrow.png new file mode 100644 index 000000000..ad5ed8ecd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-down-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-center.png new file mode 100644 index 000000000..83749d1e1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-center.png new file mode 100644 index 000000000..b00caa675 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-left.png new file mode 100644 index 000000000..924a3412e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-right.png new file mode 100644 index 000000000..416e1f407 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-dark-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-center.png new file mode 100644 index 000000000..9dc4f6883 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-left.png new file mode 100644 index 000000000..d9d0a19de Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-right.png new file mode 100644 index 000000000..6310a4a76 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-left.png new file mode 100644 index 000000000..590cf6942 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-center.png new file mode 100644 index 000000000..53e082e92 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-left.png new file mode 100644 index 000000000..c2ca6f7db Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-right.png new file mode 100644 index 000000000..040c63079 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-light-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-right.png new file mode 100644 index 000000000..29301718f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-knob-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-center.png new file mode 100644 index 000000000..6391d914f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-center.png new file mode 100644 index 000000000..de34cc9db Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-left.png new file mode 100644 index 000000000..e533575e2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-right.png new file mode 100644 index 000000000..d049d8d31 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-dark-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-disabled.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-disabled.png new file mode 100755 index 000000000..78c55e5c0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-left.png new file mode 100644 index 000000000..b3cf74d68 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-center.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-center.png new file mode 100644 index 000000000..49c52c80c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-left.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-left.png new file mode 100644 index 000000000..6fe3c48d1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-right.png new file mode 100644 index 000000000..eadf76a66 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-light-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-right.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-right.png new file mode 100644 index 000000000..019855a60 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track.png b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track.png new file mode 100755 index 000000000..7fcc29e40 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-horizontal-track.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-left-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/scroller-left-arrow-disabled.png new file mode 100644 index 000000000..273eadb90 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-left-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-left-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/scroller-left-arrow-highlighted.png new file mode 100644 index 000000000..95df8bd70 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-left-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-left-arrow.png b/AppKit/Themes/Aristo2/Resources/scroller-left-arrow.png new file mode 100644 index 000000000..ebd6b686f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-left-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-center.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-center.png new file mode 100644 index 000000000..098fd5f02 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-left.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-left.png new file mode 100644 index 000000000..031e16dbf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-right.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-right.png new file mode 100644 index 000000000..541c61299 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-knob-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-center.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-center.png new file mode 100644 index 000000000..cadda610c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-left.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-left.png new file mode 100644 index 000000000..04e2510a6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-right.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-right.png new file mode 100644 index 000000000..5a9e6c8b1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-horizontal-track-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-bottom.png new file mode 100644 index 000000000..da41c8293 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-center.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-center.png new file mode 100644 index 000000000..a30f8981f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-top.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-top.png new file mode 100644 index 000000000..517d33999 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-knob-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-bottom.png new file mode 100644 index 000000000..51517a659 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-center.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-center.png new file mode 100644 index 000000000..b5afcbb9d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-top.png b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-top.png new file mode 100644 index 000000000..c41a4afb2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-legacy-vertical-track-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-right-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/scroller-right-arrow-disabled.png new file mode 100644 index 000000000..8430527dd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-right-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-right-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/scroller-right-arrow-highlighted.png new file mode 100644 index 000000000..2acbd7b0e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-right-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-right-arrow.png b/AppKit/Themes/Aristo2/Resources/scroller-right-arrow.png new file mode 100644 index 000000000..c536cf3f7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-right-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-up-arrow-disabled.png b/AppKit/Themes/Aristo2/Resources/scroller-up-arrow-disabled.png new file mode 100644 index 000000000..929ac1458 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-up-arrow-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-up-arrow-highlighted.png b/AppKit/Themes/Aristo2/Resources/scroller-up-arrow-highlighted.png new file mode 100644 index 000000000..8caeacfeb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-up-arrow-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-up-arrow.png b/AppKit/Themes/Aristo2/Resources/scroller-up-arrow.png new file mode 100644 index 000000000..eaa182606 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-up-arrow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-bottom.png new file mode 100644 index 000000000..e6ebd3e1f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-center.png new file mode 100644 index 000000000..613456cda Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-bottom.png new file mode 100644 index 000000000..3beacc4d2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-center.png new file mode 100644 index 000000000..691b1d602 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-top.png new file mode 100644 index 000000000..d07e476b8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-dark-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-bottom.png new file mode 100644 index 000000000..b0d8915c0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-center.png new file mode 100644 index 000000000..cca2e0592 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-top.png new file mode 100644 index 000000000..b5d988056 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-disabled-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-bottom.png new file mode 100644 index 000000000..4e8935722 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-center.png new file mode 100644 index 000000000..690177a91 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-top.png new file mode 100644 index 000000000..68d5ff26f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-light-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-top.png new file mode 100644 index 000000000..df0d79a4e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-knob-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-bottom.png new file mode 100644 index 000000000..92a2fe6be Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-center.png new file mode 100644 index 000000000..9e74fdb51 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-bottom.png new file mode 100644 index 000000000..222f539cc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-center.png new file mode 100644 index 000000000..ddcb8bbce Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-top.png new file mode 100644 index 000000000..0b4c33619 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-dark-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-disabled.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-disabled.png new file mode 100644 index 000000000..174a43363 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-disabled.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-bottom.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-bottom.png new file mode 100644 index 000000000..3ad82386a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-center.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-center.png new file mode 100644 index 000000000..cf003eaa6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-top.png new file mode 100644 index 000000000..4e09455e4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-light-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-top.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-top.png new file mode 100644 index 000000000..e6f8123d8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scroller-vertical-track.png b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track.png new file mode 100644 index 000000000..d940f4084 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scroller-vertical-track.png differ diff --git a/AppKit/Themes/Aristo2/Resources/scrollview-bottom-corner-color.png b/AppKit/Themes/Aristo2/Resources/scrollview-bottom-corner-color.png new file mode 100644 index 000000000..8d3583e3b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/scrollview-bottom-corner-color.png differ diff --git a/AppKit/Themes/Aristo2/Resources/search-field-cancel-pressed.png b/AppKit/Themes/Aristo2/Resources/search-field-cancel-pressed.png new file mode 100644 index 000000000..b36474116 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/search-field-cancel-pressed.png differ diff --git a/AppKit/Themes/Aristo2/Resources/search-field-cancel.png b/AppKit/Themes/Aristo2/Resources/search-field-cancel.png new file mode 100644 index 000000000..9799f5f2c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/search-field-cancel.png differ diff --git a/AppKit/Themes/Aristo2/Resources/search-field-find.png b/AppKit/Themes/Aristo2/Resources/search-field-find.png new file mode 100644 index 000000000..44bd75830 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/search-field-find.png differ diff --git a/AppKit/Themes/Aristo2/Resources/search-field-search.png b/AppKit/Themes/Aristo2/Resources/search-field-search.png new file mode 100644 index 000000000..d500fc636 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/search-field-search.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-center.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-center.png new file mode 100644 index 000000000..382522ffa Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-center.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-center.png new file mode 100644 index 000000000..eb6ef4daf Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-divider.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-divider.png new file mode 100644 index 000000000..1080d4625 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-left.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-left.png new file mode 100644 index 000000000..2e553b1f5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-right.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-right.png new file mode 100644 index 000000000..117cdd795 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-divider.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-divider.png new file mode 100644 index 000000000..6dc98f794 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-center.png new file mode 100644 index 000000000..952275ce5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-center.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-center.png new file mode 100644 index 000000000..746f31e3f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-divider.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-divider.png new file mode 100644 index 000000000..8658466dd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-left.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-left.png new file mode 100644 index 000000000..7bacd5c5e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-right.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-right.png new file mode 100644 index 000000000..774e00456 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-divider.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-divider.png new file mode 100644 index 000000000..e12b7846f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-divider.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-left.png new file mode 100644 index 000000000..6fadee4a5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-right.png new file mode 100644 index 000000000..5cef05a13 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-left.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-left.png new file mode 100644 index 000000000..18f24f2bc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-center.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-center.png new file mode 100644 index 000000000..8227cb037 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-center.png new file mode 100644 index 000000000..9e5a44d55 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-left.png new file mode 100644 index 000000000..5adbf80cc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-right.png new file mode 100644 index 000000000..b85dade3a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-left.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-left.png new file mode 100644 index 000000000..0616ed91d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-right.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-right.png new file mode 100644 index 000000000..ab4818d68 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-pushed-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-right.png b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-right.png new file mode 100644 index 000000000..28a0862ce Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/segmented-control-bezel-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom-left.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom-left.png new file mode 100644 index 000000000..0a1a803dc Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom-right.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom-right.png new file mode 100644 index 000000000..8e65572e2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom.png new file mode 100644 index 000000000..1559018e5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-left.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-left.png new file mode 100644 index 000000000..51a4ad8a1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-right.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-right.png new file mode 100644 index 000000000..6e443d483 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top-left.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top-left.png new file mode 100644 index 000000000..26f806cbb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top-right.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top-right.png new file mode 100644 index 000000000..607a7cbc0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top.png b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top.png new file mode 100644 index 000000000..9ecc292b8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-heavy-top.png differ diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightBottomLeft.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-bottom-left.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightBottomLeft.png rename to AppKit/Themes/Aristo2/Resources/shadow-view-light-bottom-left.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightBottomRight.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-bottom-right.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightBottomRight.png rename to AppKit/Themes/Aristo2/Resources/shadow-view-light-bottom-right.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightBottom.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-bottom.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightBottom.png rename to AppKit/Themes/Aristo2/Resources/shadow-view-light-bottom.png diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-light-left.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-left.png new file mode 100644 index 000000000..ea7b5ffc5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-light-left.png differ diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightRight.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-right.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightRight.png rename to AppKit/Themes/Aristo2/Resources/shadow-view-light-right.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightTopLeft.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-top-left.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightTopLeft.png rename to AppKit/Themes/Aristo2/Resources/shadow-view-light-top-left.png diff --git a/AppKit/Resources/CPShadowView/CPShadowViewLightTopRight.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-top-right.png similarity index 100% rename from AppKit/Resources/CPShadowView/CPShadowViewLightTopRight.png rename to AppKit/Themes/Aristo2/Resources/shadow-view-light-top-right.png diff --git a/AppKit/Themes/Aristo2/Resources/shadow-view-light-top.png b/AppKit/Themes/Aristo2/Resources/shadow-view-light-top.png new file mode 100644 index 000000000..05e9291d0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/shadow-view-light-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/slider-circular-bezel.png b/AppKit/Themes/Aristo2/Resources/slider-circular-bezel.png new file mode 100644 index 000000000..67703da98 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/slider-circular-bezel.png differ diff --git a/AppKit/Themes/Aristo2/Resources/slider-circular-disabled-bezel.png b/AppKit/Themes/Aristo2/Resources/slider-circular-disabled-bezel.png new file mode 100644 index 000000000..0ce4e07ab Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/slider-circular-disabled-bezel.png differ diff --git a/AppKit/Themes/Aristo2/Resources/slider-circular-disabled-knob.png b/AppKit/Themes/Aristo2/Resources/slider-circular-disabled-knob.png new file mode 100644 index 000000000..38b9544a6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/slider-circular-disabled-knob.png differ diff --git a/AppKit/Themes/Aristo2/Resources/slider-circular-knob.png b/AppKit/Themes/Aristo2/Resources/slider-circular-knob.png new file mode 100644 index 000000000..a310831f0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/slider-circular-knob.png differ diff --git a/AppKit/Themes/Aristo2/Resources/spinner.gif b/AppKit/Themes/Aristo2/Resources/spinner.gif new file mode 100755 index 000000000..77b36416b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/spinner.gif differ diff --git a/AppKit/Themes/Aristo2/Resources/splitview-divider-horizontal.png b/AppKit/Themes/Aristo2/Resources/splitview-divider-horizontal.png new file mode 100644 index 000000000..6fd8bf219 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/splitview-divider-horizontal.png differ diff --git a/AppKit/Themes/Aristo2/Resources/splitview-divider-vertical.png b/AppKit/Themes/Aristo2/Resources/splitview-divider-vertical.png new file mode 100644 index 000000000..80f5725d6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/splitview-divider-vertical.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-center.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-center.png new file mode 100644 index 000000000..085b7ecca Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-left.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-left.png new file mode 100644 index 000000000..efe97c37e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-right.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-right.png new file mode 100644 index 000000000..d61be3b3d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-down-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-center.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-center.png new file mode 100644 index 000000000..8fcc7b105 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-left.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-left.png new file mode 100644 index 000000000..f948d846c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-right.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-right.png new file mode 100644 index 000000000..3e09a3852 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-disabled-up-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-center.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-center.png new file mode 100644 index 000000000..b50f65841 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-left.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-left.png new file mode 100644 index 000000000..2175612f0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-right.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-right.png new file mode 100644 index 000000000..d745db4bb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-down-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-center.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-center.png new file mode 100644 index 000000000..1511ec06f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-left.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-left.png new file mode 100644 index 000000000..a5c0a5293 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-right.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-right.png new file mode 100644 index 000000000..bc465ee53 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-down-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-center.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-center.png new file mode 100644 index 000000000..d98ddfbee Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-left.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-left.png new file mode 100644 index 000000000..4733a748e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-right.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-right.png new file mode 100644 index 000000000..cde48ec04 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-highlighted-up-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-center.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-center.png new file mode 100644 index 000000000..fb14e7184 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-left.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-left.png new file mode 100644 index 000000000..b20d8e232 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-right.png b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-right.png new file mode 100644 index 000000000..127611f90 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/stepper-bezel-big-up-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-headerview-ascending.png b/AppKit/Themes/Aristo2/Resources/tableview-headerview-ascending.png new file mode 100755 index 000000000..5902e279c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-headerview-ascending.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-headerview-descending.png b/AppKit/Themes/Aristo2/Resources/tableview-headerview-descending.png new file mode 100755 index 000000000..d4b749f84 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-headerview-descending.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-headerview-highlighted-pressed.png b/AppKit/Themes/Aristo2/Resources/tableview-headerview-highlighted-pressed.png new file mode 100644 index 000000000..6820ef945 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-headerview-highlighted-pressed.png differ diff --git a/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop2.png b/AppKit/Themes/Aristo2/Resources/tableview-headerview-highlighted.png similarity index 50% rename from AppKit/Resources/CPWindow/Standard/CPWindowStandardTop2.png rename to AppKit/Themes/Aristo2/Resources/tableview-headerview-highlighted.png index ecbaef49c..ba8707eb2 100644 Binary files a/AppKit/Resources/CPWindow/Standard/CPWindowStandardTop2.png and b/AppKit/Themes/Aristo2/Resources/tableview-headerview-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-headerview-pressed.png b/AppKit/Themes/Aristo2/Resources/tableview-headerview-pressed.png new file mode 100644 index 000000000..ea2122437 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-headerview-pressed.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-headerview.png b/AppKit/Themes/Aristo2/Resources/tableview-headerview.png new file mode 100644 index 000000000..4a0efdcda Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-headerview.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-image-generic-file.png b/AppKit/Themes/Aristo2/Resources/tableview-image-generic-file.png new file mode 100644 index 000000000..82e186348 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-image-generic-file.png differ diff --git a/AppKit/Themes/Aristo2/Resources/tableview-rowview.png b/AppKit/Themes/Aristo2/Resources/tableview-rowview.png new file mode 100644 index 000000000..85007e93f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/tableview-rowview.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-center.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-center.png new file mode 100644 index 000000000..b3896ebb7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-center.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-center.png new file mode 100644 index 000000000..2c613dc2b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-left.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-left.png new file mode 100644 index 000000000..44fe16b71 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-right.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-right.png new file mode 100644 index 000000000..7e4d71c34 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-center.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-center.png new file mode 100644 index 000000000..4530901f1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-left.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-left.png new file mode 100644 index 000000000..31c3342f7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-right.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-right.png new file mode 100644 index 000000000..f47d26f3d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-focused-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-left.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-left.png new file mode 100644 index 000000000..1a5c638dd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-right.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-right.png new file mode 100644 index 000000000..5b3de1347 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-rounded-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-0.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-0.png new file mode 100644 index 000000000..3ffe80e20 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-0.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-1.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-1.png new file mode 100644 index 000000000..3204c28d1 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-1.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-2.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-2.png new file mode 100644 index 000000000..ff00160f5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-2.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-3.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-3.png new file mode 100644 index 000000000..71d672910 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-3.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-4.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-4.png new file mode 100644 index 000000000..b5bdbf51a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-4.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-5.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-5.png new file mode 100644 index 000000000..280007bcd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-5.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-6.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-6.png new file mode 100644 index 000000000..ebdd1f5c0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-6.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-7.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-7.png new file mode 100644 index 000000000..c6f362650 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-7.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-8.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-8.png new file mode 100644 index 000000000..3ab345335 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-8.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-0.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-0.png new file mode 100644 index 000000000..12f40163d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-0.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-1.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-1.png new file mode 100644 index 000000000..1d15b2da9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-1.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-2.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-2.png new file mode 100644 index 000000000..d1c4a22a6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-2.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-3.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-3.png new file mode 100644 index 000000000..fc4c20a37 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-3.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-4.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-4.png new file mode 100644 index 000000000..43c6d685d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-4.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-5.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-5.png new file mode 100644 index 000000000..c8f918db4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-5.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-6.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-6.png new file mode 100644 index 000000000..82c90ab68 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-6.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-7.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-7.png new file mode 100644 index 000000000..6ee8a1578 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-7.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-8.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-8.png new file mode 100644 index 000000000..32ee9128a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-disabled-8.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-0.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-0.png new file mode 100644 index 000000000..dd897f732 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-0.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-1.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-1.png new file mode 100644 index 000000000..9e7f9ed17 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-1.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-2.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-2.png new file mode 100644 index 000000000..2ca8f6de9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-2.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-3.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-3.png new file mode 100644 index 000000000..7c893ebd2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-3.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-4.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-4.png new file mode 100644 index 000000000..9282225bb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-4.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-5.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-5.png new file mode 100644 index 000000000..dd0b7a119 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-5.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-6.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-6.png new file mode 100644 index 000000000..fe01f2bbd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-6.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-7.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-7.png new file mode 100644 index 000000000..61d1b0052 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-7.png differ diff --git a/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-8.png b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-8.png new file mode 100644 index 000000000..c190d6c8e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/textfield-bezel-square-focused-8.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-center.png b/AppKit/Themes/Aristo2/Resources/token-center.png new file mode 100644 index 000000000..1b73d9baa Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-close-highlighted.png b/AppKit/Themes/Aristo2/Resources/token-close-highlighted.png new file mode 100644 index 000000000..424759eab Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-close-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-close.png b/AppKit/Themes/Aristo2/Resources/token-close.png new file mode 100644 index 000000000..d8236af0b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-close.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-disabled-center.png b/AppKit/Themes/Aristo2/Resources/token-disabled-center.png new file mode 100644 index 000000000..ed741825a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-disabled-left.png b/AppKit/Themes/Aristo2/Resources/token-disabled-left.png new file mode 100644 index 000000000..4c7f1ca36 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-disabled-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-disabled-right.png b/AppKit/Themes/Aristo2/Resources/token-disabled-right.png new file mode 100644 index 000000000..38ffcfd78 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-disabled-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-highlighted-center.png b/AppKit/Themes/Aristo2/Resources/token-highlighted-center.png new file mode 100644 index 000000000..54bf659d7 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-highlighted-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-highlighted-left.png b/AppKit/Themes/Aristo2/Resources/token-highlighted-left.png new file mode 100644 index 000000000..206b2b8f6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-highlighted-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-highlighted-right.png b/AppKit/Themes/Aristo2/Resources/token-highlighted-right.png new file mode 100644 index 000000000..defbaed09 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-highlighted-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-left.png b/AppKit/Themes/Aristo2/Resources/token-left.png new file mode 100644 index 000000000..e553f5e29 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/token-right.png b/AppKit/Themes/Aristo2/Resources/token-right.png new file mode 100644 index 000000000..a02be1eb0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/token-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-background-bottom.png b/AppKit/Themes/Aristo2/Resources/toolbar-background-bottom.png new file mode 100644 index 000000000..cda3ac679 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-background-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-background-center.png b/AppKit/Themes/Aristo2/Resources/toolbar-background-center.png new file mode 100644 index 000000000..0369545e5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-background-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-0.png b/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-0.png new file mode 100644 index 000000000..cc186ecec Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-0.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-1.png b/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-1.png new file mode 100644 index 000000000..b0be3bf91 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-1.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-2.png b/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-2.png new file mode 100644 index 000000000..84b0fa609 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-item-separator-2.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-view-extra-items-alternate-image.png b/AppKit/Themes/Aristo2/Resources/toolbar-view-extra-items-alternate-image.png new file mode 100644 index 000000000..e3787b91f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-view-extra-items-alternate-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/toolbar-view-extra-items-image.png b/AppKit/Themes/Aristo2/Resources/toolbar-view-extra-items-image.png new file mode 100644 index 000000000..d0fcbaab0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/toolbar-view-extra-items-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/vertical-track-bottom.png b/AppKit/Themes/Aristo2/Resources/vertical-track-bottom.png new file mode 100644 index 000000000..b48f3e48f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/vertical-track-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/vertical-track-center.png b/AppKit/Themes/Aristo2/Resources/vertical-track-center.png new file mode 100644 index 000000000..f8f73019f Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/vertical-track-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-bottom.png b/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-bottom.png new file mode 100755 index 000000000..a5624bf6e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-bottom.png differ diff --git a/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-center.png b/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-center.png new file mode 100755 index 000000000..4afee484a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-top.png b/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-top.png new file mode 100755 index 000000000..e6945d7ce Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/vertical-track-disabled-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/vertical-track-top.png b/AppKit/Themes/Aristo2/Resources/vertical-track-top.png new file mode 100644 index 000000000..6321a23fe Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/vertical-track-top.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-attached-sheet-shadow.png b/AppKit/Themes/Aristo2/Resources/window-attached-sheet-shadow.png new file mode 100644 index 000000000..b39cae110 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-attached-sheet-shadow.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-center.png b/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-center.png new file mode 100644 index 000000000..5a1e27918 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-left.png b/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-left.png new file mode 100644 index 000000000..c4e2db8f8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-right.png b/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-right.png new file mode 100644 index 000000000..11139eefb Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-bottom-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-center-center.png b/AppKit/Themes/Aristo2/Resources/window-bezel-center-center.png new file mode 100644 index 000000000..bccd5249b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-center-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-center-left.png b/AppKit/Themes/Aristo2/Resources/window-bezel-center-left.png new file mode 100644 index 000000000..b039be390 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-center-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-center-right.png b/AppKit/Themes/Aristo2/Resources/window-bezel-center-right.png new file mode 100644 index 000000000..ab15dec57 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-center-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-top-center.png b/AppKit/Themes/Aristo2/Resources/window-bezel-top-center.png new file mode 100644 index 000000000..020dd863d Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-top-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-top-left.png b/AppKit/Themes/Aristo2/Resources/window-bezel-top-left.png new file mode 100644 index 000000000..a84fc8a63 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-top-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-bezel-top-right.png b/AppKit/Themes/Aristo2/Resources/window-bezel-top-right.png new file mode 100644 index 000000000..f99c4f040 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-bezel-top-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-bottom-center.png b/AppKit/Themes/Aristo2/Resources/window-popup-bottom-center.png new file mode 100644 index 000000000..e9cccd081 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-bottom-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-bottom-left.png b/AppKit/Themes/Aristo2/Resources/window-popup-bottom-left.png new file mode 100644 index 000000000..e897f4ea8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-bottom-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-bottom-right.png b/AppKit/Themes/Aristo2/Resources/window-popup-bottom-right.png new file mode 100644 index 000000000..8dbadfb3c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-bottom-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-center-center.png b/AppKit/Themes/Aristo2/Resources/window-popup-center-center.png new file mode 100644 index 000000000..4996c1820 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-center-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-center-left.png b/AppKit/Themes/Aristo2/Resources/window-popup-center-left.png new file mode 100644 index 000000000..c8d3b61a5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-center-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-center-right.png b/AppKit/Themes/Aristo2/Resources/window-popup-center-right.png new file mode 100644 index 000000000..6fe391830 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-center-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-top-center.png b/AppKit/Themes/Aristo2/Resources/window-popup-top-center.png new file mode 100644 index 000000000..6b25641de Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-top-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-top-left.png b/AppKit/Themes/Aristo2/Resources/window-popup-top-left.png new file mode 100644 index 000000000..b641a5649 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-top-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-popup-top-right.png b/AppKit/Themes/Aristo2/Resources/window-popup-top-right.png new file mode 100644 index 000000000..88254f9db Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-popup-top-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-resize-indicator.png b/AppKit/Themes/Aristo2/Resources/window-resize-indicator.png new file mode 100644 index 000000000..2643e3db8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-resize-indicator.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-0.png b/AppKit/Themes/Aristo2/Resources/window-shadow-0.png new file mode 100644 index 000000000..801bb4737 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-0.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-1.png b/AppKit/Themes/Aristo2/Resources/window-shadow-1.png new file mode 100644 index 000000000..253bef159 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-1.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-2.png b/AppKit/Themes/Aristo2/Resources/window-shadow-2.png new file mode 100644 index 000000000..b480d36c2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-2.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-3.png b/AppKit/Themes/Aristo2/Resources/window-shadow-3.png new file mode 100644 index 000000000..15946b136 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-3.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-4.png b/AppKit/Themes/Aristo2/Resources/window-shadow-4.png new file mode 100644 index 000000000..3b08d680b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-4.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-5.png b/AppKit/Themes/Aristo2/Resources/window-shadow-5.png new file mode 100644 index 000000000..7266b0549 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-5.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-6.png b/AppKit/Themes/Aristo2/Resources/window-shadow-6.png new file mode 100644 index 000000000..7d115a388 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-6.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-7.png b/AppKit/Themes/Aristo2/Resources/window-shadow-7.png new file mode 100644 index 000000000..b4bd351f2 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-7.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-shadow-8.png b/AppKit/Themes/Aristo2/Resources/window-shadow-8.png new file mode 100644 index 000000000..43615d872 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-shadow-8.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-bottom-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-bottom-center.png new file mode 100644 index 000000000..39396fe31 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-bottom-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-bottom-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-bottom-left.png new file mode 100644 index 000000000..dab5660a0 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-bottom-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-bottom-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-bottom-right.png new file mode 100644 index 000000000..00a92564a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-bottom-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-button-highlighted.png b/AppKit/Themes/Aristo2/Resources/window-standard-button-highlighted.png new file mode 100644 index 000000000..ab5946cbd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-button-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-button-unsaved-inactive.png b/AppKit/Themes/Aristo2/Resources/window-standard-button-unsaved-inactive.png new file mode 100644 index 000000000..3ed0fbb28 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-button-unsaved-inactive.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-button-unsaved.png b/AppKit/Themes/Aristo2/Resources/window-standard-button-unsaved.png new file mode 100644 index 000000000..d5fe88d8c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-button-unsaved.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-center-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-center-center.png new file mode 100644 index 000000000..1830f6d53 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-center-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-center-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-center-left.png new file mode 100644 index 000000000..cbffd9b5a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-center-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-center-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-center-right.png new file mode 100644 index 000000000..92a277fbd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-center-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-close-button-inactive.png b/AppKit/Themes/Aristo2/Resources/window-standard-close-button-inactive.png new file mode 100644 index 000000000..3e9c48782 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-close-button-inactive.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-close-button-unsaved-highlighted.png b/AppKit/Themes/Aristo2/Resources/window-standard-close-button-unsaved-highlighted.png new file mode 100644 index 000000000..9681c5a2e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-close-button-unsaved-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-close-button.png b/AppKit/Themes/Aristo2/Resources/window-standard-close-button.png new file mode 100644 index 000000000..d29d5fbca Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-close-button.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-center.png new file mode 100644 index 000000000..28675a7ab Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-center.png new file mode 100644 index 000000000..3a13396a5 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-left.png new file mode 100644 index 000000000..cb186c02c Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-right.png new file mode 100644 index 000000000..9b554d39a Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-inactive-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-left.png new file mode 100644 index 000000000..cde53ff2b Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-right.png new file mode 100644 index 000000000..1fb1c6918 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-center.png new file mode 100644 index 000000000..1a86f0428 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-left.png new file mode 100644 index 000000000..93aad32e6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-right.png new file mode 100644 index 000000000..201e8fd64 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-bottom-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-center.png new file mode 100644 index 000000000..1a86f0428 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-left.png new file mode 100644 index 000000000..93aad32e6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-right.png new file mode 100644 index 000000000..201e8fd64 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-center-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-center.png new file mode 100644 index 000000000..1a86f0428 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-left.png new file mode 100644 index 000000000..93aad32e6 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-right.png new file mode 100644 index 000000000..201e8fd64 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-head-solid-top-right.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-maximize-button-highlighted.png b/AppKit/Themes/Aristo2/Resources/window-standard-maximize-button-highlighted.png new file mode 100644 index 000000000..d72cfa6a9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-maximize-button-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-maximize-button.png b/AppKit/Themes/Aristo2/Resources/window-standard-maximize-button.png new file mode 100644 index 000000000..2c044317e Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-maximize-button.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-minimize-button-highlighted.png b/AppKit/Themes/Aristo2/Resources/window-standard-minimize-button-highlighted.png new file mode 100644 index 000000000..ab3765c79 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-minimize-button-highlighted.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-minimize-button.png b/AppKit/Themes/Aristo2/Resources/window-standard-minimize-button.png new file mode 100644 index 000000000..a63d93f54 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-minimize-button.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-top-center.png b/AppKit/Themes/Aristo2/Resources/window-standard-top-center.png new file mode 100644 index 000000000..a564ec3c4 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-top-center.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-top-left.png b/AppKit/Themes/Aristo2/Resources/window-standard-top-left.png new file mode 100644 index 000000000..bc1d5b3a8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-top-left.png differ diff --git a/AppKit/Themes/Aristo2/Resources/window-standard-top-right.png b/AppKit/Themes/Aristo2/Resources/window-standard-top-right.png new file mode 100644 index 000000000..096e807e8 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/window-standard-top-right.png differ diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j new file mode 100644 index 000000000..71234cc63 --- /dev/null +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -0,0 +1,2375 @@ +/* + * ThemeDescriptors.j + * AppKit + * + * Created by Antoine Mercadal + * Copyright 2012 + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import +@import + +var themedButtonValues = nil, + themedTextFieldValues = nil, + themedVerticalScrollerValues = nil, + themedHorizontalScrollerValues = nil, + themedSegmentedControlValues = nil, + themedHorizontalSliderValues = nil, + themedVerticalSliderValues = nil, + themedCircularSliderValues = nil, + themedAlertValues = nil, + themedWindowViewValues = nil, + themedProgressIndicator = nil, + themedIndeterminateProgressIndicator = nil, + themedCheckBoxValues = nil, + themedRadioButtonValues = nil; + +@implementation Aristo2ThemeDescriptor : BKThemeDescriptor + ++ (CPString)themeName +{ + return @"Aristo2"; +} + ++ (CPArray)themeShowcaseExcludes +{ + return ["themedAlert", + "themedMenuView", + "themedMenuItemStandardView", + "themedMenuItemMenuBarView", + "themedToolbarView", + "themedBordelessBridgeWindowView", + "themedWindowView", + "themedBrowser", + "themedRuleEditor", + "themedTableDataView", + "themedCornerview", + "themedTokenFieldTokenCloseButton"]; +} + ++ (CPButton)makeButton +{ + return [[CPButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 25)]; +} + ++ (CPButton)button +{ + var button = [self makeButton], + + // RoundRect + bezelColor = PatternColor( + "{style}button-bezel{state}{position}.png", + { + styles: ["", "default"], + states: ["", "highlighted", "disabled"], + width: 4.0, + height: 24.0, + orientation: PatternIsHorizontal + }), + + // Rounded + roundedBezelColor = PatternColor( + "{style}button-bezel-rounded{state}{position}.png", + { + styles: ["", "default"], + states: ["", "highlighted", "disabled"], + width: 12.0, + height: 24.0, + orientation: PatternIsHorizontal + }), + + defaultTextColor = [CPColor colorWithCalibratedRed:38.0 / 255.0 green:38.0 / 255.0 blue:38.0 / 255.0 alpha:1.0], + defaultDisabledTextColor = [CPColor colorWithCalibratedRed:38.0 / 255.0 green:38.0 / 255.0 blue:38.0 / 255.0 alpha:0.2]; + + // Global + themedButtonValues = + [ + [@"font", [CPFont boldSystemFontOfSize:12.0], CPThemeStateBordered], + [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:1.0 alpha:0.3], CPThemeStateBordered], + [@"text-color", [CPColor whiteColor], CPThemeStateBordered | CPThemeStateDefault], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.2], CPThemeStateBordered | CPThemeStateDefault], + [@"text-shadow-offset", CGSizeMake(0.0, 1.0), CPThemeStateBordered], + [@"line-break-mode", CPLineBreakByTruncatingTail], + [@"bezel-color", + bezelColor["@"]["@"], + CPThemeStateBordered], + [@"bezel-color", + bezelColor["@"]["highlighted"], + CPThemeStateBordered | CPThemeStateHighlighted], + [@"bezel-color", + bezelColor["@"]["disabled"], + CPThemeStateBordered | CPThemeStateDisabled], + [@"bezel-color", + bezelColor["default"]["@"], + CPThemeStateBordered | CPThemeStateDefault], + [@"bezel-color", + bezelColor["default"]["highlighted"], + CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault], + [@"bezel-color", + bezelColor["default"]["disabled"], + CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled], + [@"content-inset", CGInsetMake(0.0, 7.0, 0.0, 7.0), CPThemeStateBordered], + + [@"bezel-color", + roundedBezelColor["@"]["@"], + CPThemeStateBordered | CPButtonStateBezelStyleRounded], + [@"bezel-color", + roundedBezelColor["@"]["highlighted"], + CPThemeStateBordered | CPThemeStateHighlighted | CPButtonStateBezelStyleRounded], + [@"bezel-color", + roundedBezelColor["@"]["disabled"], + CPThemeStateBordered | CPThemeStateDisabled | CPButtonStateBezelStyleRounded], + [@"bezel-color", + roundedBezelColor["default"]["@"], + CPThemeStateBordered | CPThemeStateDefault | CPButtonStateBezelStyleRounded], + [@"bezel-color", + roundedBezelColor["default"]["highlighted"], + CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault | CPButtonStateBezelStyleRounded], + [@"bezel-color", + roundedBezelColor["default"]["disabled"], + CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled | CPButtonStateBezelStyleRounded], + + [@"content-inset", CGInsetMake(0.0, 10.0, 0.0, 10.0), CPThemeStateBordered | CPButtonStateBezelStyleRounded], + + [@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateDisabled], + + [@"text-color", defaultTextColor, CPThemeStateDefault], + [@"text-color", defaultDisabledTextColor, CPThemeStateDefault | CPThemeStateDisabled], + + [@"min-size", CGSizeMake(0.0, CPButtonDefaultHeight)], + [@"max-size", CGSizeMake(-1.0, CPButtonDefaultHeight)], + + [@"image-offset", CPButtonImageOffset] + ]; + + [self registerThemeValues:themedButtonValues forView:button]; + + return button; +} + ++ (CPButton)themedStandardButton +{ + var button = [self button]; + + [button setTitle:@"Cancel"]; + + return button; +} + ++ (CPButton)themedDefaultButton +{ + var button = [self button]; + + [button setTitle:@"OK"]; + [button setThemeState:CPThemeStateDefault]; + + return button; +} + ++ (CPButton)themedRoundedButton +{ + var button = [self button]; + + [button setTitle:@"Save"]; + [button setThemeState:CPButtonStateBezelStyleRounded]; + + return button; +} + ++ (CPButton)themedDefaultRoundedButton +{ + var button = [self button]; + + [button setTitle:@"OK"]; + [button setThemeState:CPButtonStateBezelStyleRounded | CPThemeStateDefault]; + + return button; +} + ++ (CPPopUpButton)themedPopUpButton +{ + var button = [[CPPopUpButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 25.0) pullsDown:NO], + color = PatternColor( + "popup-bezel{state}{position}.png", + { + states: ["", "disabled"], + width: 3.0, + height: 25.0, + rightWidth: 24.0, + orientation: PatternIsHorizontal + }), + + themeValues = + [ + [@"bezel-color", color["@"], CPThemeStateBordered], + [@"bezel-color", color["disabled"], CPThemeStateBordered | CPThemeStateDisabled], + + [@"content-inset", CGInsetMake(0, 21.0 + 5.0, 0, 5.0), CPThemeStateBordered], + [@"font", [CPFont boldSystemFontOfSize:12.0]], + [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0]], + + [@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateBordered | CPThemeStateDisabled], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], CPThemeStateBordered | CPThemeStateDisabled], + + [@"min-size", CGSizeMake(32.0, 25.0)], + [@"max-size", CGSizeMake(-1.0, 25.0)] + ]; + + [self registerThemeValues:themeValues forView:button]; + + [button setTitle:@"Pop Up"]; + [button addItemWithTitle:@"item"]; + + return button; +} + ++ (CPPopUpButton)themedPullDownMenu +{ + var button = [[CPPopUpButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 25.0) pullsDown:YES], + color = PatternColor( + "popup-bezel{state}{position}.png", + { + states: ["", "disabled"], + width: 3.0, + height: 25.0, + rightWidth: 24.0, + orientation: PatternIsHorizontal + }), + + themeValues = + [ + [@"bezel-color", color["@"], CPPopUpButtonStatePullsDown | CPThemeStateBordered], + [@"bezel-color", color["disabled"], CPPopUpButtonStatePullsDown | CPThemeStateBordered | CPThemeStateDisabled], + + [@"content-inset", CGInsetMake(0, 27.0 + 5.0, 0, 5.0), CPThemeStateBordered], + [@"font", [CPFont boldSystemFontOfSize:12.0]], + [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0]], + + [@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateBordered | CPThemeStateDisabled], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], CPThemeStateBordered | CPThemeStateDisabled], + + [@"min-size", CGSizeMake(32.0, 25.0)], + [@"max-size", CGSizeMake(-1.0, 25.0)] + ]; + + [self registerThemeValues:themeValues forView:button]; + + [button setTitle:@"Pull Down"]; + [button addItemWithTitle:@"item"]; + + return button; +} + ++ (CPScrollView)themedScrollView +{ + var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)], + borderColor = [CPColor colorWithWhite:0.0 alpha:0.2], + bottomCornerColor = PatternColor(@"scrollview-bottom-corner-color.png", 15.0, 15.0), + themedScrollViewValues = + [ + [@"border-color", borderColor], + [@"bottom-corner-color", bottomCornerColor] + ]; + + [self registerThemeValues:themedScrollViewValues forView:scrollView]; + + [scrollView setAutohidesScrollers:YES]; + [scrollView setBorderType:CPLineBorder]; + + return scrollView; +} + ++ (CPScroller)makeHorizontalScroller +{ + var scroller = [[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 15.0)]; + + [scroller setFloatValue:0.1]; + [scroller setKnobProportion:0.5]; + + [scroller setStyle:CPScrollerStyleLegacy]; + + return scroller; +} + ++ (CPScroller)makeVerticalScroller +{ + var scroller = [[CPScroller alloc] initWithFrame:CGRectMake(0.0, 0.0, 15.0, 100.0)]; + + [scroller setFloatValue:1]; + [scroller setKnobProportion:0.1]; + + [scroller setStyle:CPScrollerStyleLegacy]; + + return scroller; +} + ++ (CPScroller)themedVerticalScroller +{ + var scroller = [self makeVerticalScroller], + trackColor = PatternColor( + "scroller-vertical-track{style}{position}.png", + { + styles: ["", "light", "dark"], + width: 9.0, + height: 4.0, + orientation: PatternIsVertical + }), + + trackColorLegacy = PatternColor("scroller-legacy-vertical-track-center.png", 14.0, 1.0), + incrementColorLegacy = PatternColor("scroller-legacy-vertical-track-bottom.png", 14.0, 11.0), + decrementColorLegacy = PatternColor("scroller-legacy-vertical-track-top.png", 14.0, 11.0), + + knobColor = PatternColor( + "scroller-vertical-knob{style}{position}.png", + { + styles: ["", "light", "dark"], + width: 9.0, + height: 4.0, + orientation: PatternIsVertical + }), + + knobColorLegacy = PatternColor( + "scroller-legacy-vertical-knob{position}.png", + { + width: 14.0, + height: 3.0, + orientation: PatternIsVertical + }); + + themedVerticalScrollerValues = + [ + // Common + [@"minimum-knob-length", 21.0, CPThemeStateVertical], + + // Overlay + [@"scroller-width", 9.0, CPThemeStateVertical], + [@"knob-inset", CGInsetMake(2.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], + [@"knob-slot-color", trackColor["@"], CPThemeStateVertical | CPThemeStateSelected], + [@"knob-slot-color", trackColor["light"], CPThemeStateVertical | CPThemeStateSelected | CPThemeStateScrollerKnobLight], + [@"knob-slot-color", trackColor["dark"], CPThemeStateVertical | CPThemeStateSelected | CPThemeStateScrollerKnobDark], + [@"knob-color", knobColor["@"], CPThemeStateVertical], + [@"knob-color", knobColor["light"], CPThemeStateVertical | CPThemeStateScrollerKnobLight], + [@"knob-color", knobColor["dark"], CPThemeStateVertical | CPThemeStateScrollerKnobDark], + [@"increment-line-color", [CPNull null], CPThemeStateVertical], + [@"decrement-line-color", [CPNull null], CPThemeStateVertical], + [@"decrement-line-size", CGSizeMakeZero(), CPThemeStateVertical], + [@"increment-line-size", CGSizeMakeZero(), CPThemeStateVertical], + + // Legacy + [@"scroller-width", 14.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"track-border-overlay", 0.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected], + [@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected | CPThemeStateScrollerKnobLight], + [@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected | CPThemeStateScrollerKnobDark], + [@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark], + [@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight], + [@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight], + [@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark], + [@"increment-line-color", incrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"decrement-line-color", decrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"decrement-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy], + [@"increment-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy] + ]; + + [self registerThemeValues:themedVerticalScrollerValues forView:scroller]; + + return scroller; +} + ++ (CPScroller)themedHorizontalScroller +{ + var scroller = [self makeHorizontalScroller], + trackColor = PatternColor( + "scroller-horizontal-track{style}{position}.png", + { + styles: ["", "light", "dark"], + width: 4.0, + height: 9.0, + orientation: PatternIsHorizontal + }), + + trackColorLegacy = PatternColor("scroller-legacy-horizontal-track-center.png", 1.0, 14.0), + incrementColorLegacy = PatternColor("scroller-legacy-horizontal-track-right.png", 11.0, 14.0), + decrementColorLegacy = PatternColor("scroller-legacy-horizontal-track-left.png", 11.0, 14.0), + + knobColor = PatternColor( + "scroller-horizontal-knob{style}{position}.png", + { + styles: ["", "light", "dark"], + width: 4.0, + height: 9.0, + orientation: PatternIsHorizontal + }), + + knobColorLegacy = PatternColor( + "scroller-legacy-horizontal-knob{position}.png", + { + width: 3.0, + height: 14.0, + orientation: PatternIsHorizontal + }); + + themedHorizontalScrollerValues = + [ + // Common + [@"minimum-knob-length", 21.0], + + // Overlay + [@"scroller-width", 9.0], + [@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 2.0)], + [@"track-inset", CGInsetMake(0.0, 2.0, 0.0, 2.0)], + [@"track-border-overlay", 12.0], + [@"knob-slot-color", [CPNull null]], + [@"knob-slot-color", trackColor["@"], CPThemeStateSelected], + [@"knob-slot-color", trackColor["light"], CPThemeStateSelected | CPThemeStateScrollerKnobLight], + [@"knob-slot-color", trackColor["dark"], CPThemeStateSelected | CPThemeStateScrollerKnobDark], + [@"knob-color", knobColor["@"]], + [@"knob-color", knobColor["light"], CPThemeStateScrollerKnobLight], + [@"knob-color", knobColor["dark"], CPThemeStateScrollerKnobDark], + [@"decrement-line-size", CGSizeMakeZero()], + [@"increment-line-size", CGSizeMakeZero()], + + // Legacy + [@"scroller-width", 14.0, CPThemeStateScrollViewLegacy], + [@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateScrollViewLegacy], + [@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateScrollViewLegacy], + [@"track-border-overlay", 0.0, CPThemeStateScrollViewLegacy], + [@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy], + [@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateSelected], + [@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight], + [@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark], + [@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy], + [@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight], + [@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark], + [@"increment-line-color", incrementColorLegacy, CPThemeStateScrollViewLegacy], + [@"decrement-line-color", decrementColorLegacy, CPThemeStateScrollViewLegacy], + [@"decrement-line-size", CGSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy], + [@"increment-line-size", CGSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy] + ]; + + [self registerThemeValues:themedHorizontalScrollerValues forView:scroller]; + + return scroller; +} + ++ (CPTextField)themedStandardTextField +{ + var textfield = [[CPTextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 160.0, 29.0)], + + bezelColor = PatternColor( + "textfield-bezel-square{state}{position}.png", + { + states: ["", "disabled"], + positions: "#", + width: 4.0, + height: 4.0 + }), + + bezelFocusedColor = PatternColor( + "textfield-bezel-square-focused{position}.png", + { + positions: "#", + width: 9.0, + height: 9.0 + }), + + placeholderColor = [CPColor colorWithCalibratedRed:189.0 / 255.0 green:199.0 / 255.0 blue:211.0 / 255.0 alpha:1.0]; + + // Global for reuse by CPTokenField. + themedTextFieldValues = + [ + [@"vertical-alignment", CPTopVerticalTextAlignment, CPThemeStateBezeled], + [@"bezel-color", bezelColor["@"], CPThemeStateBezeled], + [@"bezel-color", bezelFocusedColor, CPThemeStateBezeled | CPThemeStateEditing], + [@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled], + [@"font", [CPFont systemFontOfSize:12.0], CPThemeStateBezeled], + + [@"content-inset", CGInsetMake(8.0, 7.0, 5.0, 10.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(8.0, 7.0, 5.0, 10.0), CPThemeStateBezeled | CPThemeStateEditing], + [@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeStateBezeled], + [@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing], + + [@"text-color", placeholderColor, CPTextFieldStatePlaceholder], + + [@"line-break-mode", CPLineBreakByTruncatingTail, CPThemeStateTableDataView], + [@"vertical-alignment", CPCenterVerticalTextAlignment, CPThemeStateTableDataView], + [@"content-inset", CGInsetMake(0.0, 0.0, 0.0, 5.0), CPThemeStateTableDataView], + + [@"text-color", [CPColor colorWithCalibratedWhite:51.0 / 255.0 alpha:1.0], CPThemeStateTableDataView], + [@"text-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateSelectedTableDataView], + [@"font", [CPFont boldSystemFontOfSize:12.0], CPThemeStateTableDataView | CPThemeStateSelectedTableDataView], + [@"text-color", [CPColor blackColor], CPThemeStateTableDataView | CPThemeStateEditing], + [@"content-inset", CGInsetMake(7.0, 7.0, 5.0, 10.0), CPThemeStateTableDataView | CPThemeStateEditing], + [@"font", [CPFont systemFontOfSize:12.0], CPThemeStateTableDataView | CPThemeStateEditing], + [@"bezel-inset", CGInsetMake(-2.0, -2.0, -2.0, -2.0), CPThemeStateTableDataView | CPThemeStateEditing], + + [@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow], + [@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedTableDataView], + [@"text-shadow-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateGroupRow], + [@"text-shadow-offset", CGSizeMake(0,1), CPThemeStateTableDataView | CPThemeStateGroupRow], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.6], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedTableDataView], + [@"font", [CPFont boldSystemFontOfSize:12.0], CPThemeStateTableDataView | CPThemeStateGroupRow] + ]; + + [self registerThemeValues:themedTextFieldValues forView:textfield]; + + [textfield setBezeled:YES]; + + [textfield setPlaceholderString:"placeholder"]; + [textfield setStringValue:""]; + [textfield setEditable:YES]; + + return textfield; +} + ++ (CPTextField)themedRoundedTextField +{ + var textfield = [[CPTextField alloc] initWithFrame:CGRectMake(0.0, 0.0, 160.0, 29.0)], + bezelColor = PatternColor( + "textfield-bezel-rounded{state}{position}.png", + { + states: ["", "disabled"], + width: 8.0, + height: 23.0, + orientation: PatternIsHorizontal + }), + + bezelFocusedColor = PatternColor( + "textfield-bezel-rounded-focused{position}.png", + { + width: 13.0, + height: 29.0, + orientation: PatternIsHorizontal + }), + + placeholderColor = [CPColor colorWithCalibratedRed:189.0 / 255.0 green:199.0 / 255.0 blue:211.0 / 255.0 alpha:1.0]; + + // Global for reuse by CPSearchField + themedRoundedTextFieldValues = + [ + [@"bezel-color", + bezelColor["@"], CPTextFieldStateRounded | CPThemeStateBezeled], + [@"bezel-color", + bezelFocusedColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing], + [@"bezel-color", + bezelColor["disabled"], CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled], + [@"font", [CPFont systemFontOfSize:12.0]], + + [@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), CPTextFieldStateRounded | CPThemeStateBezeled], + [@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing], + + [@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPTextFieldStateRounded | CPThemeStateBezeled], + [@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing], + + [@"text-color", placeholderColor, CPTextFieldStateRounded | CPTextFieldStatePlaceholder], + + [@"min-size", CGSizeMake(0.0, 29.0), CPTextFieldStateRounded | CPThemeStateBezeled], + [@"max-size", CGSizeMake(-1.0, 29.0), CPTextFieldStateRounded | CPThemeStateBezeled] + ]; + + [self registerThemeValues:themedRoundedTextFieldValues forView:textfield]; + + [textfield setBezeled:YES]; + [textfield setBezelStyle:CPTextFieldRoundedBezel]; + + [textfield setPlaceholderString:"placeholder"]; + [textfield setStringValue:""]; + [textfield setEditable:YES]; + + return textfield; +} + ++ (CPSearchField)themedSearchField +{ + var searchField = [[CPSearchField alloc] initWithFrame:CGRectMake(0.0, 0.0, 160.0, 29.0)], + + imageSearch = PatternImage("search-field-search.png", 25.0, 22.0), + imageFind = PatternImage("search-field-find.png", 25.0, 22.0), + imageCancel = PatternImage("search-field-cancel.png", 22.0, 22.0), + imageCancelPressed = PatternImage("search-field-cancel-pressed.png", 22.0, 22.0), + + overrides = + [ + [@"image-search", imageSearch], + [@"image-find", imageFind], + [@"image-cancel", imageCancel], + [@"image-cancel-pressed", imageCancelPressed] + ]; + + [self registerThemeValues:overrides forView:searchField inherit:themedRoundedTextFieldValues]; + + return searchField; +} + ++ (CPTokenField)themedTokenField +{ + var tokenfield = [[CPTokenField alloc] initWithFrame:CGRectMake(0.0, 0.0, 160.0, 29.0)], + + overrides = + [ + [@"bezel-inset", CGInsetMakeZero()], + [@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeStateBezeled], + [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBezeled | CPThemeStateEditing], + + [@"editor-inset", CGInsetMake(3.0, 0.0, 0.0, 0.0)], + + // Non-bezeled token field with tokens + [@"content-inset", CGInsetMake(6.0, 8.0, 4.0, 8.0)], + + // Non-bezeled token field with no tokens + [@"content-inset", CGInsetMake(7.0, 8.0, 6.0, 8.0), CPTextFieldStatePlaceholder], + + // Bezeled token field with tokens + [@"content-inset", CGInsetMake(4.0, 8.0, 4.0, 8.0), CPThemeStateBezeled], + + // Bezeled token field with no tokens + [@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 8.0), CPThemeStateBezeled | CPTextFieldStatePlaceholder] + ]; + + [self registerThemeValues:overrides forView:tokenfield inherit:themedTextFieldValues]; + + return tokenfield; +} + ++ (_CPTokenFieldToken)themedTokenFieldToken +{ + var token = [[_CPTokenFieldToken alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 19.0)], + + bezelColor = PatternColor( + "token{state}{position}.png", + { + states: ["", "highlighted", "disabled"], + width: 11.0, + height: 19.0, + orientation: PatternIsHorizontal + }), + + textColor = [CPColor colorWithRed:41.0 / 255.0 green:51.0 / 255.0 blue:64.0 / 255.0 alpha:1.0], + textHighlightedColor = [CPColor whiteColor], + textDisabledColor = [CPColor colorWithRed:41.0 / 255.0 green:51.0 / 255.0 blue:64.0 / 255.0 alpha:0.5], + + themeValues = + [ + [@"bezel-color", bezelColor["@"], CPThemeStateBezeled], + [@"bezel-color", bezelColor["highlighted"], CPThemeStateBezeled | CPThemeStateHighlighted], + [@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled], + + [@"text-color", textColor], + [@"text-color", textHighlightedColor, CPThemeStateHighlighted], + [@"text-color", textDisabledColor, CPThemeStateDisabled], + + [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(1.0, 24.0, 2.0, 16.0), CPThemeStateBezeled], + + // Minimum height == maximum height since tokens are fixed height. + [@"min-size", CGSizeMake(0.0, 19.0)], + [@"max-size", CGSizeMake(-1.0, 19.0)], + + [@"vertical-alignment", CPCenterTextAlignment] + ]; + + [self registerThemeValues:themeValues forView:token]; + + return token; +} + ++ (_CPTokenFieldTokenCloseButton)themedTokenFieldTokenCloseButton +{ + var button = [[_CPTokenFieldTokenCloseButton alloc] initWithFrame:CGRectMake(0, 0, 9, 9)], + + bezelColor = PatternColor("token-close.png", 8.0, 8.0), + bezelHighlightedColor = PatternColor("token-close-highlighted.png", 8.0, 8.0), + + themeValues = + [ + [@"bezel-color", bezelColor, CPThemeStateBordered], + [@"bezel-color", bezelHighlightedColor, CPThemeStateBordered | CPThemeStateHighlighted], + + [@"min-size", CGSizeMake(8.0, 8.0)], + [@"max-size", CGSizeMake(8.0, 8.0)], + + [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBordered], + [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBordered | CPThemeStateHighlighted], + + [@"offset", CGPointMake(17, 6), CPThemeStateBordered] + ]; + + [self registerThemeValues:themeValues forView:button]; + + return button; +} + ++ (CPComboBox)themedComboBox +{ + var combo = [[CPComboBox alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 31.0)], + + bezelColor = PatternColor( + "combobox-bezel{state}{position}.png", + { + states: ["", "disabled"], + width: 4.0, + height: 25.0, + rightWidth: 24.0, + orientation: PatternIsHorizontal + }), + + bezelFocusedColor = PatternColor( + "combobox-bezel-focused{position}.png", + { + width: 9.0, + height: 31.0, + rightWidth: 27.0, + orientation: PatternIsHorizontal + }), + + bezelNoBorderColor = PatternColor( + "combobox-bezel-no-border{state}{position}.png", + { + states: ["", "focused", "disabled"], + width: 6.0, + height: 29.0, + rightWidth: 24.0, + orientation: PatternIsHorizontal + }), + + overrides = + [ + [@"bezel-color", bezelColor["@"], CPThemeStateBezeled | CPComboBoxStateButtonBordered], + [@"bezel-color", bezelFocusedColor, CPThemeStateBezeled | CPComboBoxStateButtonBordered | CPThemeStateEditing], + [@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPComboBoxStateButtonBordered | CPThemeStateDisabled], + + [@"bezel-color", bezelNoBorderColor["@"], CPThemeStateBezeled], + [@"bezel-color", bezelNoBorderColor["focused"], CPThemeStateBezeled | CPThemeStateEditing], + [@"bezel-color", bezelNoBorderColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled], + + [@"border-inset", CGInsetMake(3.0, 3.0, 3.0, 3.0), CPThemeStateBezeled], + + [@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing], + + // The right border inset has to make room for the focus ring and popup button + [@"content-inset", CGInsetMake(9.0, 26.0, 7.0, 10.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered], + [@"content-inset", CGInsetMake(9.0, 24.0, 7.0, 10.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(9.0, 24.0, 7.0, 10.0), CPThemeStateBezeled | CPThemeStateEditing], + + [@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered], + [@"popup-button-size", CGSizeMake(17.0, 23.0), CPThemeStateBezeled], + + // Because combo box uses a three-part bezel, the height is fixed + [@"min-size", CGSizeMake(0, 31.0)], + [@"max-size", CGSizeMake(-1, 31.0)] + ]; + + [self registerThemeValues:overrides forView:combo inherit:themedTextFieldValues]; + + return combo; +} + ++ (CPRadioButton)themedRadioButton +{ + var button = [CPRadio radioWithTitle:@"Radio button"], + imageNormal = PatternImage("radio-image.png", 21.0, 21.0), + imageSelected = PatternImage("radio-image-selected.png", 21.0, 21.0), + imageSelectedHighlighted = PatternImage("radio-image-selected-highlighted.png", 21.0, 21.0), + imageSelectedDisabled = PatternImage("radio-image-selected-disabled.png", 21.0, 21.0), + imageDisabled = PatternImage("radio-image-disabled.png", 21.0, 21.0), + imageHighlighted = PatternImage("radio-image-highlighted.png", 21.0, 21.0); + + // Global + themedRadioButtonValues = + [ + [@"alignment", CPLeftTextAlignment, CPThemeStateNormal], + [@"font", [CPFont systemFontOfSize:12.0], CPThemeStateNormal], + [@"content-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal], + + [@"image", imageNormal, CPThemeStateNormal], + [@"image", imageSelected, CPThemeStateSelected], + [@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted], + [@"image", imageHighlighted, CPThemeStateHighlighted], + [@"image", imageDisabled, CPThemeStateDisabled], + [@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled], + [@"image-offset", CPRadioImageOffset], + + [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0], CPThemeStateDisabled], + + [@"min-size", CGSizeMake(21.0, 21.0)], + [@"max-size", CGSizeMake(-1.0, -1.0)] + ]; + + [self registerThemeValues:themedRadioButtonValues forView:button]; + + return button; +} + ++ (CPCheckBox)themedCheckBoxButton +{ + var button = [CPCheckBox checkBoxWithTitle:@"Checkbox"], + imageNormal = PatternImage("check-box-image.png", 21.0, 21.0), + imageSelected = PatternImage("check-box-image-selected.png", 21.0, 21.0), + imageSelectedHighlighted = PatternImage("check-box-image-selected-highlighted.png", 21.0, 21.0), + imageSelectedDisabled = PatternImage("check-box-image-selected-disabled.png", 21.0, 21.0), + imageDisabled = PatternImage("check-box-image-disabled.png", 21.0, 21.0), + imageHighlighted = PatternImage("check-box-image-highlighted.png", 21.0, 21.0); + + // Global + themedCheckBoxValues = + [ + [@"alignment", CPLeftTextAlignment, CPThemeStateNormal], + [@"content-inset", CGInsetMakeZero(), CPThemeStateNormal], + + [@"image", imageNormal, CPThemeStateNormal], + [@"image", imageSelected, CPThemeStateSelected], + [@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted], + [@"image", imageHighlighted, CPThemeStateHighlighted], + [@"image", imageDisabled, CPThemeStateDisabled], + [@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled], + [@"image-offset", CPCheckBoxImageOffset], + + [@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateNormal], + [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0], CPThemeStateDisabled], + + [@"min-size", CGSizeMake(21.0, 21.0)], + [@"max-size", CGSizeMake(-1.0, -1.0)] + ]; + + [button setThemeState:CPThemeStateSelected]; + + [self registerThemeValues:themedCheckBoxValues forView:button]; + + return button; +} + ++ (CPCheckBox)themedMixedCheckBoxButton +{ + var button = [self themedCheckBoxButton]; + + [button setAllowsMixedState:YES]; + [button setState:CPMixedState]; + + var mixedHighlightedImage = PatternImage("check-box-image-mixed-highlighted.png", 21.0, 21.0), + mixedDisabledImage = PatternImage("check-box-image-mixed-disabled.png", 21.0, 21.0), + mixedImage = PatternImage("check-box-image-mixed.png", 21.0, 21.0), + + themeValues = + [ + [@"image", mixedImage, CPButtonStateMixed], + [@"image", mixedHighlightedImage, CPButtonStateMixed | CPThemeStateHighlighted], + [@"image", mixedDisabledImage, CPButtonStateMixed | CPThemeStateDisabled], + [@"image-offset", CPCheckBoxImageOffset, CPButtonStateMixed], + [@"max-size", CGSizeMake(-1.0, -1.0)] + ]; + + [self registerThemeValues:themeValues forView:button]; + + return button; +} + ++ (CPSegmentedControl)makeSegmentedControl +{ + var segmentedControl = [[CPSegmentedControl alloc] initWithFrame:CGRectMake(0.0, 0.0, 0.0, 25.0)]; + + [segmentedControl setTrackingMode:CPSegmentSwitchTrackingSelectAny]; + [segmentedControl setSegmentCount:3]; + + [segmentedControl setWidth:40.0 forSegment:0]; + [segmentedControl setLabel:@"foo" forSegment:0]; + [segmentedControl setTag:1 forSegment:0]; + + [segmentedControl setWidth:60.0 forSegment:1]; + [segmentedControl setLabel:@"bar" forSegment:1]; + [segmentedControl setTag:2 forSegment:1]; + + [segmentedControl setWidth:35.0 forSegment:2]; + [segmentedControl setLabel:@"1" forSegment:2]; + [segmentedControl setTag:3 forSegment:2]; + + return segmentedControl; +} + ++ (CPSegmentedControl)themedSegmentedControl +{ + var segmentedControl = [self makeSegmentedControl], + + centerBezelColor = PatternColor("segmented-control-bezel-center.png", 1.0, 25.0), + dividerBezelColor = PatternColor("segmented-control-bezel-divider.png", 1.0, 25.0), + centerHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-center.png", 1.0, 25.0), + dividerHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-divider.png", 1.0, 25.0), + leftHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-left.png", 4.0, 25.0), + rightHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-right.png", 4.0, 25.0), + inactiveCenterBezelColor = PatternColor("segmented-control-bezel-disabled-center.png", 1.0, 25.0), + inactiveDividerBezelColor = PatternColor("segmented-control-bezel-disabled-divider.png", 1.0, 25.0), + inactiveLeftBezelColor = PatternColor("segmented-control-bezel-disabled-left.png", 4.0, 25.0), + inactiveRightBezelColor = PatternColor("segmented-control-bezel-disabled-right.png", 4.0, 25.0), + inactiveHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-center.png", 1.0, 25.0), + inactiveHighlightedDividerBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-divider.png", 1.0, 25.0), + inactiveHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-left.png", 4.0, 25.0), + inactiveHighlightedRightBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-right.png", 4.0, 25.0), + leftBezelColor = PatternColor("segmented-control-bezel-left.png", 4.0, 25.0), + rightBezelColor = PatternColor("segmented-control-bezel-right.png", 4.0, 25.0), + pushedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-center.png", 1.0, 25.0), + pushedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-left.png", 4.0, 25.0), + pushedRightBezelColor = PatternColor("segmented-control-bezel-pushed-right.png", 4.0, 25.0), + pushedHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-center.png", 1.0, 25.0), + pushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 25.0), + pushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 25.0); + + themedSegmentedControlValues = + [ + [@"center-segment-bezel-color", centerBezelColor, CPThemeStateNormal], + [@"center-segment-bezel-color", inactiveCenterBezelColor, CPThemeStateDisabled], + [@"center-segment-bezel-color", inactiveHighlightedCenterBezelColor, CPThemeStateSelected | CPThemeStateDisabled], + [@"center-segment-bezel-color", centerHighlightedBezelColor, CPThemeStateSelected], + [@"center-segment-bezel-color", pushedCenterBezelColor, CPThemeStateHighlighted], + [@"center-segment-bezel-color", pushedHighlightedCenterBezelColor, CPThemeStateHighlighted | CPThemeStateSelected], + + [@"divider-bezel-color", dividerBezelColor, CPThemeStateNormal], + [@"divider-bezel-color", inactiveDividerBezelColor, CPThemeStateDisabled], + [@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeStateSelected | CPThemeStateDisabled], + [@"divider-bezel-color", dividerHighlightedBezelColor, CPThemeStateSelected], + + [@"left-segment-bezel-color", leftBezelColor, CPThemeStateNormal], + [@"left-segment-bezel-color", inactiveLeftBezelColor, CPThemeStateDisabled], + [@"left-segment-bezel-color", inactiveHighlightedLeftBezelColor, CPThemeStateSelected | CPThemeStateDisabled], + [@"left-segment-bezel-color", leftHighlightedBezelColor, CPThemeStateSelected], + [@"left-segment-bezel-color", pushedLeftBezelColor, CPThemeStateHighlighted], + [@"left-segment-bezel-color", pushedHighlightedLeftBezelColor, CPThemeStateHighlighted | CPThemeStateSelected], + + [@"right-segment-bezel-color", rightBezelColor, CPThemeStateNormal], + [@"right-segment-bezel-color", inactiveRightBezelColor, CPThemeStateDisabled], + [@"right-segment-bezel-color", inactiveHighlightedRightBezelColor, CPThemeStateSelected | CPThemeStateDisabled], + [@"right-segment-bezel-color", rightHighlightedBezelColor, CPThemeStateSelected], + [@"right-segment-bezel-color", pushedRightBezelColor, CPThemeStateHighlighted], + [@"right-segment-bezel-color", pushedHighlightedRightBezelColor, CPThemeStateHighlighted | CPThemeStateSelected], + + [@"content-inset", CGInsetMake(0.0, 4.0, 0.0, 4.0), CPThemeStateNormal], + [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal], + + [@"font", [CPFont boldSystemFontOfSize:12.0]], + [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]], + [@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateDisabled], + [@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:0.5], CPThemeStateDisabled | CPThemeStateSelected], + [@"text-color", [CPColor whiteColor], CPThemeStateSelected], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0]], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateDisabled], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateDisabled | CPThemeStateSelected], + [@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.2], CPThemeStateSelected], + [@"text-shadow-offset", CGSizeMake(0.0, 1.0)], + [@"text-shadow-offset", CGSizeMake(0.0, 1.0), CPThemeStateSelected], + [@"line-break-mode", CPLineBreakByTruncatingTail], + + [@"divider-thickness", 1.0], + [@"default-height", 25.0] + ]; + + [self registerThemeValues:themedSegmentedControlValues forView:segmentedControl]; + + return segmentedControl; +} + ++ (CPSlider)makeHorizontalSlider +{ + return [[CPSlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 50.0, 24.0)]; +} + ++ (CPSlider)themedHorizontalSlider +{ + var slider = [self makeHorizontalSlider], + + trackColor = PatternColor( + "horizontal-track{state}{position}.png", + { + states: ["", "disabled"], + width: 2.0, + height: 5.0, + orientation: PatternIsHorizontal + }), + + knobColor = PatternColor("knob.png", 21.0, 21.0), + knobHighlightedColor = PatternColor("knob-highlighted.png", 21.0, 21.0), + knobDisabledColor = PatternColor("knob-disabled.png", 20.0, 21.0); + + // Gobal + themedHorizontalSliderValues = + [ + [@"track-width", 5.0], + [@"track-color", trackColor["@"]], + [@"track-color", trackColor["disabled"], CPThemeStateDisabled], + + [@"knob-size", CGSizeMake(21.0, 21.0)], + [@"knob-color", knobColor], + [@"knob-color", knobHighlightedColor, CPThemeStateHighlighted], + [@"knob-color", knobDisabledColor, CPThemeStateDisabled] + ]; + + [self registerThemeValues:themedHorizontalSliderValues forView:slider]; + + return slider; +} + ++ (CPSlider)makeVerticalSlider +{ + return [[CPSlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 24.0, 50.0)]; +} + ++ (CPSlider)themedVerticalSlider +{ + var slider = [self makeVerticalSlider], + + trackColor = PatternColor( + "vertical-track{position}.png", + { + width: 5.0, + height: 3.0, + orientation: PatternIsVertical + }), + + trackDisabledColor = PatternColor( + "vertical-track-disabled{position}.png", + { + width: 5.0, + height: 6.0, + bottomHeight: 4.0, + orientation: PatternIsVertical + }), + + knobColor = PatternColor("knob.png", 21.0, 21.0), + knobHighlightedColor = PatternColor("knob-highlighted.png", 21.0, 21.0), + knobDisabledColor = PatternColor("knob-disabled.png", 21.0, 21.0); + + themedVerticalSliderValues = + [ + [@"track-width", 5.0], + [@"track-color", trackColor, CPThemeStateVertical], + [@"track-color", trackDisabledColor, CPThemeStateVertical | CPThemeStateDisabled], + + [@"knob-size", CGSizeMake(21.0, 21.0)], + [@"knob-color", knobColor], + [@"knob-color", knobHighlightedColor, CPThemeStateHighlighted], + [@"knob-color", knobDisabledColor, CPThemeStateDisabled] + ]; + + [self registerThemeValues:themedVerticalSliderValues forView:slider]; + + return slider; +} + ++ (CPSlider)makeCircularSlider +{ + var slider = [[CPSlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 30.0, 30.0)]; + + [slider setSliderType:CPCircularSlider]; + + return slider; +} + ++ (CPSlider)themedCircularSlider +{ + var slider = [self makeCircularSlider], + + trackColor = PatternColor("slider-circular-bezel.png", 30.0, 30.0), + trackDisabledColor = PatternColor("slider-circular-disabled-bezel.png", 30.0, 30.0), + knobColor = PatternColor("slider-circular-knob.png", 5.0, 5.0), + knobDisabledColor = PatternColor("slider-circular-disabled-knob.png", 5.0, 5.0), + knobHighlightedColor = knobColor; + + themedCircularSliderValues = + [ + [@"track-color", trackColor, CPThemeStateCircular], + [@"track-color", trackDisabledColor, CPThemeStateCircular | CPThemeStateDisabled], + + [@"knob-size", CGSizeMake(5.0, 5.0), CPThemeStateCircular], + [@"knob-color", knobColor, CPThemeStateCircular], + [@"knob-color", knobHighlightedColor, CPThemeStateCircular | CPThemeStateHighlighted], + [@"knob-color", knobDisabledColor, CPThemeStateCircular | CPThemeStateDisabled] + ]; + + [self registerThemeValues:themedCircularSliderValues forView:slider]; + + return slider; +} + ++ (CPButtonBar)makeButtonBar +{ + var buttonBar = [[CPButtonBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 147.0, 26.0)]; + + [buttonBar setHasResizeControl:YES]; + + var popup = [CPButtonBar actionPopupButton]; + [popup addItemWithTitle:"Item 1"]; + [popup addItemWithTitle:"Item 2"]; + + [buttonBar setButtons:[[CPButtonBar plusButton], [CPButtonBar minusButton], popup]]; + + return buttonBar; +} + ++ (CPButtonBar)themedButtonBar +{ + var buttonBar = [self makeButtonBar], + color = PatternColor("buttonbar-bezel.png", 1.0, 26.0), + resizeColor = PatternColor("buttonbar-resize-control.png", 5.0, 10.0), + buttonBezelColor = PatternColor( + "buttonbar-button-bezel{state}{position}.png", + { + states: ["", "highlighted", "disabled"], + width: 2.0, + height: 25.0, + orientation: PatternIsHorizontal + }), + + buttonImagePlus = PatternImage("buttonbar-image-plus.png", 11.0, 12.0), + buttonImageMinus = PatternImage("buttonbar-image-minus.png", 11.0, 4.0), + buttonImageAction = PatternImage("buttonbar-image-action.png", 22.0, 14.0), + + themedButtonBarValues = + [ + [@"bezel-color", color], + + [@"resize-control-size", CGSizeMake(5.0, 10.0)], + [@"resize-control-inset", CGInsetMake(9.0, 4.0, 7.0, 4.0)], + [@"resize-control-color", resizeColor], + + [@"button-bezel-color", buttonBezelColor["@"]], + [@"button-bezel-color", buttonBezelColor["highlighted"], CPThemeStateHighlighted], + [@"button-bezel-color", buttonBezelColor["disabled"], CPThemeStateDisabled], + [@"button-text-color", [CPColor blackColor]], + + [@"button-image-plus", buttonImagePlus], + [@"button-image-minus", buttonImageMinus], + [@"button-image-action", buttonImageAction] + ]; + + [self registerThemeValues:themedButtonBarValues forView:buttonBar]; + + return buttonBar; +} + ++ (_CPTableColumnHeaderView)makeColumnHeader +{ + var header = [[_CPTableColumnHeaderView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 25.0)]; + + [header setStringValue:@"Table Header"]; + + return header; +} + ++ (_CPTableColumnHeaderView)themedColumnHeader +{ + var header = [self makeColumnHeader], + highlightedPressed = PatternColor("tableview-headerview-highlighted-pressed.png", 1.0, 25.0), + highlighted = PatternColor("tableview-headerview-highlighted.png", 1.0, 25.0), + pressed = PatternColor("tableview-headerview-pressed.png", 1.0, 25.0), + normal = PatternColor("tableview-headerview.png", 1.0, 25.0), + + themedColumnHeaderValues = + [ + [@"background-color", normal], + + [@"text-inset", CGInsetMake(0, 5, 0, 5)], + [@"text-color", [CPColor colorWithHexString:@"808080"]], + [@"font", [CPFont boldSystemFontOfSize:11.0]], + [@"text-shadow-color", [CPColor whiteColor]], + [@"text-shadow-offset", CGSizeMake(0.0, 1.0)], + [@"text-alignment", CPLeftTextAlignment], + [@"line-break-mode", CPLineBreakByTruncatingTail], + + [@"background-color", pressed, CPThemeStateHighlighted], + [@"background-color", highlighted, CPThemeStateSelected], + [@"background-color", highlightedPressed, CPThemeStateHighlighted | CPThemeStateSelected] + ]; + + [self registerThemeValues:themedColumnHeaderValues forView:header]; + + return header; +} + ++ (CPTableHeaderView)themedTableHeaderRow +{ + var header = [[CPTableHeaderView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 25.0)], + normal = PatternColor("tableview-headerview.png", 1.0, 25.0), + gridColor = [CPColor colorWithHexString:@"cccccc"]; + + [header setValue:normal forThemeAttribute:@"background-color"]; + [header setValue:gridColor forThemeAttribute:@"divider-color"]; + + return header; +} + ++ (_CPCornerView)themedCornerview +{ + var scrollerWidth = [CPScroller scrollerWidth], + corner = [[_CPCornerView alloc] initWithFrame:CGRectMake(0.0, 0.0, scrollerWidth, 25.0)], + normal = PatternColor("tableview-headerview.png", 1.0, 25.0), + dividerColor = [CPColor colorWithHexString:@"cccccc"]; + + [corner setValue:normal forThemeAttribute:"background-color"]; + [corner setValue:dividerColor forThemeAttribute:"divider-color"]; + + return corner; +} + ++ (CPTableView)themedTableView +{ + // This is a bit more complicated than the rest because we actually set theme values for several different (table related) controls in this method + + var tableview = [[CPTableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 150.0, 150.0)], + sortImage = PatternImage("tableview-headerview-ascending.png", 9.0, 8.0), + sortImageReversed = PatternImage("tableview-headerview-descending.png", 9.0, 8.0), + imageGenericFile = PatternImage("tableview-image-generic-file.png", 64.0, 64.0), + alternatingRowColors = [[CPColor whiteColor], [CPColor colorWithRed:245.0 / 255.0 green:249.0 / 255.0 blue:252.0 / 255.0 alpha:1.0]], + gridColor = [CPColor colorWithHexString:@"dce0e2"], + selectionColor = [CPColor colorWithHexString:@"5780d8"], + sourceListSelectionColor = [CPDictionary dictionaryWithObjectsAndKeys: + CGGradientCreateWithColorComponents( + CGColorSpaceCreateDeviceRGB(), + [109.0 / 255.0, 150.0 / 255.0, 238.0 / 255.0, 1.0, 72.0 / 255.0, 113.0 / 255.0, 201.0 / 255.0, 1.0], + [0, 1], + 2 + ), + CPSourceListGradient, + [CPColor colorWithCalibratedRed:73.0 / 255.0 green:109.0 / 255.0 blue:187.0 / 255.0 alpha:1.0], + CPSourceListTopLineColor, + [CPColor colorWithCalibratedRed:44.0 / 255.0 green:79.0 / 255.0 blue:155.0 / 255.0 alpha:1.0], + CPSourceListBottomLineColor + ], + + themedTableViewValues = + [ + [@"alternating-row-colors", alternatingRowColors], + [@"grid-color", gridColor], + [@"highlighted-grid-color", [CPColor whiteColor]], + [@"selection-color", selectionColor], + [@"sourcelist-selection-color", sourceListSelectionColor], + [@"sort-image", sortImage], + [@"sort-image-reversed", sortImageReversed], + [@"image-generic-file", imageGenericFile], + [@"default-row-height", 25.0] + ]; + + [tableview setUsesAlternatingRowBackgroundColors:YES]; + [self registerThemeValues:themedTableViewValues forView:tableview]; + + return tableview; +} + ++ (CPTextField)themedTableDataView +{ + var view = [self themedStandardTextField]; + + [view setBezeled:NO]; + [view setEditable:NO]; + [view setThemeState:CPThemeStateTableDataView]; + + return view; +} + ++ (CPSplitView)themedSplitView +{ + var splitView = [[CPSplitView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 200.0)], + leftView = [[CPView alloc] initWithFrame:CGRectMake(0.0, 0.0, 75.0, 150.0)], + rightView = [[CPView alloc] initWithFrame:CGRectMake(75.0, 0.0, 75.0, 150.0)], + horizontalDividerColor = PatternImage("splitview-divider-horizontal.png", 5.0, 10.0), + verticalDividerColor = PatternImage("splitview-divider-vertical.png", 10.0, 5.0); + + [splitView addSubview:leftView]; + [splitView addSubview:rightView]; + [splitView setIsPaneSplitter:YES]; + + var themedSplitViewValues = + [ + [@"divider-thickness", 1.0], + [@"pane-divider-thickness", 10.0], + [@"pane-divider-color", [CPColor colorWithRed:165.0 / 255.0 green:165.0 / 255.0 blue:165.0 / 255.0 alpha:1.0]], + [@"horizontal-divider-color", horizontalDividerColor], + [@"vertical-divider-color", verticalDividerColor] + ]; + + [self registerThemeValues:themedSplitViewValues forView:splitView]; + + return splitView; +} + ++ (CPAlert)themedAlert +{ + var alert = [CPAlert new], + buttonOffset = 10.0, + defaultElementsMargin = 3.0, + errorIcon = PatternImage("alert-error.png", 53.0, 46.0), + helpIcon = PatternImage("alert-help.png", 24.0, 24.0), + helpIconPressed = PatternImage("alert-help-pressed.png", 24.0, 24.0), + helpLeftOffset = 15, + imageOffset = CGPointMake(15, 18), + informationIcon = PatternImage("alert-info.png", 53.0, 46.0), + informativeFont = [CPFont systemFontOfSize:CPFontCurrentSystemSize], + inset = CGInsetMake(15, 15, 15, 80), + messageFont = [CPFont boldSystemFontOfSize:CPFontDefaultSystemFontSize + 1], + size = CGSizeMake(400.0, 120.0), + suppressionButtonXOffset = 2.0, + suppressionButtonYOffset = 10.0, + suppressionButtonFont = [CPFont systemFontOfSize:CPFontCurrentSystemSize], + warningIcon = PatternImage("alert-warning.png", 53.0, 46.0); + + // Global + themedAlertValues = + [ + [@"button-offset", buttonOffset], + [@"content-inset", inset], + [@"default-elements-margin", defaultElementsMargin], + [@"error-image", errorIcon], + [@"help-image", helpIcon], + [@"help-image-left-offset", helpLeftOffset], + [@"help-image-pressed", helpIconPressed], + [@"image-offset", imageOffset], + [@"information-image", informationIcon], + [@"informative-text-alignment", CPJustifiedTextAlignment], + [@"informative-text-color", [CPColor blackColor]], + [@"informative-text-font", informativeFont], + [@"message-text-alignment", CPJustifiedTextAlignment], + [@"message-text-color", [CPColor blackColor]], + [@"message-text-font", messageFont], + [@"modal-window-button-margin-x", -18.0], + [@"modal-window-button-margin-y", 15.0], + [@"suppression-button-text-color", [CPColor blackColor]], + [@"suppression-button-text-font", suppressionButtonFont], + [@"size", size], + [@"suppression-button-x-offset", suppressionButtonXOffset], + [@"suppression-button-y-offset", suppressionButtonYOffset], + [@"warning-image", warningIcon] + ]; + + [self registerThemeValues:themedAlertValues forView:alert]; + + return [alert themeView]; +} + ++ (CPStepper)themedStepper +{ + var stepper = [CPStepper stepper], + + bezelUp = PatternColor( + "stepper-bezel-big{state}-up{position}.png", + { + states: ["", "highlighted", "disabled"], + width: 4.0, + height: 13.0, + centerWidth: 17.0, + orientation: PatternIsHorizontal + }), + + bezelDown = PatternColor( + "stepper-bezel-big{state}-down{position}.png", + { + states: ["", "highlighted", "disabled"], + width: 4.0, + height: 12.0, + centerWidth: 17.0, + orientation: PatternIsHorizontal + }), + + themeValues = + [ + [@"bezel-color-up-button", bezelUp["@"], CPThemeStateBordered], + [@"bezel-color-down-button", bezelDown["@"], CPThemeStateBordered], + [@"bezel-color-up-button", bezelUp["disabled"], CPThemeStateBordered | CPThemeStateDisabled], + [@"bezel-color-down-button", bezelDown["disabled"], CPThemeStateBordered | CPThemeStateDisabled], + [@"bezel-color-up-button", bezelUp["highlighted"], CPThemeStateBordered | CPThemeStateHighlighted], + [@"bezel-color-down-button", bezelDown["highlighted"], CPThemeStateBordered | CPThemeStateHighlighted], + [@"min-size", CGSizeMake(25.0, 25.0)], + [@"up-button-size", CGSizeMake(25.0, 13.0)], + [@"down-button-size", CGSizeMake(25.0, 12.0)] + ]; + + [self registerThemeValues:themeValues forView:stepper]; + + return stepper; +} + ++ (CPRuleEditor)themedRuleEditor +{ + var ruleEditor = [[CPRuleEditor alloc] initWithFrame:CGRectMake(0.0, 0.0, 400.0, 300.0)], + backgroundColors = [[CPColor whiteColor], [CPColor colorWithRed:235 / 255 green:239 / 255 blue:252 / 255 alpha:1]], + selectedActiveRowColor = [CPColor colorWithHexString:@"5f83b9"], + selectedInactiveRowColor = [CPColor colorWithWhite:0.83 alpha:1], + sliceTopBorderColor = [CPColor colorWithWhite:0.9 alpha:1.0], + sliceBottomBorderColor = [CPColor colorWithWhite:0.729412 alpha:1.0], + sliceLastBottomBorderColor = [CPColor colorWithWhite:0.6 alpha:1.0], + addImage = PatternImage(@"rule-editor-add.png", 8.0, 8.0), + removeImage = PatternImage(@"rule-editor-remove.png", 8.0, 8.0), + + ruleEditorThemedValues = + [ + [@"alternating-row-colors", backgroundColors], + [@"selected-color", selectedActiveRowColor, CPThemeStateNormal], + [@"selected-color", selectedInactiveRowColor, CPThemeStateDisabled], + [@"slice-top-border-color", sliceTopBorderColor], + [@"slice-bottom-border-color", sliceBottomBorderColor], + [@"slice-last-bottom-border-color", sliceLastBottomBorderColor], + [@"font", [CPFont systemFontOfSize:10.0]], + [@"add-image", addImage], + [@"remove-image", removeImage] + ]; + + [self registerThemeValues:ruleEditorThemedValues forView:ruleEditor]; + + return ruleEditor; +} + ++ (_CPToolTipWindowView)themedTooltip +{ + var toolTipView = [[_CPToolTipWindowView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 100.0) styleMask:_CPToolTipWindowMask], + + themeValues = + [ + [@"stroke-color", [CPColor colorWithHexString:@"E3E3E3"]], + [@"stroke-width", 1.0], + [@"border-radius", 2.0], + [@"background-color", [CPColor colorWithHexString:@"FFFFCA"]], + [@"color", [CPColor blackColor]] + ]; + + [self registerThemeValues:themeValues forView:toolTipView]; + + return toolTipView; +} + ++ (CPColorWell)themedColorWell +{ + // The CPColorPanel CPColorWell depends on requires CPApp. + [CPApplication sharedApplication]; + + var colorWell = [[CPColorWell alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 24.0)], + + bezelColor = PatternColor( + "colorwell-bezel{state}{position}.png", + { + states: ["", "highlighted", "disabled"], + width: 3.0, + height: 24.0, + orientation: PatternIsHorizontal + }), + + contentBorderColor = PatternColor( + "colorwell-content-border{position}.png", + { + width: 1.0, + height: 15.0, + orientation: PatternIsHorizontal + }), + + themedColorWellValues = [ + [@"bezel-color", bezelColor["@"], CPThemeStateBordered], + [@"content-inset", CGInsetMake(5.0, 5.0, 5.0, 5.0), CPThemeStateBordered], + [@"content-border-inset", CGInsetMake(5.0, 5.0, 4.0, 5.0), CPThemeStateBordered], + [@"content-border-color", contentBorderColor, CPThemeStateBordered], + + [@"bezel-color", bezelColor["highlighted"], CPThemeStateBordered | CPThemeStateHighlighted], + + [@"bezel-color", bezelColor["disabled"], CPThemeStateBordered | CPThemeStateDisabled] + ]; + + [self registerThemeValues:themedColorWellValues forView:colorWell]; + + return colorWell; +} + ++ (CPProgressIndicator)themedBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0,0,75,25)]; + [progressBar setDoubleValue:30]; + + var bezelColor = PatternColor( + "progress-indicator-bezel-border{position}.png", + { + width: 1.0, + height: 25.0, + orientation: PatternIsHorizontal + }), + + barColor = PatternColor( + "progress-indicator-bar{position}.png", + { + width: 1.0, + height: 25.0, + orientation: PatternIsHorizontal + }); + + themedProgressIndicator = + [ + [@"bezel-color", bezelColor], + [@"bar-color", barColor] + ]; + + [self registerThemeValues:themedProgressIndicator forView:progressBar]; + + return progressBar; +} + ++ (CPProgressIndicator)themedIndeterminateBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0,0,75,25)]; + + [progressBar setIndeterminate:YES]; + + var bezelColor = PatternColor( + "progress-indicator-bezel-border{position}.png", + { + width: 1.0, + height: 25.0, + orientation: PatternIsHorizontal + }), + + barColor = PatternColor( + "progress-indicator-indeterminate-bar{position}.png", + { + width: 1.0, + height: 25.0, + centerWidth: 20.0, + orientation: PatternIsHorizontal + }); + + themedIndeterminateProgressIndicator = + [ + [@"bezel-color", bezelColor], + [@"indeterminate-bar-color", barColor] + ]; + + [self registerThemeValues:themedIndeterminateProgressIndicator forView:progressBar]; + + return progressBar; +} + ++ (CPProgressIndicator)themedSpinningProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0,0,64,64)]; + [progressBar setStyle:CPProgressIndicatorSpinningStyle]; + + var spinningMini = PatternColor(@"progress-indicator-spinning-style-mini.gif", 16.0, 16.0), + spinningSmall = PatternColor(@"progress-indicator-spinning-style-small.gif", 32.0, 32.0), + spinningRegular = PatternColor(@"progress-indicator-spinning-style-regular.gif", 64.0, 64.0), + + themeValues = + [ + [@"spinning-mini-gif", spinningMini], + [@"spinning-small-gif", spinningSmall], + [@"spinning-regular-gif", spinningRegular] + ]; + + [self registerThemeValues:themeValues forView:progressBar]; + + return progressBar; +} + ++ (CPBox)themedBox +{ + var box = [[CPBox alloc] initWithFrame:CGRectMake(0,0,100,100)], + + themeValues = + [ + [@"background-color", [CPColor colorWithHexString:@"E4E4E4"]], + [@"border-width", 1.0], + [@"border-color", [CPColor colorWithHexString:@"B7B7B7"]], + [@"corner-radius", 3.0], + [@"inner-shadow-offset", CGSizeMakeZero()], + [@"inner-shadow-color", [CPColor blackColor]], + [@"inner-shadow-size", 6.0], + [@"content-margin", CGSizeMakeZero()] + ]; + + [self registerThemeValues:themeValues forView:box]; + + return box; +} + ++ (CPLevelIndicator)themedLevelIndicator +{ + var levelIndicator = [[CPLevelIndicator alloc] initWithFrame:CGRectMake(0,0,100,100)], + + bezelColor = PatternColor( + "level-indicator-bezel{position}.png", + { + width: 3.0, + height: 18.0, + orientation: PatternIsHorizontal + }), + + segmentColor = PatternColor( + "level-indicator-segment{state}{position}.png", + { + states: ["empty", "normal", "warning", "critical"], + width: 3.0, + height: 17.0, + orientation: PatternIsHorizontal + }), + + themeValues = + [ + [@"bezel-color", bezelColor], + [@"color-empty", segmentColor["empty"]], + [@"color-normal", segmentColor["normal"]], + [@"color-warning", segmentColor["warning"]], + [@"color-critical", segmentColor["critical"]], + [@"spacing", 1.0] + ]; + + [self registerThemeValues:themeValues forView:levelIndicator]; + + return levelIndicator; +} + ++ (CPShadowView)themedShadowView +{ + var shadowView = [[CPShadowView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100, 100)], + + lightColor = PatternColor( + "shadow-view-light{position}.png", + { + width: 9.0, + height: 9.0, + centerIsNil: YES + }), + + heavyColor = PatternColor( + "shadow-view-heavy{position}.png", + { + width: 17.0, + height: 17.0, + centerIsNil: YES + }), + + themedShadowViewValues = + [ + [@"bezel-color", lightColor, CPThemeStateShadowViewLight], + [@"bezel-color", heavyColor, CPThemeStateShadowViewHeavy], + + [@"content-inset", CGInsetMake(3.0, 3.0, 5.0, 3.0), CPThemeStateShadowViewLight], + [@"content-inset", CGInsetMake(5.0, 7.0, 5.0, 7.0), CPThemeStateShadowViewHeavy] + ]; + + [self registerThemeValues:themedShadowViewValues forView:shadowView]; + + return shadowView; +} + ++ (CPBrowser)themedBrowser +{ + var browser = [[CPBrowser alloc] initWithFrame:CGRectMake(0.0, 0.0, 100, 100.0)], + + imageResize = PatternImage(@"browser-image-resize-control.png", 15.0, 14.0), + imageLeaf = PatternImage(@"browser-image-leaf.png", 9.0, 9.0), + imageLeafPressed = PatternImage(@"browser-image-leaf-pressed.png", 9.0, 9.0), + + themedBrowser = + [ + ["image-control-resize", imageResize], + ["image-control-leaf", imageLeaf], + ["image-control-leaf-pressed", imageLeafPressed] + ]; + + [self registerThemeValues:themedBrowser forView:browser]; + + return browser; +} + ++ (_CPModalWindowView)themedModalWindowView +{ + var modalWindowView = [[_CPModalWindowView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) styleMask:_CPModalWindowView]; + + var bezelColor = PatternColor( + "window-popup{position}.png", + { + positions: "full", + width: 10.0, + height: 10.0, + bottomHeight: 71.0 + }), + + themeValues = + [ + [@"bezel-color", bezelColor] + ]; + + [self registerThemeValues:themeValues forView:modalWindowView]; + + return modalWindowView; +} + ++ (_CPWindowView)themedWindowView +{ + var windowView = [[_CPWindowView alloc] initWithFrame:CGRectMakeZero(0.0, 0.0, 200, 200)], + + sheetShadow = PatternColor(@"window-attached-sheet-shadow.png", 9, 8), + resizeIndicator = PatternImage(@"window-resize-indicator.png", 12, 12), + + shadowColor = PatternColor( + "window-shadow{position}.png", + { + positions: "#", + width: 20.0, + height: 19.0, + rightWidth: 19.0, + bottomHeight: 18.0 + }); + + // Global + themedWindowViewValues = + [ + [@"shadow-inset", CGInsetMake(10.0, 19.0, 10.0, 20.0)], + [@"shadow-distance", 5.0], + [@"window-shadow-color", shadowColor], + [@"resize-indicator", resizeIndicator], + [@"attached-sheet-shadow-color", sheetShadow], + [@"size-indicator", CGSizeMake(12, 12)] + ]; + + [self registerThemeValues:themedWindowViewValues forView:windowView]; + + return windowView; +} + ++ (_CPHUDWindowView)themedHUDWindowView +{ + var HUDWindowView = [[_CPHUDWindowView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) styleMask:CPHUDBackgroundWindowMask | CPClosableWindowMask], + HUDBezelColor = PatternColor( + "HUD/window-bezel{position}.png", + { + positions: "full", + width: 5.0, + height: 5.0 + }), + + closeImage = PatternImage(@"HUD/window-close.png", 18.0, 18.0), + + closeActiveImage = PatternImage(@"HUD/window-close-active.png", 18.0, 18.0), + + themeValues = + [ + [@"close-image-size", CGSizeMake(18.0, 18.0)], + [@"close-image-origin", CGPointMake(6.0,4.0)], + [@"close-image", closeImage], + [@"close-active-image", closeActiveImage], + [@"bezel-color", HUDBezelColor], + [@"title-font", [CPFont systemFontOfSize:14]], + [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:1]], + [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:1], CPThemeStateKeyWindow], + [@"title-text-color", [CPColor colorWithWhite:255.0 / 255.0 alpha:1], CPThemeStateMainWindow], + [@"title-text-shadow-color", [CPColor blackColor]], + [@"title-text-shadow-offset", CGSizeMake(0.0, 1.0)], + [@"title-alignment", CPCenterTextAlignment], + [@"title-line-break-mode", CPLineBreakByTruncatingTail], + [@"title-vertical-alignment", CPCenterVerticalTextAlignment], + [@"title-bar-height", 26] + ]; + + [self registerThemeValues:themeValues forView:HUDWindowView inherit:themedWindowViewValues]; + + [HUDWindowView setTitle:@"HUDWindow"]; + + return HUDWindowView; +} + ++ (_CPStandardWindowView)themedStandardWindowView +{ + var standardWindowView = [[_CPStandardWindowView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) styleMask:CPClosableWindowMask], + + bezelHeadColor = PatternColor( + "window-standard-head{state}{position}.png", + { + states: ["", "inactive"], + width: 5.0, + height: 31.0, + orientation: PatternIsHorizontal + }), + + solidColor = PatternColor( + "window-standard-head-solid{position}.png", + { + positions: "full", + width: 5.0, + height: 1.0 + }), + + bezelColor = PatternColor( + "window-standard{position}.png", + { + positions: "full", + width: 5.0, + height: 1.0 + }), + + closeButtonImage = PatternImage(@"window-standard-close-button.png", 16, 16), + closeButtonImageInactive = PatternImage(@"window-standard-close-button-inactive.png", 16, 16), + closeButtonImageHighlighted = PatternImage(@"window-standard-button-highlighted.png", 16, 16), + unsavedButtonImage = PatternImage(@"window-standard-button-unsaved.png", 16, 16), + unsavedButtonImageInactive = PatternImage(@"window-standard-button-unsaved-inactive.png", 16, 16), + unsavedButtonImageHighlighted = PatternImage(@"window-standard-close-button-unsaved-highlighted.png", 16, 16), + minimizeButtonImage = PatternImage(@"window-standard-minimize-button.png", 16, 16), + minimizeButtonImageHighlighted = PatternImage(@"window-standard-minimize-button-highlighted.png", 16, 16), + + sheetShadow = PatternColor(@"window-attached-sheet-shadow.png", 9, 8), + resizeIndicator = PatternImage(@"window-resize-indicator.png", 12, 12), + + themeValues = + [ + [@"gradient-height", 31.0], + [@"bezel-head-color", bezelHeadColor["inactive"], CPThemeStateNormal], + [@"bezel-head-color", bezelHeadColor["@"], CPThemeStateKeyWindow], + [@"bezel-head-color", bezelHeadColor["@"], CPThemeStateMainWindow], + [@"solid-color", solidColor], + + [@"title-font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize]], + [@"title-text-color", [CPColor colorWithHexString:@"848484"]], + [@"title-text-color", [CPColor colorWithWhite:22.0 / 255.0 alpha:1], CPThemeStateKeyWindow], + [@"title-text-color", [CPColor colorWithWhite:22.0 / 255.0 alpha:1], CPThemeStateMainWindow], + [@"title-text-shadow-color", [CPColor whiteColor]], + [@"title-text-shadow-offset", CGSizeMake(0.0, 1.0)], + [@"title-alignment", CPCenterTextAlignment], + // FIXME: Make this to CPLineBreakByTruncatingMiddle once it's implemented. + [@"title-line-break-mode", CPLineBreakByTruncatingTail], + [@"title-vertical-alignment", CPCenterVerticalTextAlignment], + [@"title-bar-height", 31], + + [@"divider-color", [CPColor colorWithHexString:@"858585"]], + [@"body-color", bezelColor], + [@"title-bar-height", 31], + + [@"unsaved-image-button", unsavedButtonImage], + [@"unsaved-image-highlighted-button", unsavedButtonImageHighlighted], + [@"close-image-button", closeButtonImageInactive, CPThemeStateNormal], + [@"close-image-button", closeButtonImage, CPThemeStateKeyWindow], + [@"close-image-button", closeButtonImage, CPThemeStateMainWindow], + [@"close-image-highlighted-button", closeButtonImageHighlighted], + [@"minimize-image-button", minimizeButtonImage], + [@"minimize-image-highlighted-button", minimizeButtonImageHighlighted], + + [@"close-image-size", CGSizeMake(16.0, 16.0)], + [@"close-image-origin", CGPointMake(8.0, 10.0)], + + [@"resize-indicator", resizeIndicator], + [@"attached-sheet-shadow-color", sheetShadow], + [@"size-indicator", CGSizeMake(12, 12)] + ]; + + [self registerThemeValues:themeValues forView:standardWindowView inherit:themedWindowViewValues]; + + return standardWindowView; +} + ++ (_CPDocModalWindowView)themedDocModalWindowView +{ + var docModalWindowView = [[_CPDocModalWindowView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) styleMask:nil], + + bezelColor = PatternColor( + "window-standard{position}.png", + { + positions: "full", + width: 5.0, + height: 5.0 + }), + + sheetShadow = PatternColor(@"window-attached-sheet-shadow.png", 9, 8), + + themeValues = + [ + [@"body-color", bezelColor], + [@"height-shadow", 8], + [@"attached-sheet-shadow-color", sheetShadow] + ]; + + [self registerThemeValues:themeValues forView:docModalWindowView inherit:themedWindowViewValues]; + + return docModalWindowView; +} + ++ (_CPBorderlessBridgeWindowView)themedBordelessBridgeWindowView +{ + var bordelessBridgeWindowView = [[_CPBorderlessBridgeWindowView alloc] initWithFrame:CGRectMake(0,0,0,0)], + + toolbarBackgroundColor = PatternColor( + [ + nil, + [@"toolbar-background-center.png", 1.0, 58.0], + [@"toolbar-background-bottom.png", 1.0, 1.0] + ], PatternIsVertical), + + themeValues = + [ + [@"toolbar-background-color", toolbarBackgroundColor] + ]; + + [self registerThemeValues:themeValues forView:bordelessBridgeWindowView inherit:themedWindowViewValues]; + + return bordelessBridgeWindowView; +} + ++ (_CPToolbarView)themedToolbarView +{ + var toolbarView = [[_CPToolbarView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 59.0)], + + toolbarExtraItemsImage = PatternImage(@"toolbar-view-extra-items-image.png", 10.0, 15.0), + toolbarExtraItemsAlternateImage = PatternImage(@"toolbar-view-extra-items-alternate-image.png", 10.0, 15.0), + toolbarSeparatorColor = PatternColor( + "toolbar-item-separator{position}.png", + { + positions: "#", + width: 2.0, + height: 26.0, + orientation: PatternIsVertical + }), + + themeValues = + [ + [@"extra-item-extra-image", toolbarExtraItemsImage], + [@"extra-item-extra-alternate-image", toolbarExtraItemsAlternateImage], + [@"item-margin", 10.0], + [@"extra-item-width", 20.0], + [@"content-inset", CGInsetMake(4.0, 4.0, 4.0, 10)], + [@"regular-size-height", 59.0], + [@"small-size-height", 46.0], + [@"image-item-separator-color", toolbarSeparatorColor], + [@"image-item-separator-size", CGRectMake(0.0, 0.0, 2.0, 32.0)] + ]; + + + [self registerThemeValues:themeValues forView:toolbarView]; + + return toolbarView; +} + ++ (_CPMenuItemMenuBarView)themedMenuItemMenuBarView +{ + var menuItemMenuBarView = [[_CPMenuItemMenuBarView alloc] initWithFrame:CGRectMake(0.0, 0.0, 16.0, 16.0)], + + themeValues = + [ + [@"submenu-indicator-color", [CPColor grayColor]], + [@"menu-item-selection-color", [CPColor colorWithHexString:@"5C85D8"]], + [@"menu-item-text-shadow-color", [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]], + [@"horizontal-margin", 8.0], + [@"submenu-indicator-margin", 3.0], + [@"vertical-margin", 4.0] + ]; + + [self registerThemeValues:themeValues forView:menuItemMenuBarView]; + + return menuItemMenuBarView; +} + ++ (_CPMenuItemStandardView)themedMenuItemStandardView +{ + var menuItemStandardView = [[_CPMenuItemStandardView alloc] initWithFrame:CGRectMake(0.0, 0.0, 16.0, 16.0)], + + menuItemDefaultOnStateImage = PatternImage(@"menu-item-on-state.png", 14.0, 14.0), + menuItemDefaultOnStateHighlightedImage = PatternImage(@"menu-item-on-state-highlighted.png", 14.0, 14.0), + + themeValues = + [ + [@"submenu-indicator-color", [CPColor grayColor]], + [@"menu-item-selection-color", [CPColor colorWithHexString:@"5C85D8"]], + [@"menu-item-text-color", [CPColor colorWithHexString:@"333333"]], + [@"menu-item-text-shadow-color", [CPColor colorWithWhite:1.0 alpha:0.8]], + [@"menu-item-default-off-state-image", nil], + [@"menu-item-default-off-state-highlighted-image", nil], + [@"menu-item-default-on-state-image", menuItemDefaultOnStateImage], + [@"menu-item-default-on-state-highlighted-image", menuItemDefaultOnStateHighlightedImage], + [@"menu-item-separator-color", [CPColor colorWithHexString:@"DFDFDF"]], + [@"menu-item-default-mixed-state-image", nil], + [@"menu-item-default-mixed-state-highlighted-image", nil], + [@"left-margin", 3.0], + [@"right-margin", 17.0], + [@"state-column-width", 14.0], + [@"indentation-width", 17.0], + [@"vertical-margin", 4.0], + [@"right-columns-margin", 30.0] + ]; + + [self registerThemeValues:themeValues forView:menuItemStandardView]; + + return menuItemStandardView; +} + ++ (_CPMenuView)themedMenuView +{ + var menuView = [[_CPMenuView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 100.0)], + + menuWindowMoreAboveImage = PatternImage(@"menu-window-more-above.png", 38.0, 18.0), + menuWindowMoreBelowImage = PatternImage(@"menu-window-more-below.png", 38.0, 18.0), + generalIconNew = PatternImage(@"menu-general-icon-new.png", 16.0, 16.0), + generalIconNewHighlighted = PatternImage(@"menu-general-icon-new-highlighted.png", 16.0, 16.0), + generalIconOpen = PatternImage(@"menu-general-icon-open.png", 16.0, 16.0), + generalIconOpenHighlighted = PatternImage(@"menu-general-icon-open-highlighted.png", 16.0, 16.0), + generalIconSave = PatternImage(@"menu-general-icon-save.png", 16.0, 16.0), + generalIconSaveHighlighted = PatternImage(@"menu-general-icon-save-highlighted.png", 16.0, 16.0), + + menuWindowPopUpBackgroundStyleColor = PatternColor( + [ + [@"menu-window-rounded-0.png", 7.0, 7.0], + [@"menu-window-1.png", 1.0, 7.0], + [@"menu-window-rounded-2.png", 7.0, 7.0], + [@"menu-window-3.png", 7.0, 1.0], + [@"menu-window-4.png", 1.0, 1.0], + [@"menu-window-5.png", 7.0, 1.0], + [@"menu-window-rounded-6.png", 7.0, 7.0], + [@"menu-window-7.png", 1.0, 7.0], + [@"menu-window-rounded-8.png", 7.0, 7.0] + ] + ), + + menuWindowMenuBarBackgroundStyleColor = PatternColor( + [ + [@"menu-window-3.png", 7.0, 0.0], + [@"menu-window-4.png", 1.0, 0.0], + [@"menu-window-5.png", 7.0, 0.0], + [@"menu-window-3.png", 7.0, 1.0], + [@"menu-window-4.png", 1.0, 1.0], + [@"menu-window-5.png", 7.0, 1.0], + [@"menu-window-rounded-6.png", 7.0, 7.0], + [@"menu-window-7.png", 1.0, 7.0], + [@"menu-window-rounded-8.png", 7.0, 7.0] + ] + ), + + menuBarWindowBackgroundColor = PatternColor(@"menu-bar-window-background.png", 1.0, 30.0), + menuBarWindowBackgroundSelectedColor = PatternColor(@"menu-bar-window-background-selected.png", 1.0, 30.0), + + themeValues = + [ + [@"menu-window-more-above-image", menuWindowMoreAboveImage], + [@"menu-window-more-below-image", menuWindowMoreBelowImage], + [@"menu-window-pop-up-background-style-color", menuWindowPopUpBackgroundStyleColor], + [@"menu-window-menu-bar-background-style-color", menuWindowMenuBarBackgroundStyleColor], + [@"menu-window-margin-inset", CGInsetMake(5.0, 1.0, 5.0, 1.0)], + [@"menu-window-scroll-indicator-height", 16.0], + + [@"menu-bar-window-background-color", menuBarWindowBackgroundColor], + [@"menu-bar-window-background-selected-color", menuBarWindowBackgroundSelectedColor], + [@"menu-bar-window-font", [CPFont boldSystemFontOfSize:[CPFont systemFontSize]]], + [@"menu-bar-window-height", 30.0], + [@"menu-bar-window-margin", 10.0], + [@"menu-bar-window-left-margin", 10.0], + [@"menu-bar-window-right-margin", 10.0], + + [@"menu-bar-text-color", [CPColor colorWithRed:0.051 green:0.2 blue:0.275 alpha:1.0]], + [@"menu-bar-title-color", [CPColor colorWithRed:0.051 green:0.2 blue:0.275 alpha:1.0]], + [@"menu-bar-text-shadow-color", [CPColor whiteColor]], + [@"menu-bar-title-shadow-color", [CPColor whiteColor]], + [@"menu-bar-highlight-color", [CPColor colorWithCalibratedRed:94.0 / 255.0 green:130.0 / 255.0 blue:186.0 / 255.0 alpha:1.0]], + [@"menu-bar-highlight-text-color", [CPColor whiteColor]], + [@"menu-bar-highlight-text-shadow-color", [CPColor blackColor]], + [@"menu-bar-height", 30.0], + [@"menu-bar-icon-image", nil], + [@"menu-bar-icon-image-alpha-value", 1.0], + + [@"menu-general-icon-new", generalIconNew], + [@"menu-general-icon-new", generalIconNewHighlighted, CPThemeStateHighlighted], + + [@"menu-general-icon-save", generalIconSave], + [@"menu-general-icon-save", generalIconSaveHighlighted, CPThemeStateHighlighted], + + [@"menu-general-icon-open", generalIconOpen], + [@"menu-general-icon-open", generalIconOpenHighlighted, CPThemeStateHighlighted] + ]; + + + [self registerThemeValues:themeValues forView:menuView]; + + return menuView; +} + ++ (_CPPopoverWindowView)themedPopoverWindowView +{ + var popoverWindowView = [[_CPPopoverWindowView alloc] initWithFrame:CGRectMake(0, 0, 200, 200) styleMask:nil], + + gradient = CGGradientCreateWithColorComponents( + CGColorSpaceCreateDeviceRGB(), + [ + (254.0 / 255), (254.0 / 255), (254.0 / 255), 0.93, + (241.0 / 255), (241.0 / 255), (241.0 / 255), 0.93 + ], + [0, 1], + 2 + ), + + gradientHUD = CGGradientCreateWithColorComponents( + CGColorSpaceCreateDeviceRGB(), + [ + (38.0 / 255), (38.0 / 255), (38.0 / 255), 0.93, + (18.0 / 255), (18.0 / 255), (18.0 / 255), 0.93 + ], + [0, 1], + 2), + + strokeColor = [CPColor colorWithHexString:@"B8B8B8"], + strokeColorHUD = [CPColor colorWithHexString:@"222222"], + + themeValues = + [ + [@"background-gradient", gradient], + [@"background-gradient-hud", gradientHUD], + [@"stroke-color", strokeColor], + [@"stroke-color-hud", strokeColorHUD] + ]; + + [self registerThemeValues:themeValues forView:popoverWindowView]; + + return popoverWindowView; +} + +@end + + +@implementation Aristo2HUDThemeDescriptor : BKThemeDescriptor +{ +} + ++ (CPString)themeName +{ + return @"Aristo2-HUD"; +} + ++ (CPArray)themeShowcaseExcludes +{ + return ["alert"]; +} + ++ (CPColor)defaultShowcaseBackgroundColor +{ + return [CPColor blackColor]; +} + ++ (CPArray)defaultThemeOverridesAddedTo:(CPArray)themeValues +{ + var overrides = [CPArray arrayWithObjects: + [@"text-color", [CPColor colorWithHexString:@"cdcdcd"]], + [@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:0.6], CPThemeStateDisabled], + [@"text-shadow-color", [CPColor blackColor]], + [@"text-shadow-color", [CPColor blackColor], CPThemeStateDisabled], + [@"text-shadow-offset", CGSizeMake(-1.0, -1.0)] + ]; + + if (themeValues) + [overrides addObjectsFromArray:themeValues]; + + return overrides; +} + ++ (CPPopUpButton)themedSegmentedControl +{ + var segmentedControl = [Aristo2ThemeDescriptor makeSegmentedControl]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:nil] forView:segmentedControl inherit:themedSegmentedControlValues]; + + return segmentedControl; +} + ++ (CPButton)button +{ + var button = [Aristo2ThemeDescriptor makeButton]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:nil] forView:button inherit:themedButtonValues]; + + return button; +} + ++ (CPButton)themedStandardButton +{ + var button = [self button]; + + [button setTitle:@"Cancel"]; + + return button; +} + ++ (CPButton)themedDefaultButton +{ + var button = [self button]; + + [button setTitle:@"OK"]; + [button setThemeState:CPThemeStateDefault]; + + return button; +} + ++ (CPSlider)themedHorizontalSlider +{ + var slider = [Aristo2ThemeDescriptor makeHorizontalSlider]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:nil] forView:slider inherit:themedHorizontalSliderValues]; + + return slider; +} + ++ (CPSlider)themedVerticalSlider +{ + var slider = [Aristo2ThemeDescriptor makeVerticalSlider]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:nil] forView:slider inherit:themedVerticalSliderValues]; + + return slider; +} + ++ (CPSlider)themedCircularSlider +{ + var slider = [Aristo2ThemeDescriptor makeCircularSlider]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:nil] forView:slider inherit:themedCircularSliderValues]; + + return slider; +} + ++ (CPAlert)themedAlert +{ + var alert = [CPAlert new], + + hudSpecificValues = + [ + [@"message-text-color", [CPColor whiteColor]], + [@"informative-text-color", [CPColor whiteColor]], + [@"suppression-button-text-color", [CPColor whiteColor]] + ]; + + [self registerThemeValues:hudSpecificValues forView:alert inherit:themedAlertValues]; + + return [alert themeView]; +} + ++ (CPProgressIndicator)themedBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 75, 16)]; + [progressBar setDoubleValue:30]; + + [self registerThemeValues:nil forView:progressBar inherit:themedProgressIndicator]; + + return progressBar; + +} + ++ (CPProgressIndicator)themedIndeterminateBarProgressIndicator +{ + var progressBar = [[CPProgressIndicator alloc] initWithFrame:CGRectMake(0, 0, 75, 16)]; + [progressBar setIndeterminate:YES]; + + [self registerThemeValues:nil forView:progressBar inherit:themedIndeterminateProgressIndicator]; + + return progressBar; +} + ++ (CPCheckBox)themedCheckBoxButton +{ + var button = [CPCheckBox checkBoxWithTitle:@"Checkbox"]; + + [button setThemeState:CPThemeStateSelected]; + + var imageNormal = PatternImage("HUD/check-box-image.png", 21.0, 21.0), + imageSelected = PatternImage("HUD/check-box-image-selected.png", 21.0, 21.0), + imageSelectedHighlighted = PatternImage("HUD/check-box-image-selected-highlighted.png", 21.0, 21.0), + imageSelectedDisabled = PatternImage("HUD/check-box-image-selected-disabled.png", 21.0, 21.0), + imageDisabled = PatternImage("HUD/check-box-image-disabled.png", 21.0, 21.0), + imageHighlighted = PatternImage("HUD/check-box-image-highlighted.png", 21.0, 21.0), + mixedHighlightedImage = PatternImage("HUD/check-box-image-mixed-highlighted.png", 21.0, 21.0), + mixedDisabledImage = PatternImage("HUD/check-box-image-mixed-disabled.png", 21.0, 21.0), + mixedImage = PatternImage("HUD/check-box-image-mixed.png", 21.0, 21.0), + + hudSpecific = + [ + [@"image", imageNormal, CPThemeStateNormal], + [@"image", imageSelected, CPThemeStateSelected], + [@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted], + [@"image", imageHighlighted, CPThemeStateHighlighted], + [@"image", imageDisabled, CPThemeStateDisabled], + [@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled], + [@"image", mixedImage, CPButtonStateMixed], + [@"image", mixedHighlightedImage, CPButtonStateMixed | CPThemeStateHighlighted], + [@"image", mixedDisabledImage, CPButtonStateMixed | CPThemeStateDisabled] + ]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:hudSpecific] forView:button inherit:themedCheckBoxValues]; + + return button; +} + ++ (CPCheckBox)themedMixedCheckBoxButton +{ + var button = [self themedCheckBoxButton]; + + [button setAllowsMixedState:YES]; + [button setState:CPMixedState]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:nil] forView:button]; + + return button; +} + ++ (CPRadioButton)themedRadioButton +{ + var button = [CPRadio radioWithTitle:@"Radio button"], + imageNormal = PatternImage("HUD/radio-image.png", 21.0, 21.0), + imageSelected = PatternImage("HUD/radio-image-selected.png", 21.0, 21.0), + imageSelectedHighlighted = PatternImage("HUD/radio-image-selected-highlighted.png", 21.0, 21.0), + imageSelectedDisabled = PatternImage("HUD/radio-image-selected-disabled.png", 21.0, 21.0), + imageDisabled = PatternImage("HUD/radio-image-disabled.png", 21.0, 21.0), + imageHighlighted = PatternImage("HUD/radio-image-highlighted.png", 21.0, 21.0), + + hudSpecific = + [ + [@"image", imageNormal, CPThemeStateNormal], + [@"image", imageSelected, CPThemeStateSelected], + [@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted], + [@"image", imageHighlighted, CPThemeStateHighlighted], + [@"image", imageDisabled, CPThemeStateDisabled], + [@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled] + ]; + + [self registerThemeValues:[self defaultThemeOverridesAddedTo:hudSpecific] forView:button inherit:themedRadioButtonValues]; + return button; +} + +@end diff --git a/AppKit/Themes/Aristo2/index-debug.html b/AppKit/Themes/Aristo2/index-debug.html new file mode 100644 index 000000000..cfecc84f9 --- /dev/null +++ b/AppKit/Themes/Aristo2/index-debug.html @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + Aristo 2 + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + diff --git a/AppKit/Themes/Aristo2/index.html b/AppKit/Themes/Aristo2/index.html new file mode 100644 index 000000000..c436fd549 --- /dev/null +++ b/AppKit/Themes/Aristo2/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + Aristo 2 + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/AppKit/Themes/Aristo2/main.j b/AppKit/Themes/Aristo2/main.j new file mode 100644 index 000000000..b513627de --- /dev/null +++ b/AppKit/Themes/Aristo2/main.j @@ -0,0 +1,19 @@ +/* + * main.j + * null + * + * Created by You on December 12, 2012 + * Copyright 2012, Your Company. All rights reserved. + */ + +@import +@import +@import + +@import "ThemeDescriptors.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/AppKit/Themes/BlendKit/BKShowcaseController.j b/AppKit/Themes/BlendKit/BKShowcaseController.j index 78bf30c78..3c54cfae1 100644 --- a/AppKit/Themes/BlendKit/BKShowcaseController.j +++ b/AppKit/Themes/BlendKit/BKShowcaseController.j @@ -20,9 +20,20 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import +@import +@import +@import +@import +@import +@import @import +@import +@import "BKThemeDescriptor.j" + +@class CPWindow + +@global CPApp var LEFT_PANEL_WIDTH = 176.0; @@ -121,6 +132,9 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId [_themesCollectionView setSelectionIndexes:[CPIndexSet indexSetWithIndex:0]]; + // Needed when displaying _CPWindowView, to avoid the moving of the main window + [theWindow setMovable:NO]; + [theWindow setFullPlatformWindow:YES]; [theWindow makeKeyAndOrderFront:self]; } @@ -180,8 +194,8 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId var width = CGRectGetWidth([popUpButton frame]); - [toolbarItem setMinSize:CGSizeMake(width + 20.0, 24.0)]; - [toolbarItem setMaxSize:CGSizeMake(width + 20.0, 24.0)]; + [toolbarItem setMinSize:CGSizeMake(width + 20.0, 25.0)]; + [toolbarItem setMaxSize:CGSizeMake(width + 20.0, 25.0)]; } else if (anItemIdentifier === BKBackgroundColorToolbarItemIdentifier) @@ -209,8 +223,8 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId var width = CGRectGetWidth([popUpButton frame]); - [toolbarItem setMinSize:CGSizeMake(width, 24.0)]; - [toolbarItem setMaxSize:CGSizeMake(width, 24.0)]; + [toolbarItem setMinSize:CGSizeMake(width, 25.0)]; + [toolbarItem setMaxSize:CGSizeMake(width, 25.0)]; } else if (anItemIdentifier === BKLearnMoreToolbarItemIdentifier) { @@ -230,8 +244,8 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId var width = CGRectGetWidth([button frame]); - [toolbarItem setMinSize:CGSizeMake(width, 24.0)]; - [toolbarItem setMaxSize:CGSizeMake(width, 24.0)]; + [toolbarItem setMinSize:CGSizeMake(width, 25.0)]; + [toolbarItem setMaxSize:CGSizeMake(width, 25.0)]; } return toolbarItem; @@ -340,9 +354,8 @@ var SelectionColor = nil; @end -var ShowcaseCellBackgroundColor = nil; - -var BKShowcaseCellBackgroundColorDidChangeNotification = @"BKShowcaseCellBackgroundColorDidChangeNotification"; +var ShowcaseCellBackgroundColor = nil, + BKShowcaseCellBackgroundColorDidChangeNotification = @"BKShowcaseCellBackgroundColorDidChangeNotification"; @implementation BKShowcaseCell : CPView { diff --git a/AppKit/Themes/BlendKit/BKThemeDescriptor.j b/AppKit/Themes/BlendKit/BKThemeDescriptor.j index 0fbe4477c..522050def 100644 --- a/AppKit/Themes/BlendKit/BKThemeDescriptor.j +++ b/AppKit/Themes/BlendKit/BKThemeDescriptor.j @@ -21,8 +21,16 @@ */ @import +@import +@import +@import +@import +@import +PatternIsHorizontal = CPColorPatternIsHorizontal; +PatternIsVertical = CPColorPatternIsVertical; + var ItemSizes = { }, ThemedObjects = { }, ThemedShowcaseObjects = { }, @@ -78,12 +86,12 @@ var ItemSizes = { }, + (CPColor)windowBackgroundColor { - return [_CPStandardWindowView bodyBackgroundColor]; + return [CPColor colorWithCalibratedWhite:0.95 alpha:1.0]; } + (CPColor)defaultShowcaseBackgroundColor { - return [_CPStandardWindowView bodyBackgroundColor];//[self lightCheckersColor]; + return [CPColor colorWithCalibratedWhite:0.95 alpha:1.0]; } + (CPColor)showcaseBackgroundColor @@ -340,58 +348,19 @@ function BKLabelFromIdentifier(anIdentifier) return label; } - -PatternIsVertical = YES; -PatternIsHorizontal = NO; - -/* - To create a simple color with a pattern image: - PatternColor(name, width, height) - - To create a color with a three part pattern image: - PatternColor(slices, orientation) - - where slices is an array of three [name, width, height] arrays, - and orientation is PatternIsVertical or PatternIsHorizontal. - - To create a color with a nine part pattern image: - PatternColor(slices); - - where slices is an array of nine [name, width, height] arrays. -*/ -function PatternColor() -{ - if (arguments.length < 3) - { - var slices = arguments[0], - imageSlices = []; - - for (var i = 0; i < slices.length; ++i) - { - var slice = slices[i]; - - imageSlices.push(slice ? [_CPCibCustomResource imageResourceWithName:slice[0] size:CGSizeMake(slice[1], slice[2])] : nil); - } - - if (arguments.length == 2) - return [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices:imageSlices isVertical:arguments[1]]]; - else - return [CPColor colorWithPatternImage:[[CPNinePartImage alloc] initWithImageSlices:imageSlices]]; - } - else if (arguments.length == 3) - { - return [CPColor colorWithPatternImage:PatternImage(arguments[0], arguments[1], arguments[2])]; - } - else - { - return nil; - } -} - -/* - Like the 3 argument PatternColor, but return an image instead of a color. -*/ function PatternImage(name, width, height) { return [_CPCibCustomResource imageResourceWithName:name size:CGSizeMake(width, height)]; } + +/* + PatternColor is just a wrapper around CPColorWithImages + that uses an image factory that uses _CPCibCustomResource. +*/ +function PatternColor() +{ + var args = Array.prototype.slice.apply(arguments); + args.push(PatternImage); + + return CPColorWithImages.apply(this, args); +} diff --git a/AppKit/Themes/CommonJS/blendtask.j b/AppKit/Themes/CommonJS/blendtask.j index 95f38e52c..36cab5364 100644 --- a/AppKit/Themes/CommonJS/blendtask.j +++ b/AppKit/Themes/CommonJS/blendtask.j @@ -1,7 +1,30 @@ +/* + * blendtask.j + * BlendKit + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ - -@import -@import +@import +@import +@import +@import +@import @import diff --git a/AppKit/Themes/Default/AppController.j b/AppKit/Themes/Default/AppController.j index 66ea14d1a..5595e64b1 100644 --- a/AppKit/Themes/Default/AppController.j +++ b/AppKit/Themes/Default/AppController.j @@ -27,9 +27,9 @@ var horizontalTrackColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: [ - [_CPCibCustomResource imageResourceWithName:"horizontal-track-left.png" size:CPSizeMake(2.0, 4.0)], - [_CPCibCustomResource imageResourceWithName:"horizontal-track-center.png" size:CPSizeMake(1.0, 4.0)], - [_CPCibCustomResource imageResourceWithName:"horizontal-track-right.png" size:CPSizeMake(2.0, 4.0)] + [_CPCibCustomResource imageResourceWithName:"horizontal-track-left.png" size:CGSizeMake(2.0, 4.0)], + [_CPCibCustomResource imageResourceWithName:"horizontal-track-center.png" size:CGSizeMake(1.0, 4.0)], + [_CPCibCustomResource imageResourceWithName:"horizontal-track-right.png" size:CGSizeMake(2.0, 4.0)] ] isVertical:NO]], horizontalSlider = [[CPSlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 50.0, 24.0)]; @@ -37,8 +37,8 @@ [horizontalSlider setTrackWidth:4.0]; [horizontalSlider setHorizontalTrackColor:horizontalTrackColor]; - var knobColor = [CPColor colorWithPatternImage:[_CPCibCustomResource imageResourceWithName:"knob.png" size:CPSizeMake(11.0, 11.0)]], - knobHighlightedColor = [CPColor colorWithPatternImage:[_CPCibCustomResource imageResourceWithName:"knob-highlighted.png" size:CPSizeMake(12.0, 12.0)]]; + var knobColor = [CPColor colorWithPatternImage:[_CPCibCustomResource imageResourceWithName:"knob.png" size:CGSizeMake(11.0, 11.0)]], + knobHighlightedColor = [CPColor colorWithPatternImage:[_CPCibCustomResource imageResourceWithName:"knob-highlighted.png" size:CGSizeMake(12.0, 12.0)]]; [horizontalSlider setKnobSize:CGSizeMake(12.0, 12.0)]; [horizontalSlider setKnobColor:knobColor]; @@ -50,9 +50,9 @@ var verticalTrackColor = [CPColor colorWithPatternImage:[[CPThreePartImage alloc] initWithImageSlices: [ - [_CPCibCustomResource imageResourceWithName:"vertical-track-top.png" size:CPSizeMake(4.0, 2.0)], - [_CPCibCustomResource imageResourceWithName:"vertical-track-center.png" size:CPSizeMake(4.0, 1.0)], - [_CPCibCustomResource imageResourceWithName:"vertical-track-bottom.png" size:CPSizeMake(4.0, 2.0)] + [_CPCibCustomResource imageResourceWithName:"vertical-track-top.png" size:CGSizeMake(4.0, 2.0)], + [_CPCibCustomResource imageResourceWithName:"vertical-track-center.png" size:CGSizeMake(4.0, 1.0)], + [_CPCibCustomResource imageResourceWithName:"vertical-track-bottom.png" size:CGSizeMake(4.0, 2.0)] ] isVertical:YES]], verticalSlider = [[CPSlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 24.0, 50.0)]; diff --git a/AppKit/Themes/Jakefile b/AppKit/Themes/Jakefile index 08b139ea2..37458f433 100644 --- a/AppKit/Themes/Jakefile +++ b/AppKit/Themes/Jakefile @@ -1,4 +1,4 @@ require("../../common.jake"); -subtasks(["BlendKit", "CommonJS", "Aristo"], ["build", "clean", "clobber"]); +subtasks(["BlendKit", "CommonJS", "Aristo", "Aristo2"], ["build", "clean", "clobber"]); diff --git a/AppKit/_CPAutocompleteMenu.j b/AppKit/_CPAutocompleteMenu.j index 3a658d308..a4e5bbc0a 100644 --- a/AppKit/_CPAutocompleteMenu.j +++ b/AppKit/_CPAutocompleteMenu.j @@ -23,8 +23,12 @@ @import @import "CPTextField.j" +@import "CPTableView.j" @import "_CPMenuWindow.j" +@class CPScrollView + + // TODO Make themable. var _CPAutocompleteMenuMaximumHeight = 307; @@ -67,7 +71,7 @@ var _CPAutocompleteMenuMaximumHeight = 307; [scrollView setHasHorizontalScroller:NO]; [contentView addSubview:scrollView]; - tableView = [[_CPNonFirstResponderTableView alloc] initWithFrame:CPRectMakeZero()]; + tableView = [[_CPNonFirstResponderTableView alloc] initWithFrame:CGRectMakeZero()]; var tableColumn = [CPTableColumn new]; [tableColumn setResizingMask:CPTableColumnAutoresizingMask]; diff --git a/AppKit/_CPImageAndTextView.j b/AppKit/_CPImageAndTextView.j index 73e68a251..131beeb61 100644 --- a/AppKit/_CPImageAndTextView.j +++ b/AppKit/_CPImageAndTextView.j @@ -27,6 +27,7 @@ @import "CPImage.j" @import "CPView.j" @import "CPControl.j" +@import "CPPlatform.j" var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, @@ -104,6 +105,7 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, } _textSize = nil; + [self setHitTests:NO]; } return self; @@ -294,6 +296,7 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, var textFrame = _CGRectMakeZero(); +#if PLATFORM(DOM) if (_DOMTextElement) { var textStyle = _DOMTextElement.style; @@ -306,6 +309,7 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, textFrame.size.width += _textShadowOffset.width; textFrame.size.height += _textShadowOffset.height; } +#endif return textFrame; } diff --git a/AppKit/_CPPopUpList.j b/AppKit/_CPPopUpList.j index 10f66136f..024bc291a 100644 --- a/AppKit/_CPPopUpList.j +++ b/AppKit/_CPPopUpList.j @@ -20,9 +20,15 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPPanel.j" @import "CPTableView.j" +@import "CPText.j" @import "_CPPopUpListDataSource.j" +@class CPScrollView + +@global CPLineBorder + /*! Notification sent when the list is about to pop up. \c object is the _CPPopUpList. @@ -582,7 +588,7 @@ var ListColumnIdentifier = @"1"; case CPCarriageReturnCharacter: if ([self isVisible]) { -                [self closeListAfterItemClick]; + [self closeListAfterItemClick]; return YES; } break; @@ -839,7 +845,7 @@ var _CPPopUpListDataSourceKey = @"_CPPopUpListDataSourceKey", */ - (CPTableColumn)listColumn { - return _tableColumn; + return _tableColumns[0]; } @end diff --git a/AppKit/_CPPopUpListDataSource.j b/AppKit/_CPPopUpListDataSource.j index cd413779d..36ccaf51a 100644 --- a/AppKit/_CPPopUpListDataSource.j +++ b/AppKit/_CPPopUpListDataSource.j @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import +@import /*! This abstract base class defines the methods that delegates of _CPPopUpList must implement. diff --git a/AppKit/_CPAttachedWindow.j b/AppKit/_CPPopoverWindow.j similarity index 70% rename from AppKit/_CPAttachedWindow.j rename to AppKit/_CPPopoverWindow.j index fdb0e0a0f..d1649e257 100644 --- a/AppKit/_CPAttachedWindow.j +++ b/AppKit/_CPPopoverWindow.j @@ -1,5 +1,5 @@ /* - * _CPAttachedWindow.j + * _CPPopoverWindow.j * AppKit * * Created by Antoine Mercadal @@ -23,25 +23,29 @@ @import @import "CPButton.j" -@import "CPWindow.j" +@import "CPPanel.j" +// Use forward declaration because this file is imported by CPPopover +@class CPPopover + +@global CPApp CPClosableOnBlurWindowMask = 1 << 4; CPPopoverAppearanceMinimal = 0; CPPopoverAppearanceHUD = 1; -var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, - _CPAttachedWindow_attachedWindowDidClose_ = 1 << 1, - _CPAttachedWindow_attachedWindowDidShow_ = 1 << 2; +var _CPPopoverWindow_shouldClose_ = 1 << 0, + _CPPopoverWindow_didClose_ = 1 << 1, + _CPPopoverWindow_didShow_ = 1 << 2; /*! @ignore - This is a simple attached window like the one that pops up + This is a simple popover window like the one that pops up when you double click on a meeting in iCal. */ -@implementation _CPAttachedWindow : CPWindow +@implementation _CPPopoverWindow : CPPanel { BOOL _animates @accessors(property=animates); id _targetView @accessors(property=targetView); @@ -52,6 +56,7 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, BOOL _browserAnimates; BOOL _shouldPerformAnimation; CPInteger _implementedDelegateMethods; + JSObject _orderOutTransitionFunction; } @@ -66,7 +71,7 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, */ + (Class)_windowViewClassForStyleMask:(unsigned)aStyleMask { - return _CPAttachedWindowView; + return _CPPopoverWindowView; } @@ -74,39 +79,10 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, #pragma mark Initialization /*! - Create and init a _CPAttachedWindow with the given size and view. + Create and init a _CPPopoverWindow with given the given frame. - @param aSize the size of the attached window - @param aView the target view - @return ready to use _CPAttachedWindow -*/ -+ (id)attachedWindowWithSize:(CGSize)aSize forView:(CPView)aView -{ - return [_CPAttachedWindow attachedWindowWithSize:aSize forView:aView styleMask:0]; -} - -/*! - Create and init a _CPAttachedWindow with given the size, view and style mask. - - @param aSize the size of the attached window - @param aView the target view - @param styleMask the window style mask (combine CPClosableWindowMask and CPClosableOnBlurWindowMask) - @return ready to use _CPAttachedWindow -*/ -+ (id)attachedWindowWithSize:(CGSize)aSize forView:(CPView)aView styleMask:(int)aMask -{ - var attachedWindow = [[_CPAttachedWindow alloc] initWithContentRect:_CGRectMake(0.0, 0.0, aSize.width, aSize.height) styleMask:aMask]; - - [attachedWindow attachToView:aView]; - - return attachedWindow; -} - -/*! - Create and init a _CPAttachedWindow with given the given frame. - - @param aFrame the frame of the attached window - @return ready to use _CPAttachedWindow + @param aFrame the frame of the popover window + @return ready to use _CPPopoverWindow */ - (id)initWithContentRect:(CGRect)aFrame { @@ -114,23 +90,25 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, } /*! - Designated initializer. Create and init a _CPAttachedWindow with the given frame and style mask. + Designated initializer. Create and init a _CPPopoverWindow with the given frame and style mask. - @param aFrame the frame of the attached window + @param aFrame the frame of the popover window @param styleMask the window style mask (combine CPClosableWindowMask and CPClosableOnBlurWindowMask) - @return ready to use _CPAttachedWindow + @return ready to use _CPPopoverWindow */ - (id)initWithContentRect:(CGRect)aFrame styleMask:(unsigned)aStyleMask { if (self = [super initWithContentRect:aFrame styleMask:aStyleMask]) { _animates = YES; - _closeOnBlur = (aStyleMask & CPClosableOnBlurWindowMask); _isClosing = NO; _browserAnimates = [self browserSupportsAnimation]; _shouldPerformAnimation = YES; + _orderOutTransitionFunction = function() { [self _orderOutRecursively:YES]; }; - [self setLevel:CPStatusWindowLevel]; + + [self setStyleMask:aStyleMask]; + [self setBecomesKeyOnlyIfNeeded:YES]; [self setMovableByWindowBackground:YES]; [self setHasShadow:NO]; @@ -166,30 +144,32 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, _delegate = aDelegate; _implementedDelegateMethods = 0; - if ([_delegate respondsToSelector:@selector(attachedWindowShouldClose:)]) - _implementedDelegateMethods |= _CPAttachedWindow_attachedWindowShouldClose_; + if ([_delegate respondsToSelector:@selector(popoverWindowShouldClose:)]) + _implementedDelegateMethods |= _CPPopoverWindow_shouldClose_; - if ([_delegate respondsToSelector:@selector(attachedWindowDidClose:)]) - _implementedDelegateMethods |= _CPAttachedWindow_attachedWindowDidClose_; + if ([_delegate respondsToSelector:@selector(popoverWindowDidClose:)]) + _implementedDelegateMethods |= _CPPopoverWindow_didClose_; - if ([_delegate respondsToSelector:@selector(attachedWindowDidShow:)]) - _implementedDelegateMethods |= _CPAttachedWindow_attachedWindowDidShow_; + if ([_delegate respondsToSelector:@selector(popoverWindowDidShow:)]) + _implementedDelegateMethods |= _CPPopoverWindow_didShow_; } #pragma mark - #pragma mark Observer /*! - Update the _CPAttachedWindow frame if a resize event is observed. + Update the _CPPopoverWindow frame if a resize event is observed. */ - (void)observeValueForKeyPath:(CPString)aPath ofObject:(id)anObject change:(CPDictionary)theChange context:(void)aContext { - if ([aPath isEqual:@"frame"]) + if (aPath === @"frame") { - // TODO: don't recompute everything, just compute the move offset - var edge = [_windowView preferredEdge]; + if (![_targetView window]) + return; - [self positionRelativeToRect:nil ofView:_targetView preferredEdge:edge]; + var point = [self computeOriginFromRect:[_targetView bounds] ofView:_targetView preferredEdge:[_windowView preferredEdge]]; + + [self setFrameOrigin:point]; } } @@ -312,9 +292,9 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, /*! Compute the frame needed to be placed to the given view - and position the attached window according to this view (edge will be automatic) + and position the popover window according to this view (edge will be automatic) - @param aView the view where _CPAttachedWindow must be attached + @param aView the view where _CPPopoverWindow must be popover */ - (void)positionRelativeToView:(CPView)aView { @@ -322,14 +302,16 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, } /*! - Position the _CPAttachedWindow relative to a given rect's edge. + Position the _CPPopoverWindow relative to a given rect's edge. - @param aRect the rect relative to which the attached window will be positioned - @param positioningView the view to which the attached window is attached + @param aRect the rect relative to which the popover window will be positioned + @param positioningView the view to which the popover window is popover @param anEdge the prefered edge */ - (void)positionRelativeToRect:(CGRect)aRect ofView:(CPView)positioningView preferredEdge:(int)anEdge { + var wasVisible = [self isVisible]; + if (!aRect || _CGRectIsEmpty(aRect)) aRect = [positioningView bounds]; @@ -337,16 +319,28 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, [self setFrameOrigin:point]; [_windowView showCursor]; - [self setLevel:CPStatusWindowLevel]; [_windowView setNeedsDisplay:YES]; [self makeKeyAndOrderFront:nil]; if (positioningView !== _targetView) { + [[_targetView window] removeChildWindow:self]; [_targetView removeObserver:self forKeyPath:@"frame"]; _targetView = positioningView; - [_targetView addObserver:self forKeyPath:@"frame" options:0 context:nil]; } + + /* + If _targetView's window is not a full platform window, + add us as a child, because when we close we are detached from + the parent, and the parent may cache this window and reopen it. + */ + var targetWindow = [_targetView window]; + + if (![targetWindow isFullPlatformWindow]) + [[_targetView window] addChildWindow:self ordered:CPWindowAbove]; + + if (!wasVisible) + [self _trapNextMouseDown]; } /*! @ignore */ @@ -354,8 +348,10 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, { var browserProperty = CPBrowserStyleProperty(aProperty); +#if PLATFORM(DOM) if (browserProperty) _DOMElement.style[browserProperty] = value; +#endif } /*! @ignore */ @@ -368,7 +364,8 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, #pragma mark Actions /*! - Closes the _CPAttachedWindow + @ignore + Closes the _CPPopoverWindow @param sender the sender of the action */ @@ -382,38 +379,17 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, #pragma mark Overrides /*! - Attached windows, such as pop overs, can usually become the key window. + @ignore + Show animation if necessary. */ -- (BOOL)canBecomeKeyWindow +- (void)close { - return YES; -} - -/*! - Normally untitled windows cannot become main, but popovers can. -*/ -- (BOOL)canBecomeMainWindow -{ - return [self isVisible]; -} - -/*! - Called when the window is losing focus. -*/ -- (void)resignMainWindow -{ - if (_closeOnBlur && !_isClosing) - { - if (!_delegate || - ((_implementedDelegateMethods & _CPAttachedWindow_attachedWindowShouldClose_) && - [_delegate attachedWindowShouldClose:self])) - { - [self close]; - } - } + [self orderOut:self]; + [self _detachFromChildrenClosing:YES]; } /*! + @ignore When the window appears, show animation if necessary. Also take this opportunity to keep track of window moves. @@ -421,7 +397,7 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, */ - (IBAction)orderFront:(is)aSender { - if (![self isMainWindow]) + if (![self isKeyWindow]) { [super orderFront:aSender]; @@ -430,7 +406,7 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, var transformOrigin = "50% 100%", frame = [self frame], preferredEdge = [_windowView preferredEdge], - posX; + posX, posY; switch (preferredEdge) { @@ -455,17 +431,21 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, window.setTimeout(function() { // We are watching opacity, so this triggers the next transition +#if PLATFORM(DOM) _DOMElement.style.opacity = 1; _DOMElement.style.height = frame.size.height + @"px"; _DOMElement.style.width = frame.size.width + @"px"; +#endif // Set up the pop-out transition [self setCSS3Property:@"Transform" value:@"scale(1.1)"]; [self setCSS3Property:@"Transition" value:CPBrowserCSSProperty('transform') + @" 200ms ease-in"]; - var transitionEndFunction = function() + var orderFrontTransitionFunction = function() { - _DOMElement.removeEventListener(CPBrowserStyleProperty('transitionend'), transitionEndFunction, YES); +#if PLATFORM(DOM) + _DOMElement.removeEventListener(CPBrowserStyleProperty('transitionend'), orderFrontTransitionFunction, YES); +#endif // Now set up the pop-in to normal size transition. // Because we are watching the -webkit-transform, it will occur now. @@ -474,21 +454,29 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, var transitionCompleteFunction = function() { +#if PLATFORM(DOM) _DOMElement.removeEventListener(CPBrowserStyleProperty('transitionend'), transitionCompleteFunction, YES); - if (_implementedDelegateMethods & _CPAttachedWindow_attachedWindowDidShow_) - [_delegate attachedWindowDidShow:self]; +#endif + if (_implementedDelegateMethods & _CPPopoverWindow_didShow_) + [_delegate popoverWindowDidShow:self]; } +#if PLATFORM(DOM) _DOMElement.addEventListener(CPBrowserStyleProperty('transitionend'), transitionCompleteFunction, YES); +#endif }; - _DOMElement.addEventListener(CPBrowserStyleProperty('transitionend'), transitionEndFunction, YES); +#if PLATFORM(DOM) + _DOMElement.addEventListener(CPBrowserStyleProperty('transitionend'), orderFrontTransitionFunction, YES); +#endif }, 0); } else { [self setCSS3Property:@"Transition" value:@""]; +#if PLATFORM(DOM) _DOMElement.style.opacity = 1; +#endif } } @@ -496,47 +484,99 @@ var _CPAttachedWindow_attachedWindowShouldClose_ = 1 << 0, _isClosing = NO; } +- (void)_orderFront +{ + if (![self isVisible]) + [_targetView addObserver:self forKeyPath:@"frame" options:0 context:nil]; + + [super _orderFront]; +} + +- (void)_parentDidOrderInChild +{ + [_targetView addObserver:self forKeyPath:@"frame" options:0 context:nil]; +} + /*! + @ignore Animate window closing. */ -- (void)close +- (void)orderOut:(id)aSender { if (![self isVisible]) return; - // set a flag to avoid an infinite loop in resignMainWindow _isClosing = YES; if (_animates && _browserAnimates) { // Tell the element to fade out when the opacity changes [self setCSS3Property:@"Transition" value:@"opacity 250ms linear"]; +#if PLATFORM(DOM) _DOMElement.style.opacity = 0; - - var transitionEndFunction = function() - { - _DOMElement.removeEventListener(CPBrowserStyleProperty("transitionend"), transitionEndFunction, YES); - [self _close]; - }; - - _DOMElement.addEventListener(CPBrowserStyleProperty("transitionend"), transitionEndFunction, YES); + _DOMElement.addEventListener(CPBrowserStyleProperty("transitionend"), _orderOutTransitionFunction, YES); +#endif } else { - [self _close]; + [self _orderOutRecursively:YES]; } } -- (void)_close +- (void)_orderOutRecursively:(BOOL)recursive { - [super close]; + // Make absolutely sure no dangling event listeners are left +#if PLATFORM(DOM) + _DOMElement.removeEventListener(CPBrowserStyleProperty("transitionend"), _orderOutTransitionFunction, YES); +#endif + [_targetView removeObserver:self forKeyPath:@"frame"]; + [super _orderOutRecursively:recursive]; _shouldPerformAnimation = YES; _isClosing = NO; - if (_implementedDelegateMethods & _CPAttachedWindow_attachedWindowDidClose_) - [_delegate attachedWindowDidClose:self]; + if (_implementedDelegateMethods & _CPPopoverWindow_didClose_) + [_delegate popoverWindowDidClose:self]; +} + + +#pragma mark - +#pragma mark Private + +- (void)_mouseWasClicked:(CPEvent)anEvent +{ + /* + If the mouse was clicked inside us, trap the next mouse down. + If the mouse was clicked outside of us, we close and send this + message to any parent popovers so they have a chance to close + if necessary. + */ + if (![self isVisible]) + return; + + var mouseWindow = [anEvent window]; + + if (mouseWindow === self) + [self _trapNextMouseDown]; + else + { + // Send _close to the delegate so popoverWillClose is sent to the popover's delegate + if (_closeOnBlur) + [_delegate _close]; + + // Give a transient parent popover a chance to close + var parent = [self parentWindow]; + + if ([parent isKindOfClass:[self class]]) + [parent _mouseWasClicked:anEvent]; + } +} + +- (void)_trapNextMouseDown +{ + // Don't dequeue the event so clicks in controls will work + [CPApp setTarget:self selector:@selector(_mouseWasClicked:) forNextEventMatchingMask:CPLeftMouseDownMask untilDate:nil inMode:CPDefaultRunLoopMode dequeue:NO]; } @end diff --git a/AppKit/_CPToolTip.j b/AppKit/_CPToolTip.j index b0bfb1f9c..4f271cc0e 100644 --- a/AppKit/_CPToolTip.j +++ b/AppKit/_CPToolTip.j @@ -24,6 +24,9 @@ @import "CPView.j" @import "CPWindow.j" +@global CPApp +@class _CPToolTipWindowView + _CPToolTipWindowMask = 1 << 27; var _CPToolTipHeight = 24.0, @@ -103,7 +106,7 @@ var _CPToolTipHeight = 24.0, @param aText the wanted text @return CPArray containing the computer toolTipSize and textFrameSize */ -+ (CPSize)computeCorrectSize:(CPSize)aToolTipSize text:(CPString)aText ++ (CGSize)computeCorrectSize:(CGSize)aToolTipSize text:(CPString)aText { var font = [CPFont systemFontOfSize:_CPToolTipFontSize], textFrameSizeSingleLine = [aText sizeWithFont:font], @@ -156,7 +159,7 @@ var _CPToolTipHeight = 24.0, */ - (id)initWithString:(CPString)aString styleMask:(unsigned)aStyleMask { - var toolTipFrame = CPRectMake(0.0, 0.0, 250.0, _CPToolTipHeight), + var toolTipFrame = CGRectMake(0.0, 0.0, 250.0, _CPToolTipHeight), layout = [_CPToolTip computeCorrectSize:toolTipFrame.size text:aString], textFrameSize = layout[1]; @@ -171,7 +174,7 @@ var _CPToolTipHeight = 24.0, [_content setLineBreakMode:CPLineBreakByCharWrapping]; [_content setAlignment:CPJustifiedTextAlignment]; [_content setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; - [_content setFrameOrigin:CPPointMake(0.0, 0.0)]; + [_content setFrameOrigin:CGPointMake(0.0, 0.0)]; [_content setFrameSize:textFrameSize]; [_content setTextShadowOffset:CGSizeMake(0.0, 1.0)]; [_content setTextColor:[[[CPTheme defaultTheme] attributeWithName:@"color" forClass:_CPToolTipWindowView] value]]; @@ -203,19 +206,15 @@ var _CPToolTipHeight = 24.0, if (mousePosition.x < 0) mousePosition.x = 5; - if (mousePosition.x + CPRectGetWidth([self frame]) > nativeRect.size.width) - mousePosition.x = nativeRect.size.width - CPRectGetWidth([self frame]) - 5; + if (mousePosition.x + CGRectGetWidth([self frame]) > nativeRect.size.width) + mousePosition.x = nativeRect.size.width - CGRectGetWidth([self frame]) - 5; if (mousePosition.y < 0) mousePosition.y = 5; - if (mousePosition.y + CPRectGetHeight([self frame]) > nativeRect.size.height) - mousePosition.y = mousePosition.y - CPRectGetHeight([self frame]) - 40; + if (mousePosition.y + CGRectGetHeight([self frame]) > nativeRect.size.height) + mousePosition.y = mousePosition.y - CGRectGetHeight([self frame]) - 40; [self setFrameOrigin:mousePosition]; [self orderFront:nil]; } @end - - - - diff --git a/AppKit/_CPToolbarFlexibleSpaceItem.j b/AppKit/_CPToolbarFlexibleSpaceItem.j index 777743535..0a67081bf 100644 --- a/AppKit/_CPToolbarFlexibleSpaceItem.j +++ b/AppKit/_CPToolbarFlexibleSpaceItem.j @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPToolbarItem.j" +@import "_CPToolbarItem.j" @implementation _CPToolbarFlexibleSpaceItem : CPToolbarItem diff --git a/AppKit/_CPToolbarItem.j b/AppKit/_CPToolbarItem.j new file mode 100644 index 000000000..f3f4d1819 --- /dev/null +++ b/AppKit/_CPToolbarItem.j @@ -0,0 +1,663 @@ +/* + * CPToolbarItem.j + * AppKit + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import +@import + +@import "CPImage.j" +@import "CPView.j" + +@global CPApp + +CPToolbarItemVisibilityPriorityStandard = 0; +CPToolbarItemVisibilityPriorityLow = -1000; +CPToolbarItemVisibilityPriorityHigh = 1000; +CPToolbarItemVisibilityPriorityUser = 2000; + +CPToolbarSeparatorItemIdentifier = @"CPToolbarSeparatorItem"; +CPToolbarSpaceItemIdentifier = @"CPToolbarSpaceItem"; +CPToolbarFlexibleSpaceItemIdentifier = @"CPToolbarFlexibleSpaceItem"; +CPToolbarShowColorsItemIdentifier = @"CPToolbarShowColorsItem"; +CPToolbarShowFontsItemIdentifier = @"CPToolbarShowFontsItem"; +CPToolbarCustomizeToolbarItemIdentifier = @"CPToolbarCustomizeToolbarItem"; +CPToolbarPrintItemIdentifier = @"CPToolbarPrintItem"; + +/*! + @ingroup appkit + @class CPToolbarItem + + A representation of an item in a CPToolbar. +*/ +@implementation CPToolbarItem : CPObject +{ + CPString _itemIdentifier; + + CPToolbar _toolbar; + + CPString _label; + CPString _paletteLabel; + CPString _toolTip; + int _tag; + id _target; + SEL _action; + BOOL _isEnabled; + CPImage _image; + CPImage _alternateImage; + + CPView _view; + + CGSize _minSize; + CGSize _maxSize; + + int _visibilityPriority; + + BOOL _autovalidates; +} + +- (id)init +{ + return [self initWithItemIdentifier:@""]; +} + +// Creating a Toolbar Item +/*! + Initializes the toolbar item with a specified identifier. + @param anItemIdentifier the item's identifier + @return the initialized toolbar item +*/ +- (id)initWithItemIdentifier:(CPString)anItemIdentifier +{ + self = [super init]; + + if (self) + { + _itemIdentifier = anItemIdentifier; + + _tag = 0; + _isEnabled = YES; + + _minSize = CGSizeMakeZero(); + _maxSize = CGSizeMakeZero(); + + _visibilityPriority = CPToolbarItemVisibilityPriorityStandard; + _autovalidates = YES; + } + + return self; +} + +// Managing Attributes +/*! + Returns the item's identifier. +*/ +- (CPString)itemIdentifier +{ + return _itemIdentifier; +} + +/*! + Returns the toolbar of which this item is a part. +*/ +- (CPToolbar)toolbar +{ + return _toolbar; +} + +/* @ignore */ +- (void)_setToolbar:(CPToolbar)aToolbar +{ + _toolbar = aToolbar; +} + +/*! + Returns the item's label +*/ +- (CPString)label +{ + return _label; +} + +/*! + Sets the item's label. + @param aLabel the new label for the item +*/ +- (void)setLabel:(CPString)aLabel +{ + _label = aLabel; +} + +/*! + Returns the palette label. +*/ +- (CPString)paletteLabel +{ + return _paletteLabel; +} + +/*! + Sets the palette label + @param aPaletteLabel the new palette label +*/ +- (void)setPaletteLabel:(CPString)aPaletteLabel +{ + _paletteLabel = aPaletteLabel; +} + +/*! + Returns the item's tooltip. A tooltip pops up + next to the cursor when the user hovers over + the item with the mouse. +*/ +- (CPString)toolTip +{ + if ([_view respondsToSelector:@selector(toolTip)]) + return [_view toolTip]; + + return _toolTip; +} + +/*! + Sets the item's tooltip. A tooltip pops up next to the cursor when the user hovers over the item with the mouse. + @param aToolTip the new item tool tip +*/ +- (void)setToolTip:(CPString)aToolTip +{ + if ([_view respondsToSelector:@selector(setToolTip:)]) + [_view setToolTip:aToolTip]; + + _toolTip = aToolTip; +} + +/*! + Returns the item's tag. +*/ +- (int)tag +{ + if ([_view respondsToSelector:@selector(tag)]) + return [_view tag]; + + return _tag; +} + +/*! + Sets the item's tag. + @param aTag the new tag for the item +*/ +- (void)setTag:(int)aTag +{ + if ([_view respondsToSelector:@selector(setTag:)]) + [_view setTag:aTag]; + + _tag = aTag; +} + +/*! + Returns the item's action target. +*/ +- (id)target +{ + if (_view) + return [_view respondsToSelector:@selector(target)] ? [_view target] : nil; + + return _target; +} + +/*! + Sets the target of the action that is triggered when the user clicks this item. \c nil will cause + the action to be passed on to the first responder. + @param aTarget the new target +*/ +- (void)setTarget:(id)aTarget +{ + if (!_view) + _target = aTarget; + + else if ([_view respondsToSelector:@selector(setTarget:)]) + [_view setTarget:aTarget]; +} + +/*! + Returns the action that is triggered when the user clicks this item. +*/ +- (SEL)action +{ + if (_view) + return [_view respondsToSelector:@selector(action)] ? [_view action] : nil; + + return _action; +} + +/*! + Sets the action that is triggered when the user clicks this item. + @param anAction the new action +*/ +- (void)setAction:(SEL)anAction +{ + if (!_view) + _action = anAction; + + else if ([_view respondsToSelector:@selector(setAction:)]) + [_view setAction:anAction]; +} + +/*! + Returns \c YES if the item is enabled. +*/ +- (BOOL)isEnabled +{ + if ([_view respondsToSelector:@selector(isEnabled)]) + return [_view isEnabled]; + + return _isEnabled; +} + +/*! + Sets whether the item is enabled. + @param aFlag \c YES enables the item +*/ +- (void)setEnabled:(BOOL)shouldBeEnabled +{ + if (_isEnabled === shouldBeEnabled) + return; + + if ([_view respondsToSelector:@selector(setEnabled:)]) + [_view setEnabled:shouldBeEnabled]; + + _isEnabled = shouldBeEnabled; +} + +/*! + Returns the item's image +*/ +- (CPImage)image +{ + if ([_view respondsToSelector:@selector(image)]) + return [_view image]; + + return _image; +} + +/*! + Sets the item's image. + @param anImage the new item image +*/ +- (void)setImage:(CPImage)anImage +{ + if ([_view respondsToSelector:@selector(setImage:)]) + [_view setImage:anImage]; + + _image = anImage; + + if (!_image) + return; + + if (_minSize.width === 0 && _minSize.height === 0 && + _maxSize.width === 0 && _maxSize.height === 0) + { + var imageSize = [_image size]; + + if (imageSize.width > 0 || imageSize.height > 0) + { + [self setMinSize:imageSize]; + [self setMaxSize:imageSize]; + } + } +} + +/*! + Sets the alternate image. This image is displayed on the item when the user is clicking it. + @param anImage the new alternate image +*/ +- (void)setAlternateImage:(CPImage)anImage +{ + if ([_view respondsToSelector:@selector(setAlternateImage:)]) + [_view setAlternateImage:anImage]; + + _alternateImage = anImage; +} + +/*! + Returns the alternate image. This image is displayed on the item when the user is clicking it. +*/ +- (CPImage)alternateImage +{ + if ([_view respondsToSelector:@selector(alternateIamge)]) + return [_view alternateImage]; + + return _alternateImage; +} + +/*! + Returns the item's view. +*/ +- (CPView)view +{ + return _view; +} + +/*! + Sets the item's view + @param aView the item's new view +*/ +- (void)setView:(CPView)aView +{ + if (_view == aView) + return; + + _view = aView; + + if (_view) + { + // Tags get forwarded. + if (_tag !== 0 && [_view respondsToSelector:@selector(setTag:)]) + [_view setTag:_tag]; + + _target = nil; + _action = nil; + } +} + +/*! + Returns the item's minimum size. +*/ +- (CGSize)minSize +{ + return _minSize; +} + +/*! + Sets the item's minimum size. + @param aMinSize the new minimum size +*/ +- (void)setMinSize:(CGSize)aMinSize +{ + if (!aMinSize.height || !aMinSize.width) + return; + + _minSize = CGSizeMakeCopy(aMinSize); + + // Try to provide some sanity: Make maxSize >= minSize + _maxSize = CGSizeMake(MAX(_minSize.width, _maxSize.width), MAX(_minSize.height, _maxSize.height)); +} + +/*! + Returns the item's maximum size. +*/ +- (CGSize)maxSize +{ + return _maxSize; +} + +/*! + Sets the item's new maximum size. + @param aMaxSize the new maximum size +*/ +- (void)setMaxSize:(CGSize)aMaxSize +{ + if (!aMaxSize.height || !aMaxSize.width) + return; + + _maxSize = CGSizeMakeCopy(aMaxSize); + + // Try to provide some sanity: Make minSize <= maxSize + _minSize = CGSizeMake(MIN(_minSize.width, _maxSize.width), MIN(_minSize.height, _maxSize.height)); +} + +// Visibility Priority +/*! + Returns the item's visibility priority. The value will be one of: +
+CPToolbarItemVisibilityPriorityStandard
+CPToolbarItemVisibilityPriorityLow
+CPToolbarItemVisibilityPriorityHigh
+CPToolbarItemVisibilityPriorityUser
+
+*/ +- (int)visibilityPriority +{ + return _visibilityPriority; +} + +/*! + Sets the item's visibility priority. The value must be one of: +
+CPToolbarItemVisibilityPriorityStandard
+CPToolbarItemVisibilityPriorityLow
+CPToolbarItemVisibilityPriorityHigh
+CPToolbarItemVisibilityPriorityUser
+
+ @param aVisiblityPriority the priority +*/ +- (void)setVisibilityPriority:(int)aVisibilityPriority +{ + _visibilityPriority = aVisibilityPriority; +} + +- (void)validate +{ + var action = [self action], + target = [self target]; + + // View items do not do any target-action analysis. + if (_view) + { + if ([target respondsToSelector:@selector(validateToolbarItem:)]) + { + var shouldBeEnabled = [target validateToolbarItem:self]; + if (_isEnabled !== shouldBeEnabled) + [self setEnabled:shouldBeEnabled]; + } + + return; + } + + if (!action) + { + if (_isEnabled) + return [self setEnabled:NO]; + return; + } + + if (target && ![target respondsToSelector:action]) + { + if (_isEnabled) + return [self setEnabled:NO]; + return; + } + + target = [CPApp targetForAction:action to:target from:self]; + + if (!target) + { + if (_isEnabled) + return [self setEnabled:NO]; + return; + } + + if ([target respondsToSelector:@selector(validateToolbarItem:)]) + { + var shouldBeEnabled = [target validateToolbarItem:self]; + if (_isEnabled !== shouldBeEnabled) + [self setEnabled:shouldBeEnabled]; + } + else + { + if (!_isEnabled) + [self setEnabled:YES]; + } +} + +- (BOOL)autovalidates +{ + return _autovalidates; +} + +- (void)setAutovalidates:(BOOL)shouldAutovalidate +{ + _autovalidates = !!shouldAutovalidate; +} + +@end + +var CPToolbarItemItemIdentifierKey = @"CPToolbarItemItemIdentifierKey", + CPToolbarItemLabelKey = @"CPToolbarItemLabelKey", + CPToolbarItemPaletteLabelKey = @"CPToolbarItemPaletteLabelKey", + CPToolbarItemToolTipKey = @"CPToolbarItemToolTipKey", + CPToolbarItemTagKey = @"CPToolbarItemTagKey", + CPToolbarItemTargetKey = @"CPToolbarItemTargetKey", + CPToolbarItemActionKey = @"CPToolbarItemActionKey", + CPToolbarItemEnabledKey = @"CPToolbarItemEnabledKey", + CPToolbarItemImageKey = @"CPToolbarItemImageKey", + CPToolbarItemAlternateImageKey = @"CPToolbarItemAlternateImageKey", + CPToolbarItemViewKey = @"CPToolbarItemViewKey", + CPToolbarItemMinSizeKey = @"CPToolbarItemMinSizeKey", + CPToolbarItemMaxSizeKey = @"CPToolbarItemMaxSizeKey", + CPToolbarItemVisibilityPriorityKey = @"CPToolbarItemVisibilityPriorityKey", + CPToolbarItemAutovalidatesKey = @"CPToolbarItemAutovalidatesKey"; + +@implementation CPToolbarItem (CPCoding) + +- (id)initWithCoder:(CPCoder)aCoder +{ + self = [super init]; + + if (self) + { + _itemIdentifier = [aCoder decodeObjectForKey:CPToolbarItemItemIdentifierKey]; + + _minSize = [aCoder decodeSizeForKey:CPToolbarItemMinSizeKey]; + _maxSize = [aCoder decodeSizeForKey:CPToolbarItemMaxSizeKey]; + + [self setLabel:[aCoder decodeObjectForKey:CPToolbarItemLabelKey]]; + [self setPaletteLabel:[aCoder decodeObjectForKey:CPToolbarItemPaletteLabelKey]]; + [self setToolTip:[aCoder decodeObjectForKey:CPToolbarItemToolTipKey]]; + + [self setTag:[aCoder decodeObjectForKey:CPToolbarItemTagKey]]; + [self setTarget:[aCoder decodeObjectForKey:CPToolbarItemTargetKey]]; + [self setAction:CPSelectorFromString([aCoder decodeObjectForKey:CPToolbarItemActionKey])]; + + [self setEnabled:[aCoder decodeBoolForKey:CPToolbarItemEnabledKey]]; + + [self setImage:[aCoder decodeObjectForKey:CPToolbarItemImageKey]]; + [self setAlternateImage:[aCoder decodeObjectForKey:CPToolbarItemAlternateImageKey]]; + + [self setView:[aCoder decodeObjectForKey:CPToolbarItemViewKey]]; + + [self setVisibilityPriority:[aCoder decodeIntForKey:CPToolbarItemVisibilityPriorityKey]]; + [self setAutovalidates:[aCoder decodeBoolForKey:CPToolbarItemAutovalidatesKey]]; + } + + return self; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [aCoder encodeObject:_itemIdentifier forKey:CPToolbarItemItemIdentifierKey]; + + [aCoder encodeObject:[self label] forKey:CPToolbarItemLabelKey]; + [aCoder encodeObject:[self paletteLabel] forKey:CPToolbarItemPaletteLabelKey]; + + [aCoder encodeObject:[self toolTip] forKey:CPToolbarItemToolTipKey]; + + [aCoder encodeObject:[self tag] forKey:CPToolbarItemTagKey]; + [aCoder encodeObject:[self target] forKey:CPToolbarItemTargetKey]; + [aCoder encodeObject:[self action] forKey:CPToolbarItemActionKey]; + + [aCoder encodeObject:[self isEnabled] forKey:CPToolbarItemEnabledKey]; + + [aCoder encodeObject:[self image] forKey:CPToolbarItemImageKey]; + [aCoder encodeObject:[self alternateImage] forKey:CPToolbarItemAlternateImageKey]; + + [aCoder encodeObject:[self view] forKey:CPToolbarItemViewKey]; + + [aCoder encodeSize:[self minSize] forKey:CPToolbarItemMinSizeKey]; + [aCoder encodeSize:[self maxSize] forKey:CPToolbarItemMaxSizeKey]; + + [aCoder encodeObject:[self visibilityPriority] forKey:CPToolbarItemVisibilityPriorityKey]; + [aCoder encodeBool:[self autovalidates] forKey:CPToolbarItemAutovalidatesKey]; +} + +@end + +@implementation CPToolbarItem (CPCopying) + +- (id)copy +{ + var copy = [[[self class] alloc] initWithItemIdentifier:_itemIdentifier]; + + if (_view) + [copy setView:[CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:_view]]]; + + [copy _setToolbar:_toolbar]; + + [copy setLabel:_label]; + [copy setPaletteLabel:_paletteLabel]; + [copy setToolTip:[self toolTip]]; + + [copy setTag:[self tag]]; + [copy setTarget:[self target]]; + [copy setAction:[self action]]; + + [copy setEnabled:[self isEnabled]]; + + [copy setImage:[self image]]; + [copy setAlternateImage:[self alternateImage]]; + + [copy setMinSize:_minSize]; + [copy setMaxSize:_maxSize]; + + [copy setVisibilityPriority:[self visibilityPriority]]; + [copy setAutovalidates:[self autovalidates]]; + + return copy; +} + +@end + +// Standard toolbar identifiers + +@implementation CPToolbarItem (Standard) + +/* @ignore */ ++ (CPToolbarItem)_standardItemWithItemIdentifier:(CPString)anItemIdentifier +{ + switch (anItemIdentifier) + { + case CPToolbarSeparatorItemIdentifier: return [_CPToolbarSeparatorItem new]; + case CPToolbarSpaceItemIdentifier: return [_CPToolbarSpaceItem new]; + case CPToolbarFlexibleSpaceItemIdentifier: return [_CPToolbarFlexibleSpaceItem new]; + case CPToolbarShowColorsItemIdentifier: return [_CPToolbarShowColorsItem new]; + case CPToolbarShowFontsItemIdentifier: return nil; + case CPToolbarCustomizeToolbarItemIdentifier: return nil; + case CPToolbarPrintItemIdentifier: return nil; + } + + return nil; +} + +@end + +/*@import "_CPToolbarFlexibleSpaceItem.j" +@import "_CPToolbarShowColorsItem.j" +@import "_CPToolbarSeparatorItem.j" +@import "_CPToolbarSpaceItem.j" +*/ diff --git a/AppKit/_CPToolbarSeparatorItem.j b/AppKit/_CPToolbarSeparatorItem.j index 7b4059565..4b50ba17f 100644 --- a/AppKit/_CPToolbarSeparatorItem.j +++ b/AppKit/_CPToolbarSeparatorItem.j @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPToolbarItem.j" +@import "_CPToolbarItem.j" @implementation _CPToolbarSeparatorItem : CPToolbarItem diff --git a/AppKit/_CPToolbarShowColorsItem.j b/AppKit/_CPToolbarShowColorsItem.j index 42c76ecf2..368244fef 100644 --- a/AppKit/_CPToolbarShowColorsItem.j +++ b/AppKit/_CPToolbarShowColorsItem.j @@ -20,9 +20,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPApplication.j" -@import "CPToolbarItem.j" +@import "_CPToolbarItem.j" +@global CPApp @implementation _CPToolbarShowColorsItem : CPToolbarItem { diff --git a/AppKit/_CPToolbarSpaceItem.j b/AppKit/_CPToolbarSpaceItem.j index a77454d15..efa587351 100644 --- a/AppKit/_CPToolbarSpaceItem.j +++ b/AppKit/_CPToolbarSpaceItem.j @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPToolbarItem.j" +@import "_CPToolbarItem.j" @implementation _CPToolbarSpaceItem : CPToolbarItem diff --git a/CommonJS/bin/flatten b/CommonJS/bin/flatten index 7bf829451..80b9ecf8e 100755 --- a/CommonJS/bin/flatten +++ b/CommonJS/bin/flatten @@ -112,11 +112,11 @@ function main(args) print("Loading default theme."); flattener.require("objective-j").objj_eval("("+(function() { - + var defaultThemeName = [CPApplication defaultThemeName], bundle = nil; - if (defaultThemeName === @"Aristo") + if (defaultThemeName === @"Aristo" || defaultThemeName === @"Aristo2") bundle = [CPBundle bundleForClass:[CPApplication class]]; else bundle = [CPBundle mainBundle]; diff --git a/CommonJS/bin/press b/CommonJS/bin/press index 925895521..c4e6b5571 100755 --- a/CommonJS/bin/press +++ b/CommonJS/bin/press @@ -129,10 +129,10 @@ function press(rootPath, outputPath, options) { outputInfoPlist = CFPropertyList.propertyListFromString(outputInfoPlistContents); // read in the default theme name, and attempt to get its size - var themeName = outputInfoPlist.valueForKey("CPDefaultTheme") || "Aristo", + var themeName = outputInfoPlist.valueForKey("CPDefaultTheme") || "Aristo2", themePath = nil; - if (themeName === "Aristo") + if (themeName === "Aristo" || themeName === "Aristo2") themePath = FILE.join(outputPath, options.frameworks, "AppKit", "Resources", themeName+".blend"); else themePath = FILE.join(outputPath, "Resources", themeName + ".blend"); diff --git a/Foundation/CPArray+KVO.j b/Foundation/CPArray+KVO.j index fc65294ef..ff17444f8 100644 --- a/Foundation/CPArray+KVO.j +++ b/Foundation/CPArray+KVO.j @@ -24,6 +24,7 @@ @import "CPNull.j" @import "_CPCollectionKVCOperators.j" +@class CPIndexSet @implementation CPObject (CPArrayKVO) @@ -310,18 +311,27 @@ if (_removeMany) { var indexes = [CPIndexSet indexSet], - index = [theObjects count]; + index = [theObjects count], + position = 0, + count = [self count]; while (index--) - [indexes addIndex:[self indexOfObject:[theObjects objectAtIndex:index]]]; + { + while ((position = [self indexOfObject:[theObjects objectAtIndex:index] inRange:_CPMakeRange(position + 1, count)]) !== CPNotFound) + [indexes addIndex:position]; + } _removeMany(_proxyObject, _removeManySEL, indexes); } else if (_remove) { - var index = [theObjects count]; + var index = [theObjects count], + position; while (index--) - _remove(_proxyObject, _removeSEL, [self indexOfObject:[theObjects objectAtIndex:index]]); + { + while ((position = [self indexOfObject:[theObjects objectAtIndex:index]]) !== CPNotFound) + _remove(_proxyObject, _removeSEL, position); + } } else { @@ -347,7 +357,7 @@ while ((index = [self indexOfObject:theObject inRange:theRange]) !== CPNotFound) { [self removeObjectAtIndex:index]; - theRange = CPIntersectionRange(CPMakeRange(index, length - index), theRange); + theRange = CPIntersectionRange(CPMakeRange(index, self.length - index), theRange); } } } @@ -427,7 +437,7 @@ [CPException raise:CPInvalidArgumentException reason:"called valueForKey: on an array with a complex key (" + aKey + "). use valueForKeyPath:"]; if (aKey === "@count") - return length; + return self.length; return [self valueForUndefinedKey:aKey]; } diff --git a/Foundation/CPArray/CPArray.j b/Foundation/CPArray/CPArray.j old mode 100755 new mode 100644 index d835196ad..5d6505c36 --- a/Foundation/CPArray/CPArray.j +++ b/Foundation/CPArray/CPArray.j @@ -20,999 +20,5 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPEnumerator.j" -@import "CPException.j" -@import "CPObject.j" -@import "CPRange.j" -@import "CPSortDescriptor.j" - - -CPEnumerationNormal = 0; -CPEnumerationConcurrent = 1 << 0; -CPEnumerationReverse = 1 << 1; - -CPBinarySearchingFirstEqual = 1 << 8; -CPBinarySearchingLastEqual = 1 << 9; -CPBinarySearchingInsertionIndex = 1 << 10; - -var concat = Array.prototype.concat, - join = Array.prototype.join, - push = Array.prototype.push; - -#define FORWARD_TO_CONCRETE_CLASS()\ - if (self === _CPSharedPlaceholderArray)\ - {\ - arguments[0] = [_CPJavaScriptArray alloc];\ - return objj_msgSend.apply(this, arguments);\ - }\ - return [super init]; - -/*! - @class CPArray - @brief A mutable array backed by a JavaScript Array. - @ingroup foundation - - A mutable array class backed by a JavaScript Array. - There is also a CPMutableArray class, - but it is just a child class of this class with an - empty implementation. All mutable functionality is - implemented directly in CPArray. -*/ -@implementation CPArray : CPObject - -/*! - Returns a new uninitialized CPArray. -*/ -+ (id)alloc -{ - if (self === CPArray || self === CPMutableArray) - return [_CPPlaceholderArray alloc]; - - return [super alloc]; -} - -/*! - Returns a new initialized CPArray. -*/ -+ (id)array -{ - return [[self alloc] init]; -} - -/*! - Creates a new array containing the objects in \c anArray. - @param anArray Objects in this array will be added to the new array - @return a new CPArray of the provided objects -*/ -+ (id)arrayWithArray:(CPArray)anArray -{ - return [[self alloc] initWithArray:anArray]; -} - -/*! - Creates a new array with \c anObject in it. - @param anObject the object to be added to the array - @return a new CPArray containing a single object -*/ -+ (id)arrayWithObject:(id)anObject -{ - return [[self alloc] initWithObjects:anObject]; -} - -/*! - Creates a new CPArray containing all the objects passed as arguments to the method. - @param anObject the objects that will be added to the new array - @return a new CPArray containing the argument objects -*/ -+ (id)arrayWithObjects:(id)anObject, ... -{ - arguments[0] = [self alloc]; - arguments[1] = @selector(initWithObjects:); - - return objj_msgSend.apply(this, arguments); -} - -/*! - Creates a CPArray from a JavaScript array of objects. - @param objects the JavaScript Array - @param aCount the number of objects in the JS Array - @return a new CPArray containing the specified objects -*/ -+ (id)arrayWithObjects:(id)objects count:(unsigned)aCount -{ - return [[self alloc] initWithObjects:objects count:aCount]; -} - -/*! - Initializes the CPArray. - @return the initialized array -*/ -- (id)init -{ - FORWARD_TO_CONCRETE_CLASS(); -} - -// Creating an Array -/*! - Creates a new CPArray from \c anArray. - @param anArray objects in this array will be added to the new array - @return a new CPArray containing the objects of \c anArray -*/ -- (id)initWithArray:(CPArray)anArray -{ - FORWARD_TO_CONCRETE_CLASS(); -} - -/*! - Initializes a the array with the contents of \c anArray - and optionally performs a deep copy of the objects based on \c copyItems. - @param anArray the array to copy the data from - @param shouldCopyItems if \c YES, each object will be copied by having a \c -copy message - sent to it, and the returned object will be added to the receiver. Otherwise, no copying will be performed. - @return the initialized array of objects -*/ -- (id)initWithArray:(CPArray)anArray copyItems:(BOOL)shouldCopyItems -{ - FORWARD_TO_CONCRETE_CLASS(); -} - -/*! - initializes an array with the contents of anArray -*/ -- (id)initWithObjects:(id)anObject, ... -{ - FORWARD_TO_CONCRETE_CLASS(); -} - -/*! - Initializes the array with a JavaScript array of objects. - @param objects the array of objects to add to the receiver - @param aCount the number of objects in \c objects - @return the initialized CPArray -*/ -- (id)initWithObjects:(id)objects count:(unsigned)aCount -{ - FORWARD_TO_CONCRETE_CLASS(); -} - -// FIXME: This should be defined in CPMutableArray, not here. -- (id)initWithCapacity:(unsigned)aCapacity -{ - FORWARD_TO_CONCRETE_CLASS(); -} - -// Querying an array -/*! - Returns \c YES if the array contains \c anObject. Otherwise, it returns \c NO. - @param anObject the method checks if this object is already in the array -*/ -- (BOOL)containsObject:(id)anObject -{ - return [self indexOfObject:anObject] !== CPNotFound; -} - -- (BOOL)containsObjectIdenticalTo:(id)anObject -{ - return [self indexOfObjectIdenticalTo:anObject] !== CPNotFound; -} - -/*! - Returns the number of elements in the array -*/ -- (int)count -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); -} - -/*! - Returns the first object in the array. If the array is empty, returns \c nil -*/ -- (id)firstObject -{ - var count = [self count]; - - if (count > 0) - return [self objectAtIndex:0]; - - return nil; -} - -/*! - Returns the last object in the array. If the array is empty, returns \c nil -*/ -- (id)lastObject -{ - var count = [self count]; - - if (count <= 0) - return nil; - - return [self objectAtIndex:count - 1]; -} - -/*! - Returns the object at index \c anIndex. - @throws CPRangeException if \c anIndex is out of bounds -*/ -- (id)objectAtIndex:(int)anIndex -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); -} - -/*! - Returns the objects at \c indexes in a new CPArray. - @param indexes the set of indices - @throws CPRangeException if any of the indices is greater than or equal to the length of the array -*/ -- (CPArray)objectsAtIndexes:(CPIndexSet)indexes -{ - var index = CPNotFound, - objects = []; - - while ((index = [indexes indexGreaterThanIndex:index]) !== CPNotFound) - objects.push([self objectAtIndex:index]); - - return objects; -} - -/*! - Returns an enumerator describing the array sequentially - from the first to the last element. You should not modify - the array during enumeration. -*/ -- (CPEnumerator)objectEnumerator -{ - return [[_CPArrayEnumerator alloc] initWithArray:self]; -} - -/*! - Returns an enumerator describing the array sequentially - from the last to the first element. You should not modify - the array during enumeration. -*/ -- (CPEnumerator)reverseObjectEnumerator -{ - return [[_CPReverseArrayEnumerator alloc] initWithArray:self]; -} - -/*! - Returns the index of \c anObject in this array. - If the object is not in the array, - returns \c CPNotFound. It first attempts to find - a match using \c -isEqual:, then \c ===. - @param anObject the object to search for -*/ -- (CPUInteger)indexOfObject:(id)anObject -{ - return [self indexOfObject:anObject inRange:nil]; -} - -/*! - Returns the index of \c anObject in the array - within \c aRange. It first attempts to find - a match using \c -isEqual:, then \c ===. - @param anObject the object to search for - @param aRange the range to search within - @return the index of the object, or \c CPNotFound if it was not found. -*/ -- (CPUInteger)indexOfObject:(id)anObject inRange:(CPRange)aRange -{ - // Only use isEqual: if our object is a CPObject. - if (anObject && anObject.isa) - { - var index = aRange ? aRange.location : 0, - count = aRange ? CPMaxRange(aRange) : [self count]; - - for (; index < count; ++index) - if ([[self objectAtIndex:index] isEqual:anObject]) - return index; - - return CPNotFound; - } - - return [self indexOfObjectIdenticalTo:anObject inRange:aRange]; -} - -/*! - Returns the index of \c anObject in the array. The test for equality is done using only \c ===. - @param anObject the object to search for - @return the index of the object in the array. \c CPNotFound if the object is not in the array. -*/ -- (CPUInteger)indexOfObjectIdenticalTo:(id)anObject -{ - return [self indexOfObjectIdenticalTo:anObject inRange:nil]; -} - -/*! - Returns the index of \c anObject in the array - within \c aRange. The test for equality is - done using only \c ==. - @param anObject the object to search for - @param aRange the range to search within - @return the index of the object, or \c CPNotFound if it was not found. -*/ -- (CPUInteger)indexOfObjectIdenticalTo:(id)anObject inRange:(CPRange)aRange -{ - var index = aRange ? aRange.location : 0, - count = aRange ? CPMaxRange(aRange) : [self count]; - - for (; index < count; ++index) - if ([self objectAtIndex:index] === anObject) - return index; - - return CPNotFound; -} - -/*! - Returns the index of the first object in the receiver that passes a test in a given Javascript function. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return \c CPNotFound to the sender. - @return The index of the first matching object, or \c CPNotFound if there is no matching object. -*/ -- (unsigned)indexOfObjectPassingTest:(Function /*(id anObject, int idx)*/)aPredicate -{ - return [self indexOfObjectWithOptions:CPEnumerationNormal passingTest:aPredicate context:undefined]; -} - -/*! - Returns the index of the first object in the receiver that passes a test in a given Javascript function. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index, context) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return \c CPNotFound to the sender. - @param context An object that contains context information you want passed to the predicate function. - @return The index of the first matching object, or \c CPNotFound if there is no matching object. -*/ -- (unsigned)indexOfObjectPassingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext -{ - return [self indexOfObjectWithOptions:CPEnumerationNormal passingTest:aPredicate context:aContext]; -} - -/*! - Returns the index of the first object in the receiver that passes a test in a given Javascript function. - @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards - or CPEnumerationReverse to search in reverse. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return CPNotFound to the sender. - @return The index of the first matching object, or \c CPNotFound if there is no matching object. -*/ -- (unsigned)indexOfObjectWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx)*/)aPredicate -{ - return [self indexOfObjectWithOptions:options passingTest:aPredicate context:undefined]; -} - -/*! - Returns the index of the first object in the receiver that passes a test in a given Javascript function. - @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards - or CPEnumerationReverse to search in reverse. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index, context) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return CPNotFound to the sender. - @param context An object that contains context information you want passed to the predicate function. - @return The index of the first matching object, or \c CPNotFound if there is no matching object. -*/ -- (unsigned)indexOfObjectWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext -{ - // We don't use an enumerator because they return nil to indicate end of enumeration, - // but nil may actually be the value we are looking for, so we have to loop over the array. - if (options & CPEnumerationReverse) - { - var index = [self count] - 1, - stop = -1, - increment = -1; - } - else - { - var index = 0, - stop = [self count], - increment = 1; - } - - for (; index !== stop; index += increment) - if (aPredicate([self objectAtIndex:index], index, aContext)) - return index; - - return CPNotFound; -} - -- (CPUInteger)indexOfObject:(id)anObject - inSortedRange:(CPRange)aRange - options:(CPBinarySearchingOptions)options - usingComparator:(Function)aComparator -{ - // FIXME: comparator is not a function - if (!aComparator) - _CPRaiseInvalidArgumentException(self, _cmd, "comparator is nil"); - - if ((options & CPBinarySearchingFirstEqual) && (options & CPBinarySearchingLastEqual)) - _CPRaiseInvalidArgumentException(self, _cmd, - "both CPBinarySearchingFirstEqual and CPBinarySearchingLastEqual options cannot be specified"); - - var count = [self count]; - - if (count <= 0) - return (options & CPBinarySearchingInsertionIndex) ? 0 : CPNotFound; - - var first = aRange ? aRange.location : 0, - last = (aRange ? CPMaxRange(aRange) : [self count]) - 1; - - if (first < 0) - _CPRaiseRangeException(self, _cmd, first, count); - - if (last >= count) - _CPRaiseRangeException(self, _cmd, last, count); - - while (first <= last) - { - var middle = FLOOR((first + last) / 2), - result = aComparator(anObject, [self objectAtIndex:middle]); - - if (result > 0) - first = middle + 1; - - else if (result < 0) - last = middle - 1; - - else - { - if (options & CPBinarySearchingFirstEqual) - while (middle > first && aComparator(anObject, [self objectAtIndex:middle - 1]) === CPOrderedSame) - --middle; - - else if (options & CPBinarySearchingLastEqual) - { - while (middle < last && aComparator(anObject, [self objectAtIndex:middle + 1]) === CPOrderedSame) - ++middle; - - if (options & CPBinarySearchingInsertionIndex) - ++middle; - } - - return middle; - } - } - - if (options & CPBinarySearchingInsertionIndex) - return MAX(first, 0); - - return CPNotFound; -} - -/*! - Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return \c CPNotFound to the sender. - @return A CPIndexSet of the matching object indexes. -*/ -- (CPIndexSet)indexesOfObjectsPassingTest:(Function /*(id anObject, int idx)*/)aPredicate -{ - return [self indexesOfObjectsWithOptions:CPEnumerationNormal passingTest:aPredicate context:undefined]; -} - -/*! - Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index, context) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return \c CPNotFound to the sender. - @param context An object that contains context information you want passed to the predicate function. - @return A CPIndexSet of the matching object indexes. -*/ -- (CPIndexSet)indexesOfObjectsPassingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext -{ - return [self indexesOfObjectsWithOptions:CPEnumerationNormal passingTest:aPredicate context:aContext]; -} - -/*! - Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. - @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards - or CPEnumerationReverse to search in reverse. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return CPNotFound to the sender. - @return A CPIndexSet of the matching object indexes. -*/ -- (CPIndexSet)indexesOfObjectsWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx)*/)aPredicate -{ - return [self indexesOfObjectsWithOptions:options passingTest:aPredicate context:undefined]; -} - -/*! - Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. - @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards - or CPEnumerationReverse to search in reverse. - @param predicate The function to apply to objects of the array. The function should have the signature: - @code function(object, index, context) @endcode - The predicate function should either return a Boolean value that indicates whether the object passed the test, - or nil to stop the search, which will return CPNotFound to the sender. - @param context An object that contains context information you want passed to the predicate function. - @return A CPIndexSet of the matching object indexes. -*/ -- (CPIndexSet)indexesOfObjectsWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext -{ - // We don't use an enumerator because they return nil to indicate end of enumeration, - // but nil may actually be the value we are looking for, so we have to loop over the array. - if (options & CPEnumerationReverse) - { - var index = [self count] - 1, - stop = -1, - increment = -1; - } - else - { - var index = 0, - stop = [self count], - increment = 1; - } - - var indexes = [CPIndexSet indexSet]; - - for (; index !== stop; index += increment) - if (aPredicate([self objectAtIndex:index], index, aContext)) - [indexes addIndex:index]; - - return indexes; -} - -// Sending messages to elements -/*! - Sends each element in the array a message. - @param aSelector the selector of the message to send - @throws CPInvalidArgumentException if \c aSelector is \c nil -*/ -- (void)makeObjectsPerformSelector:(SEL)aSelector -{ - [self makeObjectsPerformSelector:aSelector withObjects:nil]; -} - -/*! - Sends each element in the array a message with an argument. - @param aSelector the selector of the message to send - @param anObject the first argument of the message - @throws CPInvalidArgumentException if \c aSelector is \c nil -*/ -- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)anObject -{ - return [self makeObjectsPerformSelector:aSelector withObjects:[anObject]]; -} - -- (void)makeObjectsPerformSelector:(SEL)aSelector withObjects:(CPArray)objects -{ - if (!aSelector) - [CPException raise:CPInvalidArgumentException - reason:"makeObjectsPerformSelector:withObjects: 'aSelector' can't be nil"]; - - var index = 0, - count = [self count]; - - if ([objects count]) - { - var argumentsArray = [[nil, aSelector] arrayByAddingObjectsFromArray:objects]; - - for (; index < count; ++index) - { - argumentsArray[0] = [self objectAtIndex:index]; - objj_msgSend.apply(this, argumentsArray); - } - } - - else - for (; index < count; ++index) - objj_msgSend([self objectAtIndex:index], aSelector); -} - -- (void)enumerateObjectsUsingBlock:(Function /*(id anObject, int idx, @ref BOOL stop)*/)aFunction -{ - // This could have been [self enumerateObjectsWithOptions:CPEnumerationNormal usingBlock:aFunction] - // but this method should be as fast as possible. - var index = 0, - count = [self count], - shouldStop = NO, - shouldStopRef = AT_REF(shouldStop); - - for (; index < count; ++index) - { - aFunction([self objectAtIndex:index], index, shouldStopRef); - if (shouldStop) - return; - } -} - -- (void)enumerateObjectsWithOptions:(CPEnumerationOptions)options usingBlock:(Function /*(id anObject, int idx, @ref BOOL stop)*/)aFunction -{ - var shouldStop = NO; - - if (options & CPEnumerationReverse) - { - var index = [self count] - 1, - stop = -1, - increment = -1; - } - else - { - var index = 0, - stop = [self count], - increment = 1; - } - - for (; index !== stop; index += increment) - { - aFunction([self objectAtIndex:index], index, AT_REF(shouldStop)); - if (shouldStop) - return; - } -} - -// Comparing arrays -/*! - Returns the first object found in the receiver (starting at index 0) which is present in the - \c otherArray as determined by using the \c -containsObject: method. - @return the first object found, or \c nil if no common object was found. -*/ -- (id)firstObjectCommonWithArray:(CPArray)anArray -{ - var count = [self count]; - - if (![anArray count] || !count) - return nil; - - var index = 0; - - for (; index < count; ++index) - { - var object = [self objectAtIndex:index]; - - if ([anArray containsObject:object]) - return object; - } - - return nil; -} - -/*! - Returns true if anArray contains exactly the same objects as the receiver. -*/ -- (BOOL)isEqualToArray:(id)anArray -{ - if (self === anArray) - return YES; - - if (![anArray isKindOfClass:CPArray]) - return NO; - - var count = [self count], - otherCount = [anArray count]; - - if (anArray === nil || count !== otherCount) - return NO; - - var index = 0; - - for (; index < count; ++index) - { - var lhs = [self objectAtIndex:index], - rhs = [anArray objectAtIndex:index]; - - // If they're not equal, and either doesn't have an isa, or they're !isEqual (not isEqual) - if (lhs !== rhs && (lhs && !lhs.isa || rhs && !rhs.isa || ![lhs isEqual:rhs])) - return NO; - } - - return YES; -} - -- (BOOL)isEqual:(id)anObject -{ - return (self === anObject) || [self isEqualToArray:anObject]; -} - -- (Array)_javaScriptArrayCopy -{ - var index = 0, - count = [self count], - copy = []; - - for (; index < count; ++index) - push.call(copy, [self objectAtIndex:index]); - - return copy; -} - -// Deriving new arrays -/*! - Returns a copy of this array plus \c anObject inside the copy. - @param anObject the object to be added to the array copy - @throws CPInvalidArgumentException if \c anObject is \c nil - @return a new array that should be n+1 in size compared to the receiver. -*/ -- (CPArray)arrayByAddingObject:(id)anObject -{ - var argumentArray = [self _javaScriptArrayCopy]; - - // We push instead of concat,because concat flattens arrays, so if the object - // passed in is an array, we end up with its contents added instead of itself. - push.call(argumentArray, anObject); - - return objj_msgSend([self class], @selector(arrayWithArray:), argumentArray); -} - -/*! - Returns a new array which is the concatenation of \c self and otherArray (in this precise order). - @param anArray the array that will be concatenated to the receiver's copy -*/ -- (CPArray)arrayByAddingObjectsFromArray:(CPArray)anArray -{ - if (!anArray) - return [self copy]; - - var anArray = anArray.isa === _CPJavaScriptArray ? anArray : [anArray _javaScriptArrayCopy], - argumentArray = concat.call([self _javaScriptArrayCopy], anArray); - - return objj_msgSend([self class], @selector(arrayWithArray:), argumentArray); -} - -/* -- (CPArray)filteredArrayUsingPredicate:(CPPredicate)aPredicate -{ - var i= 0, - count = [self count], - array = [CPArray array]; - - for (; i self.length) - [CPException raise:CPRangeException reason:"subarrayWithRange: aRange out of bounds"]; - - var index = aRange.location, - count = CPMaxRange(aRange), - argumentArray = []; - - for (; index < count; ++index) - push.call(argumentArray, [self objectAtIndex:index]); - - return objj_msgSend([self class], @selector(arrayWithArray:), argumentArray); -} - -// Sorting arrays -/* - Not yet described. -*/ -- (CPArray)sortedArrayUsingDescriptors:(CPArray)descriptors -{ - var sorted = [self copy]; - - [sorted sortUsingDescriptors:descriptors]; - - return sorted; -} - -/*! - Return a copy of the receiver sorted using the function passed into the first parameter. -*/ -- (CPArray)sortedArrayUsingFunction:(Function)aFunction -{ - return [self sortedArrayUsingFunction:aFunction context:nil]; -} - -/*! - Returns an array in which the objects are ordered according - to a sort with \c aFunction. This invokes - \c -sortUsingFunction:context. - @param aFunction a JavaScript 'Function' type that compares objects - @param aContext context information - @return a new sorted array -*/ -- (CPArray)sortedArrayUsingFunction:(Function)aFunction context:(id)aContext -{ - var sorted = [self copy]; - - [sorted sortUsingFunction:aFunction context:aContext]; - - return sorted; -} - -/*! - Returns a new array in which the objects are ordered according to a sort with \c aSelector. - @param aSelector the selector that will perform object comparisons -*/ -- (CPArray)sortedArrayUsingSelector:(SEL)aSelector -{ - var sorted = [self copy]; - - [sorted sortUsingSelector:aSelector]; - - return sorted; -} - -// Working with string elements - -/*! - Returns a string formed by concatenating the objects in the - receiver, with the specified separator string inserted between each part. - If the element is a Objective-J object, then the \c -description - of that object will be used, otherwise the default JavaScript representation will be used. - @param aString the separator that will separate each object string - @return the string representation of the array -*/ -- (CPString)componentsJoinedByString:(CPString)aString -{ - return join.call([self _javaScriptArrayCopy], aString); -} - -// Creating a description of the array - -/*! - Returns a human readable description of this array and it's elements. -*/ -- (CPString)description -{ - var index = 0, - count = [self count], - description = "@["; - - for (; index < count; ++index) - { - if (index === 0) - description += "\n\t"; - - var object = [self objectAtIndex:index]; - description += CPDescriptionOfObject(object); - - if (index !== count - 1) - description += ",\n\t"; - else - description += "\n"; - } - - return description + "]"; -} - -// Collecting paths -/*! - Returns a new array subset formed by selecting the elements that have - filename extensions from \c filterTypes. Only elements - that are of type CPString are candidates for inclusion in the returned array. - @param filterTypes an array of CPString objects that contain file extensions (without the '.') - @return a new array with matching paths -*/ -- (CPArray)pathsMatchingExtensions:(CPArray)filterTypes -{ - var index = 0, - count = [self count], - array = []; - - for (; index < count; ++index) - if (self[index].isa && [self[index] isKindOfClass:[CPString class]] && [filterTypes containsObject:[self[index] pathExtension]]) - array.push(self[index]); - - return array; -} - -// Copying arrays - -/*! - Makes a copy of the receiver. - @return a new CPArray copy -*/ -- (id)copy -{ - return [[self class] arrayWithArray:self]; -} - -@end - -@implementation CPArray (CPCoding) - -- (id)initWithCoder:(CPCoder)aCoder -{ - return [aCoder decodeObjectForKey:@"CP.objects"]; -} - -- (void)encodeWithCoder:(CPCoder)aCoder -{ - [aCoder _encodeArrayOfObjects:self forKey:@"CP.objects"]; -} - -@end - -/* @ignore */ -@implementation _CPArrayEnumerator : CPEnumerator -{ - CPArray _array; - int _index; -} - -- (id)initWithArray:(CPArray)anArray -{ - self = [super init]; - - if (self) - { - _array = anArray; - _index = -1; - } - - return self; -} - -- (id)nextObject -{ - if (++_index >= [_array count]) - return nil; - - return [_array objectAtIndex:_index]; -} - -@end - -/* @ignore */ -@implementation _CPReverseArrayEnumerator : CPEnumerator -{ - CPArray _array; - int _index; -} - -- (id)initWithArray:(CPArray)anArray -{ - self = [super init]; - - if (self) - { - _array = anArray; - _index = [_array count]; - } - - return self; -} - -- (id)nextObject -{ - if (--_index < 0) - return nil; - - return [_array objectAtIndex:_index]; -} - -@end - -var _CPSharedPlaceholderArray = nil; - -@implementation _CPPlaceholderArray : CPArray -{ -} - -+ (id)alloc -{ - if (!_CPSharedPlaceholderArray) - _CPSharedPlaceholderArray = [super alloc]; - - return _CPSharedPlaceholderArray; -} - -@end - +@import "_CPArray.j" @import "_CPJavaScriptArray.j" diff --git a/Foundation/CPArray/CPMutableArray.j b/Foundation/CPArray/CPMutableArray.j index 629bb9382..a1b3538ee 100644 --- a/Foundation/CPArray/CPMutableArray.j +++ b/Foundation/CPArray/CPMutableArray.j @@ -1,6 +1,7 @@ -@import "CPArray.j" +@import "_CPArray.j" +@class CPIndexSet /*! @class CPMutableArray @@ -217,7 +218,7 @@ */ - (void)removeObject:(id)anObject { - [self removeObject:anObject inRange:CPMakeRange(0, length)]; + [self removeObject:anObject inRange:CPMakeRange(0, self.length)]; } /*! @@ -232,7 +233,7 @@ while ((index = [self indexOfObject:anObject inRange:aRange]) != CPNotFound) { [self removeObjectAtIndex:index]; - aRange = CPIntersectionRange(CPMakeRange(index, length - index), aRange); + aRange = CPIntersectionRange(CPMakeRange(index, self.length - index), aRange); } } diff --git a/Foundation/CPArray/_CPArray.j b/Foundation/CPArray/_CPArray.j new file mode 100755 index 000000000..5154a2400 --- /dev/null +++ b/Foundation/CPArray/_CPArray.j @@ -0,0 +1,1022 @@ +/* + * CPArray.j + * Foundation + * + * Created by Francisco Tolmasky. + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPEnumerator.j" +@import "CPException.j" +@import "CPObject.j" +@import "CPRange.j" +@import "CPSortDescriptor.j" + +@class _CPJavaScriptArray +@class CPIndexSet + +CPEnumerationNormal = 0; +CPEnumerationConcurrent = 1 << 0; +CPEnumerationReverse = 1 << 1; + +CPBinarySearchingFirstEqual = 1 << 8; +CPBinarySearchingLastEqual = 1 << 9; +CPBinarySearchingInsertionIndex = 1 << 10; + +var concat = Array.prototype.concat, + join = Array.prototype.join, + push = Array.prototype.push; + +#define FORWARD_TO_CONCRETE_CLASS()\ + if (self === _CPSharedPlaceholderArray)\ + {\ + arguments[0] = [_CPJavaScriptArray alloc];\ + return objj_msgSend.apply(this, arguments);\ + }\ + return [super init]; + +/*! + @class CPArray + @brief A mutable array backed by a JavaScript Array. + @ingroup foundation + + A mutable array class backed by a JavaScript Array. + There is also a CPMutableArray class, + but it is just a child class of this class with an + empty implementation. All mutable functionality is + implemented directly in CPArray. +*/ +@implementation CPArray : CPObject + +/*! + Returns a new uninitialized CPArray. +*/ ++ (id)alloc +{ + if (self === CPArray || self === CPMutableArray) + return [_CPPlaceholderArray alloc]; + + return [super alloc]; +} + +/*! + Returns a new initialized CPArray. +*/ ++ (id)array +{ + return [[self alloc] init]; +} + +/*! + Creates a new array containing the objects in \c anArray. + @param anArray Objects in this array will be added to the new array + @return a new CPArray of the provided objects +*/ ++ (id)arrayWithArray:(CPArray)anArray +{ + return [[self alloc] initWithArray:anArray]; +} + +/*! + Creates a new array with \c anObject in it. + @param anObject the object to be added to the array + @return a new CPArray containing a single object +*/ ++ (id)arrayWithObject:(id)anObject +{ + return [[self alloc] initWithObjects:anObject]; +} + +/*! + Creates a new CPArray containing all the objects passed as arguments to the method. + @param anObject the objects that will be added to the new array + @return a new CPArray containing the argument objects +*/ ++ (id)arrayWithObjects:(id)anObject, ... +{ + arguments[0] = [self alloc]; + arguments[1] = @selector(initWithObjects:); + + return objj_msgSend.apply(this, arguments); +} + +/*! + Creates a CPArray from a JavaScript array of objects. + @param objects the JavaScript Array + @param aCount the number of objects in the JS Array + @return a new CPArray containing the specified objects +*/ ++ (id)arrayWithObjects:(id)objects count:(unsigned)aCount +{ + return [[self alloc] initWithObjects:objects count:aCount]; +} + +/*! + Initializes the CPArray. + @return the initialized array +*/ +- (id)init +{ + FORWARD_TO_CONCRETE_CLASS(); +} + +// Creating an Array +/*! + Creates a new CPArray from \c anArray. + @param anArray objects in this array will be added to the new array + @return a new CPArray containing the objects of \c anArray +*/ +- (id)initWithArray:(CPArray)anArray +{ + FORWARD_TO_CONCRETE_CLASS(); +} + +/*! + Initializes a the array with the contents of \c anArray + and optionally performs a deep copy of the objects based on \c copyItems. + @param anArray the array to copy the data from + @param shouldCopyItems if \c YES, each object will be copied by having a \c -copy message + sent to it, and the returned object will be added to the receiver. Otherwise, no copying will be performed. + @return the initialized array of objects +*/ +- (id)initWithArray:(CPArray)anArray copyItems:(BOOL)shouldCopyItems +{ + FORWARD_TO_CONCRETE_CLASS(); +} + +/*! + initializes an array with the contents of anArray +*/ +- (id)initWithObjects:(id)anObject, ... +{ + FORWARD_TO_CONCRETE_CLASS(); +} + +/*! + Initializes the array with a JavaScript array of objects. + @param objects the array of objects to add to the receiver + @param aCount the number of objects in \c objects + @return the initialized CPArray +*/ +- (id)initWithObjects:(id)objects count:(unsigned)aCount +{ + FORWARD_TO_CONCRETE_CLASS(); +} + +// FIXME: This should be defined in CPMutableArray, not here. +- (id)initWithCapacity:(unsigned)aCapacity +{ + FORWARD_TO_CONCRETE_CLASS(); +} + +// Querying an array +/*! + Returns \c YES if the array contains \c anObject. Otherwise, it returns \c NO. + @param anObject the method checks if this object is already in the array +*/ +- (BOOL)containsObject:(id)anObject +{ + return [self indexOfObject:anObject] !== CPNotFound; +} + +- (BOOL)containsObjectIdenticalTo:(id)anObject +{ + return [self indexOfObjectIdenticalTo:anObject] !== CPNotFound; +} + +/*! + Returns the number of elements in the array +*/ +- (int)count +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); +} + +/*! + Returns the first object in the array. If the array is empty, returns \c nil +*/ +- (id)firstObject +{ + var count = [self count]; + + if (count > 0) + return [self objectAtIndex:0]; + + return nil; +} + +/*! + Returns the last object in the array. If the array is empty, returns \c nil +*/ +- (id)lastObject +{ + var count = [self count]; + + if (count <= 0) + return nil; + + return [self objectAtIndex:count - 1]; +} + +/*! + Returns the object at index \c anIndex. + @throws CPRangeException if \c anIndex is out of bounds +*/ +- (id)objectAtIndex:(int)anIndex +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); +} + +/*! + Returns the objects at \c indexes in a new CPArray. + @param indexes the set of indices + @throws CPRangeException if any of the indices is greater than or equal to the length of the array +*/ +- (CPArray)objectsAtIndexes:(CPIndexSet)indexes +{ + var index = CPNotFound, + objects = []; + + while ((index = [indexes indexGreaterThanIndex:index]) !== CPNotFound) + objects.push([self objectAtIndex:index]); + + return objects; +} + +/*! + Returns an enumerator describing the array sequentially + from the first to the last element. You should not modify + the array during enumeration. +*/ +- (CPEnumerator)objectEnumerator +{ + return [[_CPArrayEnumerator alloc] initWithArray:self]; +} + +/*! + Returns an enumerator describing the array sequentially + from the last to the first element. You should not modify + the array during enumeration. +*/ +- (CPEnumerator)reverseObjectEnumerator +{ + return [[_CPReverseArrayEnumerator alloc] initWithArray:self]; +} + +/*! + Returns the index of \c anObject in this array. + If the object is not in the array, + returns \c CPNotFound. It first attempts to find + a match using \c -isEqual:, then \c ===. + @param anObject the object to search for +*/ +- (CPUInteger)indexOfObject:(id)anObject +{ + return [self indexOfObject:anObject inRange:nil]; +} + +/*! + Returns the index of \c anObject in the array + within \c aRange. It first attempts to find + a match using \c -isEqual:, then \c ===. + @param anObject the object to search for + @param aRange the range to search within + @return the index of the object, or \c CPNotFound if it was not found. +*/ +- (CPUInteger)indexOfObject:(id)anObject inRange:(CPRange)aRange +{ + // Only use isEqual: if our object is a CPObject. + if (anObject && anObject.isa) + { + var index = aRange ? aRange.location : 0, + count = aRange ? CPMaxRange(aRange) : [self count]; + + for (; index < count; ++index) + if ([[self objectAtIndex:index] isEqual:anObject]) + return index; + + return CPNotFound; + } + + return [self indexOfObjectIdenticalTo:anObject inRange:aRange]; +} + +/*! + Returns the index of \c anObject in the array. The test for equality is done using only \c ===. + @param anObject the object to search for + @return the index of the object in the array. \c CPNotFound if the object is not in the array. +*/ +- (CPUInteger)indexOfObjectIdenticalTo:(id)anObject +{ + return [self indexOfObjectIdenticalTo:anObject inRange:nil]; +} + +/*! + Returns the index of \c anObject in the array + within \c aRange. The test for equality is + done using only \c ==. + @param anObject the object to search for + @param aRange the range to search within + @return the index of the object, or \c CPNotFound if it was not found. +*/ +- (CPUInteger)indexOfObjectIdenticalTo:(id)anObject inRange:(CPRange)aRange +{ + var index = aRange ? aRange.location : 0, + count = aRange ? CPMaxRange(aRange) : [self count]; + + for (; index < count; ++index) + if ([self objectAtIndex:index] === anObject) + return index; + + return CPNotFound; +} + +/*! + Returns the index of the first object in the receiver that passes a test in a given Javascript function. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return \c CPNotFound to the sender. + @return The index of the first matching object, or \c CPNotFound if there is no matching object. +*/ +- (unsigned)indexOfObjectPassingTest:(Function /*(id anObject, int idx)*/)aPredicate +{ + return [self indexOfObjectWithOptions:CPEnumerationNormal passingTest:aPredicate context:undefined]; +} + +/*! + Returns the index of the first object in the receiver that passes a test in a given Javascript function. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index, context) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return \c CPNotFound to the sender. + @param context An object that contains context information you want passed to the predicate function. + @return The index of the first matching object, or \c CPNotFound if there is no matching object. +*/ +- (unsigned)indexOfObjectPassingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext +{ + return [self indexOfObjectWithOptions:CPEnumerationNormal passingTest:aPredicate context:aContext]; +} + +/*! + Returns the index of the first object in the receiver that passes a test in a given Javascript function. + @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards + or CPEnumerationReverse to search in reverse. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return CPNotFound to the sender. + @return The index of the first matching object, or \c CPNotFound if there is no matching object. +*/ +- (unsigned)indexOfObjectWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx)*/)aPredicate +{ + return [self indexOfObjectWithOptions:options passingTest:aPredicate context:undefined]; +} + +/*! + Returns the index of the first object in the receiver that passes a test in a given Javascript function. + @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards + or CPEnumerationReverse to search in reverse. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index, context) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return CPNotFound to the sender. + @param context An object that contains context information you want passed to the predicate function. + @return The index of the first matching object, or \c CPNotFound if there is no matching object. +*/ +- (unsigned)indexOfObjectWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext +{ + // We don't use an enumerator because they return nil to indicate end of enumeration, + // but nil may actually be the value we are looking for, so we have to loop over the array. + if (options & CPEnumerationReverse) + { + var index = [self count] - 1, + stop = -1, + increment = -1; + } + else + { + var index = 0, + stop = [self count], + increment = 1; + } + + for (; index !== stop; index += increment) + if (aPredicate([self objectAtIndex:index], index, aContext)) + return index; + + return CPNotFound; +} + +- (CPUInteger)indexOfObject:(id)anObject + inSortedRange:(CPRange)aRange + options:(CPBinarySearchingOptions)options + usingComparator:(Function)aComparator +{ + // FIXME: comparator is not a function + if (!aComparator) + _CPRaiseInvalidArgumentException(self, _cmd, "comparator is nil"); + + if ((options & CPBinarySearchingFirstEqual) && (options & CPBinarySearchingLastEqual)) + _CPRaiseInvalidArgumentException(self, _cmd, + "both CPBinarySearchingFirstEqual and CPBinarySearchingLastEqual options cannot be specified"); + + var count = [self count]; + + if (count <= 0) + return (options & CPBinarySearchingInsertionIndex) ? 0 : CPNotFound; + + var first = aRange ? aRange.location : 0, + last = (aRange ? CPMaxRange(aRange) : [self count]) - 1; + + if (first < 0) + _CPRaiseRangeException(self, _cmd, first, count); + + if (last >= count) + _CPRaiseRangeException(self, _cmd, last, count); + + while (first <= last) + { + var middle = FLOOR((first + last) / 2), + result = aComparator(anObject, [self objectAtIndex:middle]); + + if (result > 0) + first = middle + 1; + + else if (result < 0) + last = middle - 1; + + else + { + if (options & CPBinarySearchingFirstEqual) + while (middle > first && aComparator(anObject, [self objectAtIndex:middle - 1]) === CPOrderedSame) + --middle; + + else if (options & CPBinarySearchingLastEqual) + { + while (middle < last && aComparator(anObject, [self objectAtIndex:middle + 1]) === CPOrderedSame) + ++middle; + + if (options & CPBinarySearchingInsertionIndex) + ++middle; + } + + return middle; + } + } + + if (options & CPBinarySearchingInsertionIndex) + return MAX(first, 0); + + return CPNotFound; +} + +/*! + Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return \c CPNotFound to the sender. + @return A CPIndexSet of the matching object indexes. +*/ +- (CPIndexSet)indexesOfObjectsPassingTest:(Function /*(id anObject, int idx)*/)aPredicate +{ + return [self indexesOfObjectsWithOptions:CPEnumerationNormal passingTest:aPredicate context:undefined]; +} + +/*! + Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index, context) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return \c CPNotFound to the sender. + @param context An object that contains context information you want passed to the predicate function. + @return A CPIndexSet of the matching object indexes. +*/ +- (CPIndexSet)indexesOfObjectsPassingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext +{ + return [self indexesOfObjectsWithOptions:CPEnumerationNormal passingTest:aPredicate context:aContext]; +} + +/*! + Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. + @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards + or CPEnumerationReverse to search in reverse. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return CPNotFound to the sender. + @return A CPIndexSet of the matching object indexes. +*/ +- (CPIndexSet)indexesOfObjectsWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx)*/)aPredicate +{ + return [self indexesOfObjectsWithOptions:options passingTest:aPredicate context:undefined]; +} + +/*! + Returns the indexes of the objects in the receiver that pass a test in a given Javascript function. + @param options Specifies the direction in which the array is searched. Pass CPEnumerationNormal to search forwards + or CPEnumerationReverse to search in reverse. + @param predicate The function to apply to objects of the array. The function should have the signature: + @code function(object, index, context) @endcode + The predicate function should either return a Boolean value that indicates whether the object passed the test, + or nil to stop the search, which will return CPNotFound to the sender. + @param context An object that contains context information you want passed to the predicate function. + @return A CPIndexSet of the matching object indexes. +*/ +- (CPIndexSet)indexesOfObjectsWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id anObject, int idx, id context)*/)aPredicate context:(id)aContext +{ + // We don't use an enumerator because they return nil to indicate end of enumeration, + // but nil may actually be the value we are looking for, so we have to loop over the array. + if (options & CPEnumerationReverse) + { + var index = [self count] - 1, + stop = -1, + increment = -1; + } + else + { + var index = 0, + stop = [self count], + increment = 1; + } + + var indexes = [CPIndexSet indexSet]; + + for (; index !== stop; index += increment) + if (aPredicate([self objectAtIndex:index], index, aContext)) + [indexes addIndex:index]; + + return indexes; +} + +// Sending messages to elements +/*! + Sends each element in the array a message. + @param aSelector the selector of the message to send + @throws CPInvalidArgumentException if \c aSelector is \c nil +*/ +- (void)makeObjectsPerformSelector:(SEL)aSelector +{ + [self makeObjectsPerformSelector:aSelector withObjects:nil]; +} + +/*! + Sends each element in the array a message with an argument. + @param aSelector the selector of the message to send + @param anObject the first argument of the message + @throws CPInvalidArgumentException if \c aSelector is \c nil +*/ +- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)anObject +{ + return [self makeObjectsPerformSelector:aSelector withObjects:[anObject]]; +} + +- (void)makeObjectsPerformSelector:(SEL)aSelector withObjects:(CPArray)objects +{ + if (!aSelector) + [CPException raise:CPInvalidArgumentException + reason:"makeObjectsPerformSelector:withObjects: 'aSelector' can't be nil"]; + + var index = 0, + count = [self count]; + + if ([objects count]) + { + var argumentsArray = [[nil, aSelector] arrayByAddingObjectsFromArray:objects]; + + for (; index < count; ++index) + { + argumentsArray[0] = [self objectAtIndex:index]; + objj_msgSend.apply(this, argumentsArray); + } + } + + else + for (; index < count; ++index) + objj_msgSend([self objectAtIndex:index], aSelector); +} + +- (void)enumerateObjectsUsingBlock:(Function /*(id anObject, int idx, @ref BOOL stop)*/)aFunction +{ + // This could have been [self enumerateObjectsWithOptions:CPEnumerationNormal usingBlock:aFunction] + // but this method should be as fast as possible. + var index = 0, + count = [self count], + shouldStop = NO, + shouldStopRef = AT_REF(shouldStop); + + for (; index < count; ++index) + { + aFunction([self objectAtIndex:index], index, shouldStopRef); + if (shouldStop) + return; + } +} + +- (void)enumerateObjectsWithOptions:(CPEnumerationOptions)options usingBlock:(Function /*(id anObject, int idx, @ref BOOL stop)*/)aFunction +{ + var shouldStop = NO; + + if (options & CPEnumerationReverse) + { + var index = [self count] - 1, + stop = -1, + increment = -1; + } + else + { + var index = 0, + stop = [self count], + increment = 1; + } + + for (; index !== stop; index += increment) + { + aFunction([self objectAtIndex:index], index, AT_REF(shouldStop)); + if (shouldStop) + return; + } +} + +// Comparing arrays +/*! + Returns the first object found in the receiver (starting at index 0) which is present in the + \c otherArray as determined by using the \c -containsObject: method. + @return the first object found, or \c nil if no common object was found. +*/ +- (id)firstObjectCommonWithArray:(CPArray)anArray +{ + var count = [self count]; + + if (![anArray count] || !count) + return nil; + + var index = 0; + + for (; index < count; ++index) + { + var object = [self objectAtIndex:index]; + + if ([anArray containsObject:object]) + return object; + } + + return nil; +} + +/*! + Returns true if anArray contains exactly the same objects as the receiver. +*/ +- (BOOL)isEqualToArray:(id)anArray +{ + if (self === anArray) + return YES; + + if (![anArray isKindOfClass:CPArray]) + return NO; + + var count = [self count], + otherCount = [anArray count]; + + if (anArray === nil || count !== otherCount) + return NO; + + var index = 0; + + for (; index < count; ++index) + { + var lhs = [self objectAtIndex:index], + rhs = [anArray objectAtIndex:index]; + + // If they're not equal, and either doesn't have an isa, or they're !isEqual (not isEqual) + if (lhs !== rhs && (lhs && !lhs.isa || rhs && !rhs.isa || ![lhs isEqual:rhs])) + return NO; + } + + return YES; +} + +- (BOOL)isEqual:(id)anObject +{ + return (self === anObject) || [self isEqualToArray:anObject]; +} + +- (Array)_javaScriptArrayCopy +{ + var index = 0, + count = [self count], + copy = []; + + for (; index < count; ++index) + push.call(copy, [self objectAtIndex:index]); + + return copy; +} + +// Deriving new arrays +/*! + Returns a copy of this array plus \c anObject inside the copy. + @param anObject the object to be added to the array copy + @throws CPInvalidArgumentException if \c anObject is \c nil + @return a new array that should be n+1 in size compared to the receiver. +*/ +- (CPArray)arrayByAddingObject:(id)anObject +{ + var argumentArray = [self _javaScriptArrayCopy]; + + // We push instead of concat,because concat flattens arrays, so if the object + // passed in is an array, we end up with its contents added instead of itself. + push.call(argumentArray, anObject); + + return objj_msgSend([self class], @selector(arrayWithArray:), argumentArray); +} + +/*! + Returns a new array which is the concatenation of \c self and otherArray (in this precise order). + @param anArray the array that will be concatenated to the receiver's copy +*/ +- (CPArray)arrayByAddingObjectsFromArray:(CPArray)anArray +{ + if (!anArray) + return [self copy]; + + var anArray = anArray.isa === _CPJavaScriptArray ? anArray : [anArray _javaScriptArrayCopy], + argumentArray = concat.call([self _javaScriptArrayCopy], anArray); + + return objj_msgSend([self class], @selector(arrayWithArray:), argumentArray); +} + +/* +- (CPArray)filteredArrayUsingPredicate:(CPPredicate)aPredicate +{ + var i= 0, + count = [self count], + array = [CPArray array]; + + for (; i self.length) + [CPException raise:CPRangeException reason:"subarrayWithRange: aRange out of bounds"]; + + var index = aRange.location, + count = CPMaxRange(aRange), + argumentArray = []; + + for (; index < count; ++index) + push.call(argumentArray, [self objectAtIndex:index]); + + return objj_msgSend([self class], @selector(arrayWithArray:), argumentArray); +} + +// Sorting arrays +/* + Not yet described. +*/ +- (CPArray)sortedArrayUsingDescriptors:(CPArray)descriptors +{ + var sorted = [self copy]; + + [sorted sortUsingDescriptors:descriptors]; + + return sorted; +} + +/*! + Return a copy of the receiver sorted using the function passed into the first parameter. +*/ +- (CPArray)sortedArrayUsingFunction:(Function)aFunction +{ + return [self sortedArrayUsingFunction:aFunction context:nil]; +} + +/*! + Returns an array in which the objects are ordered according + to a sort with \c aFunction. This invokes + \c -sortUsingFunction:context. + @param aFunction a JavaScript 'Function' type that compares objects + @param aContext context information + @return a new sorted array +*/ +- (CPArray)sortedArrayUsingFunction:(Function)aFunction context:(id)aContext +{ + var sorted = [self copy]; + + [sorted sortUsingFunction:aFunction context:aContext]; + + return sorted; +} + +/*! + Returns a new array in which the objects are ordered according to a sort with \c aSelector. + @param aSelector the selector that will perform object comparisons +*/ +- (CPArray)sortedArrayUsingSelector:(SEL)aSelector +{ + var sorted = [self copy]; + + [sorted sortUsingSelector:aSelector]; + + return sorted; +} + +// Working with string elements + +/*! + Returns a string formed by concatenating the objects in the + receiver, with the specified separator string inserted between each part. + If the element is a Objective-J object, then the \c -description + of that object will be used, otherwise the default JavaScript representation will be used. + @param aString the separator that will separate each object string + @return the string representation of the array +*/ +- (CPString)componentsJoinedByString:(CPString)aString +{ + return join.call([self _javaScriptArrayCopy], aString); +} + +// Creating a description of the array + +/*! + Returns a human readable description of this array and it's elements. +*/ +- (CPString)description +{ + var index = 0, + count = [self count], + description = "@["; + + for (; index < count; ++index) + { + if (index === 0) + description += "\n"; + + var object = [self objectAtIndex:index]; + + // NOTE: replace(/^/mg, " ") inserts 4 spaces at the beginning of every line + description += CPDescriptionOfObject(object).replace(/^/mg, " "); + + if (index < count - 1) + description += ",\n"; + else + description += "\n"; + } + + return description + "]"; +} + +// Collecting paths +/*! + Returns a new array subset formed by selecting the elements that have + filename extensions from \c filterTypes. Only elements + that are of type CPString are candidates for inclusion in the returned array. + @param filterTypes an array of CPString objects that contain file extensions (without the '.') + @return a new array with matching paths +*/ +- (CPArray)pathsMatchingExtensions:(CPArray)filterTypes +{ + var index = 0, + count = [self count], + array = []; + + for (; index < count; ++index) + if (self[index].isa && [self[index] isKindOfClass:[CPString class]] && [filterTypes containsObject:[self[index] pathExtension]]) + array.push(self[index]); + + return array; +} + +// Copying arrays + +/*! + Makes a copy of the receiver. + @return a new CPArray copy +*/ +- (id)copy +{ + return [[self class] arrayWithArray:self]; +} + +@end + +@implementation CPArray (CPCoding) + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [aCoder decodeObjectForKey:@"CP.objects"]; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [aCoder _encodeArrayOfObjects:self forKey:@"CP.objects"]; +} + +@end + +/* @ignore */ +@implementation _CPArrayEnumerator : CPEnumerator +{ + CPArray _array; + int _index; +} + +- (id)initWithArray:(CPArray)anArray +{ + self = [super init]; + + if (self) + { + _array = anArray; + _index = -1; + } + + return self; +} + +- (id)nextObject +{ + if (++_index >= [_array count]) + return nil; + + return [_array objectAtIndex:_index]; +} + +@end + +/* @ignore */ +@implementation _CPReverseArrayEnumerator : CPEnumerator +{ + CPArray _array; + int _index; +} + +- (id)initWithArray:(CPArray)anArray +{ + self = [super init]; + + if (self) + { + _array = anArray; + _index = [_array count]; + } + + return self; +} + +- (id)nextObject +{ + if (--_index < 0) + return nil; + + return [_array objectAtIndex:_index]; +} + +@end + +var _CPSharedPlaceholderArray = nil; + +@implementation _CPPlaceholderArray : CPArray +{ +} + ++ (id)alloc +{ + if (!_CPSharedPlaceholderArray) + _CPSharedPlaceholderArray = [super alloc]; + + return _CPSharedPlaceholderArray; +} + +@end + +//@import "_CPJavaScriptArray.j" diff --git a/Foundation/CPAttributedString.j b/Foundation/CPAttributedString.j index 29c8b7749..546ca4f30 100644 --- a/Foundation/CPAttributedString.j +++ b/Foundation/CPAttributedString.j @@ -826,7 +826,7 @@ var copyRangeEntry = function copyRangeEntry(/*RangeEntry*/aRangeEntry) return makeRangeEntry(CPMakeRangeCopy(aRangeEntry.range), [aRangeEntry.attributes copy]); }; -var splitRangeEntry = function splitRangeEntryAtIndex(/*RangeEntry*/aRangeEntry, /*unsigned*/anIndex) +var splitRangeEntryAtIndex = function splitRangeEntryAtIndex(/*RangeEntry*/aRangeEntry, /*unsigned*/anIndex) { var newRangeEntry = copyRangeEntry(aRangeEntry), cachedIndex = CPMaxRange(aRangeEntry.range); diff --git a/Foundation/CPCharacterSet.j b/Foundation/CPCharacterSet.j index 8a372e0a5..21700bba8 100644 --- a/Foundation/CPCharacterSet.j +++ b/Foundation/CPCharacterSet.j @@ -147,7 +147,8 @@ var _builtInCharacterSets = {}; + (id)_sharedCharacterSetWithName:(id)csname { var cs = _builtInCharacterSets[csname]; - if (cs == nil) + + if (!cs) { var i = 0, ranges = [CPArray array], @@ -160,6 +161,7 @@ var _builtInCharacterSets = {}; range = CPMakeRange(loc,length); [ranges addObject:range]; } + cs = [[_CPRangeCharacterSet alloc] initWithRanges:ranges]; _builtInCharacterSets[csname] = cs; } @@ -237,8 +239,8 @@ var CPCharacterSetInvertedKey = @"CPCharacterSetInvertedKey"; - (BOOL)characterIsMember:(CPString)aCharacter { - c = aCharacter.charCodeAt(0); - var enu = [_ranges objectEnumerator], + var c = aCharacter.charCodeAt(0), + enu = [_ranges objectEnumerator], range; while ((range = [enu nextObject]) !== nil) @@ -252,17 +254,29 @@ var CPCharacterSetInvertedKey = @"CPCharacterSetInvertedKey"; - (BOOL)hasMemberInPlane:(int)plane // TO DO : when inverted { - // FIXME: range is undefined... don't know what's supposed to be going on here. - // the highest Unicode plane we reach. - // (There are 65536 code points in each plane.) - var maxPlane = FLOOR((range.start + range.length - 1) / 65536); // FIXME: should iterate _ranges + // JavaScript strings can only return char codes + // up to 0xFFFF (per the ECMA standard), so + // they all live in the Basic Multilingual Plane + // (aka plane 0). - return (plane <= maxPlane); + if (plane !== 0) + return NO; + + var enu = [_ranges objectEnumerator], + range; + + while ((range = [enu nextObject]) !== nil) + { + if (!CPEmptyRange(range)) + return YES; + } + + return NO; } - (void)addCharactersInRange:(CPRange)aRange // Needs _inverted support { - [_ranges addObject:aRange]; + [_ranges addObject:aRange]; } - (void)addCharactersInString:(CPString)aString // Needs _inverted support @@ -317,7 +331,7 @@ var CPCharacterSetInvertedKey = @"CPCharacterSetInvertedKey"; - (BOOL)characterIsMember:(CPString)c { - return (_string.indexOf(c.charAt(0)) != -1) == !_inverted; + return (_string.indexOf(c.charAt(0)) !== -1) === !_inverted; } - (CPString)description @@ -331,9 +345,8 @@ var CPCharacterSetInvertedKey = @"CPCharacterSetInvertedKey"; // up to 0xFFFF (per the ECMA standard), so // they all live in the Basic Multilingual Plane // (aka plane 0). - // TODO if the above is wrong, this must be changed! - return plane == 0; + return _string.length && plane === 0; } - (void)addCharactersInRange:(CPRange)aRange // Needs _inverted support @@ -379,7 +392,7 @@ var CPCharacterSetInvertedKey = @"CPCharacterSetInvertedKey"; if (!aCharacterSet) return NO; - return _string == aCharacterSet._string && _inverted == aCharacterSet._inverted; + return _string === aCharacterSet._string && _inverted === aCharacterSet._inverted; } @end diff --git a/Foundation/CPCoder.j b/Foundation/CPCoder.j index bb07ac846..d02d918e0 100644 --- a/Foundation/CPCoder.j +++ b/Foundation/CPCoder.j @@ -23,6 +23,8 @@ @import "CPException.j" @import "CPObject.j" +@global _CPRaiseInvalidAbstractInvocation; + /*! @class CPCoder @ingroup foundation @@ -78,7 +80,7 @@ Encodes a point @param aPoint the point to be encoded. */ -- (void)encodePoint:(CPPoint)aPoint +- (void)encodePoint:(CGPoint)aPoint { [self encodeNumber:aPoint.x]; [self encodeNumber:aPoint.y]; @@ -98,7 +100,7 @@ Encodes a CGSize @param aSize the size to be encoded */ -- (void)encodeSize:(CPSize)aSize +- (void)encodeSize:(CGSize)aSize { [self encodeNumber:aSize.width]; [self encodeNumber:aSize.height]; diff --git a/Foundation/CPCountedSet.j b/Foundation/CPCountedSet.j index cb5c13953..034714b08 100644 --- a/Foundation/CPCountedSet.j +++ b/Foundation/CPCountedSet.j @@ -21,7 +21,7 @@ */ @import "CPObject.j" -@import "CPSet.j" +@import "_CPConcreteMutableSet.j" /*! @class CPCountedSet diff --git a/Foundation/CPDateFormatter.j b/Foundation/CPDateFormatter.j index 2e52fa725..175cb9aa8 100644 --- a/Foundation/CPDateFormatter.j +++ b/Foundation/CPDateFormatter.j @@ -22,9 +22,9 @@ #import "Ref.h" -@import -@import -@import +@import "CPDate.j" +@import "CPString.j" +@import "CPFormatter.j" CPDateFormatterNoStyle = 0; CPDateFormatterShortStyle = 1; @@ -78,9 +78,9 @@ CPDateFormatterFullStyle = 4; { case CPDateFormatterShortStyle: var format = "d/m/Y"; - return Date.parseDate(string, format); + return Date.parseDate(aString, format); default: - return Date.parseDate(string); + return Date.parseDate(aString); } } diff --git a/Foundation/CPDictionary.j b/Foundation/CPDictionary.j index e63313c75..7c58ff1de 100755 --- a/Foundation/CPDictionary.j +++ b/Foundation/CPDictionary.j @@ -322,7 +322,7 @@ */ - (int)count { - return _count; + return self._count; } /*! @@ -330,7 +330,7 @@ */ - (CPArray)allKeys { - return [_keys copy]; + return [self._keys copy]; } /*! @@ -338,11 +338,12 @@ */ - (CPArray)allValues { - var index = _keys.length, + var keys = self._keys, + index = keys.length, values = []; while (index--) - values.push(self.valueForKey(_keys[index])); + values.push(self.valueForKey(keys[index])); return values; } @@ -357,7 +358,8 @@ */ - (CPArray)allKeysForObject:(id)anObject { - var count = _keys.length, + var keys = self._keys, + count = keys.length, index = 0, matchingKeys = [], key = nil, @@ -365,8 +367,8 @@ for (; index < count; ++index) { - key = _keys[index]; - value = _buckets[key]; + key = keys[index]; + value = self._buckets[key]; if (value.isa && anObject && anObject.isa && [value respondsToSelector:@selector(isEqual:)] && [value isEqual:anObject]) matchingKeys.push(key); @@ -384,16 +386,18 @@ - (CPArray)keysOfEntriesWithOptions:(CPEnumerationOptions)options passingTest:(Function /*(id key, id obj, @ref BOOL stop)*/)predicate { + var keys = self._keys; + if (options & CPEnumerationReverse) { - var index = [_keys count] - 1, + var index = [keys count] - 1, stop = -1, increment = -1; } else { var index = 0, - stop = [_keys count], + stop = [keys count], increment = 1; } @@ -405,8 +409,8 @@ for (; index !== stop; index += increment) { - key = _keys[index]; - value = _buckets[key]; + key = keys[index]; + value = self._buckets[key]; if (predicate(key, value, stopRef)) matchingKeys.push(key); @@ -447,7 +451,7 @@ */ - (CPEnumerator)keyEnumerator { - return [_keys objectEnumerator]; + return [self._keys objectEnumerator]; } /*! @@ -471,12 +475,13 @@ if (count !== [aDictionary count]) return NO; - var index = count; + var index = count, + keys = self._keys; while (index--) { - var currentKey = _keys[index], - lhsObject = _buckets[currentKey], + var currentKey = keys[index], + lhsObject = self._buckets[currentKey], rhsObject = aDictionary._buckets[currentKey]; if (lhsObject === rhsObject) @@ -532,7 +537,7 @@ */ - (id)objectForKey:(id)aKey { - var object = _buckets[aKey]; + var object = self._buckets[aKey]; return (object === undefined) ? nil : object; } @@ -633,17 +638,20 @@ */ - (CPString)description { - var string = "@{\n", - keys = _keys, + var string = "@{", + keys = self._keys, index = 0, - count = _count; + count = self._count; for (; index < count; ++index) { - var key = keys[index], - value = valueForKey(key); + if (index === 0) + string += "\n"; - string += "\t" + key + ": " + CPDescriptionOfObject(value).split('\n').join("\n\t") + ",\n"; + var key = keys[index], + value = self.valueForKey(key); + + string += " @\"" + key + "\": " + CPDescriptionOfObject(value).split("\n").join("\n ") + (index + 1 < count ? "," : "") + "\n"; } return string + "}"; @@ -658,12 +666,14 @@ - (void)enumerateKeysAndObjectsUsingBlock:(Function /*(id aKey, id anObject, @ref BOOL stop)*/)aFunction { var shouldStop = NO, - shouldStopRef = AT_REF(shouldStop); + shouldStopRef = AT_REF(shouldStop), + keys = self._keys, + count = self._count; - for (var index = 0; index < _count; index++) + for (var index = 0; index < count; index++) { - var key = _keys[index], - value = valueForKey(key); + var key = keys[index], + value = self.valueForKey(key); aFunction(key, value, shouldStopRef); diff --git a/Foundation/CPError.j b/Foundation/CPError.j new file mode 100644 index 000000000..34a53bee5 --- /dev/null +++ b/Foundation/CPError.j @@ -0,0 +1,99 @@ +/* + * CPError.j + * Foundation + * + * Created by Alexander Ljungberg. + * Copyright 2013, SlevenBits Ltd. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPDictionary.j" +@import "CPObject.j" +@import "CPString.j" + +CPCappuccinoErrorDomain = CPCocoaErrorDomain = @"CPCappuccinoErrorDomain"; +// CPPOSIXErrorDomain = @"CPPOSIXErrorDomain"; +// CPOSStatusErrorDomain = @"CPOSStatusErrorDomain"; + +CPUnderlyingErrorKey = @"CPUnderlyingErrorKey"; + +CPLocalizedDescriptionKey = @"CPLocalizedDescriptionKey"; +CPLocalizedFailureReasonErrorKey = @"CPLocalizedFailureReasonErrorKey"; +CPLocalizedRecoverySuggestionErrorKey = @"CPLocalizedRecoverySuggestionErrorKey"; +CPLocalizedRecoveryOptionsErrorKey = @"CPLocalizedRecoveryOptionsErrorKey"; +CPRecoveryAttempterErrorKey = @"CPRecoveryAttempterErrorKey"; +CPHelpAnchorErrorKey = @"CPHelpAnchorErrorKey"; + +CPStringEncodingErrorKey = @"CPStringEncodingErrorKey"; +CPURLErrorKey = @"CPURLErrorKey"; +CPFilePathErrorKey = @"CPFilePathErrorKey"; + + +@implementation CPError : CPObject +{ + CPInteger _code @accessors(property=code, readonly); + CPString _domain @accessors(property=domain, readonly); + CPDictionary _userInfo @accessors(property=userInfo, readonly); +} + ++ (id)errorWithDomain:(CPString)aDomain code:(CPInteger)aCode userInfo:(CPDictionary)aDict +{ + return [[CPError alloc] initWithDomain:aDomain code:aCode userInfo:aDict]; +} + +- (id)initWithDomain:(CPString)aDomain code:(CPInteger)aCode userInfo:(CPDictionary)aDict +{ + if (self = [super init]) + { + _domain = aDomain; + _code = aCode; + _userInfo = aDict; + } + + return self; +} + +- (CPString)localizedDescription +{ + return [_userInfo objectForKey:CPLocalizedDescriptionKey]; +} + +- (CPString)localizedFailureReason +{ + return [_userInfo objectForKey:CPLocalizedFailureReasonErrorKey]; +} + +- (CPArray)localizedRecoveryOptions +{ + return [_userInfo objectForKey:CPLocalizedRecoveryOptionsErrorKey]; +} + +- (CPString)localizedRecoverySuggestion +{ + return [_userInfo objectForKey:CPLocalizedRecoverySuggestionErrorKey]; +} + +- (id)recoveryAttempter +{ + return [_userInfo objectForKey:CPRecoveryAttempterErrorKey]; +} + +- (id)description +{ + return [CPString stringWithFormat:@"Error Domain=%@ Code=%d UserInfo=%p %@", _domain, _code, _userInfo, [self localizedDescription]]; +} + +@end diff --git a/Foundation/CPException.j b/Foundation/CPException.j index 48594cdb4..be23f3d62 100755 --- a/Foundation/CPException.j +++ b/Foundation/CPException.j @@ -28,6 +28,7 @@ CPInvalidArgumentException = @"CPInvalidArgumentException"; CPUnsupportedMethodException = @"CPUnsupportedMethodException"; CPRangeException = @"CPRangeException"; CPInternalInconsistencyException = @"CPInternalInconsistencyException"; +CPGenericException = @"CPGenericException"; /*! @class CPException @@ -46,6 +47,8 @@ if (input == nil) @implementation CPException : CPObject { id _userInfo; + CPString name; + CPString message; } /* diff --git a/Foundation/CPGeometry.j b/Foundation/CPGeometry.j index 3f61b4fdb..93a3a2b05 100644 --- a/Foundation/CPGeometry.j +++ b/Foundation/CPGeometry.j @@ -21,7 +21,7 @@ */ @import "_CGGeometry.j" -        + CPMinXEdge = 0; CPMinYEdge = 1; CPMaxXEdge = 2; diff --git a/Foundation/CPIndexSet.j b/Foundation/CPIndexSet.j index ffa8300f2..fcb208847 100644 --- a/Foundation/CPIndexSet.j +++ b/Foundation/CPIndexSet.j @@ -94,6 +94,9 @@ */ - (id)initWithIndexesInRange:(CPRange)aRange { + if (aRange.location < 0) + [CPException raise:CPInvalidArgumentException reason:"Range " + CPStringFromRange(aRange) + " is out of bounds."]; + self = [super init]; if (self) @@ -733,6 +736,9 @@ */ - (void)addIndexesInRange:(CPRange)aRange { + if (aRange.location < 0) + [CPException raise:CPInvalidArgumentException reason:"Range " + CPStringFromRange(aRange) + " is out of bounds."]; + // If empty range, bail. if (aRange.length <= 0) return; diff --git a/Foundation/CPKeyValueObserving.j b/Foundation/CPKeyValueObserving.j index ecf7e1c1d..b0d8a5906 100644 --- a/Foundation/CPKeyValueObserving.j +++ b/Foundation/CPKeyValueObserving.j @@ -23,6 +23,7 @@ @import "CPArray.j" @import "CPDictionary.j" @import "CPException.j" +@import "CPIndexSet.j" @import "CPNull.j" @import "CPObject.j" @import "CPSet.j" diff --git a/Foundation/CPKeyedArchiver.j b/Foundation/CPKeyedArchiver.j index 0dd5b1659..a039edd9d 100644 --- a/Foundation/CPKeyedArchiver.j +++ b/Foundation/CPKeyedArchiver.j @@ -27,14 +27,15 @@ @import "CPNumber.j" @import "CPString.j" @import "CPValue.j" +@import "_CGGeometry.j" var CPArchiverReplacementClassNames = nil; var _CPKeyedArchiverDidEncodeObjectSelector = 1, _CPKeyedArchiverWillEncodeObjectSelector = 2, _CPKeyedArchiverWillReplaceObjectWithObjectSelector = 4, - _CPKeyedArchiverDidFinishSelector = 8, - _CPKeyedArchiverWillFinishSelector = 16; + _CPKeyedArchiverDidFinishEncodingSelector = 8, + _CPKeyedArchiverWillFinishEncodingSelector = 16; var _CPKeyedArchiverNullString = "$null", _CPKeyedArchiverNullReference = nil, @@ -190,7 +191,7 @@ var _CPKeyedArchiverStringClass = Nil, */ - (void)finishEncoding { - if (_delegate && _delegateSelectors & _CPKeyedArchiverWillFinishSelector) + if (_delegate && _delegateSelectors & _CPKeyedArchiverDidFinishEncodingSelector) [_delegate archiverWillFinish:self]; var i = 0, @@ -220,7 +221,7 @@ var _CPKeyedArchiverStringClass = Nil, [_data setPlistObject:_plistObject]; - if (_delegate && _delegateSelectors & _CPKeyedArchiverDidFinishSelector) + if (_delegate && _delegateSelectors & _CPKeyedArchiverDidFinishEncodingSelector) [_delegate archiverDidFinish:self]; } @@ -321,7 +322,7 @@ var _CPKeyedArchiverStringClass = Nil, */ - (void)encodePoint:(CGPoint)aPoint forKey:(CPString)aKey { - [_plistObject setObject:_CPKeyedArchiverEncodeObject(self, CPStringFromPoint(aPoint), NO) forKey:aKey]; + [_plistObject setObject:_CPKeyedArchiverEncodeObject(self, CGStringFromPoint(aPoint), NO) forKey:aKey]; } /*! @@ -331,7 +332,7 @@ var _CPKeyedArchiverStringClass = Nil, */ - (void)encodeRect:(CGRect)aRect forKey:(CPString)aKey { - [_plistObject setObject:_CPKeyedArchiverEncodeObject(self, CPStringFromRect(aRect), NO) forKey:aKey]; + [_plistObject setObject:_CPKeyedArchiverEncodeObject(self, CGStringFromRect(aRect), NO) forKey:aKey]; } /*! @@ -341,7 +342,7 @@ var _CPKeyedArchiverStringClass = Nil, */ - (void)encodeSize:(CGSize)aSize forKey:(CPString)aKey { - [_plistObject setObject:_CPKeyedArchiverEncodeObject(self, CPStringFromSize(aSize), NO) forKey:aKey]; + [_plistObject setObject:_CPKeyedArchiverEncodeObject(self, CGStringFromSize(aSize), NO) forKey:aKey]; } /*! @@ -460,7 +461,7 @@ var _CPKeyedArchiverStringClass = Nil, if (!_replacementClassNames) return aClass.name; - var className = [_replacementClassNames objectForKey:CPStringFromClass(aClassName)]; + var className = [_replacementClassNames objectForKey:CPStringFromClass(aClass)]; return className ? className : aClass.name; } diff --git a/Foundation/CPKeyedUnarchiver.j b/Foundation/CPKeyedUnarchiver.j index 9d5f0a3f6..1a01beb8e 100644 --- a/Foundation/CPKeyedUnarchiver.j +++ b/Foundation/CPKeyedUnarchiver.j @@ -417,7 +417,7 @@ var CPArrayClass = Ni _delegateSelectors |= _CPKeyedUnarchiverWillReplaceObjectWithObjectSelector; if ([_delegate respondsToSelector:@selector(unarchiverWillFinish:)]) - _delegateSelectors |= _CPKeyedUnarchiverWilFinishSelector; + _delegateSelectors |= _CPKeyedUnarchiverWillFinishSelector; if ([_delegate respondsToSelector:@selector(unarchiverDidFinish:)]) _delegateSelectors |= _CPKeyedUnarchiverDidFinishSelector; diff --git a/Foundation/CPLog.j b/Foundation/CPLog.j index 26e5e5839..4a5b7a38f 100644 --- a/Foundation/CPLog.j +++ b/Foundation/CPLog.j @@ -1 +1,2 @@ // placeholder. moved to Objective-J/CPLog.js +1; // Dummy row! To fool when reading from gcc who removes all comments and whitespaces and makes this file empty. Empty file == no file -> Error diff --git a/Foundation/CPNotificationCenter.j b/Foundation/CPNotificationCenter.j index dcf611bad..25107027f 100644 --- a/Foundation/CPNotificationCenter.j +++ b/Foundation/CPNotificationCenter.j @@ -25,6 +25,7 @@ @import "CPException.j" @import "CPNotification.j" @import "CPNull.j" +@import "CPSet.j" var CPNotificationDefaultCenter = nil; diff --git a/Foundation/CPNumber.j b/Foundation/CPNumber.j index 1373a025a..2035efce0 100644 --- a/Foundation/CPNumber.j +++ b/Foundation/CPNumber.j @@ -223,7 +223,7 @@ FIXME: Do we need this? - (CPString)descriptionWithLocale:(CPDictionary)aDictionary { if (!aDictionary) - return toString(); + return self.toString(); throw new Error("descriptionWithLocale: NOT YET IMPLEMENTED"); } @@ -277,7 +277,7 @@ FIXME: Do we need this? - (CPString)stringValue { - return toString(); + return self.toString(); } - (unsigned char)unsignedCharValue diff --git a/Foundation/CPNumberFormatter.j b/Foundation/CPNumberFormatter.j index ec6a5b177..65375c96e 100644 --- a/Foundation/CPNumberFormatter.j +++ b/Foundation/CPNumberFormatter.j @@ -22,9 +22,9 @@ #import "Ref.h" -@import -@import -@import +@import "CPString.j" +@import "CPFormatter.j" +@import "CPDecimalNumber.j" #define UPDATE_NUMBER_HANDLER_IF_NECESSARY() if (!_numberHandler) \ _numberHandler = [CPDecimalNumberHandler decimalNumberHandlerWithRoundingMode:_roundingMode scale:_maximumFractionDigits raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:YES]; @@ -45,6 +45,8 @@ CPNumberFormatterRoundHalfEven = CPRoundBankers; CPNumberFormatterRoundHalfDown = _CPRoundHalfDown; CPNumberFormatterRoundHalfUp = CPRoundPlain; +var NumberRegex = new RegExp('(-)?(\\d*)(\\.(\\d*))?'); + /*! @ingroup foundation @class CPNumberFormatter @@ -108,9 +110,11 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; dcmn = [dcmn decimalNumberByRoundingAccordingToBehavior:_numberHandler]; var output = [dcmn descriptionWithLocale:nil], - parts = [output componentsSeparatedByString:"."], // FIXME Locale specific. - preFraction = parts[0], - fraction = parts.length > 1 ? parts[1] : "", + // FIXME this is probably locale dependent. + parts = output.match(NumberRegex) || ["", undefined, "", undefined, undefined], + negativePrefix = parts[1] || "", + preFraction = parts[2] || "", + fraction = parts[4] || "", preFractionLength = [preFraction length], commaPosition = 3; @@ -141,9 +145,10 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; } if (_numberStyle == CPNumberFormatterPercentStyle) - { string += "%"; - } + + if (negativePrefix) + string = negativePrefix + string; return string; default: diff --git a/Foundation/CPObject.j b/Foundation/CPObject.j index 5590a2048..bdb11df0b 100644 --- a/Foundation/CPObject.j +++ b/Foundation/CPObject.j @@ -61,6 +61,12 @@ CPLog(@"Got some class: %@", inst); @todo document KVC usage. */ + +@class CPString +@class CPException + +@global CPInvalidArgumentException + @implementation CPObject { Class isa; @@ -154,7 +160,7 @@ CPLog(@"Got some class: %@", inst); */ + (Class)superclass { - return super_class; + return self.super_class; } /*! @@ -292,7 +298,7 @@ CPLog(@"Got some class: %@", inst); + (CPString)description { - return class_getName(isa); + return class_getName(self.isa); } // Sending Messages @@ -484,7 +490,7 @@ CPLog(@"Got some class: %@", inst); if (typeof self._UID === "undefined") self._UID = objj_generateObjectUID(); - return _UID + ""; + return self._UID + ""; } /*! @@ -532,24 +538,59 @@ CPLog(@"Got some class: %@", inst); function CPDescriptionOfObject(anObject) { + if (anObject === nil) + return "nil"; + + if (anObject === undefined) + return "undefined"; + if (anObject.isa) { if ([anObject isKindOfClass:CPString]) return '@"' + [anObject description] + '"'; + return [anObject description]; } if (typeof(anObject) !== "object") return String(anObject); - var desc = "JSObject\n{\n"; + var properties = [], + desc; for (var property in anObject) - { if (anObject.hasOwnProperty(property)) - desc += " " + property + ": " + CPDescriptionOfObject(anObject[property]) + "\n"; - } - desc += "}"; + properties.push(property); - return desc.split('\n').join("\n\t"); + properties.sort(); + + if (properties.length === 2 && anObject.hasOwnProperty("width") && anObject.hasOwnProperty("height")) + desc = [CPString stringWithFormat:@"CGSize: { width:%f, height:%f }", anObject.width, anObject.height]; + else if (properties.length === 2 && anObject.hasOwnProperty("x") && anObject.hasOwnProperty("y")) + desc = [CPString stringWithFormat:@"CGPoint: { x:%f, y:%f }", anObject.x, anObject.y]; + else if (properties.length === 2 && anObject.hasOwnProperty("origin") && anObject.hasOwnProperty("size")) + desc = [CPString stringWithFormat:@"CGRect: { x:%f, y:%f }, { width:%f, height:%f }", anObject.origin.x, anObject.origin.y, anObject.size.width, anObject.size.height]; + else if (properties.length === 4 && anObject.hasOwnProperty("top") && anObject.hasOwnProperty("right") && anObject.hasOwnProperty("bottom") && anObject.hasOwnProperty("left")) + desc = [CPString stringWithFormat:@"CGInset: { top:%f, right:%f, bottom:%f, left:%f }", anObject.top, anObject.right, anObject.bottom, anObject.left]; + else + { + desc = "{"; + + for (var i = 0; i < properties.length; ++i) + { + if (i === 0) + desc += "\n"; + + desc += " " + properties[i] + ": " + CPDescriptionOfObject(anObject[properties[i]]).split("\n").join("\n "); + + if (i < properties.length - 1) + desc += ",\n"; + else + desc += "\n"; + } + + desc += "}"; + } + + return desc; } diff --git a/Foundation/CPOperation.j b/Foundation/CPOperation.j index efe2e5d25..4fbdd5612 100644 --- a/Foundation/CPOperation.j +++ b/Foundation/CPOperation.j @@ -22,6 +22,8 @@ @import "CPArray.j" @import "CPObject.j" +@global CPKeyValueObservingOptionNew + /*! Operations receive very low priority for execution. @global diff --git a/Foundation/CPOperationQueue.j b/Foundation/CPOperationQueue.j index 1007ea633..1e018df15 100644 --- a/Foundation/CPOperationQueue.j +++ b/Foundation/CPOperationQueue.j @@ -50,7 +50,7 @@ var cpOperationMainQueue = nil; { _operations = [[CPArray alloc] init]; _suspended = NO; - _currentlyModifyingOps = NO; +// _currentlyModifyingOps = NO; _timer = [CPTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(_runNextOpsInQueue) diff --git a/Foundation/CPPredicate/CPComparisonPredicate.j b/Foundation/CPPredicate/CPComparisonPredicate.j index d890aa76e..ffe374e7a 100644 --- a/Foundation/CPPredicate/CPComparisonPredicate.j +++ b/Foundation/CPPredicate/CPComparisonPredicate.j @@ -22,142 +22,15 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPComparisonPredicate_Constants.j" + @import "CPArray.j" @import "CPEnumerator.j" -@import "CPExpression.j" @import "CPNull.j" -@import "CPPredicate.j" @import "CPString.j" +@import "_CPExpression.j" +@import "_CPPredicate.j" -/*! - A predicate to directly compare the left and right hand sides. - @global - @class CPComparisonPredicate -*/ -CPDirectPredicateModifier = 0; -/*! - A predicate to compare all entries in the destination of a to-many relationship. - - The left hand side must be a collection. The corresponding predicate compares each value in the left hand side with the right hand side, and returns NO when it finds the first mismatch—or YES if all match. - @global - @class CPComparisonPredicate -*/ -CPAllPredicateModifier = 1; -/*! - A predicate to match with any entry in the destination of a to-many relationship. - - The left hand side must be a collection. The corresponding predicate compares each value in the left hand side against the right hand side and returns YES when it finds the first match—or NO if no match is found. - @global - @class CPComparisonPredicate -*/ -CPAnyPredicateModifier = 2; - -/*! - A case-insensitive predicate. - @global - @class CPComparisonPredicate -*/ -CPCaseInsensitivePredicateOption = 1; -/*! - A diacritic-insensitive predicate. - @global - @class CPComparisonPredicate -*/ -CPDiacriticInsensitivePredicateOption = 2; -CPDiacriticInsensitiveSearch = 128; - -/*! - A less-than predicate. - @global - @class CPComparisonPredicate -*/ -CPLessThanPredicateOperatorType = 0; -/*! - A less-than-or-equal-to predicate. - @global - @class CPComparisonPredicate -*/ -CPLessThanOrEqualToPredicateOperatorType = 1; -/*! - A greater-than predicate. - @global - @class CPComparisonPredicate -*/ -CPGreaterThanPredicateOperatorType = 2; -/*! - A greater-than-or-equal-to predicate. - @global - @class CPComparisonPredicate -*/ -CPGreaterThanOrEqualToPredicateOperatorType = 3; -/*! - An equal-to predicate. - @global - @class CPComparisonPredicate -*/ -CPEqualToPredicateOperatorType = 4; -/*! - A not-equal-to predicate. - @global - @class CPComparisonPredicate -*/ -CPNotEqualToPredicateOperatorType = 5; -/*! - A full regular expression matching predicate. - @global - @class CPComparisonPredicate -*/ -CPMatchesPredicateOperatorType = 6; -/*! - A simple subset of the matches predicate, similar in behavior to SQL LIKE. - @global - @class CPComparisonPredicate -*/ -CPLikePredicateOperatorType = 7; -/*! - A begins-with predicate. - @global - @class CPComparisonPredicate -*/ -CPBeginsWithPredicateOperatorType = 8; -/*! - An ends-with predicate. - @global - @class CPComparisonPredicate -*/ -CPEndsWithPredicateOperatorType = 9; -/*! - A predicate to determine if the left hand side is in the right hand side. - - For strings, returns YES if the left hand side is a substring of the right hand side. For collections, returns YES if the left hand side is in the right hand side. - @global - @class CPComparisonPredicate -*/ -CPInPredicateOperatorType = 10; -/*! - Predicate that uses a custom selector that takes a single argument and returns a BOOL value. - - The selector is invoked on the left hand side with the right hand side. - @global - @class CPComparisonPredicate -*/ -CPCustomSelectorPredicateOperatorType = 11; -/*! - A predicate to determine if the left hand side contains the right hand side. - - Returns YES if [lhs contains rhs]; the left hand side must be a CPExpression object that evaluates to a collection - @global - @class CPComparisonPredicate -*/ -CPContainsPredicateOperatorType = 99; -/*! - A predicate to determine if the right hand side lies between bounds specified by the left hand side. - - Returns YES if [lhs between rhs]; the right hand side must be an array in which the first element sets the lower bound and the second element the upper, inclusive. Comparison is performed using compare: or the class-appropriate equivalent. - @global - @class CPComparisonPredicate -*/ -CPBetweenPredicateOperatorType = 100; var CPComparisonPredicateModifier, CPPredicateOperatorType; diff --git a/Foundation/CPPredicate/CPComparisonPredicate_Constants.j b/Foundation/CPPredicate/CPComparisonPredicate_Constants.j new file mode 100644 index 000000000..8a0e5e1a1 --- /dev/null +++ b/Foundation/CPPredicate/CPComparisonPredicate_Constants.j @@ -0,0 +1,153 @@ +/* + * CPComparisonPredicate_Constants.j + * + * Portions based on NSComparisonPredicate.m in Cocotron (http://www.cocotron.org/) + * Copyright (c) 2006-2007 Christopher J. W. Lloyd + * + * Created by cacaodev. + * Copyright 2010. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/*! + A predicate to directly compare the left and right hand sides. + @global + @class CPComparisonPredicate +*/ +CPDirectPredicateModifier = 0; +/*! + A predicate to compare all entries in the destination of a to-many relationship. + + The left hand side must be a collection. The corresponding predicate compares each value in the left hand side with the right hand side, and returns NO when it finds the first mismatch—or YES if all match. + @global + @class CPComparisonPredicate +*/ +CPAllPredicateModifier = 1; +/*! + A predicate to match with any entry in the destination of a to-many relationship. + + The left hand side must be a collection. The corresponding predicate compares each value in the left hand side against the right hand side and returns YES when it finds the first match—or NO if no match is found. + @global + @class CPComparisonPredicate +*/ +CPAnyPredicateModifier = 2; + +/*! + A case-insensitive predicate. + @global + @class CPComparisonPredicate +*/ +CPCaseInsensitivePredicateOption = 1; +/*! + A diacritic-insensitive predicate. + @global + @class CPComparisonPredicate +*/ +CPDiacriticInsensitivePredicateOption = 2; +CPDiacriticInsensitiveSearch = 128; + +/*! + A less-than predicate. + @global + @class CPComparisonPredicate +*/ +CPLessThanPredicateOperatorType = 0; +/*! + A less-than-or-equal-to predicate. + @global + @class CPComparisonPredicate +*/ +CPLessThanOrEqualToPredicateOperatorType = 1; +/*! + A greater-than predicate. + @global + @class CPComparisonPredicate +*/ +CPGreaterThanPredicateOperatorType = 2; +/*! + A greater-than-or-equal-to predicate. + @global + @class CPComparisonPredicate +*/ +CPGreaterThanOrEqualToPredicateOperatorType = 3; +/*! + An equal-to predicate. + @global + @class CPComparisonPredicate +*/ +CPEqualToPredicateOperatorType = 4; +/*! + A not-equal-to predicate. + @global + @class CPComparisonPredicate +*/ +CPNotEqualToPredicateOperatorType = 5; +/*! + A full regular expression matching predicate. + @global + @class CPComparisonPredicate +*/ +CPMatchesPredicateOperatorType = 6; +/*! + A simple subset of the matches predicate, similar in behavior to SQL LIKE. + @global + @class CPComparisonPredicate +*/ +CPLikePredicateOperatorType = 7; +/*! + A begins-with predicate. + @global + @class CPComparisonPredicate +*/ +CPBeginsWithPredicateOperatorType = 8; +/*! + An ends-with predicate. + @global + @class CPComparisonPredicate +*/ +CPEndsWithPredicateOperatorType = 9; +/*! + A predicate to determine if the left hand side is in the right hand side. + + For strings, returns YES if the left hand side is a substring of the right hand side. For collections, returns YES if the left hand side is in the right hand side. + @global + @class CPComparisonPredicate +*/ +CPInPredicateOperatorType = 10; +/*! + Predicate that uses a custom selector that takes a single argument and returns a BOOL value. + + The selector is invoked on the left hand side with the right hand side. + @global + @class CPComparisonPredicate +*/ +CPCustomSelectorPredicateOperatorType = 11; +/*! + A predicate to determine if the left hand side contains the right hand side. + + Returns YES if [lhs contains rhs]; the left hand side must be a CPExpression object that evaluates to a collection + @global + @class CPComparisonPredicate +*/ +CPContainsPredicateOperatorType = 99; +/*! + A predicate to determine if the right hand side lies between bounds specified by the left hand side. + + Returns YES if [lhs between rhs]; the right hand side must be an array in which the first element sets the lower bound and the second element the upper, inclusive. Comparison is performed using compare: or the class-appropriate equivalent. + @global + @class CPComparisonPredicate +*/ +CPBetweenPredicateOperatorType = 100; diff --git a/Foundation/CPPredicate/CPCompoundPredicate.j b/Foundation/CPPredicate/CPCompoundPredicate.j index d4fa0b1b2..8eaeb709f 100644 --- a/Foundation/CPPredicate/CPCompoundPredicate.j +++ b/Foundation/CPPredicate/CPCompoundPredicate.j @@ -22,27 +22,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPCompoundPredicate_Constants.j" @import "CPArray.j" -@import "CPPredicate.j" - -/*! - A predicate to directly compare the left and right hand sides. - @global - @class CPCompoundPredicate -*/ -CPNotPredicateType = 0; -/*! - A predicate to directly compare the left and right hand sides. - @global - @class CPCompoundPredicate -*/ -CPAndPredicateType = 1; -/*! - A predicate to directly compare the left and right hand sides. - @global - @class CPCompoundPredicate -*/ -CPOrPredicateType = 2; +@import "_CPPredicate.j" var CPCompoundPredicateType; diff --git a/Foundation/CPPredicate/CPCompoundPredicate_Constants.j b/Foundation/CPPredicate/CPCompoundPredicate_Constants.j new file mode 100644 index 000000000..fc96b8071 --- /dev/null +++ b/Foundation/CPPredicate/CPCompoundPredicate_Constants.j @@ -0,0 +1,42 @@ +/* + * CPCompoundPredicate_h.j + * + * Portions based on NSCompoundPredicate.m in Cocotron (http://www.cocotron.org/) + * Copyright (c) 2006-2007 Christopher J. W. Lloyd + * + * Created by cacaodev. + * Copyright 2010. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/*! + A predicate to directly compare the left and right hand sides. + @global + @class CPCompoundPredicate +*/ +CPNotPredicateType = 0; +/*! + A predicate to directly compare the left and right hand sides. + @global + @class CPCompoundPredicate +*/ +CPAndPredicateType = 1; +/*! + A predicate to directly compare the left and right hand sides. + @global + @class CPCompoundPredicate +*/ +CPOrPredicateType = 2; diff --git a/Foundation/CPPredicate/CPExpression.j b/Foundation/CPPredicate/CPExpression.j index ffccea30e..06ed6b0ba 100644 --- a/Foundation/CPPredicate/CPExpression.j +++ b/Foundation/CPPredicate/CPExpression.j @@ -19,374 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPArray.j" -@import "CPDictionary.j" -@import "CPKeyValueCoding.j" -@import "CPObject.j" -@import "CPString.j" - -/*! - An expression that always returns the same value. -*/ -CPConstantValueExpressionType = 0; -/*! - An expression that always returns the parameter object itself. -*/ -CPEvaluatedObjectExpressionType = 1; -/*! - An expression that always returns whatever value is associated with the key specified by ‘variable’ in the bindings dictionary. -*/ -CPVariableExpressionType = 2; -/*! - An expression that returns something that can be used as a key path. -*/ -CPKeyPathExpressionType = 3; -/*! - An expression that returns the result of evaluating a function. -*/ -CPFunctionExpressionType = 4; -/*! - An expression that defines an aggregate of CPExpression objects. -*/ -CPAggregateExpressionType = 5; -/*! - An expression that filters a collection using a subpredicate. -*/ -CPSubqueryExpressionType = 6; -/*! - An expression that creates a union of the results of two nested expressions. -*/ -CPUnionSetExpressionType = 7; -/*! - An expression that creates an intersection of the results of two nested expressions. -*/ -CPIntersectSetExpressionType = 8; -/*! - An expression that combines two nested expression results by set subtraction. -*/ -CPMinusSetExpressionType = 9; - -/*! - @ingroup foundation - @class CPExpression - @brief CPExpression is used to represent expressions in a predicate. - - Comparison operations in an CPPredicate are based on two expressions, as represented by instances of the CPExpression class. - Expressions are created for constant values, key paths, and so on. - - Generally, anywhere in the CPExpression class hierarchy where there is composite API and subtypes - that may only reasonably respond to a subset of that API, invoking a method that does not make sense - for that subtype will cause an exception to be thrown. -*/ - -@implementation CPExpression : CPObject -{ - int _type; -} - -// Initializing an Expression -/*! - Initializes the receiver with the specified expression type. - @param type The type of the new expression, as defined by CPExpressionType. - @return An initialized CPExpression object of the type type. -*/ -- (id)initWithExpressionType:(int)type -{ - _type = type; - - return self; -} - -//Creating an Expression for a Value -/*! - Returns a new expression that represents a given constant value. - @param value The constant value the new expression is to represent. - @return A new expression that represents the constant value. -*/ -+ (CPExpression)expressionForConstantValue:(id)value -{ - return [[_CPConstantValueExpression alloc] initWithValue:value]; -} - -/*! - Returns a new expression that represents the object being evaluated. - @return A new expression that represents the object being evaluated. -*/ -+ (CPExpression)expressionForEvaluatedObject -{ - return [_CPSelfExpression evaluatedObject]; -} - -/*! - Returns a new expression that extracts a value from the variable bindings dictionary for a given key. - @param string The key for the variable to extract from the variable bindings dictionary. - @return A new expression that extracts from the variable bindings dictionary the value for the key string. -*/ -+ (CPExpression)expressionForVariable:(CPString)string -{ - return [[_CPVariableExpression alloc] initWithVariable:string]; -} - -/*! - Returns a new expression that invokes valueForKeyPath: with a given key path. - @param keyPath The key path that the new expression should evaluate. - @return A new expression that invokes valueForKeyPath: with keyPath. -*/ -+ (CPExpression)expressionForKeyPath:(CPString)keyPath -{ - return [[_CPKeyPathExpression alloc] initWithKeyPath:keyPath]; -} - -/*! - Returns a new aggregate expression for a given collection. - @param collection A collection object (an instance of CPArray, CPSet, or CPDictionary) that contains further expressions. - @return A new expression that contains the expressions in collection. -*/ -+ (CPExpression)expressionForAggregate:(CPArray)collection -{ - return [[_CPAggregateExpression alloc] initWithAggregate:collection]; -} - -/*! - Returns a new CPExpression object that represent the union of a given set and collection. - @param left An expression that evaluates to a CPSet object. - @param right An expression that evaluates to a collection object (an instance of CPArray, CPSet, or CPDictionary). - @return A new CPExpression object that represents the union of left and right. -*/ -+ (CPExpression)expressionForUnionSet:(CPExpression)left with:(CPExpression)right -{ - return [[_CPSetExpression alloc] initWithType:CPUnionSetExpressionType left:left right:right]; -} - -/*! - Returns a new CPExpression object that represent the intersection of a given set and collection. - @param left An expression that evaluates to a CPSet object. - @param right An expression that evaluates to a collection object (an instance of CPArray, CPSet, or CPDictionary). - @return A new CPExpression object that represents the intersection of left and right. -*/ -+ (CPExpression)expressionForIntersectSet:(CPExpression)left with:(CPExpression)right -{ - return [[_CPSetExpression alloc] initWithType:CPIntersectSetExpressionType left:left right:right]; -} - -/*! - Returns a new CPExpression object that represent the subtraction of a given collection from a given set. - @param left An expression that evaluates to a CPSet object. - @param left An expression that evaluates to a collection object (an instance of CPArray, CPSet, or CPDictionary). - @return A new CPExpression object that represents the subtraction of right from left. -*/ -+ (CPExpression)expressionForMinusSet:(CPExpression)left with:(CPExpression)right -{ - return [[_CPSetExpression alloc] initWithType:CPMinusSetExpressionType left:left right:right]; -} - -// Creating an Expression for a Function -/*! - Returns a new expression that will invoke one of the predefined functions. - @param function_name The name of the function to invoke. - @param parameters An array containing CPExpression objects that will be used as parameters during the invocation of selector. - @return A new expression that invokes the function name using the parameters in parameters. - - For a selector taking no parameters, the array should be empty. For a selector taking one or more parameters, - the array should contain one CPExpression object which will evaluate to an instance of the appropriate type for each parameter. - - If there is a mismatch between the number of parameters expected and the number you provide during evaluation, - an exception may be raised or missing parameters may simply be replaced by nil (which occurs depends on how many - parameters are provided, and whether you have over- or underflow). - - The name parameter can be one of the following predefined functions: - @verbatim - name parameter array contents returns - ------------------------------------------------------------------------------------------------------------------------------------- - sum: CPExpression instances representing numbers CPNumber - count: CPExpression instances representing numbers CPNumber - min: CPExpression instances representing numbers CPNumber - max: CPExpression instances representing numbers CPNumber - average: CPExpression instances representing numbers CPNumber - median: CPExpression instances representing numbers CPNumber - mode: CPExpression instances representing numbers CPArray (returned array will contain all occurrences of the mode) - stddev: CPExpression instances representing numbers CPNumber - add:to: CPExpression instances representing numbers CPNumber - from:subtract: two CPExpression instances representing numbers CPNumber - multiply:by: two CPExpression instances representing numbers CPNumber - divide:by: two CPExpression instances representing numbers CPNumber - modulus:by: two CPExpression instances representing numbers CPNumber - sqrt: one CPExpression instance representing numbers CPNumber - log: one CPExpression instance representing a number CPNumber - ln: one CPExpression instance representing a number CPNumber - raise:toPower: one CPExpression instance representing a number CPNumber - exp: one CPExpression instance representing a number CPNumber - floor: one CPExpression instance representing a number CPNumber - ceiling: one CPExpression instance representing a number CPNumber - abs: one CPExpression instance representing a number CPNumber - trunc: one CPExpression instance representing a number CPNumber - uppercase: one CPExpression instance representing a string CPString - lowercase: one CPExpression instance representing a string CPString - random: one CPExpression instance representing a number CPNumber (integer) such that 0 <= rand < param - now: none [CPDate now] - - This method raises an exception immediately if the selector is invalid; it raises an exception at runtime if the parameters are incorrect. -@endverbatim -*/ -+ (CPExpression)expressionForFunction:(CPString)function_name arguments:(CPArray)parameters -{ - return [[_CPFunctionExpression alloc] initWithSelector:CPSelectorFromString(function_name) arguments:parameters]; -} - -/*! - Returns an expression which will return the result of invoking on a given target a selector with a given name using given arguments. - @param target A CPExpression object which will evaluate an object on which the selector identified by name may be invoked. - @param selectorName The name of the method to be invoked. - @param parameters An array containing CPExpression objects which can be evaluated to provide parameters for the method specified by name. - @return An expression which will return the result of invoking the selector named name on the result of evaluating the target expression with the parameters specified by evaluating the elements of parameters. - - See the description of \c expressionForFunction:arguments: for examples of how to construct the parameter array. -*/ -+ (CPExpression)expressionForFunction:(CPExpression)target selectorName:(CPString)selectorName arguments:(CPArray)parameters -{ - return [[_CPFunctionExpression alloc] initWithTarget:target selector:CPSelectorFromString(selectorName) arguments:parameters]; -} - -/*! - Returns an expression that filters a collection by storing elements in the collection in a given variable and keeping the elements for which qualifier returns true. - @param expression A CPExpression that evaluates to a collection. - @param variable Used as a local variable, and will shadow any instances of variable in the bindings dictionary. The variable is removed or the old value replaced once evaluation completes. - @param predicate The predicate used to determine whether the element belongs in the result collection. - @return An expression that filters a collection by storing elements in the collection in the variable variable and keeping the elements for which qualifier returns true. -*/ -+ (CPExpression)expressionForSubquery:(CPExpression)expression usingIteratorVariable:(CPString)variable predicate:(CPPredicate)predicate -{ - return [[_CPSubqueryExpression alloc] initWithExpression:expression usingIteratorVariable:variable predicate:predicate]; -} - -// Getting Information About an Expression -/*! - Returns the expression type for the receiver. - @return The expression type for the receiver. - This method raises an exception if it is not applicable to the receiver. -*/ -- (int)expressionType -{ - return _type; -} - -/*! - Returns the constant value of the receiver. - @return The constant value of the receiver. - This method raises an exception if it is not applicable to the receiver. -*/ -- (id)constantValue -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the variable for the receiver. - @return The variable for the receiver. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPString)variable -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the key path for the receiver. - @return The key path for the receiver. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPString)keyPath -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the function for the receiver. - @return The function for the receiver. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPString)function -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the arguments for the receiver. - @return The arguments for the receiver—that is, the array of expressions that will be passed as parameters during invocation of the selector on the operand of a function expression. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPArray)arguments -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the collection of expressions in an aggregate expression, or the collection element of a subquery expression. - @return The collection of expressions in an aggregate expression, or the collection element of a subquery expression. - This method raises an exception if it is not applicable to the receiver. -*/ -- (id)collection -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the predicate in a subquery expression. - @return The predicate in a subquery expression.. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPPredicate)predicate -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the operand for the receiver. - @return The operand for the receiver—that is, the object on which the selector will be invoked. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPExpression)operand -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the left expression of a set expression. - @return The left expression of a set expression. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPExpression)leftExpression -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -/*! - Returns the right expression of a set expression. - @return The right expression of a set expression. - This method raises an exception if it is not applicable to the receiver. -*/ -- (CPExpression)rightExpression -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); - return nil; -} - -- (CPExpression)_expressionWithSubstitutionVariables:(CPDictionary)variables -{ - return self; -} - -@end - +@import "_CPExpression.j" @import "_CPConstantValueExpression.j" @import "_CPSelfExpression.j" @import "_CPVariableExpression.j" diff --git a/Foundation/CPPredicate/CPPredicate.j b/Foundation/CPPredicate/CPPredicate.j index 36c5b2002..10c0db099 100644 --- a/Foundation/CPPredicate/CPPredicate.j +++ b/Foundation/CPPredicate/CPPredicate.j @@ -22,954 +22,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPArray.j" -@import "CPException.j" -@import "CPNull.j" -@import "CPObject.j" -@import "CPScanner.j" -@import "CPSet.j" -@import "CPValue.j" -@import "CPCharacterSet.j" - -/*! - @ingroup foundation - @class CPPredicate - @brief The CPPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. - - You use predicates to represent logical conditions, used for describing objects in persistent stores - and in-memory filtering of objects. Although it is common to create predicates directly from instances - of CPComparisonPredicate, CPCompoundPredicate, and CPExpression, you often create predicates from a - format string which is parsed by the class methods on CPPredicate. Examples of predicate format strings include: - - - Simple comparisons, such as grade == "7" or firstName like "Shaffiq" - - Case/diacritic insensitive lookups, such as name contains[cd] "itroen" - - Logical operations, such as (firstName like "Mark") OR (lastName like "Adderley") - - “Between” predicates such as date between {$YESTERDAY, $TOMORROW}. - - You can create predicates for relationships, such as: - - - group.name like "work*" - - ALL children.age > 12 - - ANY children.age > 12 - - You can create predicates for operations, such as \@sum.items.price < 1000. - - You can also create predicates that include variables, so that the predicate can be pre-defined before - substituting concrete values at runtime with the \c evaluateWithObject:substitutionVariables: method. -*/ - -@implementation CPPredicate : CPObject -{ -} - -/*! - Creates and returns a new predicate formed by creating a new string with a given format and parsing the result. - @param format The format string for the new predicate. - @param … A comma-separated list of arguments to substitute into format. - @return A new predicate formed by creating a new string with format and parsing the result. -*/ -+ (CPPredicate)predicateWithFormat:(CPString)format, ... -{ - if (!format) - [CPException raise:CPInvalidArgumentException reason:_cmd + " the format can't be 'nil'"]; - - var args = Array.prototype.slice.call(arguments, 3); - return [self predicateWithFormat:arguments[2] argumentArray:args]; -} - -/*! - Creates and returns a new predicate by substituting the values in a given array into a format string and parsing the result. - @param format The format string for the new predicate. - @param arguments The arguments to substitute into predicateFormat. Values are substituted into predicateFormat in the order they appear in the array. - @return A new predicate by substituting the values in arguments into predicateFormat, and parsing the result. -*/ -+ (CPPredicate)predicateWithFormat:(CPString)format argumentArray:(CPArray)args -{ - if (!format) - [CPException raise:CPInvalidArgumentException reason:_cmd + " the format can't be 'nil'"]; - - var s = [[CPPredicateScanner alloc] initWithString:format args:args], - p = [s parse]; - - return p; -} - -/*! - Creates and returns a new predicate by substituting the values in an argument list into a format string and parsing the result. - @param format The format string for the new predicate. - @param argList The arguments to substitute into predicateFormat. Values are substituted into predicateFormat in the order they appear in the argument list. - @return A new predicate by substituting the values in argList into predicateFormat and parsing the result. -*/ -+ (CPPredicate)predicateWithFormat:(CPString)format arguments:(va_list)argList -{ - // UNIMPLEMENTED - return nil; -} - -/*! - Returns a copy of the receiver with the receiver’s variables substituted by values specified in a given substitution variables dictionary. - @param variables The substitution variables dictionary. The dictionary must contain key-value pairs for all variables in the receiver. - @return A copy of the receiver with the receiver’s variables substituted by values specified in variables. -*/ -- (CPPredicate)predicateWithSubstitutionVariables:(CPDictionary)variables -{ - // IMPLEMENTED BY SUBCLASSES -} - -/*! - Creates and returns a predicate that always evaluates to a given value. - @param value The value to which the new predicate should evaluate. - @return A predicate that always evaluates to value. -*/ -+ (CPPredicate)predicateWithValue:(BOOL)value -{ - return [[CPPredicate_BOOL alloc] initWithBool:value]; -} - -// Evaluating a Predicate -/*! - Returns a Boolean value that indicates whether a given object matches the conditions specified by the receiver. - @param object The object against which to evaluate the receiver. - @return YES if object matches the conditions specified by the receiver, otherwise NO. -*/ -- (BOOL)evaluateWithObject:(id)object -{ - // IMPLEMENTED BY SUBCLASSES -} - -/*! - Returns a Boolean value that indicates whether a given object matches the conditions specified by the receiver after substituting in the values in a given variables dictionary. - @param object The object against which to evaluate the receiver. - @param variables The substitution variables dictionary. The dictionary must contain key-value pairs for all variables in the receiver. - @return YES if object matches the conditions specified by the receiver after substituting in the values in variables for any replacement tokens, otherwise NO. -*/ -- (BOOL)evaluateWithObject:(id)object substitutionVariables:(CPDictionary)variables -{ - // IMPLEMENTED BY SUBCLASSES -} - -// Getting Format Information -/*! - Returns the receiver’s format string. - @return The receiver’s format string. -*/ -- (CPString)predicateFormat -{ - // IMPLEMENTED BY SUBCLASSES -} - -- (CPString)description -{ - return [self predicateFormat]; -} - -@end - -@implementation CPPredicate_BOOL : CPPredicate -{ - BOOL _value; -} - -- (id)initWithBool:(BOOL)value -{ - _value = value; - return self; -} - -- (BOOL)isEqual:(id)anObject -{ - if (self === anObject) - return YES; - - if (self.isa !== anObject.isa || _value !== [anObject evaluateObject:nil]) - return NO; - - return YES; -} - -- (BOOL)evaluateObject:(id)object -{ - return _value; -} - -- (CPString)predicateFormat -{ - return (_value) ? @"TRUEPREDICATE" : @"FALSEPREDICATE"; -} - -@end - - -@implementation CPArray (CPPredicate) - -- (CPArray)filteredArrayUsingPredicate:(CPPredicate)predicate -{ - var count = [self count], - result = [CPArray array], - i = 0; - - for (; i < count; i++) - { - var object = [self objectAtIndex:i]; - if ([predicate evaluateWithObject:object]) - result.push(object); - } - - return result; -} - -- (void)filterUsingPredicate:(CPPredicate)predicate -{ - var count = [self count]; - - while (count--) - { - if (![predicate evaluateWithObject:[self objectAtIndex:count]]) - splice(count, 1); - } -} - -@end - -@implementation CPSet (CPPredicate) - -- (CPSet)filteredSetUsingPredicate:(CPPredicate)predicate -{ - var count = [self count], - result = [CPSet set], - i = 0; - - for (; i < count; i++) - { - var object = [self objectAtIndex:i]; - - if ([predicate evaluateWithObject:object]) - [result addObject:object]; - } - - return result; -} - -- (void)filterUsingPredicate:(CPPredicate)predicate -{ - var count = [self count]; - - while (--count >= 0) - { - var object = [self objectAtIndex:count]; - - if (![predicate evaluateWithObject:object]) - [self removeObjectAtIndex:count]; - } -} - -@end - -#define REFERENCE(variable) \ -function(newValue)\ -{\ - var oldValue = variable;\ - if (typeof newValue != 'undefined')\ - variable = newValue;\ - return oldValue;\ -} - -@implementation CPPredicateScanner : CPScanner -{ - CPEnumerator _args; - unsigned _retrieved; -} - -- (id)initWithString:(CPString)format args:(CPArray)args -{ - self = [super initWithString:format] - - if (self) - { - _args = [args objectEnumerator]; - } - return self; -} - -- (id)nextArg -{ - return [_args nextObject]; -} - -- (BOOL)scanPredicateKeyword:(CPString)key -{ - var loc = [self scanLocation]; - - [self setCaseSensitive:NO]; - if (![self scanString:key intoString:NULL]) - return NO; - - if ([self isAtEnd]) - return YES; - - var c = [[self string] characterAtIndex:[self scanLocation]]; - if (![[CPCharacterSet alphanumericCharacterSet] characterIsMember:c]) - return YES; - - [self setScanLocation:loc]; - - return NO; -} - -- (CPPredicate)parse -{ - var r = nil; - - try - { - [self setCharactersToBeSkipped:[CPCharacterSet whitespaceCharacterSet]]; - r = [self parsePredicate]; - } - catch(error) - { - CPLogConsole(@"Unable to parse predicate '" + [self string] + "' with " + error); - } - finally - { - if (![self isAtEnd]) - { - var pstr = [self string], - loc = [self scanLocation]; - CPLogConsole(@"Format string contains extra characters: '" + [pstr substringToIndex:loc] + "**" + [pstr substringFromIndex:loc] + "**'"); - } - } - - return r; -} - -- (CPPredicate)parsePredicate -{ - return [self parseAnd]; -} - -- (CPPredicate)parseAnd -{ - var l = [self parseOr]; - - while ([self scanPredicateKeyword:@"AND"] || [self scanPredicateKeyword:@"&&"]) - { - var r = [self parseOr]; - - if ([r isKindOfClass:[CPCompoundPredicate class]] && [r compoundPredicateType] == CPAndPredicateType) - { - if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPAndPredicateType) - { - [[l subpredicates] addObjectsFromArray:[r subpredicates]]; - } - else - { - [[r subpredicates] insertObject:l atIndex:0]; - l = r; - } - } - else if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPAndPredicateType) - { - [[l subpredicates] addObject:r]; - } - else - { - l = [CPCompoundPredicate andPredicateWithSubpredicates:[CPArray arrayWithObjects:l, r]]; - } - } - return l; -} - -- (CPPredicate)parseNot -{ - if ([self scanString:@"(" intoString:NULL]) - { - var r = [self parsePredicate]; - - if (![self scanString:@")" intoString:NULL]) - CPRaiseParseError(self, @"predicate"); - - return r; - } - - if ([self scanPredicateKeyword:@"NOT"] || [self scanPredicateKeyword:@"!"]) - { - return [CPCompoundPredicate notPredicateWithSubpredicate:[self parseNot]]; - } - if ([self scanPredicateKeyword:@"TRUEPREDICATE"]) - { - return [CPPredicate predicateWithValue:YES]; - } - if ([self scanPredicateKeyword:@"FALSEPREDICATE"]) - { - return [CPPredicate predicateWithValue:NO]; - } - - return [self parseComparison]; -} - -- (CPPredicate)parseOr -{ - var l = [self parseNot]; - while ([self scanPredicateKeyword:@"OR"] || [self scanPredicateKeyword:@"||"]) - { - var r = [self parseNot]; - - if ([r isKindOfClass:[CPCompoundPredicate class]] && [r compoundPredicateType] == CPOrPredicateType) - { - if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPOrPredicateType) - { - [[l subpredicates] addObjectsFromArray:[r subpredicates]]; - } - else - { - [[r subpredicates] insertObject:l atIndex:0]; - l = r; - } - } - else if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPOrPredicateType) - { - [[l subpredicates] addObject:r]; - } - else - { - l = [CPCompoundPredicate orPredicateWithSubpredicates:[CPArray arrayWithObjects:l, r]]; - } - } - return l; -} - -- (CPPredicate)parseComparison -{ - var modifier = CPDirectPredicateModifier, - type = 0, - opts = 0, - left, - right, - p, - negate = NO; - - if ([self scanPredicateKeyword:@"ANY"]) - { - modifier = CPAnyPredicateModifier; - } - else if ([self scanPredicateKeyword:@"ALL"]) - { - modifier = CPAllPredicateModifier; - } - else if ([self scanPredicateKeyword:@"NONE"]) - { - modifier = CPAnyPredicateModifier; - negate = YES; - } - else if ([self scanPredicateKeyword:@"SOME"]) - { - modifier = CPAllPredicateModifier; - negate = YES; - } - - left = [self parseExpression]; - if ([self scanString:@"!=" intoString:NULL] || [self scanString:@"<>" intoString:NULL]) - { - type = CPNotEqualToPredicateOperatorType; - } - else if ([self scanString:@"<=" intoString:NULL] || [self scanString:@"=<" intoString:NULL]) - { - type = CPLessThanOrEqualToPredicateOperatorType; - } - else if ([self scanString:@">=" intoString:NULL] || [self scanString:@"=>" intoString:NULL]) - { - type = CPGreaterThanOrEqualToPredicateOperatorType; - } - else if ([self scanString:@"<" intoString:NULL]) - { - type = CPLessThanPredicateOperatorType; - } - else if ([self scanString:@">" intoString:NULL]) - { - type = CPGreaterThanPredicateOperatorType; - } - else if ([self scanString:@"==" intoString:NULL] || [self scanString:@"=" intoString:NULL]) - { - type = CPEqualToPredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"MATCHES"]) - { - type = CPMatchesPredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"LIKE"]) - { - type = CPLikePredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"BEGINSWITH"]) - { - type = CPBeginsWithPredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"ENDSWITH"]) - { - type = CPEndsWithPredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"IN"]) - { - type = CPInPredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"CONTAINS"]) - { - type = CPContainsPredicateOperatorType; - } - else if ([self scanPredicateKeyword:@"BETWEEN"]) - { - type = CPBetweenPredicateOperatorType; - } - else - CPRaiseParseError(self, @"comparison predicate"); - - if ([self scanString:@"[cd]" intoString:NULL]) - { - opts = CPCaseInsensitivePredicateOption | CPDiacriticInsensitivePredicateOption; - } - else if ([self scanString:@"[c]" intoString:NULL]) - { - opts = CPCaseInsensitivePredicateOption; - } - else if ([self scanString:@"[d]" intoString:NULL]) - { - opts = CPDiacriticInsensitivePredicateOption; - } - - right = [self parseExpression]; - - p = [CPComparisonPredicate predicateWithLeftExpression:left - rightExpression:right - modifier:modifier - type:type - options:opts]; - - return negate ? [CPCompoundPredicate notPredicateWithSubpredicate:p]:p; -} - -- (CPExpression)parseExpression -{ - return [self parseBinaryExpression]; -} - -- (CPExpression)parseSimpleExpression -{ - var identifier, - location, - ident, - dbl; - - if ([self scanDouble:REFERENCE(dbl)]) - return [CPExpression expressionForConstantValue:dbl]; - - // FIXME: handle integer, hex constants, 0x 0o 0b - if ([self scanString:@"-" intoString:NULL]) - return [CPExpression expressionForFunction:@"chs:" arguments:[CPArray arrayWithObject:[self parseExpression]]]; - - if ([self scanString:@"(" intoString:NULL]) - { - var arg = [self parseExpression]; - - if (![self scanString:@")" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - - return arg; - } - - if ([self scanString:@"{" intoString:NULL]) - { - if ([self scanString:@"}" intoString:NULL]) - return [CPExpression expressionForConstantValue:a]; - - var a = []; - - [a addObject:[self parseExpression]]; - - while ([self scanString:@"," intoString:NULL]) - [a addObject:[self parseExpression]]; - - if (![self scanString:@"}" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - - return [CPExpression expressionForAggregate:a]; - } - - if ([self scanPredicateKeyword:@"NULL"] || [self scanPredicateKeyword:@"NIL"]) - { - return [CPExpression expressionForConstantValue:[CPNull null]]; - } - if ([self scanPredicateKeyword:@"TRUE"] || [self scanPredicateKeyword:@"YES"]) - { - return [CPExpression expressionForConstantValue:[CPNumber numberWithBool:YES]]; - } - if ([self scanPredicateKeyword:@"FALSE"] || [self scanPredicateKeyword:@"NO"]) - { - return [CPExpression expressionForConstantValue:[CPNumber numberWithBool:NO]]; - } - if ([self scanPredicateKeyword:@"SELF"]) - { - return [CPExpression expressionForEvaluatedObject]; - } - - if ([self scanString:@"$" intoString:NULL]) - { - var variable = [self parseSimpleExpression]; - - if (![variable keyPath]) - CPRaiseParseError(self, @"expression"); - - return [CPExpression expressionForVariable:variable]; - } - - location = [self scanLocation]; - - if ([self scanString:@"%" intoString:NULL]) - { - if ([self isAtEnd] == NO) - { - var c = [[self string] characterAtIndex:[self scanLocation]]; - - switch (c) - { - case '%':// '%%' is treated as '%' - location = [self scanLocation]; - break; - case 'K': - [self setScanLocation:[self scanLocation] + 1]; - return [CPExpression expressionForKeyPath:[self nextArg]]; - case '@': - case 'c': - case 'C': - case 'd': - case 'D': - case 'i': - case 'o': - case 'O': - case 'u': - case 'U': - case 'x': - case 'X': - case 'e': - case 'E': - case 'f': - case 'g': - case 'G': - [self setScanLocation:[self scanLocation] + 1]; - return [CPExpression expressionForConstantValue:[self nextArg]]; - case 'h': - [self scanString:@"h" intoString:NULL]; - if ([self isAtEnd] == NO) - { - c = [[self string] characterAtIndex:[self scanLocation]]; - if (c == 'i' || c == 'u') - { - [self setScanLocation:[self scanLocation] + 1]; - return [CPExpression expressionForConstantValue:[self nextArg]]; - } - } - break; - case 'q': - [self scanString:@"q" intoString:NULL]; - if ([self isAtEnd] == NO) - { - c = [[self string] characterAtIndex:[self scanLocation]]; - if (c == 'i' || c == 'u' || c == 'x' || c == 'X') - { - [self setScanLocation:[self scanLocation] + 1]; - return [CPExpression expressionForConstantValue:[self nextArg]]; - } - } - break; - } - } - - [self setScanLocation:location]; - } - - if ([self scanString:@"\"" intoString:NULL]) - { - var skip = [self charactersToBeSkipped], - str = @""; - - [self setCharactersToBeSkipped:nil]; - [self scanUpToString:@"\"" intoString:REFERENCE(str)]; - - if ([self scanString:@"\"" intoString:NULL] == NO) - CPRaiseParseError(self, @"expression"); - - [self setCharactersToBeSkipped:skip]; - - return [CPExpression expressionForConstantValue:str]; - } - - if ([self scanString:@"'" intoString:NULL]) - { - var skip = [self charactersToBeSkipped], - str = @""; - - [self setCharactersToBeSkipped:nil]; - [self scanUpToString:@"'" intoString:REFERENCE(str)]; - - if ([self scanString:@"'" intoString:NULL] == NO) - CPRaiseParseError(self, @"expression"); - - [self setCharactersToBeSkipped:skip]; - - return [CPExpression expressionForConstantValue:str]; - } - - if ([self scanString:@"@" intoString:NULL]) - { - var e = [self parseExpression]; - - if (![e keyPath]) - CPRaiseParseError(self, @"expression"); - - return [CPExpression expressionForKeyPath:[e keyPath] + "@"]; - } - - if ([self scanString:@"SUBQUERY" intoString:NULL]) - { - if (![self scanString:@"(" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - - var collection = [self parseExpression], - variableExpression, - subpredicate; - - if (![self scanString:@"," intoString:NULL]) - CPRaiseParseError(self, @"expression"); - variableExpression = [self parseExpression]; - - if (![self scanString:@"," intoString:NULL]) - CPRaiseParseError(self, @"expression"); - subpredicate = [self parsePredicate]; - - if (![self scanString:@")" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - - return [[_CPSubqueryExpression alloc] initWithExpression:collection usingIteratorExpression:variableExpression predicate:subpredicate]; - } - - if ([self scanString:@"FUNCTION" intoString:NULL]) - { - if (![self scanString:@"(" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - - var args = [CPArray arrayWithObject:[self parseExpression]]; - while ([self scanString:@"," intoString:NULL]) - [args addObject:[self parseExpression]]; - - if (![self scanString:@")" intoString:NULL] || [args count] < 2 || [args[1] expressionType] != CPConstantValueExpressionType) - CPRaiseParseError(self, @"expression"); - - return [CPExpression expressionForFunction:args[0] selectorName:[args[1] constantValue] arguments:args.slice(2)]; - } - - [self scanString:@"#" intoString:NULL]; - if (!identifier) - identifier = [CPCharacterSet characterSetWithCharactersInString:@"_$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"]; - - if (![self scanCharactersFromSet:identifier intoString:REFERENCE(ident)]) - CPRaiseParseError(self, @"expression"); - - return [CPExpression expressionForKeyPath:ident]; -} - -- (CPExpression)parseFunctionalExpression -{ - var left = [self parseSimpleExpression]; - - while (YES) - { - if ([self scanString:@"." intoString:NULL]) - { - var right = [self parseSimpleExpression], - expressionType = [right expressionType]; - - if (expressionType == CPKeyPathExpressionType) - left = [[_CPKeyPathExpression alloc] initWithOperand:left andKeyPath:[right keyPath]]; - else if (expressionType == CPVariableExpressionType) - left = [CPExpression expressionForFunction:left selectorName:@"valueForKey:" arguments:[right]]; - else - CPRaiseParseError(self, @"expression"); - } - else if ([self scanString:@"[" intoString:NULL]) - { - // index expression - if ([self scanPredicateKeyword:@"FIRST"]) - { - left = [CPExpression expressionForFunction:@"first:" arguments:[CPArray arrayWithObject:left]]; - } - else if ([self scanPredicateKeyword:@"LAST"]) - { - left = [CPExpression expressionForFunction:@"last:" arguments:[CPArray arrayWithObject:left]]; - } - else if ([self scanPredicateKeyword:@"SIZE"]) - { - left = [CPExpression expressionForFunction:@"count:" arguments:[CPArray arrayWithObject:left]]; - } - else - { - var index = [self parseExpression]; - left = [CPExpression expressionForFunction:@"fromObject:index:" arguments:[CPArray arrayWithObjects:left, index]]; - } - - if (![self scanString:@"]" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - } - else if ([self scanString:@":" intoString:NULL]) - { - // function - this parser allows for (max)(a, b, c) to be properly - // recognized and even (%K)(a, b, c) if %K evaluates to "max" - - if (![left keyPath]) - CPRaiseParseError(self, @"expression"); - - var selector = [left keyPath] + @":", - args = []; - - if (![self scanString:@"(" intoString:NULL]) - { - var str; - [self scanCharactersFromSet:[CPCharacterSet lowercaseLetterCharacterSet] intoString:REFERENCE(str)]; - - if (![self scanString:@":(" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - - selector += str + @":"; - } - - if (![self scanString:@")" intoString:NULL]) - { - [args addObject:[self parseExpression]]; - while ([self scanString:@"," intoString:NULL]) - [args addObject:[self parseExpression]]; - - if (![self scanString:@")" intoString:NULL]) - CPRaiseParseError(self, @"expression"); - } - - left = [CPExpression expressionForFunction:selector arguments:args]; - } - else if ([self scanString:@"UNION" intoString:NULL]) - { - left = [CPExpression expressionForUnionSet:left with:[self parseExpression]]; - } - else if ([self scanString:@"INTERSECT" intoString:NULL]) - { - left = [CPExpression expressionForIntersectSet:left with:[self parseExpression]]; - } - else if ([self scanString:@"MINUS" intoString:NULL]) - { - left = [CPExpression expressionForMinusSet:left with:[self parseExpression]]; - } - else - { - // done with suffixes - return left; - } - } -} - -- (CPExpression)parsePowerExpression -{ - var left = [self parseFunctionalExpression]; - - while (YES) - { - var right; - - if ([self scanString:@"**" intoString:NULL]) - { - right = [self parseFunctionalExpression]; - left = [CPExpression expressionForFunction:@"raise:to:" arguments:[CPArray arrayWithObjects:left, right]]; - } - else - { - return left; - } - } -} - -- (CPExpression)parseMultiplicationExpression -{ - var left = [self parsePowerExpression]; - - while (YES) - { - var right; - - if ([self scanString:@"*" intoString:NULL]) - { - right = [self parsePowerExpression]; - left = [CPExpression expressionForFunction:@"multiply:by:" arguments:[CPArray arrayWithObjects:left, right]]; - } - else if ([self scanString:@"/" intoString:NULL]) - { - right = [self parsePowerExpression]; - left = [CPExpression expressionForFunction:@"divide:by:" arguments:[CPArray arrayWithObjects:left, right]]; - } - else - { - return left; - } - } -} - -- (CPExpression)parseAdditionExpression -{ - var left = [self parseMultiplicationExpression]; - - while (YES) - { - var right; - - if ([self scanString:@"+" intoString:NULL]) - { - right = [self parseMultiplicationExpression]; - left = [CPExpression expressionForFunction:@"add:to:" arguments:[CPArray arrayWithObjects:left, right]]; - } - else if ([self scanString:@"-" intoString:NULL]) - { - right = [self parseMultiplicationExpression]; - left = [CPExpression expressionForFunction:@"from:substract:" arguments:[CPArray arrayWithObjects:left, right]]; - } - else - { - return left; - } - } -} - -- (CPExpression)parseBinaryExpression -{ - var left = [self parseAdditionExpression]; - - while (YES) - { - var right; - - if ([self scanString:@":=" intoString:NULL]) // assignment - { - // check left to be a variable? - right = [self parseAdditionExpression]; - // FIXME - } - else - { - return left; - } - } -} - -@end - -var CPRaiseParseError = function CPRaiseParseError(aScanner, target) -{ - [CPException raise:CPInvalidArgumentException reason:@"unable to parse " + target + " at index " + [aScanner scanLocation]]; -}; - +@import "_CPPredicate.j" @import "CPCompoundPredicate.j" @import "CPComparisonPredicate.j" @import "CPExpression.j" diff --git a/Foundation/CPPredicate/_CPAggregateExpression.j b/Foundation/CPPredicate/_CPAggregateExpression.j index 40214f895..b010881a7 100644 --- a/Foundation/CPPredicate/_CPAggregateExpression.j +++ b/Foundation/CPPredicate/_CPAggregateExpression.j @@ -20,8 +20,8 @@ */ @import "CPArray.j" -@import "CPExpression.j" @import "CPString.j" +@import "_CPExpression.j" @implementation _CPAggregateExpression : CPExpression { diff --git a/Foundation/CPPredicate/_CPConstantValueExpression.j b/Foundation/CPPredicate/_CPConstantValueExpression.j index e94f97d4d..5ffa9e07a 100644 --- a/Foundation/CPPredicate/_CPConstantValueExpression.j +++ b/Foundation/CPPredicate/_CPConstantValueExpression.j @@ -23,7 +23,7 @@ */ @import "CPDictionary.j" -@import "CPExpression.j" +@import "_CPExpression.j" @implementation _CPConstantValueExpression : CPExpression { diff --git a/Foundation/CPPredicate/_CPExpression.j b/Foundation/CPPredicate/_CPExpression.j new file mode 100644 index 000000000..5a9561cb7 --- /dev/null +++ b/Foundation/CPPredicate/_CPExpression.j @@ -0,0 +1,397 @@ +/* + * CPExpression.j + * + * Created by cacaodev. + * Copyright 2010. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPArray.j" +@import "CPDictionary.j" +@import "CPKeyValueCoding.j" +@import "CPObject.j" +@import "CPString.j" + +/*! + An expression that always returns the same value. +*/ +CPConstantValueExpressionType = 0; +/*! + An expression that always returns the parameter object itself. +*/ +CPEvaluatedObjectExpressionType = 1; +/*! + An expression that always returns whatever value is associated with the key specified by ‘variable’ in the bindings dictionary. +*/ +CPVariableExpressionType = 2; +/*! + An expression that returns something that can be used as a key path. +*/ +CPKeyPathExpressionType = 3; +/*! + An expression that returns the result of evaluating a function. +*/ +CPFunctionExpressionType = 4; +/*! + An expression that defines an aggregate of CPExpression objects. +*/ +CPAggregateExpressionType = 5; +/*! + An expression that filters a collection using a subpredicate. +*/ +CPSubqueryExpressionType = 6; +/*! + An expression that creates a union of the results of two nested expressions. +*/ +CPUnionSetExpressionType = 7; +/*! + An expression that creates an intersection of the results of two nested expressions. +*/ +CPIntersectSetExpressionType = 8; +/*! + An expression that combines two nested expression results by set subtraction. +*/ +CPMinusSetExpressionType = 9; + +/*! + @ingroup foundation + @class CPExpression + @brief CPExpression is used to represent expressions in a predicate. + + Comparison operations in an CPPredicate are based on two expressions, as represented by instances of the CPExpression class. + Expressions are created for constant values, key paths, and so on. + + Generally, anywhere in the CPExpression class hierarchy where there is composite API and subtypes + that may only reasonably respond to a subset of that API, invoking a method that does not make sense + for that subtype will cause an exception to be thrown. +*/ + +@implementation CPExpression : CPObject +{ + int _type; +} + +// Initializing an Expression +/*! + Initializes the receiver with the specified expression type. + @param type The type of the new expression, as defined by CPExpressionType. + @return An initialized CPExpression object of the type type. +*/ +- (id)initWithExpressionType:(int)type +{ + _type = type; + + return self; +} + +//Creating an Expression for a Value +/*! + Returns a new expression that represents a given constant value. + @param value The constant value the new expression is to represent. + @return A new expression that represents the constant value. +*/ ++ (CPExpression)expressionForConstantValue:(id)value +{ + return [[_CPConstantValueExpression alloc] initWithValue:value]; +} + +/*! + Returns a new expression that represents the object being evaluated. + @return A new expression that represents the object being evaluated. +*/ ++ (CPExpression)expressionForEvaluatedObject +{ + return [_CPSelfExpression evaluatedObject]; +} + +/*! + Returns a new expression that extracts a value from the variable bindings dictionary for a given key. + @param string The key for the variable to extract from the variable bindings dictionary. + @return A new expression that extracts from the variable bindings dictionary the value for the key string. +*/ ++ (CPExpression)expressionForVariable:(CPString)string +{ + return [[_CPVariableExpression alloc] initWithVariable:string]; +} + +/*! + Returns a new expression that invokes valueForKeyPath: with a given key path. + @param keyPath The key path that the new expression should evaluate. + @return A new expression that invokes valueForKeyPath: with keyPath. +*/ ++ (CPExpression)expressionForKeyPath:(CPString)keyPath +{ + return [[_CPKeyPathExpression alloc] initWithKeyPath:keyPath]; +} + +/*! + Returns a new aggregate expression for a given collection. + @param collection A collection object (an instance of CPArray, CPSet, or CPDictionary) that contains further expressions. + @return A new expression that contains the expressions in collection. +*/ ++ (CPExpression)expressionForAggregate:(CPArray)collection +{ + return [[_CPAggregateExpression alloc] initWithAggregate:collection]; +} + +/*! + Returns a new CPExpression object that represent the union of a given set and collection. + @param left An expression that evaluates to a CPSet object. + @param right An expression that evaluates to a collection object (an instance of CPArray, CPSet, or CPDictionary). + @return A new CPExpression object that represents the union of left and right. +*/ ++ (CPExpression)expressionForUnionSet:(CPExpression)left with:(CPExpression)right +{ + return [[_CPSetExpression alloc] initWithType:CPUnionSetExpressionType left:left right:right]; +} + +/*! + Returns a new CPExpression object that represent the intersection of a given set and collection. + @param left An expression that evaluates to a CPSet object. + @param right An expression that evaluates to a collection object (an instance of CPArray, CPSet, or CPDictionary). + @return A new CPExpression object that represents the intersection of left and right. +*/ ++ (CPExpression)expressionForIntersectSet:(CPExpression)left with:(CPExpression)right +{ + return [[_CPSetExpression alloc] initWithType:CPIntersectSetExpressionType left:left right:right]; +} + +/*! + Returns a new CPExpression object that represent the subtraction of a given collection from a given set. + @param left An expression that evaluates to a CPSet object. + @param left An expression that evaluates to a collection object (an instance of CPArray, CPSet, or CPDictionary). + @return A new CPExpression object that represents the subtraction of right from left. +*/ ++ (CPExpression)expressionForMinusSet:(CPExpression)left with:(CPExpression)right +{ + return [[_CPSetExpression alloc] initWithType:CPMinusSetExpressionType left:left right:right]; +} + +// Creating an Expression for a Function +/*! + Returns a new expression that will invoke one of the predefined functions. + @param function_name The name of the function to invoke. + @param parameters An array containing CPExpression objects that will be used as parameters during the invocation of selector. + @return A new expression that invokes the function name using the parameters in parameters. + + For a selector taking no parameters, the array should be empty. For a selector taking one or more parameters, + the array should contain one CPExpression object which will evaluate to an instance of the appropriate type for each parameter. + + If there is a mismatch between the number of parameters expected and the number you provide during evaluation, + an exception may be raised or missing parameters may simply be replaced by nil (which occurs depends on how many + parameters are provided, and whether you have over- or underflow). + + The name parameter can be one of the following predefined functions: + @verbatim + name parameter array contents returns + ------------------------------------------------------------------------------------------------------------------------------------- + sum: CPExpression instances representing numbers CPNumber + count: CPExpression instances representing numbers CPNumber + min: CPExpression instances representing numbers CPNumber + max: CPExpression instances representing numbers CPNumber + average: CPExpression instances representing numbers CPNumber + median: CPExpression instances representing numbers CPNumber + mode: CPExpression instances representing numbers CPArray (returned array will contain all occurrences of the mode) + stddev: CPExpression instances representing numbers CPNumber + add:to: CPExpression instances representing numbers CPNumber + from:subtract: two CPExpression instances representing numbers CPNumber + multiply:by: two CPExpression instances representing numbers CPNumber + divide:by: two CPExpression instances representing numbers CPNumber + modulus:by: two CPExpression instances representing numbers CPNumber + sqrt: one CPExpression instance representing numbers CPNumber + log: one CPExpression instance representing a number CPNumber + ln: one CPExpression instance representing a number CPNumber + raise:toPower: one CPExpression instance representing a number CPNumber + exp: one CPExpression instance representing a number CPNumber + floor: one CPExpression instance representing a number CPNumber + ceiling: one CPExpression instance representing a number CPNumber + abs: one CPExpression instance representing a number CPNumber + trunc: one CPExpression instance representing a number CPNumber + uppercase: one CPExpression instance representing a string CPString + lowercase: one CPExpression instance representing a string CPString + random: one CPExpression instance representing a number CPNumber (integer) such that 0 <= rand < param + now: none [CPDate now] + + This method raises an exception immediately if the selector is invalid; it raises an exception at runtime if the parameters are incorrect. +@endverbatim +*/ ++ (CPExpression)expressionForFunction:(CPString)function_name arguments:(CPArray)parameters +{ + return [[_CPFunctionExpression alloc] initWithSelector:CPSelectorFromString(function_name) arguments:parameters]; +} + +/*! + Returns an expression which will return the result of invoking on a given target a selector with a given name using given arguments. + @param target A CPExpression object which will evaluate an object on which the selector identified by name may be invoked. + @param selectorName The name of the method to be invoked. + @param parameters An array containing CPExpression objects which can be evaluated to provide parameters for the method specified by name. + @return An expression which will return the result of invoking the selector named name on the result of evaluating the target expression with the parameters specified by evaluating the elements of parameters. + + See the description of \c expressionForFunction:arguments: for examples of how to construct the parameter array. +*/ ++ (CPExpression)expressionForFunction:(CPExpression)target selectorName:(CPString)selectorName arguments:(CPArray)parameters +{ + return [[_CPFunctionExpression alloc] initWithTarget:target selector:CPSelectorFromString(selectorName) arguments:parameters]; +} + +/*! + Returns an expression that filters a collection by storing elements in the collection in a given variable and keeping the elements for which qualifier returns true. + @param expression A CPExpression that evaluates to a collection. + @param variable Used as a local variable, and will shadow any instances of variable in the bindings dictionary. The variable is removed or the old value replaced once evaluation completes. + @param predicate The predicate used to determine whether the element belongs in the result collection. + @return An expression that filters a collection by storing elements in the collection in the variable variable and keeping the elements for which qualifier returns true. +*/ ++ (CPExpression)expressionForSubquery:(CPExpression)expression usingIteratorVariable:(CPString)variable predicate:(CPPredicate)predicate +{ + return [[_CPSubqueryExpression alloc] initWithExpression:expression usingIteratorVariable:variable predicate:predicate]; +} + +// Getting Information About an Expression +/*! + Returns the expression type for the receiver. + @return The expression type for the receiver. + This method raises an exception if it is not applicable to the receiver. +*/ +- (int)expressionType +{ + return _type; +} + +/*! + Returns the constant value of the receiver. + @return The constant value of the receiver. + This method raises an exception if it is not applicable to the receiver. +*/ +- (id)constantValue +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the variable for the receiver. + @return The variable for the receiver. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPString)variable +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the key path for the receiver. + @return The key path for the receiver. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPString)keyPath +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the function for the receiver. + @return The function for the receiver. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPString)function +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the arguments for the receiver. + @return The arguments for the receiver—that is, the array of expressions that will be passed as parameters during invocation of the selector on the operand of a function expression. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPArray)arguments +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the collection of expressions in an aggregate expression, or the collection element of a subquery expression. + @return The collection of expressions in an aggregate expression, or the collection element of a subquery expression. + This method raises an exception if it is not applicable to the receiver. +*/ +- (id)collection +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the predicate in a subquery expression. + @return The predicate in a subquery expression.. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPPredicate)predicate +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the operand for the receiver. + @return The operand for the receiver—that is, the object on which the selector will be invoked. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPExpression)operand +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the left expression of a set expression. + @return The left expression of a set expression. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPExpression)leftExpression +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +/*! + Returns the right expression of a set expression. + @return The right expression of a set expression. + This method raises an exception if it is not applicable to the receiver. +*/ +- (CPExpression)rightExpression +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); + return nil; +} + +- (CPExpression)_expressionWithSubstitutionVariables:(CPDictionary)variables +{ + return self; +} + +@end + +//@import "_CPConstantValueExpression.j" +//@import "_CPSelfExpression.j" +//@import "_CPVariableExpression.j" +//@import "_CPKeyPathExpression.j" +//@import "_CPFunctionExpression.j" +//@import "_CPAggregateExpression.j" +//@import "_CPSetExpression.j" +//@import "_CPSubqueryExpression.j" diff --git a/Foundation/CPPredicate/_CPFunctionExpression.j b/Foundation/CPPredicate/_CPFunctionExpression.j index c3d07e77f..75b1619fc 100644 --- a/Foundation/CPPredicate/_CPFunctionExpression.j +++ b/Foundation/CPPredicate/_CPFunctionExpression.j @@ -23,8 +23,8 @@ @import "CPDate.j" @import "CPDictionary.j" @import "CPException.j" -@import "CPExpression.j" @import "CPString.j" +@import "_CPExpression.j" @implementation _CPFunctionExpression : CPExpression { diff --git a/Foundation/CPPredicate/_CPKeyPathExpression.j b/Foundation/CPPredicate/_CPKeyPathExpression.j index e60e8f331..c0694b395 100644 --- a/Foundation/CPPredicate/_CPKeyPathExpression.j +++ b/Foundation/CPPredicate/_CPKeyPathExpression.j @@ -22,10 +22,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPExpression.j" -@import "_CPFunctionExpression.j" @import "CPKeyValueCoding.j" @import "CPString.j" +@import "_CPExpression.j" +@import "_CPFunctionExpression.j" +@import "_CPConstantValueExpression.j" @implementation _CPKeyPathExpression : _CPFunctionExpression { diff --git a/Foundation/CPPredicate/_CPPredicate.j b/Foundation/CPPredicate/_CPPredicate.j new file mode 100644 index 000000000..5fd8ac967 --- /dev/null +++ b/Foundation/CPPredicate/_CPPredicate.j @@ -0,0 +1,980 @@ +/* + * CPPredicate.j + * + * CPPredicate parsing based on NSPredicate.m in GNUStep Base Library (http://www.gnustep.org/) + * Copyright (c) 2005 Free Software Foundation. + * + * Created by cacaodev. + * Copyright 2010. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import "CPArray.j" +@import "CPException.j" +@import "CPNull.j" +@import "CPObject.j" +@import "CPScanner.j" +@import "CPSet.j" +@import "CPValue.j" +@import "CPCharacterSet.j" +@import "CPComparisonPredicate_Constants.j" +@import "CPCompoundPredicate_Constants.j" +@import "_CPExpression.j" + +@class CPCompoundPredicate +@class CPComparisonPredicate +@class _CPKeyPathExpression +@class _CPSubqueryExpression + + +/*! + @ingroup foundation + @class CPPredicate + @brief The CPPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. + + You use predicates to represent logical conditions, used for describing objects in persistent stores + and in-memory filtering of objects. Although it is common to create predicates directly from instances + of CPComparisonPredicate, CPCompoundPredicate, and CPExpression, you often create predicates from a + format string which is parsed by the class methods on CPPredicate. Examples of predicate format strings include: + + - Simple comparisons, such as grade == "7" or firstName like "Shaffiq" + - Case/diacritic insensitive lookups, such as name contains[cd] "itroen" + - Logical operations, such as (firstName like "Mark") OR (lastName like "Adderley") + - “Between” predicates such as date between {$YESTERDAY, $TOMORROW}. + + You can create predicates for relationships, such as: + + - group.name like "work*" + - ALL children.age > 12 + - ANY children.age > 12 + + You can create predicates for operations, such as \@sum.items.price < 1000. + + You can also create predicates that include variables, so that the predicate can be pre-defined before + substituting concrete values at runtime with the \c evaluateWithObject:substitutionVariables: method. +*/ + +@implementation CPPredicate : CPObject +{ +} + +/*! + Creates and returns a new predicate formed by creating a new string with a given format and parsing the result. + @param format The format string for the new predicate. + @param … A comma-separated list of arguments to substitute into format. + @return A new predicate formed by creating a new string with format and parsing the result. +*/ ++ (CPPredicate)predicateWithFormat:(CPString)format, ... +{ + if (!format) + [CPException raise:CPInvalidArgumentException reason:_cmd + " the format can't be 'nil'"]; + + var args = Array.prototype.slice.call(arguments, 3); + return [self predicateWithFormat:arguments[2] argumentArray:args]; +} + +/*! + Creates and returns a new predicate by substituting the values in a given array into a format string and parsing the result. + @param format The format string for the new predicate. + @param arguments The arguments to substitute into predicateFormat. Values are substituted into predicateFormat in the order they appear in the array. + @return A new predicate by substituting the values in arguments into predicateFormat, and parsing the result. +*/ ++ (CPPredicate)predicateWithFormat:(CPString)format argumentArray:(CPArray)args +{ + if (!format) + [CPException raise:CPInvalidArgumentException reason:_cmd + " the format can't be 'nil'"]; + + var s = [[CPPredicateScanner alloc] initWithString:format args:args], + p = [s parse]; + + return p; +} + +/*! + Creates and returns a new predicate by substituting the values in an argument list into a format string and parsing the result. + @param format The format string for the new predicate. + @param argList The arguments to substitute into predicateFormat. Values are substituted into predicateFormat in the order they appear in the argument list. + @return A new predicate by substituting the values in argList into predicateFormat and parsing the result. +*/ ++ (CPPredicate)predicateWithFormat:(CPString)format arguments:(va_list)argList +{ + // UNIMPLEMENTED + return nil; +} + +/*! + Returns a copy of the receiver with the receiver’s variables substituted by values specified in a given substitution variables dictionary. + @param variables The substitution variables dictionary. The dictionary must contain key-value pairs for all variables in the receiver. + @return A copy of the receiver with the receiver’s variables substituted by values specified in variables. +*/ +- (CPPredicate)predicateWithSubstitutionVariables:(CPDictionary)variables +{ + // IMPLEMENTED BY SUBCLASSES +} + +/*! + Creates and returns a predicate that always evaluates to a given value. + @param value The value to which the new predicate should evaluate. + @return A predicate that always evaluates to value. +*/ ++ (CPPredicate)predicateWithValue:(BOOL)value +{ + return [[CPPredicate_BOOL alloc] initWithBool:value]; +} + +// Evaluating a Predicate +/*! + Returns a Boolean value that indicates whether a given object matches the conditions specified by the receiver. + @param object The object against which to evaluate the receiver. + @return YES if object matches the conditions specified by the receiver, otherwise NO. +*/ +- (BOOL)evaluateWithObject:(id)object +{ + // IMPLEMENTED BY SUBCLASSES +} + +/*! + Returns a Boolean value that indicates whether a given object matches the conditions specified by the receiver after substituting in the values in a given variables dictionary. + @param object The object against which to evaluate the receiver. + @param variables The substitution variables dictionary. The dictionary must contain key-value pairs for all variables in the receiver. + @return YES if object matches the conditions specified by the receiver after substituting in the values in variables for any replacement tokens, otherwise NO. +*/ +- (BOOL)evaluateWithObject:(id)object substitutionVariables:(CPDictionary)variables +{ + // IMPLEMENTED BY SUBCLASSES +} + +// Getting Format Information +/*! + Returns the receiver’s format string. + @return The receiver’s format string. +*/ +- (CPString)predicateFormat +{ + // IMPLEMENTED BY SUBCLASSES +} + +- (CPString)description +{ + return [self predicateFormat]; +} + +@end + +@implementation CPPredicate_BOOL : CPPredicate +{ + BOOL _value; +} + +- (id)initWithBool:(BOOL)value +{ + _value = value; + return self; +} + +- (BOOL)isEqual:(id)anObject +{ + if (self === anObject) + return YES; + + if (self.isa !== anObject.isa || _value !== [anObject evaluateObject:nil]) + return NO; + + return YES; +} + +- (BOOL)evaluateObject:(id)object +{ + return _value; +} + +- (CPString)predicateFormat +{ + return (_value) ? @"TRUEPREDICATE" : @"FALSEPREDICATE"; +} + +@end + + +@implementation CPArray (CPPredicate) + +- (CPArray)filteredArrayUsingPredicate:(CPPredicate)predicate +{ + var count = [self count], + result = [CPArray array], + i = 0; + + for (; i < count; i++) + { + var object = [self objectAtIndex:i]; + if ([predicate evaluateWithObject:object]) + result.push(object); + } + + return result; +} + +- (void)filterUsingPredicate:(CPPredicate)predicate +{ + var count = [self count]; + + while (count--) + { + if (![predicate evaluateWithObject:[self objectAtIndex:count]]) + self.splice(count, 1); + } +} + +@end + +@implementation CPSet (CPPredicate) + +- (CPSet)filteredSetUsingPredicate:(CPPredicate)predicate +{ + var count = [self count], + result = [CPSet set], + i = 0; + + for (; i < count; i++) + { + var object = [self objectAtIndex:i]; + + if ([predicate evaluateWithObject:object]) + [result addObject:object]; + } + + return result; +} + +- (void)filterUsingPredicate:(CPPredicate)predicate +{ + var count = [self count]; + + while (--count >= 0) + { + var object = [self objectAtIndex:count]; + + if (![predicate evaluateWithObject:object]) + [self removeObjectAtIndex:count]; + } +} + +@end + +#define REFERENCE(variable) \ +function(newValue)\ +{\ + var oldValue = variable;\ + if (typeof newValue != 'undefined')\ + variable = newValue;\ + return oldValue;\ +} + +@implementation CPPredicateScanner : CPScanner +{ + CPEnumerator _args; + unsigned _retrieved; +} + +- (id)initWithString:(CPString)format args:(CPArray)args +{ + self = [super initWithString:format] + + if (self) + { + _args = [args objectEnumerator]; + } + return self; +} + +- (id)nextArg +{ + return [_args nextObject]; +} + +- (BOOL)scanPredicateKeyword:(CPString)key +{ + var loc = [self scanLocation]; + + [self setCaseSensitive:NO]; + if (![self scanString:key intoString:NULL]) + return NO; + + if ([self isAtEnd]) + return YES; + + var c = [[self string] characterAtIndex:[self scanLocation]]; + if (![[CPCharacterSet alphanumericCharacterSet] characterIsMember:c]) + return YES; + + [self setScanLocation:loc]; + + return NO; +} + +- (CPPredicate)parse +{ + var r = nil; + + try + { + [self setCharactersToBeSkipped:[CPCharacterSet whitespaceCharacterSet]]; + r = [self parsePredicate]; + } + catch(error) + { + CPLogConsole(@"Unable to parse predicate '" + [self string] + "' with " + error); + } + finally + { + if (![self isAtEnd]) + { + var pstr = [self string], + loc = [self scanLocation]; + CPLogConsole(@"Format string contains extra characters: '" + [pstr substringToIndex:loc] + "**" + [pstr substringFromIndex:loc] + "**'"); + } + } + + return r; +} + +- (CPPredicate)parsePredicate +{ + return [self parseAnd]; +} + +- (CPPredicate)parseAnd +{ + var l = [self parseOr]; + + while ([self scanPredicateKeyword:@"AND"] || [self scanPredicateKeyword:@"&&"]) + { + var r = [self parseOr]; + + if ([r isKindOfClass:[CPCompoundPredicate class]] && [r compoundPredicateType] == CPAndPredicateType) + { + if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPAndPredicateType) + { + [[l subpredicates] addObjectsFromArray:[r subpredicates]]; + } + else + { + [[r subpredicates] insertObject:l atIndex:0]; + l = r; + } + } + else if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPAndPredicateType) + { + [[l subpredicates] addObject:r]; + } + else + { + l = [CPCompoundPredicate andPredicateWithSubpredicates:[CPArray arrayWithObjects:l, r]]; + } + } + return l; +} + +- (CPPredicate)parseNot +{ + if ([self scanString:@"(" intoString:NULL]) + { + var r = [self parsePredicate]; + + if (![self scanString:@")" intoString:NULL]) + CPRaiseParseError(self, @"predicate"); + + return r; + } + + if ([self scanPredicateKeyword:@"NOT"] || [self scanPredicateKeyword:@"!"]) + { + return [CPCompoundPredicate notPredicateWithSubpredicate:[self parseNot]]; + } + if ([self scanPredicateKeyword:@"TRUEPREDICATE"]) + { + return [CPPredicate predicateWithValue:YES]; + } + if ([self scanPredicateKeyword:@"FALSEPREDICATE"]) + { + return [CPPredicate predicateWithValue:NO]; + } + + return [self parseComparison]; +} + +- (CPPredicate)parseOr +{ + var l = [self parseNot]; + while ([self scanPredicateKeyword:@"OR"] || [self scanPredicateKeyword:@"||"]) + { + var r = [self parseNot]; + + if ([r isKindOfClass:[CPCompoundPredicate class]] && [r compoundPredicateType] == CPOrPredicateType) + { + if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPOrPredicateType) + { + [[l subpredicates] addObjectsFromArray:[r subpredicates]]; + } + else + { + [[r subpredicates] insertObject:l atIndex:0]; + l = r; + } + } + else if ([l isKindOfClass:[CPCompoundPredicate class]] && [l compoundPredicateType] == CPOrPredicateType) + { + [[l subpredicates] addObject:r]; + } + else + { + l = [CPCompoundPredicate orPredicateWithSubpredicates:[CPArray arrayWithObjects:l, r]]; + } + } + return l; +} + +- (CPPredicate)parseComparison +{ + var modifier = CPDirectPredicateModifier, + type = 0, + opts = 0, + left, + right, + p, + negate = NO; + + if ([self scanPredicateKeyword:@"ANY"]) + { + modifier = CPAnyPredicateModifier; + } + else if ([self scanPredicateKeyword:@"ALL"]) + { + modifier = CPAllPredicateModifier; + } + else if ([self scanPredicateKeyword:@"NONE"]) + { + modifier = CPAnyPredicateModifier; + negate = YES; + } + else if ([self scanPredicateKeyword:@"SOME"]) + { + modifier = CPAllPredicateModifier; + negate = YES; + } + + left = [self parseExpression]; + if ([self scanString:@"!=" intoString:NULL] || [self scanString:@"<>" intoString:NULL]) + { + type = CPNotEqualToPredicateOperatorType; + } + else if ([self scanString:@"<=" intoString:NULL] || [self scanString:@"=<" intoString:NULL]) + { + type = CPLessThanOrEqualToPredicateOperatorType; + } + else if ([self scanString:@">=" intoString:NULL] || [self scanString:@"=>" intoString:NULL]) + { + type = CPGreaterThanOrEqualToPredicateOperatorType; + } + else if ([self scanString:@"<" intoString:NULL]) + { + type = CPLessThanPredicateOperatorType; + } + else if ([self scanString:@">" intoString:NULL]) + { + type = CPGreaterThanPredicateOperatorType; + } + else if ([self scanString:@"==" intoString:NULL] || [self scanString:@"=" intoString:NULL]) + { + type = CPEqualToPredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"MATCHES"]) + { + type = CPMatchesPredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"LIKE"]) + { + type = CPLikePredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"BEGINSWITH"]) + { + type = CPBeginsWithPredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"ENDSWITH"]) + { + type = CPEndsWithPredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"IN"]) + { + type = CPInPredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"CONTAINS"]) + { + type = CPContainsPredicateOperatorType; + } + else if ([self scanPredicateKeyword:@"BETWEEN"]) + { + type = CPBetweenPredicateOperatorType; + } + else + CPRaiseParseError(self, @"comparison predicate"); + + if ([self scanString:@"[cd]" intoString:NULL]) + { + opts = CPCaseInsensitivePredicateOption | CPDiacriticInsensitivePredicateOption; + } + else if ([self scanString:@"[c]" intoString:NULL]) + { + opts = CPCaseInsensitivePredicateOption; + } + else if ([self scanString:@"[d]" intoString:NULL]) + { + opts = CPDiacriticInsensitivePredicateOption; + } + + right = [self parseExpression]; + + p = [CPComparisonPredicate predicateWithLeftExpression:left + rightExpression:right + modifier:modifier + type:type + options:opts]; + + return negate ? [CPCompoundPredicate notPredicateWithSubpredicate:p]:p; +} + +- (CPExpression)parseExpression +{ + return [self parseBinaryExpression]; +} + +- (CPExpression)parseSimpleExpression +{ + var identifier, + location, + ident, + dbl; + + if ([self scanDouble:REFERENCE(dbl)]) + return [CPExpression expressionForConstantValue:dbl]; + + // FIXME: handle integer, hex constants, 0x 0o 0b + if ([self scanString:@"-" intoString:NULL]) + return [CPExpression expressionForFunction:@"chs:" arguments:[CPArray arrayWithObject:[self parseExpression]]]; + + if ([self scanString:@"(" intoString:NULL]) + { + var arg = [self parseExpression]; + + if (![self scanString:@")" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + + return arg; + } + + if ([self scanString:@"{" intoString:NULL]) + { + var a = []; + + if ([self scanString:@"}" intoString:NULL]) + return [CPExpression expressionForConstantValue:a]; + + [a addObject:[self parseExpression]]; + + while ([self scanString:@"," intoString:NULL]) + [a addObject:[self parseExpression]]; + + if (![self scanString:@"}" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + + return [CPExpression expressionForAggregate:a]; + } + + if ([self scanPredicateKeyword:@"NULL"] || [self scanPredicateKeyword:@"NIL"]) + { + return [CPExpression expressionForConstantValue:[CPNull null]]; + } + if ([self scanPredicateKeyword:@"TRUE"] || [self scanPredicateKeyword:@"YES"]) + { + return [CPExpression expressionForConstantValue:[CPNumber numberWithBool:YES]]; + } + if ([self scanPredicateKeyword:@"FALSE"] || [self scanPredicateKeyword:@"NO"]) + { + return [CPExpression expressionForConstantValue:[CPNumber numberWithBool:NO]]; + } + if ([self scanPredicateKeyword:@"SELF"]) + { + return [CPExpression expressionForEvaluatedObject]; + } + + if ([self scanString:@"$" intoString:NULL]) + { + var variable = [self parseSimpleExpression]; + + if (![variable keyPath]) + CPRaiseParseError(self, @"expression"); + + return [CPExpression expressionForVariable:variable]; + } + + location = [self scanLocation]; + + if ([self scanString:@"%" intoString:NULL]) + { + if ([self isAtEnd] == NO) + { + var c = [[self string] characterAtIndex:[self scanLocation]]; + + switch (c) + { + case '%':// '%%' is treated as '%' + location = [self scanLocation]; + break; + case 'K': + [self setScanLocation:[self scanLocation] + 1]; + return [CPExpression expressionForKeyPath:[self nextArg]]; + case '@': + case 'c': + case 'C': + case 'd': + case 'D': + case 'i': + case 'o': + case 'O': + case 'u': + case 'U': + case 'x': + case 'X': + case 'e': + case 'E': + case 'f': + case 'g': + case 'G': + [self setScanLocation:[self scanLocation] + 1]; + return [CPExpression expressionForConstantValue:[self nextArg]]; + case 'h': + [self scanString:@"h" intoString:NULL]; + if ([self isAtEnd] == NO) + { + c = [[self string] characterAtIndex:[self scanLocation]]; + if (c == 'i' || c == 'u') + { + [self setScanLocation:[self scanLocation] + 1]; + return [CPExpression expressionForConstantValue:[self nextArg]]; + } + } + break; + case 'q': + [self scanString:@"q" intoString:NULL]; + if ([self isAtEnd] == NO) + { + c = [[self string] characterAtIndex:[self scanLocation]]; + if (c == 'i' || c == 'u' || c == 'x' || c == 'X') + { + [self setScanLocation:[self scanLocation] + 1]; + return [CPExpression expressionForConstantValue:[self nextArg]]; + } + } + break; + } + } + + [self setScanLocation:location]; + } + + if ([self scanString:@"\"" intoString:NULL]) + { + var skip = [self charactersToBeSkipped], + str = @""; + + [self setCharactersToBeSkipped:nil]; + [self scanUpToString:@"\"" intoString:REFERENCE(str)]; + + if ([self scanString:@"\"" intoString:NULL] == NO) + CPRaiseParseError(self, @"expression"); + + [self setCharactersToBeSkipped:skip]; + + return [CPExpression expressionForConstantValue:str]; + } + + if ([self scanString:@"'" intoString:NULL]) + { + var skip = [self charactersToBeSkipped], + str = @""; + + [self setCharactersToBeSkipped:nil]; + [self scanUpToString:@"'" intoString:REFERENCE(str)]; + + if ([self scanString:@"'" intoString:NULL] == NO) + CPRaiseParseError(self, @"expression"); + + [self setCharactersToBeSkipped:skip]; + + return [CPExpression expressionForConstantValue:str]; + } + + if ([self scanString:@"@" intoString:NULL]) + { + var e = [self parseExpression]; + + if (![e keyPath]) + CPRaiseParseError(self, @"expression"); + + return [CPExpression expressionForKeyPath:[e keyPath] + "@"]; + } + + if ([self scanString:@"SUBQUERY" intoString:NULL]) + { + if (![self scanString:@"(" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + + var collection = [self parseExpression], + variableExpression, + subpredicate; + + if (![self scanString:@"," intoString:NULL]) + CPRaiseParseError(self, @"expression"); + variableExpression = [self parseExpression]; + + if (![self scanString:@"," intoString:NULL]) + CPRaiseParseError(self, @"expression"); + subpredicate = [self parsePredicate]; + + if (![self scanString:@")" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + + return [[_CPSubqueryExpression alloc] initWithExpression:collection usingIteratorExpression:variableExpression predicate:subpredicate]; + } + + if ([self scanString:@"FUNCTION" intoString:NULL]) + { + if (![self scanString:@"(" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + + var args = [CPArray arrayWithObject:[self parseExpression]]; + while ([self scanString:@"," intoString:NULL]) + [args addObject:[self parseExpression]]; + + if (![self scanString:@")" intoString:NULL] || [args count] < 2 || [args[1] expressionType] != CPConstantValueExpressionType) + CPRaiseParseError(self, @"expression"); + + return [CPExpression expressionForFunction:args[0] selectorName:[args[1] constantValue] arguments:args.slice(2)]; + } + + [self scanString:@"#" intoString:NULL]; + if (!identifier) + identifier = [CPCharacterSet characterSetWithCharactersInString:@"_$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"]; + + if (![self scanCharactersFromSet:identifier intoString:REFERENCE(ident)]) + CPRaiseParseError(self, @"expression"); + + return [CPExpression expressionForKeyPath:ident]; +} + +- (CPExpression)parseFunctionalExpression +{ + var left = [self parseSimpleExpression]; + + while (YES) + { + if ([self scanString:@"." intoString:NULL]) + { + var right = [self parseSimpleExpression], + expressionType = [right expressionType]; + + if (expressionType == CPKeyPathExpressionType) + left = [[_CPKeyPathExpression alloc] initWithOperand:left andKeyPath:[right keyPath]]; + else if (expressionType == CPVariableExpressionType) + left = [CPExpression expressionForFunction:left selectorName:@"valueForKey:" arguments:[right]]; + else + CPRaiseParseError(self, @"expression"); + } + else if ([self scanString:@"[" intoString:NULL]) + { + // index expression + if ([self scanPredicateKeyword:@"FIRST"]) + { + left = [CPExpression expressionForFunction:@"first:" arguments:[CPArray arrayWithObject:left]]; + } + else if ([self scanPredicateKeyword:@"LAST"]) + { + left = [CPExpression expressionForFunction:@"last:" arguments:[CPArray arrayWithObject:left]]; + } + else if ([self scanPredicateKeyword:@"SIZE"]) + { + left = [CPExpression expressionForFunction:@"count:" arguments:[CPArray arrayWithObject:left]]; + } + else + { + var index = [self parseExpression]; + left = [CPExpression expressionForFunction:@"fromObject:index:" arguments:[CPArray arrayWithObjects:left, index]]; + } + + if (![self scanString:@"]" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + } + else if ([self scanString:@":" intoString:NULL]) + { + // function - this parser allows for (max)(a, b, c) to be properly + // recognized and even (%K)(a, b, c) if %K evaluates to "max" + + if (![left keyPath]) + CPRaiseParseError(self, @"expression"); + + var selector = [left keyPath] + @":", + args = []; + + if (![self scanString:@"(" intoString:NULL]) + { + var str; + [self scanCharactersFromSet:[CPCharacterSet lowercaseLetterCharacterSet] intoString:REFERENCE(str)]; + + if (![self scanString:@":(" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + + selector += str + @":"; + } + + if (![self scanString:@")" intoString:NULL]) + { + [args addObject:[self parseExpression]]; + while ([self scanString:@"," intoString:NULL]) + [args addObject:[self parseExpression]]; + + if (![self scanString:@")" intoString:NULL]) + CPRaiseParseError(self, @"expression"); + } + + left = [CPExpression expressionForFunction:selector arguments:args]; + } + else if ([self scanString:@"UNION" intoString:NULL]) + { + left = [CPExpression expressionForUnionSet:left with:[self parseExpression]]; + } + else if ([self scanString:@"INTERSECT" intoString:NULL]) + { + left = [CPExpression expressionForIntersectSet:left with:[self parseExpression]]; + } + else if ([self scanString:@"MINUS" intoString:NULL]) + { + left = [CPExpression expressionForMinusSet:left with:[self parseExpression]]; + } + else + { + // done with suffixes + return left; + } + } +} + +- (CPExpression)parsePowerExpression +{ + var left = [self parseFunctionalExpression]; + + while (YES) + { + var right; + + if ([self scanString:@"**" intoString:NULL]) + { + right = [self parseFunctionalExpression]; + left = [CPExpression expressionForFunction:@"raise:to:" arguments:[CPArray arrayWithObjects:left, right]]; + } + else + { + return left; + } + } +} + +- (CPExpression)parseMultiplicationExpression +{ + var left = [self parsePowerExpression]; + + while (YES) + { + var right; + + if ([self scanString:@"*" intoString:NULL]) + { + right = [self parsePowerExpression]; + left = [CPExpression expressionForFunction:@"multiply:by:" arguments:[CPArray arrayWithObjects:left, right]]; + } + else if ([self scanString:@"/" intoString:NULL]) + { + right = [self parsePowerExpression]; + left = [CPExpression expressionForFunction:@"divide:by:" arguments:[CPArray arrayWithObjects:left, right]]; + } + else + { + return left; + } + } +} + +- (CPExpression)parseAdditionExpression +{ + var left = [self parseMultiplicationExpression]; + + while (YES) + { + var right; + + if ([self scanString:@"+" intoString:NULL]) + { + right = [self parseMultiplicationExpression]; + left = [CPExpression expressionForFunction:@"add:to:" arguments:[CPArray arrayWithObjects:left, right]]; + } + else if ([self scanString:@"-" intoString:NULL]) + { + right = [self parseMultiplicationExpression]; + left = [CPExpression expressionForFunction:@"from:substract:" arguments:[CPArray arrayWithObjects:left, right]]; + } + else + { + return left; + } + } +} + +- (CPExpression)parseBinaryExpression +{ + var left = [self parseAdditionExpression]; + + while (YES) + { + var right; + + if ([self scanString:@":=" intoString:NULL]) // assignment + { + // check left to be a variable? + right = [self parseAdditionExpression]; + // FIXME + } + else + { + return left; + } + } +} + +@end + +var CPRaiseParseError = function CPRaiseParseError(aScanner, target) +{ + [CPException raise:CPInvalidArgumentException reason:@"unable to parse " + target + " at index " + [aScanner scanLocation]]; +}; diff --git a/Foundation/CPPredicate/_CPSelfExpression.j b/Foundation/CPPredicate/_CPSelfExpression.j index 6dd2a62a5..e0bc57adc 100644 --- a/Foundation/CPPredicate/_CPSelfExpression.j +++ b/Foundation/CPPredicate/_CPSelfExpression.j @@ -20,8 +20,8 @@ */ @import "CPDictionary.j" -@import "CPExpression.j" @import "CPString.j" +@import "_CPExpression.j" var evaluatedObject = nil; diff --git a/Foundation/CPPredicate/_CPSetExpression.j b/Foundation/CPPredicate/_CPSetExpression.j index 35468c3f1..f7d4e673b 100644 --- a/Foundation/CPPredicate/_CPSetExpression.j +++ b/Foundation/CPPredicate/_CPSetExpression.j @@ -20,8 +20,8 @@ */ @import "CPException.j" -@import "CPExpression.j" @import "CPSet.j" +@import "_CPExpression.j" @implementation _CPSetExpression : CPExpression { diff --git a/Foundation/CPPredicate/_CPSubqueryExpression.j b/Foundation/CPPredicate/_CPSubqueryExpression.j index 5becdd1b3..d1b0fa31f 100644 --- a/Foundation/CPPredicate/_CPSubqueryExpression.j +++ b/Foundation/CPPredicate/_CPSubqueryExpression.j @@ -21,8 +21,8 @@ @import "CPArray.j" @import "CPDictionary.j" -@import "CPExpression.j" -@import "CPPredicate.j" +@import "_CPExpression.j" +@import "_CPPredicate.j" @implementation _CPSubqueryExpression : CPExpression { diff --git a/Foundation/CPPredicate/_CPVariableExpression.j b/Foundation/CPPredicate/_CPVariableExpression.j index 30e7b0e2e..c426d6c60 100644 --- a/Foundation/CPPredicate/_CPVariableExpression.j +++ b/Foundation/CPPredicate/_CPVariableExpression.j @@ -24,8 +24,8 @@ @import "CPDictionary.j" @import "CPException.j" -@import "CPExpression.j" @import "CPString.j" +@import "_CPExpression.j" @implementation _CPVariableExpression : CPExpression { diff --git a/Foundation/CPProxy.j b/Foundation/CPProxy.j index e935ad344..ceeac578d 100644 --- a/Foundation/CPProxy.j +++ b/Foundation/CPProxy.j @@ -27,6 +27,7 @@ @implementation CPProxy { + Class isa; } + (void)load @@ -80,12 +81,12 @@ if (typeof self._UID === "undefined") self._UID = objj_generateObjectUID(); - return _UID; + return self._UID; } - (BOOL)isEqual:(id)anObject { - return self === object; + return self === anObject; } - (id)self diff --git a/Foundation/CPSet+KVO.j b/Foundation/CPSet+KVO.j index 4af539b36..2bc3560d0 100644 --- a/Foundation/CPSet+KVO.j +++ b/Foundation/CPSet+KVO.j @@ -22,7 +22,8 @@ @import "CPException.j" @import "CPObject.j" -@import "CPSet.j" +@import "CPMutableSet.j" +@import "CPNull.j" @import "_CPCollectionKVCOperators.j" @implementation CPObject (CPSetKVO) diff --git a/Foundation/CPSet/CPMutableSet.j b/Foundation/CPSet/CPMutableSet.j index 79b76aee0..a70c74c55 100644 --- a/Foundation/CPSet/CPMutableSet.j +++ b/Foundation/CPSet/CPMutableSet.j @@ -7,7 +7,7 @@ this class only exists for source compatability. */ -@import "CPSet.j" +@import "_CPSet.j" @implementation CPMutableSet : CPSet @@ -146,4 +146,4 @@ @end -@import "_CPConcreteMutableSet.j" +//@import "_CPConcreteMutableSet.j" diff --git a/Foundation/CPSet/CPSet.j b/Foundation/CPSet/CPSet.j index 4c0773bb4..3e2a88286 100644 --- a/Foundation/CPSet/CPSet.j +++ b/Foundation/CPSet/CPSet.j @@ -24,491 +24,4 @@ * */ -@import "CPArray.j" -@import "CPEnumerator.j" -@import "CPNumber.j" -@import "CPObject.j" - -/*! - @class CPMutableSet - @ingroup Foundation - - CPSet is a data structure for storing an an unordered collection of unique objects. - Sets have O(1) insertion/lookup/deletion time complexity. -*/ - -@implementation CPSet : CPObject -{ -} - -+ (id)alloc -{ - if (self === [CPSet class] || self === [CPMutableSet class]) - return [_CPPlaceholderSet alloc]; - - return [super alloc]; -} - -/*! - Creates and returns an empty set. -*/ -+ (id)set -{ - return [[self alloc] init]; -} - -/*! - Creates and returns a set containing a uniqued collection of those objects contained in a given array. - @param anArray array containing the objects to add to the new set. If the same object appears more than once objects, it is added only once to the returned set. -*/ -+ (id)setWithArray:(CPArray)anArray -{ - return [[self alloc] initWithArray:anArray]; -} - -/*! - Creates and returns a set that contains a single given object. - @param anObject The object to add to the new set. -*/ -+ (id)setWithObject:(id)anObject -{ - return [[self alloc] initWithObjects:anObject]; -} - -/*! - Creates and returns a set containing a specified number of objects from a given array of objects. - @param objects A array of objects to add to the new set. If the same object appears more than once objects, it is added only once to the returned set. - @param count The number of objects from objects to add to the new set. -*/ -+ (id)setWithObjects:(id)objects count:(CPUInteger)count -{ - return [[self alloc] initWithObjects:objects count:count]; -} - -/*! - Creates and returns a set containing the objects in a given argument list. - @param anObject The first object to add to the new set. - @param ... A comma-separated list of objects, ending with nil, to add to the new set. If the same object appears more than once objects, it is added only once to the returned set. -*/ -+ (id)setWithObjects:(id)anObject, ... -{ - var argumentsArray = Array.prototype.slice.apply(arguments); - - argumentsArray[0] = [self alloc]; - argumentsArray[1] = @selector(initWithObjects:); - - return objj_msgSend.apply(this, argumentsArray); -} - -/*! - Creates and returns a set containing the objects from another set. - @param aSet A set containing the objects to add to the new set. -*/ -+ (id)setWithSet:(CPSet)set -{ - return [[self alloc] initWithSet:set]; -} - -/*! - Creates and returns a set by adding anObject. - @param anObject to add to the new set. -*/ -- (id)setByAddingObject:(id)anObject -{ - return [[self class] setWithArray:[[self allObjects] arrayByAddingObject:anObject]]; -} - -/*! - Creates and returns a set by adding the objects from another set. - @param aSet to add objects to add to the new set. -*/ -- (id)setByAddingObjectsFromSet:(CPSet)aSet -{ - return [self setByAddingObjectsFromArray:[aSet allObjects]]; -} - -/*! - Creates and returns a set by adding the objects from an array. - @param anArray with objects to add to a new set. -*/ -- (id)setByAddingObjectsFromArray:(CPArray)anArray -{ - return [[self class] setWithArray:[[self allObjects] arrayByAddingObjectsFromArray:anArray]]; -} - -/*! - Basic initializer, returns an empty set. -*/ -- (id)init -{ - return [self initWithObjects:nil count:0]; -} - -/*! - Initializes a newly allocated set with the objects that are contained in a given array. - @param array An array of objects to add to the new set. If the same object appears more than once in array, it is represented only once in the returned set. -*/ -- (id)initWithArray:(CPArray)anArray -{ - return [self initWithObjects:anArray count:[anArray count]]; -} - -/*! - Initializes a newly allocated set with members taken from the specified list of objects. - @param anObject The first object to add to the new set. - @param ... A comma-separated list of objects, ending with nil, to add to the new set. If the same object appears more than once in the list, it is represented only once in the returned set. -*/ -- (id)initWithObjects:(id)anObject, ... -{ - var index = 2, - count = arguments.length; - - for (; index < count; ++index) - if (arguments[index] === nil) - break; - - return [self initWithObjects:Array.prototype.slice.call(arguments, 2, index) count:index - 2]; -} - -/*! - Creates and returns a set containing the objects from an array. - @param anArray An array containing the objects to add to the new set. - @param aCount the number of objects in anArray. -*/ -- (id)initWithObjects:(CPArray)objects count:(CPUInteger)aCount -{ - if (self === _CPSharedPlaceholderSet) - return [[_CPConcreteMutableSet alloc] initWithObjects:objects count:aCount]; - - return [super init]; -} - -/*! - Initializes a newly allocated set and adds to it objects from another given set. - @param aSet a set containing objects to add to the new set. -*/ -- (id)initWithSet:(CPSet)aSet -{ - return [self initWithArray:[aSet allObjects]]; -} - -/*! - Initializes a newly allocated set and adds to it members of another given set. Only included for compatability. - @param aSet a set of objects to add to the new set. - @param shouldCopyItems a boolean value. If YES the objects would be copied, if NO the objects will not be copied. -*/ -- (id)initWithSet:(CPSet)aSet copyItems:(BOOL)shouldCopyItems -{ - if (shouldCopyItems) - return [aSet valueForKey:@"copy"]; - - return [self initWithSet:aSet]; -} - -/*! - Returns the number of members in the receiver. -*/ -- (CPUInteger)count -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); -} - -/*! - Returns an array containing the receiver’s members, or an empty array if the receiver has no members. -*/ -- (CPArray)allObjects -{ - var objects = [], - object, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - objects.push(object); - - return objects; -} - -/*! - Returns one of the objects in the receiver, or nil if the receiver contains no objects. -*/ -- (id)anyObject -{ - return [[self objectEnumerator] nextObject]; -} - -/*! - Returns a Boolean value that indicates whether a given object is present in the receiver. - @param anObject The object for which to test membership of the receiver. -*/ -- (BOOL)containsObject:(id)anObject -{ - return [self member:anObject] !== nil; -} - -/*! - Returns a set filtered using a given predicate. - @prarm aPredicate a CPPredicate object used to filter the objects in the set. -*/ -- (CPSet)filteredSetUsingPredicate:(CPPredicate)aPredicate -{ - var objects = [], - object, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - if ([aPredicate evaluateWithObject:object]) - objects.push(object); - - return [[[self class] alloc] initWithArray:objects]; -} - -/*! - Sends to each object in the receiver a message specified by a given selector. - @param aSelector A selector that specifies the message to send to the members of the receiver. The method must not take any arguments. It should not have the side effect of modifying the receiver. This value must not be NULL. -*/ -- (void)makeObjectsPerformSelector:(SEL)aSelector -{ - [self makeObjectsPerformSelector:aSelector withObjects:nil]; -} - -/*! - Sends to each object in the receiver a message specified by a given selector. - @param aSelector A selector that specifies the message to send to the receiver's members. The method must take a single argument of type id. The method should not, as a side effect, modify the receiver. The value must not be NULL. - @param anObject The object to pass as an argument to the method specified by aSelector. -*/ -- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)anObject -{ - [self makeObjectsPerformSelector:aSelector withObjects:[anObject]]; -} - -/*! - Sends to each object in the receiver a message specified by a given selector. - @param aSelector A selector that specifies the message to send to the receiver's members. The method must take a single argument of type id. The method should not, as a side effect, modify the receiver. The value must not be NULL. - @param objects The objects to pass as an argument to the method specified by aSelector. -*/ -- (void)makeObjectsPerformSelector:(SEL)aSelector withObjects:(CPArray)objects -{ - var object, - objectEnumerator = [self objectEnumerator], - argumentsArray = [nil, aSelector].concat(objects || []); - - while ((object = [objectEnumerator nextObject]) !== nil) - { - argumentsArray[0] = object; - objj_msgSend.apply(this, argumentsArray); - } -} - -/*! - Determines whether the receiver contains an object equal to a given object, and returns that object if it is present. - @param anObject The object for which to test for membership of the receiver. -*/ -- (id)member:(id)anObject -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); -} - -/*! - Returns an object enumerator (CPEnumerator) for the receiver. -*/ -- (CPEnumerator)objectEnumerator -{ - _CPRaiseInvalidAbstractInvocation(self, _cmd); -} - -/*! - Enumberates over the objects in a set using a given function. - @param aFunction a callback for each itteration, should be of the format: function(anObject). -*/ -- (void)enumerateObjectsUsingBlock:(Function)aFunction -{ - var object, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - if (aFunction(object)) - break; -} - -// FIXME: stop is broken. -- (CPSet)objectsPassingTest:(Function)aFunction -{ - var objects = [], - object = nil, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - if (aFunction(object)) - objects.push(object); - - return [[[self class] alloc] initWithArray:objects]; -} - -/*! - Returns a Boolean value that indicates whether every object in the receiver is also present in another given set. - @param set The set with which to compare the receiver. -*/ -- (BOOL)isSubsetOfSet:(CPSet)aSet -{ - var object = nil, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - if (![aSet containsObject:object]) - return NO; - - return YES; -} - -/*! - Returns a Boolean value that indicates whether at least one object in the receiver is also present in another given set. - @param set The set with which to compare the receiver. -*/ -- (BOOL)intersectsSet:(CPSet)aSet -{ - if (self === aSet) - // The empty set intersects nothing - return [self count] > 0; - - var object = nil, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - if ([aSet containsObject:object]) - return YES; - - return NO; -} - -/*! - Returns an array of the set's content sorted as specified by a given array of sort descriptors. - - @param sortDescriptors an array of CPSortDescriptor objects. -*/ -- (CPArray)sortedArrayUsingDescriptors:(CPArray)someSortDescriptors -{ - return [[self allObjects] sortedArrayUsingDescriptors:someSortDescriptors]; -} - -/*! - Compares the receiver to another set. - @param set The set with which to compare the receiver. -*/ -- (BOOL)isEqualToSet:(CPSet)aSet -{ - return [self isEqual:aSet]; -} - -/*! - Returns YES if BOTH sets are a subset of the other. - @param aSet a set of objects -*/ -- (BOOL)isEqual:(CPSet)aSet -{ - // If both are subsets of each other, they are equal - return self === aSet || - [aSet isKindOfClass:[CPSet class]] && - ([self count] === [aSet count] && - [aSet isSubsetOfSet:self]); -} - -- (CPString)description -{ - var string = "{(\n", - objects = [self allObjects], - index = 0, - count = [objects count]; - - for (; index < count; ++index) - { - var object = objects[index]; - - string += "\t" + String(object).split('\n').join("\n\t") + "\n"; - } - - return string + ")}"; -} - -@end - -@implementation CPSet (CPCopying) - -- (id)copy -{ - return [[self class] setWithSet:self]; -} - -- (id)mutableCopy -{ - return [self copy]; -} - -@end - -var CPSetObjectsKey = @"CPSetObjectsKey"; - -@implementation CPSet (CPCoding) - -- (id)initWithCoder:(CPCoder)aCoder -{ - return [self initWithArray:[aCoder decodeObjectForKey:CPSetObjectsKey]]; -} - -- (void)encodeWithCoder:(CPCoder)aCoder -{ - [aCoder encodeObject:[self allObjects] forKey:CPSetObjectsKey]; -} - -@end - -@implementation CPSet (CPKeyValueCoding) - -- (id)valueForKey:(CPString)aKey -{ - if (aKey === "@count") - return [self count]; - - var valueSet = [CPSet set], - object, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - { - var value = [object valueForKey:aKey]; - - [valueSet addObject:value]; - } - - return valueSet; -} - -- (void)setValue:(id)aValue forKey:(CPString)aKey -{ - var object, - objectEnumerator = [self objectEnumerator]; - - while ((object = [objectEnumerator nextObject]) !== nil) - [object setValue:aValue forKey:aKey]; -} - -@end - -var _CPSharedPlaceholderSet = nil; - -@implementation _CPPlaceholderSet : CPSet -{ -} - -+ (id)alloc -{ - if (!_CPSharedPlaceholderSet) - _CPSharedPlaceholderSet = [super alloc]; - - return _CPSharedPlaceholderSet; -} - -@end - -// We actually want _CPConcreteMutableSet, but this introduces the possibility of an invalid @import loop. -// This will be correctly solved when we move to true immutable/mutable pairs. -@import "CPMutableSet.j" + @import "_CPConcreteMutableSet.j" diff --git a/Foundation/CPSet/_CPSet.j b/Foundation/CPSet/_CPSet.j new file mode 100644 index 000000000..f80124c31 --- /dev/null +++ b/Foundation/CPSet/_CPSet.j @@ -0,0 +1,516 @@ +/* + * CPSet.j + * Foundation + * + * Created by Bailey Carlson + * Extended by Ross Boucher + * Extended by Nabil Elisa + * Rewritten by Francisco Tolmasky + * Copyright 2008, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +@import "CPArray.j" +@import "CPEnumerator.j" +@import "CPNumber.j" +@import "CPObject.j" + +@class _CPConcreteMutableSet + +/*! + @class CPMutableSet + @ingroup Foundation + + CPSet is a data structure for storing an an unordered collection of unique objects. + Sets have O(1) insertion/lookup/deletion time complexity. +*/ + +@implementation CPSet : CPObject +{ +} + ++ (id)alloc +{ + if (self === [CPSet class] || self === [CPMutableSet class]) + return [_CPPlaceholderSet alloc]; + + return [super alloc]; +} + +/*! + Creates and returns an empty set. +*/ ++ (id)set +{ + return [[self alloc] init]; +} + +/*! + Creates and returns a set containing a uniqued collection of those objects contained in a given array. + @param anArray array containing the objects to add to the new set. If the same object appears more than once objects, it is added only once to the returned set. +*/ ++ (id)setWithArray:(CPArray)anArray +{ + return [[self alloc] initWithArray:anArray]; +} + +/*! + Creates and returns a set that contains a single given object. + @param anObject The object to add to the new set. +*/ ++ (id)setWithObject:(id)anObject +{ + return [[self alloc] initWithObjects:anObject]; +} + +/*! + Creates and returns a set containing a specified number of objects from a given array of objects. + @param objects A array of objects to add to the new set. If the same object appears more than once objects, it is added only once to the returned set. + @param count The number of objects from objects to add to the new set. +*/ ++ (id)setWithObjects:(id)objects count:(CPUInteger)count +{ + return [[self alloc] initWithObjects:objects count:count]; +} + +/*! + Creates and returns a set containing the objects in a given argument list. + @param anObject The first object to add to the new set. + @param ... A comma-separated list of objects, ending with nil, to add to the new set. If the same object appears more than once objects, it is added only once to the returned set. +*/ ++ (id)setWithObjects:(id)anObject, ... +{ + var argumentsArray = Array.prototype.slice.apply(arguments); + + argumentsArray[0] = [self alloc]; + argumentsArray[1] = @selector(initWithObjects:); + + return objj_msgSend.apply(this, argumentsArray); +} + +/*! + Creates and returns a set containing the objects from another set. + @param aSet A set containing the objects to add to the new set. +*/ ++ (id)setWithSet:(CPSet)set +{ + return [[self alloc] initWithSet:set]; +} + +/*! + Creates and returns a set by adding anObject. + @param anObject to add to the new set. +*/ +- (id)setByAddingObject:(id)anObject +{ + return [[self class] setWithArray:[[self allObjects] arrayByAddingObject:anObject]]; +} + +/*! + Creates and returns a set by adding the objects from another set. + @param aSet to add objects to add to the new set. +*/ +- (id)setByAddingObjectsFromSet:(CPSet)aSet +{ + return [self setByAddingObjectsFromArray:[aSet allObjects]]; +} + +/*! + Creates and returns a set by adding the objects from an array. + @param anArray with objects to add to a new set. +*/ +- (id)setByAddingObjectsFromArray:(CPArray)anArray +{ + return [[self class] setWithArray:[[self allObjects] arrayByAddingObjectsFromArray:anArray]]; +} + +/*! + Basic initializer, returns an empty set. +*/ +- (id)init +{ + return [self initWithObjects:nil count:0]; +} + +/*! + Initializes a newly allocated set with the objects that are contained in a given array. + @param array An array of objects to add to the new set. If the same object appears more than once in array, it is represented only once in the returned set. +*/ +- (id)initWithArray:(CPArray)anArray +{ + return [self initWithObjects:anArray count:[anArray count]]; +} + +/*! + Initializes a newly allocated set with members taken from the specified list of objects. + @param anObject The first object to add to the new set. + @param ... A comma-separated list of objects, ending with nil, to add to the new set. If the same object appears more than once in the list, it is represented only once in the returned set. +*/ +- (id)initWithObjects:(id)anObject, ... +{ + var index = 2, + count = arguments.length; + + for (; index < count; ++index) + if (arguments[index] === nil) + break; + + return [self initWithObjects:Array.prototype.slice.call(arguments, 2, index) count:index - 2]; +} + +/*! + Creates and returns a set containing the objects from an array. + @param anArray An array containing the objects to add to the new set. + @param aCount the number of objects in anArray. +*/ +- (id)initWithObjects:(CPArray)objects count:(CPUInteger)aCount +{ + if (self === _CPSharedPlaceholderSet) + return [[_CPConcreteMutableSet alloc] initWithObjects:objects count:aCount]; + + return [super init]; +} + +/*! + Initializes a newly allocated set and adds to it objects from another given set. + @param aSet a set containing objects to add to the new set. +*/ +- (id)initWithSet:(CPSet)aSet +{ + return [self initWithArray:[aSet allObjects]]; +} + +/*! + Initializes a newly allocated set and adds to it members of another given set. Only included for compatability. + @param aSet a set of objects to add to the new set. + @param shouldCopyItems a boolean value. If YES the objects would be copied, if NO the objects will not be copied. +*/ +- (id)initWithSet:(CPSet)aSet copyItems:(BOOL)shouldCopyItems +{ + if (shouldCopyItems) + return [aSet valueForKey:@"copy"]; + + return [self initWithSet:aSet]; +} + +/*! + Returns the number of members in the receiver. +*/ +- (CPUInteger)count +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); +} + +/*! + Returns an array containing the receiver’s members, or an empty array if the receiver has no members. +*/ +- (CPArray)allObjects +{ + var objects = [], + object, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + objects.push(object); + + return objects; +} + +/*! + Returns one of the objects in the receiver, or nil if the receiver contains no objects. +*/ +- (id)anyObject +{ + return [[self objectEnumerator] nextObject]; +} + +/*! + Returns a Boolean value that indicates whether a given object is present in the receiver. + @param anObject The object for which to test membership of the receiver. +*/ +- (BOOL)containsObject:(id)anObject +{ + return [self member:anObject] !== nil; +} + +/*! + Returns a set filtered using a given predicate. + @prarm aPredicate a CPPredicate object used to filter the objects in the set. +*/ +- (CPSet)filteredSetUsingPredicate:(CPPredicate)aPredicate +{ + var objects = [], + object, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + if ([aPredicate evaluateWithObject:object]) + objects.push(object); + + return [[[self class] alloc] initWithArray:objects]; +} + +/*! + Sends to each object in the receiver a message specified by a given selector. + @param aSelector A selector that specifies the message to send to the members of the receiver. The method must not take any arguments. It should not have the side effect of modifying the receiver. This value must not be NULL. +*/ +- (void)makeObjectsPerformSelector:(SEL)aSelector +{ + [self makeObjectsPerformSelector:aSelector withObjects:nil]; +} + +/*! + Sends to each object in the receiver a message specified by a given selector. + @param aSelector A selector that specifies the message to send to the receiver's members. The method must take a single argument of type id. The method should not, as a side effect, modify the receiver. The value must not be NULL. + @param anObject The object to pass as an argument to the method specified by aSelector. +*/ +- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)anObject +{ + [self makeObjectsPerformSelector:aSelector withObjects:[anObject]]; +} + +/*! + Sends to each object in the receiver a message specified by a given selector. + @param aSelector A selector that specifies the message to send to the receiver's members. The method must take a single argument of type id. The method should not, as a side effect, modify the receiver. The value must not be NULL. + @param objects The objects to pass as an argument to the method specified by aSelector. +*/ +- (void)makeObjectsPerformSelector:(SEL)aSelector withObjects:(CPArray)objects +{ + var object, + objectEnumerator = [self objectEnumerator], + argumentsArray = [nil, aSelector].concat(objects || []); + + while ((object = [objectEnumerator nextObject]) !== nil) + { + argumentsArray[0] = object; + objj_msgSend.apply(this, argumentsArray); + } +} + +/*! + Determines whether the receiver contains an object equal to a given object, and returns that object if it is present. + @param anObject The object for which to test for membership of the receiver. +*/ +- (id)member:(id)anObject +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); +} + +/*! + Returns an object enumerator (CPEnumerator) for the receiver. +*/ +- (CPEnumerator)objectEnumerator +{ + _CPRaiseInvalidAbstractInvocation(self, _cmd); +} + +/*! + Enumberates over the objects in a set using a given function. + @param aFunction a callback for each itteration, should be of the format: function(anObject). +*/ +- (void)enumerateObjectsUsingBlock:(Function)aFunction +{ + var object, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + if (aFunction(object)) + break; +} + +// FIXME: stop is broken. +- (CPSet)objectsPassingTest:(Function)aFunction +{ + var objects = [], + object = nil, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + if (aFunction(object)) + objects.push(object); + + return [[[self class] alloc] initWithArray:objects]; +} + +/*! + Returns a Boolean value that indicates whether every object in the receiver is also present in another given set. + @param set The set with which to compare the receiver. +*/ +- (BOOL)isSubsetOfSet:(CPSet)aSet +{ + var object = nil, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + if (![aSet containsObject:object]) + return NO; + + return YES; +} + +/*! + Returns a Boolean value that indicates whether at least one object in the receiver is also present in another given set. + @param set The set with which to compare the receiver. +*/ +- (BOOL)intersectsSet:(CPSet)aSet +{ + if (self === aSet) + // The empty set intersects nothing + return [self count] > 0; + + var object = nil, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + if ([aSet containsObject:object]) + return YES; + + return NO; +} + +/*! + Returns an array of the set's content sorted as specified by a given array of sort descriptors. + + @param sortDescriptors an array of CPSortDescriptor objects. +*/ +- (CPArray)sortedArrayUsingDescriptors:(CPArray)someSortDescriptors +{ + return [[self allObjects] sortedArrayUsingDescriptors:someSortDescriptors]; +} + +/*! + Compares the receiver to another set. + @param set The set with which to compare the receiver. +*/ +- (BOOL)isEqualToSet:(CPSet)aSet +{ + return [self isEqual:aSet]; +} + +/*! + Returns YES if BOTH sets are a subset of the other. + @param aSet a set of objects +*/ +- (BOOL)isEqual:(CPSet)aSet +{ + // If both are subsets of each other, they are equal + return self === aSet || + [aSet isKindOfClass:[CPSet class]] && + ([self count] === [aSet count] && + [aSet isSubsetOfSet:self]); +} + +- (CPString)description +{ + var string = "{(\n", + objects = [self allObjects], + index = 0, + count = [objects count]; + + for (; index < count; ++index) + { + var object = objects[index]; + + string += "\t" + String(object).split('\n').join("\n\t") + "\n"; + } + + return string + ")}"; +} + +@end + +@implementation CPSet (CPCopying) + +- (id)copy +{ + return [[self class] setWithSet:self]; +} + +- (id)mutableCopy +{ + return [self copy]; +} + +@end + +var CPSetObjectsKey = @"CPSetObjectsKey"; + +@implementation CPSet (CPCoding) + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self initWithArray:[aCoder decodeObjectForKey:CPSetObjectsKey]]; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [aCoder encodeObject:[self allObjects] forKey:CPSetObjectsKey]; +} + +@end + +@implementation CPSet (CPKeyValueCoding) + +- (id)valueForKey:(CPString)aKey +{ + if (aKey === "@count") + return [self count]; + + var valueSet = [CPSet set], + object, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + { + var value = [object valueForKey:aKey]; + + [valueSet addObject:value]; + } + + return valueSet; +} + +- (void)setValue:(id)aValue forKey:(CPString)aKey +{ + var object, + objectEnumerator = [self objectEnumerator]; + + while ((object = [objectEnumerator nextObject]) !== nil) + [object setValue:aValue forKey:aKey]; +} + +@end + +var _CPSharedPlaceholderSet = nil; + +@implementation _CPPlaceholderSet : CPSet +{ +} + ++ (id)alloc +{ + if (!_CPSharedPlaceholderSet) + _CPSharedPlaceholderSet = [super alloc]; + + return _CPSharedPlaceholderSet; +} + +@end + +// We actually want _CPConcreteMutableSet, but this introduces the possibility of an invalid @import loop. +// This will be correctly solved when we move to true immutable/mutable pairs. +//@import "CPMutableSet.j" diff --git a/Foundation/CPSortDescriptor.j b/Foundation/CPSortDescriptor.j index ec093160a..3a61d3ca2 100755 --- a/Foundation/CPSortDescriptor.j +++ b/Foundation/CPSortDescriptor.j @@ -24,6 +24,8 @@ @import "CPObjJRuntime.j" @import "CPString.j" +@class CPString + /*! @class CPSortDescriptor @ingroup foundation diff --git a/Foundation/CPString.j b/Foundation/CPString.j index c7da015b1..1dd8c1526 100644 --- a/Foundation/CPString.j +++ b/Foundation/CPString.j @@ -28,6 +28,12 @@ @import "CPURL.j" @import "CPValue.j" +@class CPException +@class CPURL + +@global CPInvalidArgumentException +@global CPRangeException + #define _CPMaxRange(aRange) ((aRange).location + (aRange).length) /*! @@ -194,7 +200,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (int)length { - return length; + return self.length; } /*! @@ -203,7 +209,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)characterAtIndex:(unsigned)anIndex { - return charAt(anIndex); + return self.charAt(anIndex); } // Combining strings @@ -246,15 +252,15 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)stringByPaddingToLength:(unsigned)aLength withString:(CPString)aString startingAtIndex:(unsigned)anIndex { - if (length == aLength) + if (self.length == aLength) return self; - if (aLength < length) - return substr(0, aLength); + if (aLength < self.length) + return self.substr(0, aLength); var string = self, substring = aString.substring(anIndex), - difference = aLength - length; + difference = aLength - self.length; while ((difference -= substring.length) >= 0) string += substring; @@ -279,7 +285,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPArray)componentsSeparatedByString:(CPString)aString { - return split(aString); + return self.split(aString); } /*! @@ -289,7 +295,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)substringFromIndex:(unsigned)anIndex { - return substr(anIndex); + return self.substr(anIndex); } /*! @@ -299,10 +305,10 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)substringWithRange:(CPRange)aRange { - if (aRange.location < 0 || _CPMaxRange(aRange) > length) + if (aRange.location < 0 || _CPMaxRange(aRange) > self.length) [CPException raise:CPRangeException reason:"aRange out of bounds"]; - return substr(aRange.location, aRange.length); + return self.substr(aRange.location, aRange.length); } /*! @@ -314,10 +320,10 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)substringToIndex:(unsigned)anIndex { - if (anIndex > length) + if (anIndex > self.length) [CPException raise:CPRangeException reason:"index out of bounds"]; - return substring(0, anIndex); + return self.substring(0, anIndex); } // Finding characters and substrings @@ -436,9 +442,9 @@ var CPStringUIDs = new CFMutableDictionary(), - (CPString)stringByReplacingOccurrencesOfString:(CPString)target withString:(CPString)replacement options:(int)options range:(CPRange)searchRange { - var start = substring(0, searchRange.location), - stringSegmentToSearch = substr(searchRange.location, searchRange.length), - end = substring(searchRange.location + searchRange.length, self.length), + var start = self.substring(0, searchRange.location), + stringSegmentToSearch = self.substr(searchRange.location, searchRange.length), + end = self.substring(searchRange.location + searchRange.length, self.length), target = [target stringByEscapingRegexControlCharacters], regExp; @@ -459,7 +465,7 @@ var CPStringUIDs = new CFMutableDictionary(), - (CPString)stringByReplacingCharactersInRange:(CPRange)range withString:(CPString)replacement { - return '' + substring(0, range.location) + replacement + substring(range.location + range.length, self.length); + return '' + self.substring(0, range.location) + replacement + self.substring(range.location + range.length, self.length); } /*! @@ -546,7 +552,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (BOOL)hasPrefix:(CPString)aString { - return aString && aString != "" && indexOf(aString) == 0; + return aString && aString != "" && self.indexOf(aString) == 0; } /*! @@ -556,7 +562,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (BOOL)hasSuffix:(CPString)aString { - return aString && aString != "" && length >= aString.length && lastIndexOf(aString) == (length - aString.length); + return aString && aString != "" && self.length >= aString.length && self.lastIndexOf(aString) == (self.length - aString.length); } - (BOOL)isEqual:(id)anObject @@ -657,7 +663,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)lowercaseString { - return toLowerCase(); + return self.toLowerCase(); } /*! @@ -665,7 +671,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)uppercaseString { - return toUpperCase(); + return self.toUpperCase(); } /*! @@ -710,13 +716,13 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPArray)pathComponents { - if (length === 0) + if (self.length === 0) return [""]; if (self === "/") return ["/"]; - var result = split('/'); + var result = self.split('/'); if (result[0] === "") result[0] = "/"; @@ -787,10 +793,10 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)pathExtension { - if (lastIndexOf('.') === CPNotFound) + if (self.lastIndexOf('.') === CPNotFound) return ""; - return substr(lastIndexOf('.') + 1); + return self.substr(self.lastIndexOf('.') + 1); } /*! @@ -830,7 +836,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)stringByAppendingPathExtension:(CPString)ext { - if (ext.indexOf('/') >= 0 || length === 0 || self === "/") // Can't handle these + if (ext.indexOf('/') >= 0 || self.length === 0 || self === "/") // Can't handle these return self; var components = [self pathComponents], @@ -852,7 +858,7 @@ var CPStringUIDs = new CFMutableDictionary(), */ - (CPString)stringByDeletingLastPathComponent { - if (length === 0) + if (self.length === 0) return ""; else if (self === "/") return "/"; @@ -880,10 +886,10 @@ var CPStringUIDs = new CFMutableDictionary(), if (extension === "") return self; - else if (lastIndexOf('.') < 1) + else if (self.lastIndexOf('.') < 1) return self; - return substr(0, [self length] - (extension.length + 1)); + return self.substr(0, [self length] - (extension.length + 1)); } - (CPString)stringByStandardizingPath diff --git a/Foundation/CPURLConnection.j b/Foundation/CPURLConnection.j index e539cec10..8b71cf91b 100644 --- a/Foundation/CPURLConnection.j +++ b/Foundation/CPURLConnection.j @@ -94,7 +94,7 @@ var CPURLConnectionDelegate = nil; @param anError not used @return the data at the URL or \c nil if there was an error */ -+ (CPData)sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:({CPURLResponse})aURLResponse ++ (CPData)sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:(/*{*/CPURLResponse/*}*/)aURLResponse { try { @@ -277,7 +277,7 @@ var CPURLConnectionDelegate = nil; @implementation CPURLConnection (Deprecated) -+ (CPData)sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:({CPURLResponse})aURLResponse error:(id)anError ++ (CPData)sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:(/*{*/CPURLResponse/*}*/)aURLResponse error:(id)anError { _CPReportLenientDeprecation(self, _cmd, @selector(sendSynchronousRequest:returningResponse:)); diff --git a/Foundation/CPUndoManager.j b/Foundation/CPUndoManager.j index 42c24163b..25006a4af 100644 --- a/Foundation/CPUndoManager.j +++ b/Foundation/CPUndoManager.j @@ -858,7 +858,7 @@ var CPUndoManagerRedoStackKey = @"CPUndoManagerRedoStackKey", _undoStack = [aCoder decodeObjectForKey:CPUndoManagerUndoStackKey]; _levelsOfUndo = [aCoder decodeObjectForKey:CPUndoManagerLevelsOfUndoKey]; - _actionName = [aCoder decodeObjectForKey:CPUndoManagerActionNameKey]; +// _actionName = [aCoder decodeObjectForKey:CPUndoManagerActionNameKey]; _currentGrouping = [aCoder decodeObjectForKey:CPUndoManagerCurrentGroupingKey]; _state = CPUndoManagerNormal; @@ -876,7 +876,7 @@ var CPUndoManagerRedoStackKey = @"CPUndoManagerRedoStackKey", [aCoder encodeObject:_undoStack forKey:CPUndoManagerUndoStackKey]; [aCoder encodeInt:_levelsOfUndo forKey:CPUndoManagerLevelsOfUndoKey]; - [aCoder encodeObject:_actionName forKey:CPUndoManagerActionNameKey]; +// [aCoder encodeObject:_actionName forKey:CPUndoManagerActionNameKey]; [aCoder encodeObject:_currentGrouping forKey:CPUndoManagerCurrentGroupingKey]; diff --git a/Foundation/CPUserDefaults.j b/Foundation/CPUserDefaults.j index 88685aa4a..4805aca51 100644 --- a/Foundation/CPUserDefaults.j +++ b/Foundation/CPUserDefaults.j @@ -34,6 +34,9 @@ @import "CPURLConnection.j" @import "CPURLRequest.j" +@class CPCookie + +@global CPApp CPArgumentDomain = @"CPArgumentDomain"; CPApplicationDomain = [[[CPBundle mainBundle] infoDictionary] objectForKey:@"CPBundleIdentifier"] || @"CPApplicationDomain"; diff --git a/Foundation/CPValueTransformer.j b/Foundation/CPValueTransformer.j index 69090a51a..65b208a01 100644 --- a/Foundation/CPValueTransformer.j +++ b/Foundation/CPValueTransformer.j @@ -43,10 +43,10 @@ var transformerMap = [CPDictionary dictionary]; if (self !== [CPValueTransformer class]) return; - [CPValueTransformer setValueTransformer:[[CPNegateBooleanTransformer alloc] init] forName:CPNegateBooleanTransformerName]; - [CPValueTransformer setValueTransformer:[[CPIsNilTransformer alloc] init] forName:CPIsNilTransformerName]; - [CPValueTransformer setValueTransformer:[[CPIsNotNilTransformer alloc] init] forName:CPIsNotNilTransformerName]; - [CPValueTransformer setValueTransformer:[[CPUnarchiveFromDataTransformer alloc] init] forName:CPUnarchiveFromDataTransformerName]; +// [CPValueTransformer setValueTransformer:[[CPNegateBooleanTransformer alloc] init] forName:CPNegateBooleanTransformerName]; +// [CPValueTransformer setValueTransformer:[[CPIsNilTransformer alloc] init] forName:CPIsNilTransformerName]; +// [CPValueTransformer setValueTransformer:[[CPIsNotNilTransformer alloc] init] forName:CPIsNotNilTransformerName]; +// [CPValueTransformer setValueTransformer:[[CPUnarchiveFromDataTransformer alloc] init] forName:CPUnarchiveFromDataTransformerName]; } + (void)setValueTransformer:(CPValueTransformer)transformer forName:(CPString)aName @@ -192,3 +192,8 @@ CPIsNilTransformerName = @"CPIsNil"; CPIsNotNilTransformerName = @"CPIsNotNil"; CPUnarchiveFromDataTransformerName = @"CPUnarchiveFromData"; CPKeyedUnarchiveFromDataTransformerName = @"CPKeyedUnarchiveFromData"; + +[CPValueTransformer setValueTransformer:[[CPNegateBooleanTransformer alloc] init] forName:CPNegateBooleanTransformerName]; +[CPValueTransformer setValueTransformer:[[CPIsNilTransformer alloc] init] forName:CPIsNilTransformerName]; +[CPValueTransformer setValueTransformer:[[CPIsNotNilTransformer alloc] init] forName:CPIsNotNilTransformerName]; +[CPValueTransformer setValueTransformer:[[CPUnarchiveFromDataTransformer alloc] init] forName:CPUnarchiveFromDataTransformerName]; diff --git a/Foundation/Foundation.j b/Foundation/Foundation.j index 422501616..0d0214c0d 100755 --- a/Foundation/Foundation.j +++ b/Foundation/Foundation.j @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "_CGGeometry.j" @import "CPArray.j" @import "CPBundle.j" @import "CPCharacterSet.j" @@ -33,10 +34,10 @@ @import "CPDecimalNumber.j" @import "CPDictionary.j" @import "CPEnumerator.j" +@import "CPError.j" @import "CPException.j" @import "CPExpression.j" @import "CPFormatter.j" -@import "CPGeometry.j" @import "CPIndexSet.j" @import "CPIndexPath.j" @import "CPInvocation.j" diff --git a/Foundation/_CPCollectionKVCOperators.j b/Foundation/_CPCollectionKVCOperators.j index f2be4101d..7046fe58f 100644 --- a/Foundation/_CPCollectionKVCOperators.j +++ b/Foundation/_CPCollectionKVCOperators.j @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import "CPObject.j" + @implementation _CPCollectionKVCOperator : CPObject + (id)performOperation:(CPString)operator withCollection:(id)aCollection propertyPath:(CPString)propertyPath diff --git a/Jakefile b/Jakefile index 26e34d049..4dcff0811 100644 --- a/Jakefile +++ b/Jakefile @@ -91,10 +91,10 @@ task ("clean-sprites", function() task ("clobber-theme", function() { - var f = new FileList(FILE.join(SYSTEM.env.CAPP_BUILD, "**/Aristo.blend")), + var f = new FileList(FILE.join(SYSTEM.env.CAPP_BUILD, "**/Aristo.blend"), FILE.join(SYSTEM.env.CAPP_BUILD, "**/Aristo2.blend")), paths = f.items(); - f = new FileList(FILE.join(SYSTEM.env.CAPP_BUILD, "Aristo.build")); + f = new FileList(FILE.join(SYSTEM.env.CAPP_BUILD, "Aristo.build"), FILE.join(SYSTEM.env.CAPP_BUILD, "Aristo2.build")); paths = paths.concat(f.items()); paths.forEach(function(path) diff --git a/Objective-J/CFBundle.js b/Objective-J/CFBundle.js index 44280e871..0faec4273 100644 --- a/Objective-J/CFBundle.js +++ b/Objective-J/CFBundle.js @@ -106,6 +106,15 @@ function addClassToBundle(aClass, aBundle) CFBundlesForClasses[aClass.name] = aBundle; } +function resetBundle() +{ + CFBundlesForURLStrings = { }; + CFBundlesForClasses = { }; + //CFCacheBuster = new Date().getTime(), + CFTotalBytesLoaded = 0; + CPApplicationSizeInBytes = 0; +} + CFBundle.bundleForClass = function(/*Class*/ aClass) { return CFBundlesForClasses[aClass.name] || CFBundle.mainBundle(); diff --git a/Objective-J/CFHTTPRequest.js b/Objective-J/CFHTTPRequest.js index 6d57fc3da..5ba2725bc 100644 --- a/Objective-J/CFHTTPRequest.js +++ b/Objective-J/CFHTTPRequest.js @@ -300,6 +300,32 @@ function FileRequest(/*CFURL*/ aURL, onsuccess, onfailure) if (aURL.pathExtension() === "plist") request.overrideMimeType("text/xml"); +#if COMMONJS + if (aURL.pathExtension() === "j") + { + var aFilePath = aURL.toString().substring(5), + OS = require("os"), + gccFlags = require("objective-j").currentCompilerFlags(), + gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }), + chunk, + fileContents = ""; + + while (chunk = gcc.stdout.read()) + fileContents += chunk; + + if (fileContents.length > 0) + { + request._nativeRequest.responseText = fileContents; + onsuccess({request: request}); + } + else + { + onfailure({request: request}); + } + return; + } +#endif + if (exports.asyncLoader) { request.onsuccess = Asynchronous(onsuccess); diff --git a/Objective-J/CommonJS/lib/objective-j.js b/Objective-J/CommonJS/lib/objective-j.js index 8b0d4e2f5..254a96c16 100644 --- a/Objective-J/CommonJS/lib/objective-j.js +++ b/Objective-J/CommonJS/lib/objective-j.js @@ -94,7 +94,7 @@ exports.run = function(args) var arg0 = argv.shift(); var mainFilePath = FILE.canonical(arg0); - exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print, window); + exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print); if (typeof main === "function") main([arg0].concat(argv)); @@ -149,13 +149,14 @@ exports.repl = function() }; // creates a narwhal factory function in the objj module scope -exports.make_narwhal_factory = function(path) +exports.make_narwhal_factory = function(path, basePath, filenameTranslateDictionary) { return function(require, exports, module, system, print) { Executable.setCommonJSParameters("require", "exports", "module", "system", "print", "window"); Executable.setCommonJSArguments(require, exports, module, system, print, window); - Executable.fileImporterForURL(FILE.dirname(path))(path, YES); + filenameTranslateDictionary && Executable.setFilenameTranslateDictionary(filenameTranslateDictionary); + Executable.fileImporterForURL(basePath ? basePath : FILE.dirname(path))(path, YES); } }; diff --git a/Objective-J/CommonJS/lib/objective-j/compiler.js b/Objective-J/CommonJS/lib/objective-j/compiler.js index f7b15a8a1..6243d7a1f 100644 --- a/Objective-J/CommonJS/lib/objective-j/compiler.js +++ b/Objective-J/CommonJS/lib/objective-j/compiler.js @@ -1,13 +1,14 @@ var FILE = require("file"), OS = require("os"), - ObjectiveJ = require("objective-j"); + ObjectiveJ = require("objective-j"), + JAKE = require("jake"); require("objective-j/rhino/regexp-rhino-patch"); -ObjectiveJ.Preprocessor.Flags.Preprocess = 1 << 10; -ObjectiveJ.Preprocessor.Flags.Compress = 1 << 11; -ObjectiveJ.Preprocessor.Flags.CheckSyntax = 1 << 12; +ObjectiveJ.ObjJAcornCompiler.Flags.Preprocess = 1 << 10; +ObjectiveJ.ObjJAcornCompiler.Flags.Compress = 1 << 11; +ObjectiveJ.ObjJAcornCompiler.Flags.CheckSyntax = 1 << 12; var compressors = { ss : { id : "minify/shrinksafe" } @@ -36,47 +37,73 @@ function compressor(code) function compileWithResolvedFlags(aFilePath, objjcFlags, gccFlags, asPlainJavascript) { - var shouldObjjPreprocess = objjcFlags & ObjectiveJ.Preprocessor.Flags.Preprocess, - shouldCheckSyntax = objjcFlags & ObjectiveJ.Preprocessor.Flags.CheckSyntax, - shouldCompress = objjcFlags & ObjectiveJ.Preprocessor.Flags.Compress, + var shouldObjjPreprocess = objjcFlags & ObjectiveJ.ObjJAcornCompiler.Flags.Preprocess, + shouldCheckSyntax = objjcFlags & ObjectiveJ.ObjJAcornCompiler.Flags.CheckSyntax, + shouldCompress = objjcFlags & ObjectiveJ.ObjJAcornCompiler.Flags.Compress, fileContents = "", executable, code; - if (OS.popen("which gcc").stdout.read().length === 0) - fileContents = FILE.read(aFilePath, { charset:"UTF-8" }); - - else - { - // GCC preprocess the file. - var gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags.join(" ") : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }), - chunk = ""; - - while (chunk = gcc.stdout.read()) - fileContents += chunk; - } - if (!shouldObjjPreprocess) + { + if (OS.popen("which gcc").stdout.read().length === 0) + fileContents = FILE.read(aFilePath, { charset:"UTF-8" }); + else + { + // GCC preprocess the file. + var gcc = OS.popen("gcc -E -x c -P " + (gccFlags ? gccFlags.join(" ") : "") + " " + OS.enquote(aFilePath), { charset:"UTF-8" }), + chunk = ""; + + while (chunk = gcc.stdout.read()) + fileContents += chunk; + + } return fileContents; + } // Preprocess contents into fragments. // FIXME: should calculate relative path, etc. try { - executable = ObjectiveJ.preprocess(fileContents, FILE.basename(aFilePath), objjcFlags); + var sources = new JAKE.FileList("**/*.j"), + translateFilenameToPath = {}, + otherwayTranslateFilenameToPath = {}; + + // Create a filename to filename path dictionary. (For example: CPArray.j -> CPArray/CPArray.j) + sources.forEach(function(/*String*/ aFilename) + { + translateFilenameToPath[FILE.basename(aFilename)] = aFilename; + otherwayTranslateFilenameToPath[aFilename] = FILE.basename(aFilename); + }, this); + + var translatedFilename = translateFilenameToPath[aFilePath] ? translateFilenameToPath[aFilePath] : aFilePath, + otherwayTranslatedFilename = otherwayTranslateFilenameToPath[aFilePath] ? otherwayTranslateFilenameToPath[aFilePath] : aFilePath, + theTranslatedFilename = otherwayTranslatedFilename ? otherwayTranslatedFilename : translatedFilename, + absolutePath = FILE.absolute(theTranslatedFilename), + basePath = absolutePath.substring(0, absolutePath.length - theTranslatedFilename.length); + + // This ugly fix to make Cappuccino compile with rhino can be removed when the compiler is not loading classes into the runtime + var rhinoUglyFix = false; + if (system.engine === "rhino") + { + if (typeof document == "undefined") { + document = { createElement: function(x) { return { innerText: "", style: {}}}}; + rhinoUglyFix = true; + } + } + + ObjectiveJ.setCurrentCompilerFlags(objjcFlags); + ObjectiveJ.make_narwhal_factory(absolutePath, basePath, translateFilenameToPath)(require, {}, module, system, print); + + executable = new ObjectiveJ.FileExecutable(FILE.basename(aFilePath)); + + if (rhinoUglyFix) + delete document; } catch (anException) - {print(anException); - var lines = fileContents.split("\n"), - PAD = 3, - lineNumber = anException.lineNumber || anException.line, - errorInfo = "Syntax error in " + aFilePath + - " on preprocessed line number " + lineNumber + "\n\n" + - "\t" + lines.slice(Math.max(0, lineNumber - 1 - PAD), lineNumber + PAD).join("\n\t"); - - print(errorInfo); - - throw errorInfo; + { + print(anException); + return; } if (shouldCompress) @@ -100,7 +127,7 @@ function resolveFlags(args) count = args.length, gccFlags = [], - objjcFlags = ObjectiveJ.Preprocessor.Flags.Preprocess | ObjectiveJ.Preprocessor.Flags.CheckSyntax; + objjcFlags = ObjectiveJ.ObjJAcornCompiler.Flags.Preprocess | ObjectiveJ.ObjJAcornCompiler.Flags.CheckSyntax; for (; index < count; ++index) { @@ -128,19 +155,19 @@ function resolveFlags(args) } else if (argument.indexOf("-E") === 0) - objjcFlags &= ~ObjectiveJ.Preprocessor.Flags.Preprocess; + objjcFlags &= ~ObjectiveJ.ObjJAcornCompiler.Flags.Preprocess; else if (argument.indexOf("-S") === 0) - objjcFlags &= ~ObjectiveJ.Preprocessor.Flags.CheckSyntax; + objjcFlags &= ~ObjectiveJ.ObjJAcornCompiler.Flags.CheckSyntax; else if (argument.indexOf("-T") === 0) - objjcFlags |= ObjectiveJ.Preprocessor.Flags.IncludeTypeSignatures; + objjcFlags |= ObjectiveJ.ObjJAcornCompiler.Flags.IncludeTypeSignatures; else if (argument.indexOf("-g") === 0) - objjcFlags |= ObjectiveJ.Preprocessor.Flags.IncludeDebugSymbols; + objjcFlags |= ObjectiveJ.ObjJAcornCompiler.Flags.IncludeDebugSymbols; else if (argument.indexOf("-O") === 0) - objjcFlags |= ObjectiveJ.Preprocessor.Flags.Compress; + objjcFlags |= ObjectiveJ.ObjJAcornCompiler.Flags.Compress; else filePaths.push(argument); @@ -191,14 +218,14 @@ exports.main = function(args) if (argv[0] === "-T" || argv[0] === "--includeTypeSignatures") { - objjcFlags |= ObjectiveJ.Preprocessor.Flags.IncludeTypeSignatures; + objjcFlags |= ObjectiveJ.ObjJAcornCompiler.Flags.IncludeTypeSignatures; argv.shift(); continue; } if (argv[0] === "--help" || argv[0].substr(0, 1) == '-') { - print("Usage: " + args[0] + " [options] [--] file..."); + print("Usage (objjc 2.0): " + args[0] + " [options] [--] file..."); print(" -p, --print print the output directly to stdout"); print(" --unmarked don't tag the output with @STATIC header"); print(""); @@ -225,10 +252,14 @@ exports.main = function(args) print("Statically Compiling " + filePath); var output = compileWithResolvedFlags(filePath, objjcFlags, gccFlags, asPlainJavascript); - if (shouldPrintOutput) - print(output); - else - FILE.write(outputFilePaths[index], output, { charset: "UTF-8" }); + // Only write the output if the compilation didn't fail. + if (output !== undefined) + { + if (shouldPrintOutput) + print(output); + else + FILE.write(outputFilePaths[index], output, { charset: "UTF-8" }); + } }); }; diff --git a/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js b/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js index 156c855ab..4b7c4e921 100644 --- a/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js +++ b/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js @@ -78,7 +78,7 @@ BundleTask.defineTask = function(/*String*/ aName, /*Function*/ aFunction) bundleTask.defineTasks(); return bundleTask; -} +}; BundleTask.prototype.setEnvironments = function(environments) { @@ -93,62 +93,62 @@ BundleTask.prototype.setEnvironments = function(environments) else this._environments = [environments]; -} +}; BundleTask.prototype.environments = function() { return this._environments; -} +}; BundleTask.prototype.setAuthor = function(anAuthor) { this._author = anAuthor; -} +}; BundleTask.prototype.author = function() { return this._author; -} +}; BundleTask.prototype.setEmail = function(anEmail) { this._email = anEmail; -} +}; BundleTask.prototype.email = function() { return this._email; -} +}; BundleTask.prototype.setSummary = function(aSummary) { this._summary = aSummary; -} +}; BundleTask.prototype.summary = function() { return this._summary; -} +}; BundleTask.prototype.setIdentifier = function(anIdentifier) { this._identifier = anIdentifier; -} +}; BundleTask.prototype.identifier = function() { return this._identifier; -} +}; BundleTask.prototype.setVersion = function(aVersion) { this._version = aVersion; -} +}; BundleTask.prototype.version = function() { return this._version; -} +}; BundleTask.prototype.setSources = function(sources, environments) { @@ -168,179 +168,179 @@ BundleTask.prototype.setSources = function(sources, environments) this._sources[anEnvironment] = sources; }, this); } -} +}; BundleTask.prototype.sources = function() { return this._sources; -} +}; BundleTask.prototype.setResources = function(resources) { this._resources = resources; -} +}; BundleTask.prototype.resources = function(resources) { this._resources = resources; -} +}; BundleTask.prototype.setSpritesResources = function(shouldSpriteResources) { this._spritesResources = shouldSpriteResources; -} +}; BundleTask.prototype.spritesResources = function() { return this._spritesResources; -} +}; BundleTask.prototype.setIncludesNibsAndXibs = function(shouldIncludeNibsAndXibs) { this._includesNibsAndXibs = shouldIncludeNibsAndXibs; -} +}; BundleTask.prototype.includesNibsAndXibs = function() { return this._includesNibsAndXibs; -} +}; BundleTask.prototype.setPreventsNib2Cib = function(shouldPreventNib2Cib) { this._preventsNib2Cib = shouldPreventNib2Cib; -} +}; BundleTask.prototype.preventsNib2Cib = function() { return this._preventsNib2Cib; -} +}; BundleTask.prototype.setProductName = function(aProductName) { this._productName = aProductName; -} +}; BundleTask.prototype.productName = function() { return this._productName; -} +}; BundleTask.prototype.setInfoPlistPath = function(anInfoPlistPath) { this._infoPlistPath = anInfoPlistPath; -} +}; BundleTask.prototype.infoPlistPath = function() { return this._infoPlistPath; -} +}; BundleTask.prototype.setPrincipalClass = function(aPrincipalClass) { this._principalClass = aPrincipalClass; -} +}; BundleTask.prototype.principalClass = function() { return this._principalClass; -} +}; BundleTask.prototype.setCompilerFlags = function(flags) { this._compilerFlags = flags; -} +}; BundleTask.prototype.compilerFlags = function() { return this._compilerFlags; -} +}; BundleTask.prototype.setNib2cibFlags = function(flags) { this._nib2cibFlags = flags; -} +}; BundleTask.prototype.setNib2CibFlags = BundleTask.prototype.setNib2cibFlags; BundleTask.prototype.nib2cibFlags = function() { return this._nib2cibFlags; -} +}; BundleTask.prototype.flattensSources = function() { return this._flattensSources; -} +}; BundleTask.prototype.setFlattensSources = function(/*Boolean*/ shouldFlattenSources) { this._flattensSources = shouldFlattenSources; -} +}; BundleTask.prototype.setLicense = function(aLicense) { this._license = aLicense; -} +}; BundleTask.prototype.license = function() { return this._license; -} +}; BundleTask.prototype.setBuildPath = function(aBuildPath) { this._buildPath = aBuildPath; -} +}, BundleTask.prototype.buildPath = function() { return this._buildPath; -} +}; BundleTask.prototype.setBuildIntermediatesPath = function(aBuildPath) { this._buildIntermediatesPath = aBuildPath; -} +}; BundleTask.prototype.buildIntermediatesPath = function() { return this._buildIntermediatesPath || this.buildPath(); -} +}; BundleTask.prototype.buildProductPath = function() { return FILE.join(this.buildPath(), this.productName()); -} +}; BundleTask.prototype.buildIntermediatesProductPath = function() { return this.buildIntermediatesPath() || FILE.join(this.buildPath(), this.productName() + ".build"); -} +}; BundleTask.prototype.buildProductStaticPathForEnvironment = function(anEnvironment) { return FILE.join(this.buildProductPath(), anEnvironment.name() + ".environment", this.productName() + ".sj"); -} +}; BundleTask.prototype.buildProductMHTMLPathForEnvironment = function(anEnvironment) { return FILE.join(this.buildProductPath(), anEnvironment.name() + ".environment", "MHTMLPaths.txt"); -} +}; BundleTask.prototype.buildProductMHTMLDataPathForEnvironment = function(anEnvironment) { return FILE.join(this.buildProductPath(), anEnvironment.name() + ".environment", "MHTMLData.txt"); -} +}; BundleTask.prototype.buildProductMHTMLTestPathForEnvironment = function(anEnvironment) { return FILE.join(this.buildProductPath(), anEnvironment.name() + ".environment", "MHTMLTest.txt"); -} +}; BundleTask.prototype.buildProductDataURLPathForEnvironment = function(anEnvironment) { return FILE.join(this.buildProductPath(), anEnvironment.name() + ".environment", "dataURLs.txt"); -} +}; BundleTask.prototype.defineTasks = function() { @@ -353,21 +353,22 @@ BundleTask.prototype.defineTasks = function() CLEAN.include(this.buildIntermediatesProductPath()); CLOBBER.include(this.buildProductPath()); -} +}; BundleTask.prototype.packageType = function() { return 1; -} +}; BundleTask.prototype.infoPlist = function() { - var infoPlistPath = this.infoPlistPath(); + var infoPlistPath = this.infoPlistPath(), + infoPlist; if (infoPlistPath && FILE.exists(infoPlistPath)) - var infoPlist = CFPropertyList.propertyListFromString(FILE.read(infoPlistPath, { charset:"UTF-8" })); + infoPlist = CFPropertyList.propertyListFromString(FILE.read(infoPlistPath, { charset:"UTF-8" })); else - var infoPlist = new CFMutableDictionary(); + infoPlist = new CFMutableDictionary(); // FIXME: Should all of these unconditionally overwrite? infoPlist.setValueForKey("CPBundleInfoDictionaryVersion", 6.0); @@ -398,7 +399,7 @@ BundleTask.prototype.infoPlist = function() infoPlist.setValueForKey("CPPrincipalClass", principalClass); return infoPlist; -} +}; BundleTask.prototype.defineInfoPlistTask = function() { @@ -426,7 +427,7 @@ BundleTask.prototype.defineInfoPlistTask = function() }, this); this.enhance([infoPlistProductPath]); -} +}; BundleTask.License = { LGPL_v2_1 : "LGPL_v2_1", @@ -455,19 +456,19 @@ BundleTask.prototype.defineLicenseTask = function() }); this.enhance([licenseProductPath]); -} +}; BundleTask.prototype.resourcesPath = function() { return FILE.join(this.buildProductPath(), "Resources", ""); -} +}; // Don't sprite images larger than 32KB, IE 8 doesn't like it. BundleTask.isSpritable = function(aResourcePath) { return isImage(aResourcePath) && FILE.size(aResourcePath) < 32768 && ("data:" + mimeType(aResourcePath) + ";base64," + base64.encode(FILE.read(aResourcePath, "b"))).length < 32768; -} +}; BundleTask.prototype.defineResourceTask = function(aResourcePath, aDestinationPath) { @@ -535,7 +536,7 @@ BundleTask.prototype.defineResourceTask = function(aResourcePath, aDestinationPa this.enhance([cibDestinationPath]); } -} +}; function directoryInCommon(filenames) { @@ -598,7 +599,7 @@ BundleTask.prototype.defineResourceTasks = function() { this.defineResourceTask(aResourcePath, FILE.join(resourcesPath, aResourcePath.substring(basePathLength))); }, this); -} +}; var RESOURCES_PATH = FILE.join(FILE.absolute(FILE.dirname(module.path)), "RESOURCES"), MHTMLTestPath = FILE.join(RESOURCES_PATH, "MHTMLTest.txt"); @@ -733,7 +734,7 @@ BundleTask.prototype.defineSpritedImagesTask = function() this.enhance([MHTMLTestDestinationPath]); }, this); -} +}; BundleTask.prototype.defineStaticTask = function() { @@ -789,11 +790,17 @@ BundleTask.prototype.defineStaticTask = function() fileStream.write("e;"); fileStream.close(); - }); + + // Make sure all classes are removed and all FileExecutables are removed. + ObjectiveJ.Executable.resetCachedFileExecutableSearchers(); + ObjectiveJ.StaticResource.resetRootResources(); + ObjectiveJ.FileExecutable.resetFileExecutables(); + objj_resetRegisterClasses(); + }); this.enhance([staticPath]); }, this); -} +}; BundleTask.prototype.defineSourceTasks = function() { @@ -807,12 +814,9 @@ BundleTask.prototype.defineSourceTasks = function() if (!compilerFlags) compilerFlags = ""; - else if (compilerFlags.join) compilerFlags = compilerFlags.join(" "); - var flattensSources = this.flattensSources(); - this.environments().forEach(function(/*Environment*/ anEnvironment) { var environmentSources = sources, @@ -832,10 +836,27 @@ BundleTask.prototype.defineSourceTasks = function() environmentCompilerFlags = anEnvironment.compilerFlags().join(" ") + " " + compilerFlags, flattensSources = this.flattensSources(), basePath = directoryInCommon(environmentSources), - basePathLength = basePath.length; + basePathLength = basePath.length, + translateFilenameToPath = {}, + otherwayTranslateFilenameToPath = {}; + + // Create a filename to filename path dictionary. (For example: CPArray.j -> CPArray/CPArray.j) + environmentSources.forEach(function(/*String*/ aFilename) + { + translateFilenameToPath[flattensSources ? FILE.basename(aFilename) : aFilename] = aFilename; + otherwayTranslateFilenameToPath[aFilename] = flattensSources ? FILE.basename(aFilename) : aFilename; + }, this); + + var e = {}; environmentSources.forEach(function(/*String*/ aFilename) { + // Make sure all classes are removed and all FileExecutables are removed. + ObjectiveJ.Executable.resetCachedFileExecutableSearchers(); + ObjectiveJ.StaticResource.resetRootResources(); + ObjectiveJ.FileExecutable.resetFileExecutables(); + objj_resetRegisterClasses(); + if (!FILE.exists(aFilename)) return; @@ -844,7 +865,22 @@ BundleTask.prototype.defineSourceTasks = function() filedir (compiledEnvironmentSource, [aFilename], function() { - var compile + // This ugly fix to make Cappuccino compile with rhino can be removed when the compiler is not loading classes into the runtime + var rhinoUglyFix = false; + if (system.engine === "rhino") + { + if (typeof document == "undefined") { + document = { + createElement: function(x) + { + return {innerText: "", style: {}}; + } + }; + rhinoUglyFix = true; + } + } + + var compile; // if this file doesn't exist or isn't a .j file, don't preprocess it. if (FILE.extension(aFilename) !== ".j") { @@ -853,22 +889,42 @@ BundleTask.prototype.defineSourceTasks = function() } else { + var translatedFilename = translateFilenameToPath[aFilename] ? translateFilenameToPath[aFilename] : aFilename, + otherwayTranslatedFilename = otherwayTranslateFilenameToPath[aFilename] ? otherwayTranslateFilenameToPath[aFilename] : aFilename, + theTranslatedFilename = otherwayTranslatedFilename ? otherwayTranslatedFilename : translatedFilename, + absolutePath = FILE.absolute(theTranslatedFilename), + basePath = absolutePath.substring(0, absolutePath.length - theTranslatedFilename.length); + + // Here we set the current compiler flags so the load system will know what compiler flags to use + ObjectiveJ.setCurrentCompilerFlags(environmentCompilerFlags); + // Here we tell the CFBundle to load frameworks for the current build enviroment and not the enviroment that is running + CFBundle.environments = function() {return [anEnvironment.name(), "ObjJ"]}; + ObjectiveJ.make_narwhal_factory(absolutePath, basePath, translateFilenameToPath)(require, e, module, system, print); TERM.stream.write("Compiling [\0blue(" + anEnvironment + "\0)] \0purple(" + aFilename + "\0)").flush(); - var compiled = require("objective-j/compiler").compile(aFilename, environmentCompilerFlags); + + var otherwayTranslatedFilename = otherwayTranslateFilenameToPath[aFilename] ? otherwayTranslateFilenameToPath[aFilename] : aFilename, + translatedFilename = translateFilenameToPath[aFilename] ? translateFilenameToPath[aFilename] : aFilename, + executer = new ObjectiveJ.FileExecutable(otherwayTranslatedFilename); + + var compiled = executer.toMarkedString(); } + if (rhinoUglyFix) + delete document; + TERM.stream.print(Array(Math.round(compiled.length / 1024) + 3).join(".")); FILE.write(compiledEnvironmentSource, compiled, { charset:"UTF-8" }); }); filedir (staticPath, [compiledEnvironmentSource]); + replacedFiles.push(flattensSources ? FILE.basename(aFilename) : relativePath); }, this); this._replacedFiles[anEnvironment] = replacedFiles; - }, this); -} + }, this); +}; exports.BundleTask = BundleTask; @@ -876,4 +932,4 @@ exports.bundle = function(aName, aFunction) { // No .apply necessary because the parameters aren't variable. return BundleTask.defineTask(aName, aFunction); -} +}; diff --git a/Objective-J/Executable.js b/Objective-J/Executable.js index 55d4d05ec..95ea2b4fc 100644 --- a/Objective-J/Executable.js +++ b/Objective-J/Executable.js @@ -26,16 +26,19 @@ var ExecutableUnloadedFileDependencies = 0, ExecutableLoadedFileDependencies = 2, AnonymousExecutableCount = 0; -function Executable(/*String*/ aCode, /*Array*/ fileDependencies, /*CFURL|String*/ aURL, /*Function*/ aFunction) +function Executable(/*String*/ aCode, /*Array*/ fileDependencies, /*CFURL|String*/ aURL, /*Function*/ aFunction, /*ObjJCompiler*/aCompiler, /*Dictionary*/ aFilenameTranslateDictionary) { if (arguments.length === 0) return this; this._code = aCode; - this._function = aFunction || NULL; + this._function = aFunction || null; this._URL = makeAbsoluteURL(aURL || new CFURL("(Anonymous" + (AnonymousExecutableCount++) + ")")); + this._compiler = aCompiler || null; + this._fileDependencies = fileDependencies; + this._filenameTranslateDictionary = aFilenameTranslateDictionary; if (fileDependencies.length) { @@ -48,7 +51,8 @@ function Executable(/*String*/ aCode, /*Array*/ fileDependencies, /*CFURL|String if (this._function) return; - this.setCode(aCode); + if (!aCompiler) + this.setCode(aCode); } exports.Executable = Executable; @@ -114,6 +118,17 @@ Executable.commonJSArguments = function() return this._commonJSArguments || []; }; +Executable.setFilenameTranslateDictionary = function(dict) +{ + this._filenameTranslateDictionary = dict; +}; + +Executable.filenameTranslateDictionary = function() +{ + return this._filenameTranslateDictionary || {}; +}; + + Executable.prototype.toMarkedString = function() { var markedString = "@STATIC;1.0;", @@ -135,6 +150,28 @@ Executable.prototype.execute = function() #if EXECUTION_LOGGING CPLog("EXECUTION: " + this.URL()); #endif + + if (this._compiler) + { + var fileDependencies = this.fileDependencies(), + index = 0, + count = fileDependencies.length; + + this._compiler.pushImport(this.URL().lastPathComponent()); + for (; index < count; ++index) + { + var fileDependency = fileDependencies[index], + isQuoted = fileDependency.isLocal(), + URL = fileDependency.URL(); + + this.fileExecuter()(URL, isQuoted); + } + this._compiler.popImport(); + + this.setCode(this._compiler.compilePass2()); + this._compiler = null; + } + var oldContextBundle = CONTEXT_BUNDLE; // FIXME: Should we have stored this? @@ -410,10 +447,30 @@ DISPLAY_NAME(Executable.fileImporterForURL); var cachedFileExecutableSearchers = { }, cachedFileExecutableSearchResults = { }; +function countProp(x) { + var count = 0; + for (var k in x) { + if (x.hasOwnProperty(k)) { + ++count; + } + } + return count; +} + +Executable.resetCachedFileExecutableSearchers = function() +{ + cachedFileExecutableSearchers = { }; + cachedFileExecutableSearchResults = { }; + cachedFileImporters = { }; + cachedFileExecuters = { }; + fileDependencyMarkers = { }; +} + Executable.fileExecutableSearcherForURL = function(/*CFURL*/ referenceURL) { var referenceURLString = referenceURL.absoluteString(), cachedFileExecutableSearcher = cachedFileExecutableSearchers[referenceURLString], + aFilenameTranslateDictionary = Executable.filenameTranslateDictionary ? Executable.filenameTranslateDictionary() : null; cachedSearchResults = { }; if (!cachedFileExecutableSearcher) @@ -433,7 +490,7 @@ Executable.fileExecutableSearcherForURL = function(/*CFURL*/ referenceURL) if (!isAbsoluteURL) aURL = new CFURL(aURL, referenceURL); - StaticResource.resolveResourceAtURL(aURL, NO, completed); + StaticResource.resolveResourceAtURL(aURL, NO, completed, aFilenameTranslateDictionary); } else StaticResource.resolveResourceAtURLSearchingIncludeURLs(aURL, completed); @@ -441,11 +498,14 @@ Executable.fileExecutableSearcherForURL = function(/*CFURL*/ referenceURL) function completed(/*StaticResource*/ aStaticResource) { if (!aStaticResource) - throw new Error("Could not load file at " + aURL); + { + var compilingFileUrl = ObjJAcornCompiler ? ObjJAcornCompiler.currentCompileFile : null; + throw new Error("Could not load file at " + aURL + (compilingFileUrl ? " when compiling " + compilingFileUrl : "")); + } cachedFileExecutableSearchResults[cacheUID] = aStaticResource; - success(new FileExecutable(aStaticResource.URL())); + success(new FileExecutable(aStaticResource.URL(), aFilenameTranslateDictionary)); } }; diff --git a/Objective-J/FileExecutable.js b/Objective-J/FileExecutable.js index 2dda22f1a..002586f0f 100644 --- a/Objective-J/FileExecutable.js +++ b/Objective-J/FileExecutable.js @@ -22,7 +22,7 @@ var FileExecutablesForURLStrings = { }; -function FileExecutable(/*CFURL|String*/ aURL) +function FileExecutable(/*CFURL|String*/ aURL, /*Dictionary*/ aFilenameTranslateDictionary) { aURL = makeAbsoluteURL(aURL); @@ -40,14 +40,12 @@ function FileExecutable(/*CFURL|String*/ aURL) if (fileContents.match(/^@STATIC;/)) executable = decompile(fileContents, aURL); - - else if (extension === "j" || !extension) - executable = exports.preprocess(fileContents, aURL, Preprocessor.Flags.IncludeDebugSymbols); - + else if ((extension === "j" || !extension) && !fileContents.match(/^{/)) + executable = exports.ObjJAcornCompiler.compileFileDependencies(fileContents, aURL, ObjJAcornCompiler.Flags.IncludeDebugSymbols); else executable = new Executable(fileContents, [], aURL); - Executable.apply(this, [executable.code(), executable.fileDependencies(), aURL, executable._function]); + Executable.apply(this, [executable.code(), executable.fileDependencies(), aURL, executable._function, executable._compiler, aFilenameTranslateDictionary]); this._hasExecuted = NO; } @@ -70,6 +68,12 @@ FileExecutable.allFileExecutables = function() } #endif +FileExecutable.resetFileExecutables = function() +{ + FileExecutablesForURLStrings = { }; + FunctionCache = { }; +} + FileExecutable.prototype.execute = function(/*BOOL*/ shouldForce) { if (this._hasExecuted && !shouldForce) diff --git a/Objective-J/Includes.js b/Objective-J/Includes.js index b2cc26fb2..4bfcacad4 100644 --- a/Objective-J/Includes.js +++ b/Objective-J/Includes.js @@ -43,6 +43,9 @@ #include "CFBundle.js" #include "StaticResource.js" #include "Preprocessor.js" +#include "acorn.js" +#include "acornwalk.js" +#include "ObjJAcornCompiler.js" #include "FileDependency.js" #include "Executable.js" #include "FileExecutable.js" diff --git a/Objective-J/ObjJAcornCompiler.js b/Objective-J/ObjJAcornCompiler.js new file mode 100644 index 000000000..7e6faa6f5 --- /dev/null +++ b/Objective-J/ObjJAcornCompiler.js @@ -0,0 +1,825 @@ +/* + * ObjJAcornCompiler.js + * Objective-J + * + * Created by Martin Carlberg. + * Copyright 2013, Martin Carlberg. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +var Scope = function(prev, base) +{ + this.vars = Object.create(null); + if (base) for (var key in base) this[key] = base[key]; + this.prev = prev; + if (prev) this.compiler = prev.compiler; +} + +Scope.prototype.compiler = function() +{ + return this.compiler; +} + +Scope.prototype.rootScope = function() +{ + return this.prev ? this.prev.rootScope() : this; +} + +Scope.prototype.isRootScope = function() +{ + return !this.prev; +} + +Scope.prototype.currentClassName = function() +{ + return this.classDef ? this.classDef.className : this.prev ? this.prev.currentClassName() : null; +} + +Scope.prototype.getIvarForCurrentClass = function(/* String */ ivarName) +{ + if (this.ivars) + { + var ivar = this.ivars[ivarName]; + if (ivar) + return ivar; + } + + var prev = this.prev; + + // Stop at the class declaration + if (prev && !this.classDef) + return prev.getIvarForCurrentClass(ivarName); + + return null; +} + +Scope.prototype.getLvar = function(/* String */ lvarName, /* BOOL */ stopAtMethod) +{ + if (this.vars) + { + var lvar = this.vars[lvarName]; + if (lvar) + return lvar; + } + + var prev = this.prev; + + // Stop at the method declaration + if (prev && (!stopAtMethod || !this.methodtype)) + return prev.getLvar(lvarName, stopAtMethod); + + return null; +} + +Scope.prototype.currentMethodType = function() +{ + return this.methodType ? this.methodType : this.prev ? this.prev.currentMethodType() : null; +} + +Scope.prototype.copyAddedSelfToIvarsToParent = function() +{ + if (this.prev && this.addedSelfToIvars) for (var key in this.addedSelfToIvars) + { + var addedSelfToIvar = this.addedSelfToIvars[key], + scopeAddedSelfToIvar = (this.prev.addedSelfToIvars || (this.prev.addedSelfToIvars = Object.create(null)))[key] || (this.prev.addedSelfToIvars[key] = []); + + scopeAddedSelfToIvar.push.apply(scopeAddedSelfToIvar, addedSelfToIvar); // Append at end in parent scope + } +} + +Scope.prototype.addMaybeWarning = function(warning) +{ + var rootScope = this.rootScope(); + + (rootScope._maybeWarnings || (rootScope._maybeWarnings = [])).push(warning); +} + +Scope.prototype.maybeWarnings = function() +{ + return this.rootScope()._maybeWarnings; +} + +var currentCompilerFlags = ""; + +var reservedIdentifiers = exports.acorn.makePredicate("self _cmd undefined localStorage arguments"); + +var ObjJAcornCompiler = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags, /*unsigned*/ pass, /* Dictionary */ classDefs) +{ + this.source = aString; + this.URL = new CFURL(aURL); + this.pass = pass; + this.jsBuffer = new StringBuffer(); + this.imBuffer = null; + this.cmBuffer = null; + this.warnings = []; + + try { + this.tokens = exports.acorn.parse(aString); + } + catch (e) { + if (e.lineStart) + { + var message = this.prettifyMessage(e, "ERROR"); +#ifdef BROWSER + console.log(message); +#else + print(message); +#endif + } + throw e; + } + + this.dependencies = []; + this.flags = flags | ObjJAcornCompiler.Flags.IncludeDebugSymbols; + this.classDefs = classDefs ? classDefs : Object.create(null); + this.lastPos = 0; + compile(this.tokens, new Scope(null ,{ compiler: this }), pass === 2 ? pass2 : pass1); +} + +exports.ObjJAcornCompiler = ObjJAcornCompiler; + +exports.ObjJAcornCompiler.compileToExecutable = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags) +{ + ObjJAcornCompiler.currentCompileFile = aURL; + return new ObjJAcornCompiler(aString, aURL, flags, 2).executable(); +} + +exports.ObjJAcornCompiler.compileToIMBuffer = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags, classDefs) +{ + return new ObjJAcornCompiler(aString, aURL, flags, 2, classDefs).IMBuffer(); +} + +exports.ObjJAcornCompiler.compileFileDependencies = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags) +{ + ObjJAcornCompiler.currentCompileFile = aURL; + return new ObjJAcornCompiler(aString, aURL, flags, 1).executable(); +} + +ObjJAcornCompiler.prototype.compilePass2 = function() +{ + ObjJAcornCompiler.currentCompileFile = this.URL; + this.pass = 2; + this.jsBuffer = new StringBuffer(); + this.warnings = []; + compile(this.tokens, new Scope(null ,{ compiler: this }), pass2); + + for (var i = 0; i < this.warnings.length; i++) + { + var message = this.prettifyMessage(this.warnings[i], "WARNING"); +#ifdef BROWSER + console.log(message); +#else + print(message); +#endif + } + + return this.jsBuffer.toString(); +} + +var currentCompilerFlags = ""; + +exports.setCurrentCompilerFlags = function(/*String*/ compilerFlags) +{ + currentCompilerFlags = compilerFlags; +} + +exports.currentCompilerFlags = function(/*String*/ compilerFlags) +{ + return currentCompilerFlags; +} + +ObjJAcornCompiler.Flags = { }; + +ObjJAcornCompiler.Flags.IncludeDebugSymbols = 1 << 0; +ObjJAcornCompiler.Flags.IncludeTypeSignatures = 1 << 1; + +ObjJAcornCompiler.prototype.addWarning = function(/* Warning */ aWarning) +{ + this.warnings.push(aWarning); +} + +ObjJAcornCompiler.prototype.getIvarForClass = function(/* String */ ivarName, /* Scope */ scope) +{ + var ivar = scope.getIvarForCurrentClass(ivarName); + + if (ivar) + return ivar; + + var c = this.getClassDef(scope.currentClassName()); + + while (c) + { + var ivars = c.ivars; + if (ivars) + { + var ivarDef = ivars[ivarName]; + if (ivarDef) + return ivarDef; + } + c = this.getClassDef(c.superClassName); + } +} + +ObjJAcornCompiler.prototype.getClassDef = function(/* String */ aClassName) +{ + if (!aClassName) return null; + + var c = this.classDefs[aClassName]; + + if (c) return c; + + if (objj_getClass) + { + var aClass = objj_getClass(aClassName); + if (aClass) + { + var ivars = class_copyIvarList(aClass), + ivarSize = ivars.length, + myIvars = Object.create(null), + superClass = aClass.super_class; + + for (var i = 0; i < ivarSize; i++) + { + var ivar = ivars[i]; + + myIvars[ivar.name] = {"type": ivar.type, "name": ivar.name}; + } + c = {"className": aClassName, "ivars": myIvars}; + + if (superClass) + c.superClassName = superClass.name; + this.classDefs[aClassName] = c; + return c; + } + } + + return null; +// classDef = {"className": className, "superClassName": superClassName, "ivars": Object.create(null), "methods": Object.create(null)}; +} + +ObjJAcornCompiler.prototype.executable = function() +{ + if (!this._executable) + this._executable = new Executable(this.jsBuffer ? this.jsBuffer.toString() : null, this.dependencies, this.URL, null, this); + return this._executable; +} + +ObjJAcornCompiler.prototype.IMBuffer = function() +{ + return this.imBuffer; +} + +ObjJAcornCompiler.prototype.JSBuffer = function() +{ + return this.jsBuffer; +} + +ObjJAcornCompiler.prototype.prettifyMessage = function(/* Message */ aMessage, /* String */ messageType) +{ + var line = this.source.substring(aMessage.lineStart, aMessage.lineEnd), + message = "\n" + line; + + message += (new Array(aMessage.column + 1)).join(" "); + message += (new Array(Math.min(1, line.length) + 1)).join("^") + "\n"; + message += messageType + " line " + aMessage.line + " in " + this.URL + ": " + aMessage.message; + + return message; +} + +ObjJAcornCompiler.prototype.error_message = function(errorMessage, node) +{ + var pos = exports.acorn.getLineInfo(this.source, node.start), + syntaxError = {message: errorMessage, line: pos.line, column: pos.column, lineStart: pos.lineStart, lineEnd: pos.lineEnd}; + + return new SyntaxError(this.prettifyMessage(syntaxError, "ERROR")); +} + +ObjJAcornCompiler.prototype.pushImport = function(url) +{ + if (!ObjJAcornCompiler.importStack) ObjJAcornCompiler.importStack = []; // This is used to keep track of imports. Each time the compiler imports a file the url is pushed here. + + ObjJAcornCompiler.importStack.push(url); +} + +ObjJAcornCompiler.prototype.popImport = function() +{ + ObjJAcornCompiler.importStack.pop(); +} + +function createMessage(/* String */ aMessage, /* SpiderMonkey AST node */ node, /* String */ code) +{ + var message = exports.acorn.getLineInfo(code, node.start); + + message.message = aMessage; + + return message; +} + +function compile(node, state, visitor) { + function c(node, st, override) { + visitor[override || node.type](node, st, c); + } + c(node, state); +}; + +var pass1 = exports.acorn.walk.make({ +ImportStatement: function(node, st, c) { + var urlString = node.filename.value; + + st.compiler.dependencies.push(new FileDependency(new CFURL(urlString), node.localfilepath)); +} +}); + +var pass2 = exports.acorn.walk.make({ +Program: function(node, st, c) { + for (var i = 0; i < node.body.length; ++i) { + c(node.body[i], st, "Statement"); + } + CONCAT(st.compiler.jsBuffer,st.compiler.source.substring(st.compiler.lastPos, node.end)); + // Check maybe warnings + var maybeWarnings = st.maybeWarnings(); + if (maybeWarnings) for (var i = 0; i < maybeWarnings.length; i++) { + var maybeWarning = maybeWarnings[i]; + if (!st.getLvar(maybeWarning.identifier) && typeof global[maybeWarning.identifier] === "undefined" && typeof window[maybeWarning.identifier] === "undefined" && !st.compiler.getClassDef(maybeWarning.identifier)) { + st.compiler.addWarning(maybeWarning.message); + } + } +}, +Function: function(node, scope, c) { + var inner = new Scope(scope); + for (var i = 0; i < node.params.length; ++i) + inner.vars[node.params[i].name] = {type: "argument", node: node.params[i]}; + if (node.id) { + var decl = node.type == "FunctionDeclaration"; + (decl ? scope : inner).vars[node.id.name] = + {type: decl ? "function" : "function name", node: node.id}; + CONCAT(scope.compiler.jsBuffer,scope.compiler.source.substring(scope.compiler.lastPos, node.start)); + CONCAT(scope.compiler.jsBuffer, node.id.name); + CONCAT(scope.compiler.jsBuffer, " = function"); + scope.compiler.lastPos = node.id.end; + } + c(node.body, inner, "ScopeBody"); + inner.copyAddedSelfToIvarsToParent(); +}, +TryStatement: function(node, scope, c) { + c(node.block, scope, "Statement"); + for (var i = 0; i < node.handlers.length; ++i) { + var handler = node.handlers[i], inner = new Scope(scope); + inner.vars[handler.param.name] = {type: "catch clause", node: handler.param}; + c(handler.body, inner, "ScopeBody"); + inner.copyAddedSelfToIvarsToParent(); + } + if (node.finalizer) c(node.finalizer, scope, "Statement"); +}, +VariableDeclaration: function(node, scope, c) { + for (var i = 0; i < node.declarations.length; ++i) { + var decl = node.declarations[i], + identifier = decl.id.name; + scope.vars[identifier] = {type: "var", node: decl.id}; + if (decl.init) c(decl.init, scope, "Expression"); + if (scope.addedSelfToIvars) { + var addedSelfToIvar = scope.addedSelfToIvars[identifier]; + if (addedSelfToIvar) { + var buffer = scope.compiler.jsBuffer.atoms; + for (var i = 0; i < addedSelfToIvar.length; i++) { + var dict = addedSelfToIvar[i]; + buffer[dict.index] = ""; + scope.compiler.addWarning(createMessage("Local declaration of '" + identifier + "' hides instance variable", dict.node, scope.compiler.source)); + } + scope.addedSelfToIvars[identifier] = []; + } + } + } +}, +AssignmentExpression: function(node, st, c) { + var saveAssignment = st.assignment; + st.assignment = true; + c(node.left, st, "Expression"); + st.assignment = saveAssignment; + c(node.right, st, "Expression"); + if (st.isRootScope() && node.left.type === "Identifier" && !st.getLvar(node.left.name)) + st.vars[node.left.name] = {type: "global", node: node.left}; +}, +MemberExpression: function(node, st, c) { + c(node.object, st, "Expression"); + st.secondMemberExpression = !node.computed; + c(node.property, st, "Expression"); + st.secondMemberExpression = false; +}, +ImportStatement: function(node, st, c) { + var buffer = st.compiler.jsBuffer; + + if (!buffer) return; + CONCAT(buffer,st.compiler.source.substring(st.compiler.lastPos, node.start)); + CONCAT(buffer, "objj_executeFile(\""); + CONCAT(buffer, node.filename.value); + CONCAT(buffer, node.localfilepath ? "\", YES);" : "\", NO);"); + st.compiler.lastPos = node.end; +}, +ClassDeclarationStatement: function(node, st, c) { + var classDef, + saveJSBuffer = st.compiler.jsBuffer, + className = node.classname.name, + classScope = new Scope(st); + + st.compiler.imBuffer = new StringBuffer(); + st.compiler.cmBuffer = new StringBuffer(); + st.compiler.classBodyBuffer = new StringBuffer(); // TODO: Check if this is needed + + CONCAT(saveJSBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + + // First we declare the class + if (node.superclassname) + { + classDef = st.compiler.getClassDef(className); + if (classDef && classDef.ivars) // Must have ivars dictionary to be a real declaration. Without it is a "@class" declaration + throw st.compiler.error_message("Duplicate class " + className, node.classname); + if (!st.compiler.getClassDef(node.superclassname.name)) + { + var errorMessage = "Can't find superclass " + node.superclassname.name; + for (var i = ObjJAcornCompiler.importStack.length; --i >= 0;) + errorMessage += "\n" + Array((ObjJAcornCompiler.importStack.length - i) * 2 + 1).join(" ") + "Imported by: " + ObjJAcornCompiler.importStack[i]; + throw st.compiler.error_message(errorMessage, node.superclassname); + } + + classDef = {"className": className, "superClassName": node.superclassname.name, "ivars": Object.create(null), "methods": Object.create(null)}; + + CONCAT(saveJSBuffer, "{var the_class = objj_allocateClassPair(" + node.superclassname.name + ", \"" + className + "\"),\nmeta_class = the_class.isa;"); + } + else if (node.categoryname) + { + classDef = st.compiler.getClassDef(className); + if (!classDef) + throw st.compiler.error_message("Class " + className + " not found ", node.classname); + + CONCAT(saveJSBuffer, "{\nvar the_class = objj_getClass(\"" + className + "\")\n"); + CONCAT(saveJSBuffer, "if(!the_class) throw new SyntaxError(\"*** Could not find definition for class \\\"" + className + "\\\"\");\n"); + CONCAT(saveJSBuffer, "var meta_class = the_class.isa;"); + } + else + { + classDef = {"className": className, "superClassName": null, "ivars": Object.create(null), "methods": Object.create(null)}; + + CONCAT(saveJSBuffer, "{var the_class = objj_allocateClassPair(Nil, \"" + className + "\"),\nmeta_class = the_class.isa;"); + } + + classScope.classDef = classDef; + st.compiler.currentSuperClass = "objj_getClass(\"" + className + "\").super_class"; + st.compiler.currentSuperMetaClass = "objj_getMetaClass(\"" + className + "\").super_class"; + + var firstIvarDeclaration = true, + hasAccessors = false; + + // Then we add all ivars + if (node.ivardeclarations) for (var i = 0; i < node.ivardeclarations.length; ++i) + { + var ivarDecl = node.ivardeclarations[i], + ivarType = ivarDecl.ivartype ? ivarDecl.ivartype.name : null, + ivarName = ivarDecl.id.name, + ivar = {"type": ivarType, "name": ivarName}; + + if (firstIvarDeclaration) + { + firstIvarDeclaration = false; + CONCAT(saveJSBuffer, "class_addIvars(the_class, ["); + } + else + CONCAT(saveJSBuffer, ", "); + + if (st.compiler.flags & ObjJAcornCompiler.Flags.IncludeTypeSignatures) + CONCAT(saveJSBuffer, "new objj_ivar(\"" + ivarName + "\", \"" + ivarType + "\")"); + else + CONCAT(saveJSBuffer, "new objj_ivar(\"" + ivarName + "\")"); + + if (ivarDecl.outlet) + ivar.outlet = true; + classDef.ivars[ivarName] = ivar; + if (!classScope.ivars) + classScope.ivars = Object.create(null); + classScope.ivars[ivarName] = {type: "ivar", name: ivarName, node: ivarDecl.id, ivar: ivar}; + + if (!hasAccessors && ivarDecl.accessors) + hasAccessors = true; + } + + if (!firstIvarDeclaration) + CONCAT(saveJSBuffer, "]);"); + + // If we have accessors add get and set methods for them + if (hasAccessors) + { + var getterSetterBuffer = new StringBuffer(); + + // Add the class declaration to compile accessors correctly + CONCAT(getterSetterBuffer, st.compiler.source.substring(node.start, node.endOfIvars)); + CONCAT(getterSetterBuffer, "\n"); + + for (var i = 0; i < node.ivardeclarations.length; ++i) + { + var ivarDecl = node.ivardeclarations[i], + ivarType = ivarDecl.ivartype ? ivarDecl.ivartype.name : null, + ivarName = ivarDecl.id.name, + accessors = ivarDecl.accessors; + + if (!accessors) + continue; + + var property = (accessors.property && accessors.property.name) || ivarName, + getterName = (accessors.getter && accessors.getter.name) || property, + getterCode = "- (" + (ivarType ? ivarType : "id") + ")" + getterName + "\n{\nreturn " + ivarName + ";\n}\n"; + + CONCAT(getterSetterBuffer, getterCode); + + if (accessors.readonly) + continue; + + var setterName = accessors.setter ? accessors.setter.name : null; + + if (!setterName) + { + var start = property.charAt(0) == '_' ? 1 : 0; + + setterName = (start ? "_" : "") + "set" + property.substr(start, 1).toUpperCase() + property.substring(start + 1) + ":"; + } + + var setterCode = "- (void)" + setterName + "(" + (ivarType ? ivarType : "id") + ")newValue\n{\n"; + + if (accessors.copy) + setterCode += "if (" + ivarName + " !== newValue)\n" + ivarName + " = [newValue copy];\n}\n"; + else + setterCode += ivarName + " = newValue;\n}\n"; + + CONCAT(getterSetterBuffer, setterCode); + } + + CONCAT(getterSetterBuffer, "\n@end"); + + // Remove all @accessors or we will get a recursive loop in infinity + var b = getterSetterBuffer.toString().replace(/@accessors(\(.*\))?/g, ""); + var imBuffer = ObjJAcornCompiler.compileToIMBuffer(b, "Accessors", st.compiler.flags, st.compiler.classDefs); + + // Add the accessors methods first to instance method buffer. + // This will allow manually added set and get methods to override the compiler generated + CONCAT(st.compiler.imBuffer, imBuffer); + } + + // We will store the classDef first after accessors are done so we don't get a duplicate class error + st.compiler.classDefs[className] = classDef; + + if (node.body.length > 0) + { + st.compiler.lastPos = node.body[0].start; + + // And last add methods and other statements + for (var i = 0; i < node.body.length; ++i) { + var body = node.body[i]; + c(body, classScope, "Statement"); + } + CONCAT(saveJSBuffer, st.compiler.source.substring(st.compiler.lastPos, body.end)); + } + + // We must make a new class object for our class definition if it's not a category + if (!node.categoryname) { + CONCAT(saveJSBuffer, "objj_registerClassPair(the_class);\n"); + } + + // Add instance methods + if (IS_NOT_EMPTY(st.compiler.imBuffer)) + { + CONCAT(saveJSBuffer, "class_addMethods(the_class, ["); + saveJSBuffer.atoms.push.apply(saveJSBuffer.atoms, st.compiler.imBuffer.atoms); // FIXME: Move this append to StringBuffer + CONCAT(saveJSBuffer, "]);\n"); + } + + // Add class methods + if (IS_NOT_EMPTY(st.compiler.cmBuffer)) + { + CONCAT(saveJSBuffer, "class_addMethods(meta_class, ["); + saveJSBuffer.atoms.push.apply(saveJSBuffer.atoms, st.compiler.cmBuffer.atoms); // FIXME: Move this append to StringBuffer + CONCAT(saveJSBuffer, "]);\n"); + } + + CONCAT(saveJSBuffer, "}"); + + st.compiler.jsBuffer = saveJSBuffer; + + // Skip the "@end" + st.compiler.lastPos = node.end; +}, +MethodDeclarationStatement: function(node, st, c) { + var saveJSBuffer = st.compiler.jsBuffer, + methodScope = new Scope(st), + selectors = node.selectors, + arguments = node.arguments, + types = [node.returntype ? node.returntype.name : "id"], + selector = selectors[0].name; // There is always at least one selector + + CONCAT(saveJSBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + + st.compiler.jsBuffer = node.methodtype === '-' ? st.compiler.imBuffer : st.compiler.cmBuffer; + + // Put together the selector. Maybe this should be done in the parser... + for (var i = 0; i < arguments.length; i++) { + if (i === 0) + selector += ":"; + else + selector += (selectors[i] ? selectors[i].name : "") + ":"; + } + + if (IS_NOT_EMPTY(st.compiler.jsBuffer)) // Add comma separator if this is not first method in this buffer + CONCAT(st.compiler.jsBuffer, ", "); + CONCAT(st.compiler.jsBuffer, "new objj_method(sel_getUid(\""); + CONCAT(st.compiler.jsBuffer, selector); + CONCAT(st.compiler.jsBuffer, "\"), function"); + +// this.currentSelector = selector; + + if (st.compiler.flags & ObjJAcornCompiler.Flags.IncludeDebugSymbols) + { + CONCAT(st.compiler.jsBuffer, " $" + st.currentClassName() + "__" + selector.replace(/:/g, "_")); + } + + CONCAT(st.compiler.jsBuffer, "(self, _cmd"); + + methodScope.methodType = node.methodtype; + if (arguments) for (var i = 0; i < arguments.length; i++) + { + var argument = arguments[i], + argumentName = argument.identifier.name; + + CONCAT(st.compiler.jsBuffer, ", "); + CONCAT(st.compiler.jsBuffer, argumentName); + types.push(argument.type ? argument.type.name : null); + methodScope.vars[argumentName] = {type: "method argument", node: argument}; + } + + CONCAT(st.compiler.jsBuffer, ")"); + + st.compiler.lastPos = node.startOfBody; + c(node.body, methodScope, "Statement"); + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.body.end)); + + CONCAT(st.compiler.jsBuffer, "\n"); + if (st.compiler.flags & ObjJAcornCompiler.Flags.IncludeDebugSymbols) + CONCAT(st.compiler.jsBuffer, ","+JSON.stringify(types)); + CONCAT(st.compiler.jsBuffer, ")"); + st.compiler.jsBuffer = saveJSBuffer; + st.compiler.lastPos = node.end; +}, +MessageSendExpression: function(node, st, c) { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + st.compiler.lastPos = node.object ? node.object.start : node.arguments.length ? node.arguments[0].start : node.end; + if (node.superObject) + { + CONCAT(st.compiler.jsBuffer, "objj_msgSendSuper("); + CONCAT(st.compiler.jsBuffer, "{ receiver:self, super_class:" + (st.currentMethodType() === "+" ? st.compiler.currentSuperMetaClass : st.compiler.currentSuperClass ) + " }"); + } + else + { + CONCAT(st.compiler.jsBuffer, "objj_msgSend("); + c(node.object, st, "Expression"); + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.object.end)); + } + + var selectors = node.selectors, + arguments = node.arguments, + selector = selectors[0].name; // There is always at least one selector + + // Put together the selector. Maybe this should be done in the parser... + for (var i = 0; i < arguments.length; i++) + if (i === 0) + selector += ":"; + else + selector += (selectors[i] ? selectors[i].name : "") + ":"; + + CONCAT(st.compiler.jsBuffer, ", \""); + CONCAT(st.compiler.jsBuffer, selector); // FIXME: sel_getUid(selector + "") ? This FIXME is from the old preprocessor compiler + CONCAT(st.compiler.jsBuffer, "\""); + + if (node.arguments) for (var i = 0; i < node.arguments.length; i++) + { + var argument = node.arguments[i]; + + CONCAT(st.compiler.jsBuffer, ", "); + st.compiler.lastPos = argument.start; + c(argument, st, "Expression"); + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, argument.end)); + st.compiler.lastPos = argument.end; + } + + // TODO: Move this 'if' with body up inside the node.argument 'if' + if (node.parameters) for (var i = 0; i < node.parameters.length; ++i) + { + var parameter = node.parameters[i]; + + CONCAT(st.compiler.jsBuffer, ", "); + st.compiler.lastPos = parameter.start; + c(parameter, st, "Expression"); + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, parameter.end)); + st.compiler.lastPos = parameter.end; + } + + CONCAT(st.compiler.jsBuffer, ")"); + st.compiler.lastPos = node.end; +}, +Identifier: function(node, st, c) { + if (st.currentMethodType() === "-" && !st.secondMemberExpression) + { + var identifier = node.name, + lvar = st.getLvar(identifier, true), // Stop looking at method + ivar = st.compiler.getIvarForClass(identifier, st); + + if (ivar) + { + if (lvar) + st.compiler.addWarning(createMessage("Local declaration of '" + identifier + "' hides instance variable", node, st.compiler.source)); + else + { + var nodeStart = node.start, + compiler = st.compiler; + + do { // The Spider Monkey AST tree includes any parentheses in start and end properties so we have to make sure we skip those + CONCAT(compiler.jsBuffer, compiler.source.substring(compiler.lastPos, nodeStart)); + compiler.lastPos = nodeStart; + } while (compiler.source.substr(nodeStart++, 1) === "(") + // Save the index in where the "self." string is stored and the node. + // These will be used if we find a variable declaration that is hoisting this identifier. + ((st.addedSelfToIvars || (st.addedSelfToIvars = Object.create(null)))[identifier] || (st.addedSelfToIvars[identifier] = [])).push({node: node, index: compiler.jsBuffer.atoms.length}); + CONCAT(compiler.jsBuffer, "self."); + } + } else { + if (!reservedIdentifiers(identifier) && !st.getLvar(identifier) && typeof global[identifier] === "undefined" && typeof window[identifier] === "undefined" && !st.compiler.getClassDef(identifier)) { + var message; + if (st.assignment) { + message = createMessage("Creating global variable inside function or method '" + identifier + "'", node, st.compiler.source); + st.vars[identifier] = {type: "global", node: node}; + } else + message = createMessage("Using unknown class or uninitialized global variable '" + identifier + "'", node, st.compiler.source); + + st.addMaybeWarning({identifier: identifier, message: message}); + } + } + } +}, +SelectorLiteralExpression: function(node, st, c) { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + CONCAT(st.compiler.jsBuffer, "sel_getUid(\""); + CONCAT(st.compiler.jsBuffer, node.selector); + CONCAT(st.compiler.jsBuffer, "\")"); + st.compiler.lastPos = node.end; +}, +Literal: function(node, st, c) { + if (node.raw && node.raw.charAt(0) === "@") + { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + st.compiler.lastPos = node.start + 1; + } +}, +ObjectExpression: function(node, st, c) { + for (var i = 0; i < node.properties.length; ++i) + { + var prop = node.properties[i]; + if (prop.key.raw && prop.key.raw.charAt(0) === "@") + { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, prop.key.start)); + st.compiler.lastPos = prop.key.start + 1; + } + c(prop.value, st, "Expression"); + } +}, +PreprocessStatement: function(node, st, c) { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + st.compiler.lastPos = node.start; + CONCAT(st.compiler.jsBuffer, "//"); +}, +ClassStatement: function(node, st, c) { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + st.compiler.lastPos = node.start; + CONCAT(st.compiler.jsBuffer, "//"); + var className = node.id.name; + if (!st.compiler.getClassDef(className)) { + classDef = {"className": className}; + st.compiler.classDefs[className] = classDef; + } + st.vars[node.id.name] = {type: "class", node: node.id}; +}, +GlobalStatement: function(node, st, c) { + CONCAT(st.compiler.jsBuffer, st.compiler.source.substring(st.compiler.lastPos, node.start)); + st.compiler.lastPos = node.start; + CONCAT(st.compiler.jsBuffer, "//"); + st.rootScope().vars[node.id.name] = {type: "global", node: node.id}; +} +}); diff --git a/Objective-J/Runtime.js b/Objective-J/Runtime.js index 311fe373b..31e5505d0 100644 --- a/Objective-J/Runtime.js +++ b/Objective-J/Runtime.js @@ -484,6 +484,18 @@ GLOBAL(objj_registerClassPair) = function(/*Class*/ aClass) DISPLAY_NAME(objj_registerClassPair); +GLOBAL(objj_resetRegisterClasses) = function() +{ + for (var key in REGISTERED_CLASSES) + delete global[key]; + + REGISTERED_CLASSES = {}; + + resetBundle(); +} + +DISPLAY_NAME(objj_resetRegisterClasses); + // Instantiating Classes GLOBAL(class_createInstance) = function(/*Class*/ aClass) @@ -574,6 +586,15 @@ GLOBAL(objj_getClass) = function(/*String*/ aName) { var theClass = REGISTERED_CLASSES[aName]; + /*if (!theClass) + { + for (var key in REGISTERED_CLASSES) + { + print("regClass: " + key + ", regClass.isa: " + REGISTERED_CLASSES[key].isa); + } + print(""); + }*/ + if (!theClass) { // class handler callback??? diff --git a/Objective-J/StaticResource.js b/Objective-J/StaticResource.js index a8b4b24d2..292b6bcae 100644 --- a/Objective-J/StaticResource.js +++ b/Objective-J/StaticResource.js @@ -1,7 +1,7 @@ var rootResources = { }; -function StaticResource(/*CFURL*/ aURL, /*StaticResource*/ aParent, /*BOOL*/ isDirectory, /*BOOL*/ isResolved) +function StaticResource(/*CFURL*/ aURL, /*StaticResource*/ aParent, /*BOOL*/ isDirectory, /*BOOL*/ isResolved, /*Dictionary*/ aFilenameTranslateDictionary) { this._parent = aParent; this._eventDispatcher = new EventDispatcher(this); @@ -11,6 +11,7 @@ function StaticResource(/*CFURL*/ aURL, /*StaticResource*/ aParent, /*BOOL*/ isD this._name = name; this._URL = aURL; //new CFURL(aName, aParent && aParent.URL().asDirectoryPathURL()); this._isResolved = !!isResolved; + this._filenameTranslateDictionary = aFilenameTranslateDictionary; if (isDirectory) this._URL = this._URL.asDirectoryPathURL(); @@ -36,6 +37,26 @@ StaticResource.rootResources = function() return rootResources; }; +function countProp(x) { + var count = 0; + for (var k in x) { + if (x.hasOwnProperty(k)) { + ++count; + } + } + return count; +} + +StaticResource.resetRootResources = function() +{ + rootResources = {}; +}; + +StaticResource.prototype.filenameTranslateDictionary = function() +{ + return this._filenameTranslateDictionary || {}; +}; + exports.StaticResource = StaticResource; function resolveStaticResource(/*StaticResource*/ aResource) @@ -76,7 +97,20 @@ StaticResource.prototype.resolve = function() resolveStaticResource(self); } - new FileRequest(this.URL(), onsuccess, onfailure); + var url = this.URL(), + aFilenameTranslateDictionary = this.filenameTranslateDictionary(); + + if (aFilenameTranslateDictionary) + { + var urlString = url.toString(), + lastPathComponent = url.lastPathComponent(), + basePath = urlString.substring(0, urlString.length - lastPathComponent.length), + translatedName = aFilenameTranslateDictionary[lastPathComponent]; + + if (translatedName && urlString.slice(-translatedName.length) !== translatedName) + url = new CFURL(basePath + translatedName); // FIXME: do an add component to url or something better.... + } + new FileRequest(url, onsuccess, onfailure); } }; @@ -163,11 +197,11 @@ StaticResource.prototype.resourceAtURL = function(/*CFURL|String*/ aURL, /*BOOL* return StaticResource.resourceAtURL(new CFURL(aURL, this.URL()), resolveAsDirectoriesIfNecessary); }; -StaticResource.resolveResourceAtURL = function(/*CFURL|String*/ aURL, /*BOOL*/ isDirectory, /*Function*/ aCallback) +StaticResource.resolveResourceAtURL = function(/*CFURL|String*/ aURL, /*BOOL*/ isDirectory, /*Function*/ aCallback, /*Dictionary*/ aFilenameTranslateDictionary) { aURL = makeAbsoluteURL(aURL).absoluteURL(); - resolveResourceComponents(rootResourceForAbsoluteURL(aURL), isDirectory, aURL.pathComponents(), 0, aCallback); + resolveResourceComponents(rootResourceForAbsoluteURL(aURL), isDirectory, aURL.pathComponents(), 0, aCallback, aFilenameTranslateDictionary); }; StaticResource.prototype.resolveResourceAtURL = function(/*CFURL|String*/ aURL, /*BOOL*/ isDirectory, /*Function*/ aCallback) @@ -175,7 +209,7 @@ StaticResource.prototype.resolveResourceAtURL = function(/*CFURL|String*/ aURL, StaticResource.resolveResourceAtURL(new CFURL(aURL, this.URL()).absoluteURL(), isDirectory, aCallback); }; -function resolveResourceComponents(/*StaticResource*/ aResource, /*BOOL*/ isDirectory, /*Array*/ components, /*Integer*/ index, /*Function*/ aCallback) +function resolveResourceComponents(/*StaticResource*/ aResource, /*BOOL*/ isDirectory, /*Array*/ components, /*Integer*/ index, /*Function*/ aCallback, /*Dictionry*/ aFilenameTranslateDictionary) { var count = components.length; @@ -187,7 +221,7 @@ function resolveResourceComponents(/*StaticResource*/ aResource, /*BOOL*/ isDire // If the child doesn't exist, create and resolve it. if (!child) { - child = new StaticResource(new CFURL(name, aResource.URL()), aResource, index + 1 < count || isDirectory , NO); + child = new StaticResource(new CFURL(name, aResource.URL()), aResource, index + 1 < count || isDirectory , NO, aFilenameTranslateDictionary); child.resolve(); } @@ -196,7 +230,7 @@ function resolveResourceComponents(/*StaticResource*/ aResource, /*BOOL*/ isDire return child.addEventListener("resolve", function() { // Continue resolving once this is done. - resolveResourceComponents(aResource, isDirectory, components, index, aCallback); + resolveResourceComponents(aResource, isDirectory, components, index, aCallback, aFilenameTranslateDictionary); }); // If we've already determined that this file doesn't exist... diff --git a/Objective-J/acorn.js b/Objective-J/acorn.js new file mode 100644 index 000000000..a0b1f073a --- /dev/null +++ b/Objective-J/acorn.js @@ -0,0 +1,2162 @@ +// Acorn is a tiny, fast JavaScript parser written in JavaScript. +// +// Acorn was written by Marijn Haverbeke and released under an MIT +// license. The Unicode regexps (for identifiers and whitespace) were +// taken from [Esprima](http://esprima.org) by Ariya Hidayat. +// +// Git repositories for Acorn are available at +// +// http://marijnhaverbeke.nl/git/acorn +// https://github.com/marijnh/acorn.git +// +// Please use the [github bug tracker][ghbt] to report issues. +// +// [ghbt]: https://github.com/marijnh/acorn/issues +// +// Objective-J extensions made by Martin Carlberg +// +// Git repositories for Acorn with Objective-J extension is available at +// +// https://github.com/mrcarlberg/acorn.git + +if (!exports.acorn) { + exports.acorn = {}; + exports.acorn.walk = {}; +} + +(function(exports) { + "use strict"; + + exports.version = "0.0.1"; + + // The main exported interface (under `self.acorn` when in the + // browser) is a `parse` function that takes a code string and + // returns an abstract syntax tree as specified by [Mozilla parser + // API][api], with the caveat that the SpiderMonkey-specific syntax + // (`let`, `yield`, inline XML, etc) is not recognized. + // + // [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API + + var options, input, inputLen, sourceFile; + + exports.parse = function(inpt, opts) { + input = String(inpt); inputLen = input.length; + options = opts || {}; + for (var opt in defaultOptions) if (!options.hasOwnProperty(opt)) + options[opt] = defaultOptions[opt]; + sourceFile = options.sourceFile || null; + return parseTopLevel(options.program); + }; + + // A second optional argument can be given to further configure + // the parser process. These options are recognized: + + var defaultOptions = exports.defaultOptions = { + // `ecmaVersion` indicates the ECMAScript version to parse. Must + // be either 3 or 5. This + // influences support for strict mode, the set of reserved words, and + // support for getters and setter. + ecmaVersion: 5, + // Turn on `strictSemicolons` to prevent the parser from doing + // automatic semicolon insertion. + strictSemicolons: false, + // When `allowTrailingCommas` is false, the parser will not allow + // trailing commas in array and object literals. + allowTrailingCommas: true, + // By default, reserved words are not enforced. Enable + // `forbidReserved` to enforce them. + forbidReserved: false, + // When `trackComments` is turned on, the parser will attach + // `commentsBefore` and `commentsAfter` properties to AST nodes + // holding arrays of strings. A single comment may appear in both + // a `commentsBefore` and `commentsAfter` array (of the nodes + // after and before it), but never twice in the before (or after) + // array of different nodes. + trackComments: false, + // When `trackSpaces` is turned on, the parser will attach + // `spacesBefore` and `spacesAfter` properties to AST nodes + // holding arrays of strings. The same spaces may appear in both + // a `spacesBefore` and `spacesAfter` array (of the nodes + // after and before it), but never twice in the before (or after) + // array of different nodes. + trackSpaces: false, + // When `locations` is on, `loc` properties holding objects with + // `start` and `end` properties in `{line, column}` form (with + // line being 1-based and column 0-based) will be attached to the + // nodes. + locations: false, + // Nodes have their start and end characters offsets recorded in + // `start` and `end` properties (directly on the node, rather than + // the `loc` object, which holds line/column data. To also add a + // [semi-standardized][range] `range` property holding a `[start, + // end]` array with the same numbers, set the `ranges` option to + // `true`. + // + // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678 + ranges: false, + // It is possible to parse multiple files into a single AST by + // passing the tree produced by parsing the first file as + // `program` option in subsequent parses. This will add the + // toplevel forms of the parsed file to the `Program` (top) node + // of an existing parse tree. + program: null, + // When `location` is on, you can pass this to record the source + // file in every node's `loc` object. + sourceFile: null, + // Turn on objj to allow Objective-J syntax + objj: true + }; + + // The `getLineInfo` function is mostly useful when the + // `locations` option is off (for performance reasons) and you + // want to find the line/column position for a given character + // offset. `input` should be the code string that the offset refers + // into. + + var getLineInfo = exports.getLineInfo = function(input, offset) { + for (var line = 1, cur = 0;;) { + lineBreak.lastIndex = cur; + var match = lineBreak.exec(input); + if (match && match.index < offset) { + ++line; + cur = match.index + match[0].length; + } else break; + } + return {line: line, column: offset - cur, lineStart: cur, lineEnd: (match ? match.index + match[0].length : input.length)}; + }; + + // Acorn is organized as a tokenizer and a recursive-descent parser. + // Both use (closure-)global variables to keep their state and + // communicate. We already saw the `options`, `input`, and + // `inputLen` variables above (set in `parse`). + + // The current position of the tokenizer in the input. + + var tokPos; + + // The start and end offsets of the current token. + + var tokStart, tokEnd; + + // When `options.locations` is true, these hold objects + // containing the tokens start and end line/column pairs. + + var tokStartLoc, tokEndLoc; + + // The type and value of the current token. Token types are objects, + // named by variables against which they can be compared, and + // holding properties that describe them (indicating, for example, + // the precedence of an infix operator, and the original name of a + // keyword token). The kind of value that's held in `tokVal` depends + // on the type of the token. For literals, it is the literal value, + // for operators, the operator name, and so on. + + var tokType, tokVal; + + // These are used to hold arrays of comments when + // `options.trackComments` is true. + + var tokCommentsBefore, tokCommentsAfter, lastTokCommentsAfter; + + // These are used to hold arrays of spaces when + // `options.trackSpaces` is true. + + var tokSpacesBefore, tokSpacesAfter, lastTokSpacesAfter; + + // Interal state for the tokenizer. To distinguish between division + // operators and regular expressions, it remembers whether the last + // token was one that is allowed to be followed by an expression. + // (If it is, a slash is probably a regexp, if it isn't it's a + // division operator. See the `parseStatement` function for a + // caveat.) + + var tokRegexpAllowed, tokComments, tokSpaces; + + // When `options.locations` is true, these are used to keep + // track of the current line, and know when a new line has been + // entered. See the `curLineLoc` function. + + var tokCurLine, tokLineStart, tokLineStartNext; + + // These store the position of the previous token, which is useful + // when finishing a node and assigning its `end` position. + + var lastStart, lastEnd, lastEndLoc; + + // This is the tokenizer's state for Objective-J. `afterImport` is used + // to make the part between '<' and '>' to be one token if it comes after + // a @import token. + + var tokAfterImport; + + // This is the tokenizer's state for Objective-J. 'nodeMessageSendObjectExpression' + // is used to store the expression that is already parsed when a subscript was + // not really a subscript + + var nodeMessageSendObjectExpression; + + // This is the parser's state. `inFunction` is used to reject + // `return` statements outside of functions, `labels` to verify that + // `break` and `continue` have somewhere to jump to, and `strict` + // indicates whether strict mode is on. + + var inFunction, labels, strict; + + // This function is used to raise exceptions on parse errors. It + // takes either a `{line, column}` object or an offset integer (into + // the current `input`) as `pos` argument. It attaches the position + // to the end of the error message, and then raises a `SyntaxError` + // with that message. + + function raise(pos, message) { + if (typeof pos == "number") pos = getLineInfo(input, pos); + var syntaxError = new SyntaxError(message); + syntaxError.line = pos.line; + syntaxError.column = pos.column; + syntaxError.lineStart = pos.lineStart; + syntaxError.lineEnd = pos.lineEnd; + + throw syntaxError; + } + + // ## Token types + + // The assignment of fine-grained, information-carrying type objects + // allows the tokenizer to store the information it has about a + // token in a way that is very cheap for the parser to look up. + + // All token type variables start with an underscore, to make them + // easy to recognize. + + // These are the general types. The `type` property is only used to + // make them recognizeable when debugging. + + var _num = {type: "num"}, _regexp = {type: "regexp"}, _string = {type: "string"}; + var _name = {type: "name"}, _eof = {type: "eof"}; + + // Keyword tokens. The `keyword` property (also used in keyword-like + // operators) indicates that the token originated from an + // identifier-like word, which is used when parsing property names. + // + // The `beforeExpr` property is used to disambiguate between regular + // expressions and divisions. It is set on all token types that can + // be followed by an expression (thus, a slash after them would be a + // regular expression). + // + // `isLoop` marks a keyword as starting a loop, which is important + // to know when parsing a label, in order to allow or disallow + // continue jumps to that label. + + var _break = {keyword: "break"}, _case = {keyword: "case", beforeExpr: true}, _catch = {keyword: "catch"}; + var _continue = {keyword: "continue"}, _debugger = {keyword: "debugger"}, _default = {keyword: "default"}; + var _do = {keyword: "do", isLoop: true}, _else = {keyword: "else", beforeExpr: true}; + var _finally = {keyword: "finally"}, _for = {keyword: "for", isLoop: true}, _function = {keyword: "function"}; + var _if = {keyword: "if"}, _return = {keyword: "return", beforeExpr: true}, _switch = {keyword: "switch"}; + var _throw = {keyword: "throw", beforeExpr: true}, _try = {keyword: "try"}, _var = {keyword: "var"}; + var _while = {keyword: "while", isLoop: true}, _with = {keyword: "with"}, _new = {keyword: "new", beforeExpr: true}; + var _this = {keyword: "this"}; + var _void = {keyword: "void", prefix: true}; + + // The keywords that denote values. + + var _null = {keyword: "null", atomValue: null}, _true = {keyword: "true", atomValue: true}; + var _false = {keyword: "false", atomValue: false}; + + // Some keywords are treated as regular operators. `in` sometimes + // (when parsing `for`) needs to be tested against specifically, so + // we assign a variable name to it for quick comparing. + + var _in = {keyword: "in", binop: 7, beforeExpr: true}; + + // Objective-J @ keywords + + var _implementation = {keyword: "implementation"}, _outlet = {keyword: "outlet"}, _accessors = {keyword: "accessors"}; + var _end = {keyword: "end"}, _import = {keyword: "import", afterImport: true}; + var _action = {keyword: "action"}, _selector = {keyword: "selector"}, _class = {keyword: "class"}, _global = {keyword: "global"}; + + // Objective-J keywords + + var _filename = {keyword: "filename"}, _unsigned = {keyword: "unsigned", okAsIdent: true}, _signed = {keyword: "signed", okAsIdent: true}; + var _byte = {keyword: "byte", okAsIdent: true}, _char = {keyword: "char", okAsIdent: true}, _short = {keyword: "short", okAsIdent: true}; + var _int = {keyword: "int", okAsIdent: true}, _long = {keyword: "long", okAsIdent: true}, _preprocess = {keyword: "#"}; + + // Map keyword names to token types. + + var keywordTypes = {"break": _break, "case": _case, "catch": _catch, + "continue": _continue, "debugger": _debugger, "default": _default, + "do": _do, "else": _else, "finally": _finally, "for": _for, + "function": _function, "if": _if, "return": _return, "switch": _switch, + "throw": _throw, "try": _try, "var": _var, "while": _while, "with": _with, + "null": _null, "true": _true, "false": _false, "new": _new, "in": _in, + "instanceof": {keyword: "instanceof", binop: 7}, "this": _this, + "typeof": {keyword: "typeof", prefix: true}, + "void": _void, + "delete": {keyword: "delete", prefix: true} }; + + // Map Objective-J keyword names to token types. + + var keywordTypesObjJ = {"IBAction": _action, "IBOutlet": _outlet, "unsigned": _unsigned, "signed": _signed, "byte": _byte, "char": _char, + "short": _short, "int": _int, "long": _long }; + + // Map Objective-J "@" keyword names to token types. + + var objJAtKeywordTypes = {"implementation": _implementation, "outlet": _outlet, "accessors": _accessors, "end": _end, + "import": _import, "action": _action, "selector": _selector, "class": _class, "global": _global}; + + // Punctuation token types. Again, the `type` property is purely for debugging. + + var _bracketL = {type: "[", beforeExpr: true}, _bracketR = {type: "]"}, _braceL = {type: "{", beforeExpr: true}; + var _braceR = {type: "}"}, _parenL = {type: "(", beforeExpr: true}, _parenR = {type: ")"}; + var _comma = {type: ",", beforeExpr: true}, _semi = {type: ";", beforeExpr: true}; + var _colon = {type: ":", beforeExpr: true}, _dot = {type: "."}, _question = {type: "?", beforeExpr: true}; + + // Objective-J token types + + var _at = {type: "@"}, _dotdotdot = {type: "..."}, _numberSign = {type: "#"}; + + // Operators. These carry several kinds of properties to help the + // parser use them properly (the presence of these properties is + // what categorizes them as operators). + // + // `binop`, when present, specifies that this operator is a binary + // operator, and will refer to its precedence. + // + // `prefix` and `postfix` mark the operator as a prefix or postfix + // unary operator. `isUpdate` specifies that the node produced by + // the operator should be of type UpdateExpression rather than + // simply UnaryExpression (`++` and `--`). + // + // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as + // binary operators with a very low precedence, that should result + // in AssignmentExpression nodes. + + var _slash = {binop: 10, beforeExpr: true}, _eq = {isAssign: true, beforeExpr: true}; + var _assign = {isAssign: true, beforeExpr: true}, _plusmin = {binop: 9, prefix: true, beforeExpr: true}; + var _incdec = {postfix: true, prefix: true, isUpdate: true}, _prefix = {prefix: true, beforeExpr: true}; + var _bin1 = {binop: 1, beforeExpr: true}, _bin2 = {binop: 2, beforeExpr: true}; + var _bin3 = {binop: 3, beforeExpr: true}, _bin4 = {binop: 4, beforeExpr: true}; + var _bin5 = {binop: 5, beforeExpr: true}, _bin6 = {binop: 6, beforeExpr: true}; + var _bin7 = {binop: 7, beforeExpr: true}, _bin8 = {binop: 8, beforeExpr: true}; + var _bin10 = {binop: 10, beforeExpr: true}; + + // This is a trick taken from Esprima. It turns out that, on + // non-Chrome browsers, to check whether a string is in a set, a + // predicate containing a big ugly `switch` statement is faster than + // a regular expression, and on Chrome the two are about on par. + // This function uses `eval` (non-lexical) to produce such a + // predicate from a space-separated string of words. + // + // It starts by sorting the words by length. + + function makePredicate(words) { + words = words.split(" "); + var f = "", cats = []; + out: for (var i = 0; i < words.length; ++i) { + for (var j = 0; j < cats.length; ++j) + if (cats[j][0].length == words[i].length) { + cats[j].push(words[i]); + continue out; + } + cats.push([words[i]]); + } + function compareTo(arr) { + if (arr.length == 1) return f += "return str === " + JSON.stringify(arr[0]) + ";"; + f += "switch(str){"; + for (var i = 0; i < arr.length; ++i) f += "case " + JSON.stringify(arr[i]) + ":"; + f += "return true}return false;"; + } + + // When there are more than three length categories, an outer + // switch first dispatches on the lengths, to save on comparisons. + + if (cats.length > 3) { + cats.sort(function(a, b) {return b.length - a.length;}); + f += "switch(str.length){"; + for (var i = 0; i < cats.length; ++i) { + var cat = cats[i]; + f += "case " + cat[0].length + ":"; + compareTo(cat); + } + f += "}"; + + // Otherwise, simply generate a flat `switch` statement. + + } else { + compareTo(words); + } + return new Function("str", f); + } + + exports.makePredicate = makePredicate; + + // The ECMAScript 3 reserved word list. + + var isReservedWord3 = makePredicate("abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile"); + + // ECMAScript 5 reserved words. + + var isReservedWord5 = makePredicate("class enum extends super const export import"); + + // The additional reserved words in strict mode. + + var isStrictReservedWord = makePredicate("implements interface let package private protected public static yield"); + + // The forbidden variable names in strict mode. + + var isStrictBadIdWord = makePredicate("eval arguments"); + + // And the keywords. + + var isKeyword = makePredicate("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"); + + // The Objective-J keywords. + + var isKeywordObjJ = makePredicate("IBAction IBOutlet byte char short int long unsigned signed"); + + // ## Character categories + + // Big ugly regular expressions that match characters in the + // whitespace, identifier, and identifier-start categories. These + // are only applied when a character is found to actually have a + // code point above 128. + + var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/; + var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; + var nonASCIIidentifierChars = "\u0371-\u0374\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; + var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); + var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + + // Whether a single character denotes a newline. + + var newline = /[\n\r\u2028\u2029]/; + + // Matches a whole line break (where CRLF is considered a single + // line break). Used to count lines. + + var lineBreak = /\r\n|[\n\r\u2028\u2029]/g; + + // Test whether a given character code starts an identifier. + + function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code < 91) return true; + if (code < 97) return code === 95; + if (code < 123)return true; + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + // Test whether a given character is part of an identifier. + + function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code < 91) return true; + if (code < 97) return code === 95; + if (code < 123)return true; + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + // ## Tokenizer + + // These are used when `options.locations` is on, in order to track + // the current line number and start of line offset, in order to set + // `tokStartLoc` and `tokEndLoc`. + + function nextLineStart() { + lineBreak.lastIndex = tokLineStart; + var match = lineBreak.exec(input); + return match ? match.index + match[0].length : input.length + 1; + } + + var line_loc_t = function() { + this.line = tokCurLine; + this.column = tokPos - tokLineStart; + } + + function curLineLoc() { + while (tokLineStartNext <= tokPos) { + ++tokCurLine; + tokLineStart = tokLineStartNext; + tokLineStartNext = nextLineStart(); + } + return new line_loc_t(); + } + + // Reset the token state. Used at the start of a parse. + + function initTokenState() { + tokCurLine = 1; + tokPos = tokLineStart = 0; + tokLineStartNext = nextLineStart(); + tokRegexpAllowed = true; + tokComments = null; + tokSpaces = null; + skipSpace(); + } + + // Called at the end of every token. Sets `tokEnd`, `tokVal`, + // `tokCommentsAfter`, `tokSpacesAfter`, and `tokRegexpAllowed`, and skips the space + // after the token, so that the next one's `tokStart` will point at + // the right position. + + function finishToken(type, val) { + tokEnd = tokPos; + if (options.locations) tokEndLoc = curLineLoc(); + tokType = type; + skipSpace(); + tokVal = val; + lastTokCommentsAfter = tokCommentsAfter; + lastTokSpacesAfter = tokSpacesAfter; + tokCommentsAfter = tokComments; + tokSpacesAfter = tokSpaces; + tokRegexpAllowed = type.beforeExpr; + tokAfterImport = type.afterImport; + } + + function skipBlockComment() { + var end = input.indexOf("*/", tokPos += 2); + if (end === -1) raise(tokPos - 2, "Unterminated comment"); + if (options.trackComments) + (tokComments || (tokComments = [])).push(input.slice(tokPos, end)); + tokPos = end + 2; + } + + function skipLineComment(skipCharacters) { + var start = tokPos; + var ch = input.charCodeAt(tokPos+=skipCharacters); + while (tokPos < inputLen && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8329) { + ++tokPos; + ch = input.charCodeAt(tokPos); + } + if (options.trackComments) + (tokComments || (tokComments = [])).push(input.slice(start, tokPos)); + } + + function skipWhiteSpaces() { + var start = tokPos; + var ch = input.charCodeAt(++tokPos); + while ((ch < 14 && ch > 8) || ch === 32 || ch === 160 || (ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch)))) // 9 - 13, ' ', '\xa0' .... + ch = input.charCodeAt(++tokPos); + if (options.trackSpaces) + //tokSpaces = input.slice(start, tokPos); + (tokSpaces || (tokSpaces = [])).push(input.slice(start, tokPos)); + } + + // Called at the start of the parse and after every token. Skips + // whitespace and comments, and, if `options.trackComments` is on, + // will store all skipped comments in `tokComments`. If + // `options.trackSpaces` is on, will store the last skipped spaces in + // `tokSpaces`. + + function skipSpace() { + tokComments = null; + tokSpaces = null; + while (tokPos < inputLen) { + var ch = input.charCodeAt(tokPos); + if (ch === 47) { // '/' + var next = input.charCodeAt(tokPos+1); + if (next === 42) { // '*' + skipBlockComment(); + } else if (next === 47) { // '/' + skipLineComment(2); + } else break; + } else if ((ch < 14 && ch > 8) || ch === 32 || ch === 160 || (ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch)))) { // 9 - 13, ' ', '\xa0' .... + skipWhiteSpaces(); + } else { + break; + } + } + } + + // ### Token reading + + // This is the function that is called to fetch the next token. It + // is somewhat obscure, because it works in character codes rather + // than characters, and because operator parsing has been inlined + // into it. + // + // All in the name of speed. + // + // The `forceRegexp` parameter is used in the one case where the + // `tokRegexpAllowed` trick does not work. See `parseStatement`. + + function readToken_dot(code) { + var next = input.charCodeAt(tokPos+1); + if (next >= 48 && next <= 57) return readNumber(String.fromCharCode(code)); + if (next === 46 && options.objj && input.charCodeAt(tokPos+2) === 46) { //'.' + tokPos += 3; + return finishToken(_dotdotdot); + } + ++tokPos; + return finishToken(_dot); + } + + function readToken_slash() { // '/' + var next = input.charCodeAt(tokPos+1); + if (tokRegexpAllowed) {++tokPos; return readRegexp();} + if (next === 61) return finishOp(_assign, 2); + return finishOp(_slash, 1); + } + + function readToken_mult_modulo() { // '%*' + var next = input.charCodeAt(tokPos+1); + if (next === 61) return finishOp(_assign, 2); + return finishOp(_bin10, 1); + } + + function readToken_pipe_amp(code) { // '|&' + var next = input.charCodeAt(tokPos+1); + if (next === code) return finishOp(code === 124 ? _bin1 : _bin2, 2); + if (next === 61) return finishOp(_assign, 2); + return finishOp(code === 124 ? _bin3 : _bin5, 1); + } + + function readToken_caret() { // '^' + var next = input.charCodeAt(tokPos+1); + if (next === 61) return finishOp(_assign, 2); + return finishOp(_bin4, 1); + } + + function readToken_plus_min(code) { // '+-' + var next = input.charCodeAt(tokPos+1); + if (next === code) return finishOp(_incdec, 2); + if (next === 61) return finishOp(_assign, 2); + return finishOp(_plusmin, 1); + } + + function readToken_lt_gt(code) { // '<>' + if (tokAfterImport && options.objj && code === 60) { // '<' + var str = []; + for (;;) { + if (tokPos >= inputLen) raise(tokStart, "Unterminated import statement"); + var ch = input.charCodeAt(++tokPos); + if (ch === 62) { // '>' + ++tokPos; + return finishToken(_filename, String.fromCharCode.apply(null, str)); + } + str.push(ch); + } + } + var next = input.charCodeAt(tokPos+1); + var size = 1; + if (next === code) { + size = code === 62 && input.charCodeAt(tokPos+2) === 62 ? 3 : 2; + if (input.charCodeAt(tokPos + size) === 61) return finishOp(_assign, size + 1); + return finishOp(_bin8, size); + } + if (next === 61) + size = input.charCodeAt(tokPos+2) === 61 ? 3 : 2; + return finishOp(_bin7, size); + } + + function readToken_eq_excl(code) { // '=!' + var next = input.charCodeAt(tokPos+1); + if (next === 61) return finishOp(_bin6, input.charCodeAt(tokPos+2) === 61 ? 3 : 2); + return finishOp(code === 61 ? _eq : _prefix, 1); + } + + function readToken_at(code) { // '@' + var next = input.charCodeAt(++tokPos); + if (next === 34 || next === 39) // Read string if "'" or '"' + return readString(next); + var word = readWord1(), + token = objJAtKeywordTypes[word]; + if (!token) raise(tokStart, "Unrecognized Objective-J keyword '@" + word + "'"); + return finishToken(token); + } + + function getTokenFromCode(code) { + switch(code) { + // The interpretation of a dot depends on whether it is followed + // by a digit. + case 46: // '.' + return readToken_dot(code); + + // Punctuation tokens. + case 40: ++tokPos; return finishToken(_parenL); + case 41: ++tokPos; return finishToken(_parenR); + case 59: ++tokPos; return finishToken(_semi); + case 44: ++tokPos; return finishToken(_comma); + case 91: ++tokPos; return finishToken(_bracketL); + case 93: ++tokPos; return finishToken(_bracketR); + case 123: ++tokPos; return finishToken(_braceL); + case 125: ++tokPos; return finishToken(_braceR); + case 58: ++tokPos; return finishToken(_colon); + case 63: ++tokPos; return finishToken(_question); + + // '0x' is a hexadecimal number. + case 48: // '0' + var next = input.charCodeAt(tokPos+1); + if (next === 120 || next === 88) return readHexNumber(); + // Anything else beginning with a digit is an integer, octal + // number, or float. + case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9 + return readNumber(String.fromCharCode(code)); + + // Quotes produce strings. + case 34: case 39: // '"', "'" + return readString(code); + + // Operators are parsed inline in tiny state machines. '=' (61) is + // often referred to. `finishOp` simply skips the amount of + // characters it is given as second argument, and returns a token + // of the type given by its first argument. + + case 47: // '/' + return readToken_slash(code); + + case 37: case 42: // '%*' + return readToken_mult_modulo(); + + case 124: case 38: // '|&' + return readToken_pipe_amp(code); + + case 94: // '^' + return readToken_caret(); + + case 43: case 45: // '+-' + return readToken_plus_min(code); + + case 60: case 62: // '<>' + return readToken_lt_gt(code); + + case 61: case 33: // '=!' + return readToken_eq_excl(code); + + case 64: // '@' + if (options.objj) + return readToken_at(code); + return false; + + case 35: // '#' + if (options.objj) { + var start = tokPos; + var ch = input.charCodeAt(++tokPos); + while (tokPos < inputLen && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8329) // End of line + ch = input.charCodeAt(++tokPos); + return finishToken(_preprocess, input.slice(start, tokPos)); + } + return false; + + case 126: // '~' + return finishOp(_prefix, 1); + } + + return false; + } + + function readToken(forceRegexp) { + tokStart = tokPos; + if (options.locations) tokStartLoc = curLineLoc(); + tokCommentsBefore = tokComments; + tokSpacesBefore = tokSpaces; + if (forceRegexp) return readRegexp(); + if (tokPos >= inputLen) return finishToken(_eof); + + var code = input.charCodeAt(tokPos); + // Identifier or keyword. '\uXXXX' sequences are allowed in + // identifiers, so '\' also dispatches to that. + if (isIdentifierStart(code) || code === 92 /* '\' */) return readWord(); + + var tok = getTokenFromCode(code); + + if(tok === false) { + // If we are here, we either found a non-ASCII identifier + // character, or something that's entirely disallowed. + var ch = String.fromCharCode(code); + if (ch === "\\" || nonASCIIidentifierStart.test(ch)) return readWord(); + raise(tokPos, "Unexpected character '" + ch + "'"); + } + return tok; + } + + function finishOp(type, size) { + var str = input.slice(tokPos, tokPos + size); + tokPos += size; + finishToken(type, str); + } + + // Parse a regular expression. Some context-awareness is necessary, + // since a '/' inside a '[]' set does not end the expression. + + function readRegexp() { + var content = "", escaped, inClass, start = tokPos; + for (;;) { + if (tokPos >= inputLen) raise(start, "Unterminated regular expression"); + var ch = input.charAt(tokPos); + if (newline.test(ch)) raise(start, "Unterminated regular expression"); + if (!escaped) { + if (ch === "[") inClass = true; + else if (ch === "]" && inClass) inClass = false; + else if (ch === "/" && !inClass) break; + escaped = ch === "\\"; + } else escaped = false; + ++tokPos; + } + var content = input.slice(start, tokPos); + ++tokPos; + // Need to use `readWord1` because '\uXXXX' sequences are allowed + // here (don't ask). + var mods = readWord1(); + if (mods && !/^[gmsiy]*$/.test(mods)) raise(start, "Invalid regexp flag"); + return finishToken(_regexp, new RegExp(content, mods)); + } + + // Read an integer in the given radix. Return null if zero digits + // were read, the integer value otherwise. When `len` is given, this + // will return `null` unless the integer has exactly `len` digits. + + function readInt(radix, len) { + var start = tokPos, total = 0; + for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) { + var code = input.charCodeAt(tokPos), val; + if (code >= 97) val = code - 97 + 10; // a + else if (code >= 65) val = code - 65 + 10; // A + else if (code >= 48 && code <= 57) val = code - 48; // 0-9 + else val = Infinity; + if (val >= radix) break; + ++tokPos; + total = total * radix + val; + } + if (tokPos === start || len != null && tokPos - start !== len) return null; + + return total; + } + + function readHexNumber() { + tokPos += 2; // 0x + var val = readInt(16); + if (val == null) raise(tokStart + 2, "Expected hexadecimal number"); + if (isIdentifierStart(input.charCodeAt(tokPos))) raise(tokPos, "Identifier directly after number"); + return finishToken(_num, val); + } + + // Read an integer, octal integer, or floating-point number. + + function readNumber(ch) { + var start = tokPos, isFloat = ch === "."; + if (!isFloat && readInt(10) == null) raise(start, "Invalid number"); + if (isFloat || input.charAt(tokPos) === ".") { + var next = input.charAt(++tokPos); + if (next === "-" || next === "+") ++tokPos; + if (readInt(10) === null && ch === ".") raise(start, "Invalid number"); + isFloat = true; + } + if (/e/i.test(input.charAt(tokPos))) { + var next = input.charAt(++tokPos); + if (next === "-" || next === "+") ++tokPos; + if (readInt(10) === null) raise(start, "Invalid number") + isFloat = true; + } + if (isIdentifierStart(input.charCodeAt(tokPos))) raise(tokPos, "Identifier directly after number"); + + var str = input.slice(start, tokPos), val; + if (isFloat) val = parseFloat(str); + else if (ch !== "0" || str.length === 1) val = parseInt(str, 10); + else if (/[89]/.test(str) || strict) raise(start, "Invalid number"); + else val = parseInt(str, 8); + return finishToken(_num, val); + } + + // Read a string value, interpreting backslash-escapes. + + var rs_str = []; + + function readString(quote) { + tokPos++; + rs_str.length = 0; + for (;;) { + if (tokPos >= inputLen) raise(tokStart, "Unterminated string constant"); + var ch = input.charCodeAt(tokPos); + if (ch === quote) { + ++tokPos; + return finishToken(_string, String.fromCharCode.apply(null, rs_str)); + } + if (ch === 92) { // '\' + ch = input.charCodeAt(++tokPos); + var octal = /^[0-7]+/.exec(input.slice(tokPos, tokPos + 3)); + if (octal) octal = octal[0]; + while (octal && parseInt(octal, 8) > 255) octal = octal.slice(0, octal.length - 1); + if (octal === "0") octal = null; + ++tokPos; + if (octal) { + if (strict) raise(tokPos - 2, "Octal literal in strict mode"); + rs_str.push(parseInt(octal, 8)); + tokPos += octal.length - 1; + } else { + switch (ch) { + case 110: rs_str.push(10); break; // 'n' -> '\n' + case 114: rs_str.push(13); break; // 'r' -> '\r' + case 120: rs_str.push(readHexChar(2)); break; // 'x' + case 117: rs_str.push(readHexChar(4)); break; // 'u' + case 85: rs_str.push(readHexChar(8)); break; // 'U' + case 116: rs_str.push(9); break; // 't' -> '\t' + case 98: rs_str.push(8); break; // 'b' -> '\b' + case 118: rs_str.push(11); break; // 'v' -> '\u000b' + case 102: rs_str.push(12); break; // 'f' -> '\f' + case 48: rs_str.push(0); break; // 0 -> '\0' + case 13: if (input.charCodeAt(tokPos) === 10) ++tokPos; // '\r\n' + case 10: break; // ' \n' + default: rs_str.push(ch); break; + } + } + } else { + if (ch === 13 || ch === 10 || ch === 8232 || ch === 8329) raise(tokStart, "Unterminated string constant"); + if (ch !== 92) rs_str.push(ch); // '\' // This 'if' seems useless as the same thing is checked above..... - Martin + ++tokPos; + } + } + } + + // Used to read character escape sequences ('\x', '\u', '\U'). + + function readHexChar(len) { + var n = readInt(16, len); + if (n === null) raise(tokStart, "Bad character escape sequence"); + return n; + } + + // Used to signal to callers of `readWord1` whether the word + // contained any escape sequences. This is needed because words with + // escape sequences must not be interpreted as keywords. + + var containsEsc; + + // Read an identifier, and return it as a string. Sets `containsEsc` + // to whether the word contained a '\u' escape. + // + // Only builds up the word character-by-character when it actually + // containeds an escape, as a micro-optimization. + + function readWord1() { + containsEsc = false; + var word, first = true, start = tokPos; + for (;;) { + var ch = input.charCodeAt(tokPos); + if (isIdentifierChar(ch)) { + if (containsEsc) word += input.charAt(tokPos); + ++tokPos; + } else if (ch === 92) { // "\" + if (!containsEsc) word = input.slice(start, tokPos); + containsEsc = true; + if (input.charCodeAt(++tokPos) != 117) // "u" + raise(tokPos, "Expecting Unicode escape sequence \\uXXXX"); + ++tokPos; + var esc = readHexChar(4); + var escStr = String.fromCharCode(esc); + if (!escStr) raise(tokPos - 1, "Invalid Unicode escape"); + if (!(first ? isIdentifierStart(esc) : isIdentifierChar(esc))) + raise(tokPos - 4, "Invalid Unicode escape"); + word += escStr; + } else { + break; + } + first = false; + } + return containsEsc ? word : input.slice(start, tokPos); + } + + // Read an identifier or keyword token. Will check for reserved + // words when necessary. + + function readWord() { + var word = readWord1(); + var type = _name; + if (!containsEsc) { + if (isKeyword(word)) type = keywordTypes[word]; + else if (options.objj && isKeywordObjJ(word)) type = keywordTypesObjJ[word]; + else if (options.forbidReserved && + (options.ecmaVersion === 3 ? isReservedWord3 : isReservedWord5)(word) || + strict && isStrictReservedWord(word)) + raise(tokStart, "The keyword '" + word + "' is reserved"); + } + return finishToken(type, word); + } + + // ## Parser + + // A recursive descent parser operates by defining functions for all + // syntactic elements, and recursively calling those, each function + // advancing the input stream and returning an AST node. Precedence + // of constructs (for example, the fact that `!x[1]` means `!(x[1])` + // instead of `(!x)[1]` is handled by the fact that the parser + // function that parses unary prefix operators is called first, and + // in turn calls the function that parses `[]` subscripts — that + // way, it'll receive the node for `x[1]` already parsed, and wraps + // *that* in the unary operator node. + // + // Acorn uses an [operator precedence parser][opp] to handle binary + // operator precedence, because it is much more compact than using + // the technique outlined above, which uses different, nesting + // functions to specify precedence, for all of the ten binary + // precedence levels that JavaScript defines. + // + // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser + + // ### Parser utilities + + // Continue to the next token. + + function next() { + lastStart = tokStart; + lastEnd = tokEnd; + lastEndLoc = tokEndLoc; + nodeMessageSendObjectExpression = null; + readToken(); + } + + // Enter strict mode. Re-reads the next token to please pedantic + // tests ("use strict"; 010; -- should fail). + + function setStrict(strct) { + strict = strct; + tokPos = lastEnd; + skipSpace(); + readToken(); + } + + // Start an AST node, attaching a start offset and optionally a + // `commentsBefore` property to it. + + var node_t = function(s) { + this.type = null; + this.start = tokStart; + this.end = null; + }; + + var node_loc_t = function(s) { + this.start = tokStartLoc; + this.end = null; + if (sourceFile !== null) this.source = sourceFile; + }; + + function startNode() { + var node = new node_t(); + if (options.trackComments && tokCommentsBefore) { + node.commentsBefore = tokCommentsBefore; + tokCommentsBefore = null; + } + if (options.trackSpaces && tokSpacesBefore) { + node.spacesBefore = tokSpacesBefore; + tokSpacesBefore = null; + } + if (options.locations) + node.loc = new node_loc_t(); + if (options.ranges) + node.range = [tokStart, 0]; + return node; + } + + // Start a node whose start offset/comments information should be + // based on the start of another node. For example, a binary + // operator node is only started after its left-hand side has + // already been parsed. + + function startNodeFrom(other) { + var node = new node_t(); + node.start = other.start; + if (other.commentsBefore) { + node.commentsBefore = other.commentsBefore; + delete other.commentsBefore; + } + if (other.spacesBefore) { + node.spacesBefore = other.spacesBefore; + delete other.spacesBefore; + } + if (options.locations) { + node.loc = new node_loc_t(); + node.loc.start = other.loc.start; + } + if (options.ranges) + node.range = [other.range[0], 0]; + + return node; + } + + // Finish an AST node, adding `type`, `end`, and `commentsAfter` + // properties. + // + // We keep track of the last node that we finished, in order + // 'bubble' `commentsAfter` properties up to the biggest node. I.e. + // in '`1 + 1 // foo', the comment should be attached to the binary + // operator node, not the second literal node. The same is done on + // `spacesAfter` + + var lastFinishedNode; + + function finishNode(node, type) { + node.type = type; + node.end = lastEnd; + if (options.trackComments) { + if (lastTokCommentsAfter) { + node.commentsAfter = lastTokCommentsAfter; + tokCommentsAfter = null; + } else if (lastFinishedNode && lastFinishedNode.end === lastEnd && + lastFinishedNode.commentsAfter) { + node.commentsAfter = lastFinishedNode.commentsAfter; + delete lastFinishedNode.commentsAfter; + } + if (!options.trackSpaces) + lastFinishedNode = node; + } + if (options.trackSpaces) { + if (lastTokSpacesAfter) { + node.spacesAfter = lastTokSpacesAfter; + lastTokSpacesAfter = null; + } else if (lastFinishedNode && lastFinishedNode.end === lastEnd && + lastFinishedNode.spacesAfter) { + node.spacesAfter = lastFinishedNode.spacesAfter; + delete lastFinishedNode.spacesAfter; + } + lastFinishedNode = node; + } + if (options.locations) + node.loc.end = lastEndLoc; + if (options.ranges) + node.range[1] = lastEnd; + return node; + } + + // Test whether a statement node is the string literal `"use strict"`. + + function isUseStrict(stmt) { + return options.ecmaVersion >= 5 && stmt.type === "ExpressionStatement" && + stmt.expression.type === "Literal" && stmt.expression.value === "use strict"; + } + + // Predicate that tests whether the next token is of the given + // type, and if yes, consumes it as a side effect. + + function eat(type) { + if (tokType === type) { + next(); + return true; + } + } + + // Test whether a semicolon can be inserted at the current position. + + function canInsertSemicolon() { + return !options.strictSemicolons && + (tokType === _eof || tokType === _braceR || newline.test(input.slice(lastEnd, tokStart)) || + (nodeMessageSendObjectExpression && options.objj)); + } + + // Consume a semicolon, or, failing that, see if we are allowed to + // pretend that there is a semicolon at this position. + + function semicolon() { + if (!eat(_semi) && !canInsertSemicolon()) raise(lastEnd, "Expected a semicolon"); + } + + // Expect a token of a given type. If found, consume it, otherwise, + // raise with errorMessage or an unexpected token error. + + function expect(type, errorMessage) { + if (tokType === type) next(); + else errorMessage ? raise(tokStart, errorMessage) : unexpected(); + } + + // Raise an unexpected token error. + + function unexpected() { + raise(tokStart, "Unexpected token"); + } + + // Verify that a node is an lval — something that can be assigned + // to. + + function checkLVal(expr) { + if (expr.type !== "Identifier" && expr.type !== "MemberExpression") + raise(expr.start, "Assigning to rvalue"); + if (strict && expr.type === "Identifier" && isStrictBadIdWord(expr.name)) + raise(expr.start, "Assigning to " + expr.name + " in strict mode"); + } + + // ### Statement parsing + + // Parse a program. Initializes the parser, reads any number of + // statements, and wraps them in a Program node. Optionally takes a + // `program` argument. If present, the statements will be appended + // to its body instead of creating a new node. + + function parseTopLevel(program) { + initTokenState(); + lastStart = lastEnd = tokPos; + if (options.locations) lastEndLoc = curLineLoc(); + inFunction = strict = null; + labels = []; + readToken(); + + var node = program || startNode(), first = true; + if (!program) node.body = []; + while (tokType !== _eof) { + var stmt = parseStatement(); + node.body.push(stmt); + if (first && isUseStrict(stmt)) setStrict(true); + first = false; + } + return finishNode(node, "Program"); + }; + + var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"}; + + // Parse a single statement. + // + // If expecting a statement and finding a slash operator, parse a + // regular expression literal. This is to handle cases like + // `if (foo) /blah/.exec(foo);`, where looking at the previous token + // does not help. + + function parseStatement() { + if (nodeMessageSendObjectExpression) + return parseMessageSendExpression(nodeMessageSendObjectExpression, nodeMessageSendObjectExpression.object); + + if (tokType === _slash) + readToken(true); + + var starttype = tokType, node = startNode(); + + // Most types of statements are recognized by the keyword they + // start with. Many are trivial to parse, some require a bit of + // complexity. + + switch (starttype) { + case _break: case _continue: + next(); + var isBreak = starttype === _break; + if (eat(_semi) || canInsertSemicolon()) node.label = null; + else if (tokType !== _name) unexpected(); + else { + node.label = parseIdent(); + semicolon(); + } + + // Verify that there is an actual destination to break or + // continue to. + for (var i = 0; i < labels.length; ++i) { + var lab = labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + if (i === labels.length) raise(node.start, "Unsyntactic " + starttype.keyword); + return finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + + case _debugger: + next(); + semicolon(); + return finishNode(node, "DebuggerStatement"); + + case _do: + next(); + labels.push(loopLabel); + node.body = parseStatement(); + labels.pop(); + expect(_while, "Expected 'while' at end of do statement"); + node.test = parseParenExpression(); + semicolon(); + return finishNode(node, "DoWhileStatement"); + + // Disambiguating between a `for` and a `for`/`in` loop is + // non-trivial. Basically, we have to parse the init `var` + // statement or expression, disallowing the `in` operator (see + // the second parameter to `parseExpression`), and then check + // whether the next token is `in`. When there is no init part + // (semicolon immediately after the opening parenthesis), it is + // a regular `for` loop. + + case _for: + next(); + labels.push(loopLabel); + expect(_parenL, "Expected '(' after 'for'"); + if (tokType === _semi) return parseFor(node, null); + if (tokType === _var) { + var init = startNode(); + next(); + parseVar(init, true); + if (init.declarations.length === 1 && eat(_in)) + return parseForIn(node, init); + return parseFor(node, init); + } + var init = parseExpression(false, true); + if (eat(_in)) {checkLVal(init); return parseForIn(node, init);} + return parseFor(node, init); + + case _function: + next(); + return parseFunction(node, true); + + case _if: + next(); + node.test = parseParenExpression(); + node.consequent = parseStatement(); + node.alternate = eat(_else) ? parseStatement() : null; + return finishNode(node, "IfStatement"); + + case _return: + if (!inFunction) raise(tokStart, "'return' outside of function"); + next(); + + // In `return` (and `break`/`continue`), the keywords with + // optional arguments, we eagerly look for a semicolon or the + // possibility to insert one. + + if (eat(_semi) || canInsertSemicolon()) node.argument = null; + else { node.argument = parseExpression(); semicolon(); } + return finishNode(node, "ReturnStatement"); + + case _switch: + next(); + node.discriminant = parseParenExpression(); + node.cases = []; + expect(_braceL, "Expected '{' in switch statement"); + labels.push(switchLabel); + + // Statements under must be grouped (by label) in SwitchCase + // nodes. `cur` is used to keep the node that we are currently + // adding statements to. + + for (var cur, sawDefault; tokType != _braceR;) { + if (tokType === _case || tokType === _default) { + var isCase = tokType === _case; + if (cur) finishNode(cur, "SwitchCase"); + node.cases.push(cur = startNode()); + cur.consequent = []; + next(); + if (isCase) cur.test = parseExpression(); + else { + if (sawDefault) raise(lastStart, "Multiple default clauses"); sawDefault = true; + cur.test = null; + } + expect(_colon, "Expected ':' after case clause"); + } else { + if (!cur) unexpected(); + cur.consequent.push(parseStatement()); + } + } + if (cur) finishNode(cur, "SwitchCase"); + next(); // Closing brace + labels.pop(); + return finishNode(node, "SwitchStatement"); + + case _throw: + next(); + if (newline.test(input.slice(lastEnd, tokStart))) + raise(lastEnd, "Illegal newline after throw"); + node.argument = parseExpression(); + semicolon(); + return finishNode(node, "ThrowStatement"); + + case _try: + next(); + node.block = parseBlock(); + node.handlers = []; + while (tokType === _catch) { + var clause = startNode(); + next(); + expect(_parenL, "Expected '(' after 'catch'"); + clause.param = parseIdent(); + if (strict && isStrictBadIdWord(clause.param.name)) + raise(clause.param.start, "Binding " + clause.param.name + " in strict mode"); + expect(_parenR, "Expected closing ')' after catch"); + clause.guard = null; + clause.body = parseBlock(); + node.handlers.push(finishNode(clause, "CatchClause")); + } + node.finalizer = eat(_finally) ? parseBlock() : null; + if (!node.handlers.length && !node.finalizer) + raise(node.start, "Missing catch or finally clause"); + return finishNode(node, "TryStatement"); + + case _var: + next(); + node = parseVar(node); + semicolon(); + return node; + + case _while: + next(); + node.test = parseParenExpression(); + labels.push(loopLabel); + node.body = parseStatement(); + labels.pop(); + return finishNode(node, "WhileStatement"); + + case _with: + if (strict) raise(tokStart, "'with' in strict mode"); + next(); + node.object = parseParenExpression(); + node.body = parseStatement(); + return finishNode(node, "WithStatement"); + + case _braceL: + return parseBlock(); + + case _semi: + next(); + return finishNode(node, "EmptyStatement"); + + // This is a Objective-J statement + case _implementation: + if (options.objj) { + next(); + node.classname = parseIdent(true); + if (eat(_colon)) + node.superclassname = parseIdent(true); + else if (eat(_parenL)) { + node.categoryname = parseIdent(true); + expect(_parenR, "Expected closing ')' after category name"); + } + if (eat(_braceL)) { + node.ivardeclarations = []; + for (;;) { + if (eat(_braceR)) break; + parseIvarDeclaration(node); + } + node.endOfIvars = tokStart; + } + node.body = []; + while(!eat(_end)) { + if (tokType === _eof) raise(tokPos, "Expected '@end' after '@implementation'"); + node.body.push(parseClassElement()); + } + } + return finishNode(node, "ClassDeclarationStatement"); + + // This is a Objective-J statement + case _import: + next(); + if (tokType === _string) + node.localfilepath = true; + else if (tokType ===_filename) + node.localfilepath = false; + else + unexpected(); + + node.filename = parseStringNumRegExpLiteral(); + return finishNode(node, "ImportStatement"); + + // This is a Objective-J statement + case _preprocess: + next(); + return finishNode(node, "PreprocessStatement"); + + // This is a Objective-J statement + case _class: + next(); + node.id = parseIdent(false); + return finishNode(node, "ClassStatement"); + + // This is a Objective-J statement + case _global: + next(); + node.id = parseIdent(false); + return finishNode(node, "GlobalStatement"); + + // If the statement does not start with a statement keyword or a + // brace, it's an ExpressionStatement or LabeledStatement. We + // simply start parsing an expression, and afterwards, if the + // next token is a colon and the expression was a simple + // Identifier node, we switch to interpreting it as a label. + + default: + var maybeName = tokVal, expr = parseExpression(); + if (starttype === _name && expr.type === "Identifier" && eat(_colon)) { + for (var i = 0; i < labels.length; ++i) + if (labels[i].name === maybeName) raise(expr.start, "Label '" + maybeName + "' is already declared"); + var kind = tokType.isLoop ? "loop" : tokType === _switch ? "switch" : null; + labels.push({name: maybeName, kind: kind}); + node.body = parseStatement(); + labels.pop(); + node.label = expr; + return finishNode(node, "LabeledStatement"); + } else { + node.expression = expr; + semicolon(); + return finishNode(node, "ExpressionStatement"); + } + } + } + + // CompoundIvarDeclaration = + // IvarType _ IvarDeclaration (_ "," _ IvarDeclaration)* EOS + + // IvarDeclaration = + // Identifier _ Accessors? + + // Accessors = + // "@accessors" ("(" (AccessorsConfiguration (_ "," _ AccessorsConfiguration)*)? ")")? + + function parseIvarDeclaration(node) { + var outlet; + if (eat(_outlet)) + outlet = true; + var type = parseObjectiveJType(); + if (strict && isStrictBadIdWord(type.name)) + raise(type.start, "Binding " + type.name + " in strict mode"); + for (;;) { + var decl = startNode(); + if (outlet) + decl.outlet = outlet; + decl.ivartype = type; + decl.id = parseIdent(); + if (strict && isStrictBadIdWord(decl.id.name)) + raise(decl.id.start, "Binding " + decl.id.name + " in strict mode"); + if (eat(_accessors)) { + decl.accessors = {}; + if (eat(_parenL)) { + if (!eat(_parenR)) { + for (;;) { + var config = parseIdent(true); + switch(config.name) { + case "property": + case "getter": + expect(_eq, "Expected '=' after 'getter' accessor attribute"); + decl.accessors[config.name] = parseIdent(true); + break; + + case "setter": + expect(_eq, "Expected '=' after 'setter' accessor attribute"); + var setter = parseIdent(true); + decl.accessors[config.name] = setter; + if (eat(_colon)) + setter.end = tokStart; + setter.name += ":" + break; + + case "readwrite": + case "readonly": + case "copy": + decl.accessors[config.name] = true; + break; + + default: + raise(config.start, "Unknown accessors attribute '" + config.name + "'"); + } + if (!eat(_comma)) break; + } + expect(_parenR, "Expected closing ')' after accessor attributes"); + } + } + } + finishNode(decl, "IvarDeclaration") + node.ivardeclarations.push(decl); + if (!eat(_comma)) break; + } + semicolon(); + } + + function parseClassElement() { + var methodType = tokVal, + element = startNode(); + if (eat(_plusmin)) { + element.methodtype = methodType; + // If we find a '(' we have a return type to parse + if (eat(_parenL)) { + if (eat(_action)) + element.action = true; + if (!eat(_parenR)) { + element.returntype = parseObjectiveJType(); + expect(_parenR, "Expected closing ')' after method return type"); + } + } + // Now we parse the selector + var first = true, + selectors = [], + args = []; + element.selectors = selectors; + element.arguments = args; + for (;;) { + if (tokType !== _colon) { + selectors.push(parseIdent(true)); + if (first && tokType !== _colon) break; + } else + selectors.push(null); + expect(_colon, "Expected ':' in selector"); + var argument = {}; + args.push(argument); + if (eat(_parenL)) { + argument.type = parseObjectiveJType(); + expect(_parenR, "Expected closing ')' after method argument type"); + } + argument.identifier = parseIdent(false); + if (tokType === _braceL || eat(_semi)) break; + if (eat(_comma)) { + expect(_dotdotdot, "Expected '...' after ',' in method declaration"); + element.parameters = true; + break; + } + first = false; + } + + element.startOfBody = lastEnd; + // Start a new scope with regard to labels and the `inFunction` + // flag (restore them to their old value afterwards). + var oldInFunc = inFunction, oldLabels = labels; + inFunction = true; labels = []; + element.body = parseBlock(true); + inFunction = oldInFunc; labels = oldLabels; + return finishNode(element, "MethodDeclarationStatement"); + } else + return parseStatement(); + } + + // Used for constructs like `switch` and `if` that insist on + // parentheses around their expression. + + function parseParenExpression() { + expect(_parenL, "Expected '(' before expression"); + var val = parseExpression(); + expect(_parenR, "Expected closing ')' after expression"); + return val; + } + + // Parse a semicolon-enclosed block of statements, handling `"use + // strict"` declarations when `allowStrict` is true (used for + // function bodies). + + function parseBlock(allowStrict) { + var node = startNode(), first = true, strict = false, oldStrict; + node.body = []; + expect(_braceL, "Expected '{' before block"); + while (!eat(_braceR)) { + var stmt = parseStatement(); + node.body.push(stmt); + if (first && isUseStrict(stmt)) { + oldStrict = strict; + setStrict(strict = true); + } + first = false + } + if (strict && !oldStrict) setStrict(false); + return finishNode(node, "BlockStatement"); + } + + // Parse a regular `for` loop. The disambiguation code in + // `parseStatement` will already have parsed the init statement or + // expression. + + function parseFor(node, init) { + node.init = init; + expect(_semi, "Expected ';' in for statement"); + node.test = tokType === _semi ? null : parseExpression(); + expect(_semi, "Expected ';' in for statement"); + node.update = tokType === _parenR ? null : parseExpression(); + expect(_parenR, "Expected closing ')' in for statement"); + node.body = parseStatement(); + labels.pop(); + return finishNode(node, "ForStatement"); + } + + // Parse a `for`/`in` loop. + + function parseForIn(node, init) { + node.left = init; + node.right = parseExpression(); + expect(_parenR, "Expected closing ')' in for statement"); + node.body = parseStatement(); + labels.pop(); + return finishNode(node, "ForInStatement"); + } + + // Parse a list of variable declarations. + + function parseVar(node, noIn) { + node.declarations = []; + node.kind = "var"; + for (;;) { + var decl = startNode(); + decl.id = parseIdent(); + if (strict && isStrictBadIdWord(decl.id.name)) + raise(decl.id.start, "Binding " + decl.id.name + " in strict mode"); + decl.init = eat(_eq) ? parseExpression(true, noIn) : null; + node.declarations.push(finishNode(decl, "VariableDeclarator")); + if (!eat(_comma)) break; + } + return finishNode(node, "VariableDeclaration"); + } + + // ### Expression parsing + + // These nest, from the most general expression type at the top to + // 'atomic', nondivisible expression types at the bottom. Most of + // the functions will simply let the function(s) below them parse, + // and, *if* the syntactic construct they handle is present, wrap + // the AST node that the inner parser gave them in another node. + + // Parse a full expression. The arguments are used to forbid comma + // sequences (in argument lists, array literals, or object literals) + // or the `in` operator (in for loops initalization expressions). + + function parseExpression(noComma, noIn) { + var expr = parseMaybeAssign(noIn); + if (!noComma && tokType === _comma) { + var node = startNodeFrom(expr); + node.expressions = [expr]; + while (eat(_comma)) node.expressions.push(parseMaybeAssign(noIn)); + return finishNode(node, "SequenceExpression"); + } + return expr; + } + + // Parse an assignment expression. This includes applications of + // operators like `+=`. + + function parseMaybeAssign(noIn) { + var left = parseMaybeConditional(noIn); + if (tokType.isAssign) { + var node = startNodeFrom(left); + node.operator = tokVal; + node.left = left; + next(); + node.right = parseMaybeAssign(noIn); + checkLVal(left); + return finishNode(node, "AssignmentExpression"); + } + return left; + } + + // Parse a ternary conditional (`?:`) operator. + + function parseMaybeConditional(noIn) { + var expr = parseExprOps(noIn); + if (eat(_question)) { + var node = startNodeFrom(expr); + node.test = expr; + node.consequent = parseExpression(true); + expect(_colon, "Expected ':' in conditional expression"); + node.alternate = parseExpression(true, noIn); + return finishNode(node, "ConditionalExpression"); + } + return expr; + } + + // Start the precedence parser. + + function parseExprOps(noIn) { + return parseExprOp(parseMaybeUnary(noIn), -1, noIn); + } + + // Parse binary operators with the operator precedence parsing + // algorithm. `left` is the left-hand side of the operator. + // `minPrec` provides context that allows the function to stop and + // defer further parser to one of its callers when it encounters an + // operator that has a lower precedence than the set it is parsing. + + function parseExprOp(left, minPrec, noIn) { + var prec = tokType.binop; + if (prec != null && (!noIn || tokType !== _in)) { + if (prec > minPrec) { + var node = startNodeFrom(left); + node.left = left; + node.operator = tokVal; + next(); + node.right = parseExprOp(parseMaybeUnary(noIn), prec, noIn); + var node = finishNode(node, /&&|\|\|/.test(node.operator) ? "LogicalExpression" : "BinaryExpression"); + return parseExprOp(node, minPrec, noIn); + } + } + return left; + } + + // Parse unary operators, both prefix and postfix. + + function parseMaybeUnary(noIn) { + if (tokType.prefix) { + var node = startNode(), update = tokType.isUpdate; + node.operator = tokVal; + node.prefix = true; + next(); + node.argument = parseMaybeUnary(noIn); + if (update) checkLVal(node.argument); + else if (strict && node.operator === "delete" && + node.argument.type === "Identifier") + raise(node.start, "Deleting local variable in strict mode"); + return finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); + } + var expr = parseExprSubscripts(); + while (tokType.postfix && !canInsertSemicolon()) { + var node = startNodeFrom(expr); + node.operator = tokVal; + node.prefix = false; + node.argument = expr; + checkLVal(expr); + next(); + expr = finishNode(node, "UpdateExpression"); + } + return expr; + } + + // Parse call, dot, and `[]`-subscript expressions. + + function parseExprSubscripts() { + return parseSubscripts(parseExprAtom()); + } + + function parseSubscripts(base, noCalls) { + if (eat(_dot)) { + var node = startNodeFrom(base); + node.object = base; + node.property = parseIdent(true); + node.computed = false; + return parseSubscripts(finishNode(node, "MemberExpression"), noCalls); + } else { + if (options.objj) var messageSendNode = startNode(); + if (eat(_bracketL)) { + var expr = parseExpression(); + if (options.objj && tokType !== _bracketR) { + messageSendNode.object = expr; + nodeMessageSendObjectExpression = messageSendNode; + return base; + } + var node = startNodeFrom(base); + node.object = base; + node.property = expr; + node.computed = true; + expect(_bracketR, "Expected closing ']' in subscript"); + return parseSubscripts(finishNode(node, "MemberExpression"), noCalls); + } else if (!noCalls && eat(_parenL)) { + var node = startNodeFrom(base); + node.callee = base; + node.arguments = parseExprList(_parenR, tokType === _parenR ? null : parseExpression(true), false); + return parseSubscripts(finishNode(node, "CallExpression"), noCalls); + } + } + return base; + } + + // Parse an atomic expression — either a single token that is an + // expression, an expression started by a keyword like `function` or + // `new`, or an expression wrapped in punctuation like `()`, `[]`, + // or `{}`. + + function parseExprAtom() { + switch (tokType) { + case _this: + var node = startNode(); + next(); + return finishNode(node, "ThisExpression"); + case _name: + return parseIdent(); + case _num: case _string: case _regexp: + return parseStringNumRegExpLiteral(); + + case _null: case _true: case _false: + var node = startNode(); + node.value = tokType.atomValue; + node.raw = tokType.keyword + next(); + return finishNode(node, "Literal"); + + case _parenL: + var tokStartLoc1 = tokStartLoc, tokStart1 = tokStart; + next(); + var val = parseExpression(); + val.start = tokStart1; + val.end = tokEnd; + if (options.locations) { + val.loc.start = tokStartLoc1; + val.loc.end = tokEndLoc; + } + if (options.ranges) + val.range = [tokStart1, tokEnd]; + expect(_parenR, "Expected closing ')' in expression"); + return val; + + case _bracketL: + var node = startNode(), + firstExpr = null; + next(); + if (tokType !== _comma && tokType !== _bracketR) { + firstExpr = parseExpression(true, true); + if (tokType !== _comma && tokType !== _bracketR) + return parseMessageSendExpression(node, firstExpr); + } + node.elements = parseExprList(_bracketR, firstExpr, true, true); + return finishNode(node, "ArrayExpression"); + + case _braceL: + return parseObj(); + + case _function: + var node = startNode(); + next(); + return parseFunction(node, false); + + case _new: + return parseNew(); + + case _selector: + var node = startNode(); + next(); + expect(_parenL, "Expected '(' after '@selector'"); + parseSelector(node, _parenR); + expect(_parenR, "Expected closing ')' after selector"); + return finishNode(node, "SelectorLiteralExpression"); + + default: + unexpected(); + } + } + + function parseMessageSendExpression(node, firstExpr) { + parseSelectorWithArguments(node, _bracketR); + if (firstExpr.type === "Identifier" && firstExpr.name === "super") + node.superObject = true; + else + node.object = firstExpr; + return finishNode(node, "MessageSendExpression"); + } + + function parseSelector(node, close) { + var first = true, + selectors = []; + for (;;) { + if (tokType !== _colon) { + selectors.push(parseIdent(true).name); + if (first && tokType === close) break; + } + expect(_colon, "Expected ':' in selector"); + selectors.push(":"); + if (tokType === close) break; + first = false; + } + node.selector = selectors.join(""); + } + + function parseSelectorWithArguments(node, close) { + var first = true, + selectors = [], + args = [], + parameters = []; + node.selectors = selectors; + node.arguments = args; + for (;;) { + if (tokType !== _colon) { + selectors.push(parseIdent(true)); + if (first && eat(close)) + break; + } else { + selectors.push(null); + } + expect(_colon, "Expected ':' in selector"); + args.push(parseExpression(true, true)); + if (eat(close)) + break; + if (tokType === _comma) { + node.parameters = []; + while(eat(_comma)) { + node.parameters.push(parseExpression(true, true)); + } + eat(close); + break; + } + first = false; + } + } + + // New's precedence is slightly tricky. It must allow its argument + // to be a `[]` or dot subscript expression, but not a call — at + // least, not without wrapping it in parentheses. Thus, it uses the + + function parseNew() { + var node = startNode(); + next(); + node.callee = parseSubscripts(parseExprAtom(false), true); + if (eat(_parenL)) + node.arguments = parseExprList(_parenR, tokType === _parenR ? null : parseExpression(true), false); + else node.arguments = []; + return finishNode(node, "NewExpression"); + } + + // Parse an object literal. + + function parseObj() { + var node = startNode(), first = true, sawGetSet = false; + node.properties = []; + next(); + while (!eat(_braceR)) { + if (!first) { + expect(_comma, "Expected ',' in object literal"); + if (options.allowTrailingCommas && eat(_braceR)) break; + } else first = false; + + var prop = {key: parsePropertyName()}, isGetSet = false, kind; + if (eat(_colon)) { + prop.value = parseExpression(true); + kind = prop.kind = "init"; + } else if (options.ecmaVersion >= 5 && prop.key.type === "Identifier" && + (prop.key.name === "get" || prop.key.name === "set")) { + isGetSet = sawGetSet = true; + kind = prop.kind = prop.key.name; + prop.key = parsePropertyName(); + if (!tokType === _parenL) unexpected(); + prop.value = parseFunction(startNode(), false); + } else unexpected(); + + // getters and setters are not allowed to clash — either with + // each other or with an init property — and in strict mode, + // init properties are also not allowed to be repeated. + + if (prop.key.type === "Identifier" && (strict || sawGetSet)) { + for (var i = 0; i < node.properties.length; ++i) { + var other = node.properties[i]; + if (other.key.name === prop.key.name) { + var conflict = kind == other.kind || isGetSet && other.kind === "init" || + kind === "init" && (other.kind === "get" || other.kind === "set"); + if (conflict && !strict && kind === "init" && other.kind === "init") conflict = false; + if (conflict) raise(prop.key.start, "Redefinition of property"); + } + } + } + node.properties.push(prop); + } + return finishNode(node, "ObjectExpression"); + } + + function parsePropertyName() { + if (tokType === _num || tokType === _string) return parseExprAtom(); + return parseIdent(true); + } + + // Parse a function declaration or literal (depending on the + // `isStatement` parameter). + + function parseFunction(node, isStatement) { + if (tokType === _name) node.id = parseIdent(); + else if (isStatement) unexpected(); + else node.id = null; + node.params = []; + var first = true; + expect(_parenL, "Expected '(' before function parameters"); + while (!eat(_parenR)) { + if (!first) expect(_comma, "Expected ',' between function parameters"); else first = false; + node.params.push(parseIdent()); + } + + // Start a new scope with regard to labels and the `inFunction` + // flag (restore them to their old value afterwards). + var oldInFunc = inFunction, oldLabels = labels; + inFunction = true; labels = []; + node.body = parseBlock(true); + inFunction = oldInFunc; labels = oldLabels; + + // If this is a strict mode function, verify that argument names + // are not repeated, and it does not try to bind the words `eval` + // or `arguments`. + if (strict || node.body.body.length && isUseStrict(node.body.body[0])) { + for (var i = node.id ? -1 : 0; i < node.params.length; ++i) { + var id = i < 0 ? node.id : node.params[i]; + if (isStrictReservedWord(id.name) || isStrictBadIdWord(id.name)) + raise(id.start, "Defining '" + id.name + "' in strict mode"); + if (i >= 0) for (var j = 0; j < i; ++j) if (id.name === node.params[j].name) + raise(id.start, "Argument name clash in strict mode"); + } + } + + return finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); + } + + // Parses a comma-separated list of expressions, and returns them as + // an array. `close` is the token type that ends the list, and + // `allowEmpty` can be turned on to allow subsequent commas with + // nothing in between them to be parsed as `null` (which is needed + // for array literals). + // This function is modified so the first expression is passed as a + // parameter. This is nessesary cause we need to check if it is a Objective-J + // message send expression ([expr mySelector:param1 withSecondParam:param2]) + + function parseExprList(close, firstExpr, allowTrailingComma, allowEmpty) { + if (firstExpr && eat(close)) + return [firstExpr]; + var elts = [], first = true; + while (!eat(close)) { + if (first) { + first = false; + if (allowEmpty && tokType === _comma && !firstExpr) elts.push(null); + else elts.push(firstExpr); + } else { + expect(_comma, "Expected ',' between expressions"); + if (allowTrailingComma && options.allowTrailingCommas && eat(close)) break; + if (allowEmpty && tokType === _comma) elts.push(null); + else elts.push(parseExpression(true)); + } + } + return elts; + } + + // Parse the next token as an identifier. If `liberal` is true (used + // when parsing properties), it will also convert keywords into + // identifiers. + + function parseIdent(liberal) { + var node = startNode(); + node.name = tokType === _name ? tokVal : (((liberal && !options.forbidReserved) || tokType.okAsIdent) && tokType.keyword) || unexpected(); + next(); + return finishNode(node, "Identifier"); + } + + function parseStringNumRegExpLiteral() { + var node = startNode(); + node.value = tokVal; + node.raw = input.slice(tokStart, tokEnd); + next(); + return finishNode(node, "Literal"); + } + + // Parse the next token as an Objective-J typ. + // It can be an identifier followed by a optional protocol '' + // It can be 'void' + // It can be 'signed' or 'unsigned' followed by an optional 'char', 'byte', 'short', 'int' or 'long' + // It can be 'char', 'byte', 'short', 'int' or 'long' + // 'int' can be followed by an optinal 'long'. 'long' can be followed by an optional extra 'long' + + function parseObjectiveJType() { + var node = startNode(); + if (tokType === _name) { + node.name = tokVal; + next(); + if (tokVal === '<') { + next(); + node.protocol = parseIdent(true); + if (tokVal !== '>') unexpected(); + next(); + } + } else { + node.name = tokType.keyword; + if (!eat(_void)) { + var nextKeyWord; + if (eat(_signed) || eat(_unsigned)) + nextKeyWord = tokType.keyword || true; + if (eat(_char) || eat(_byte) || eat(_short)) { + if (nextKeyWord) + node.name += " " + nextKeyWord; + nextKeyWord = tokType.keyword || true; + } else { + if (eat(_int)) { + if (nextKeyWord) + node.name += " " + nextKeyWord; + nextKeyWord = tokType.keyword || true; + } + if (eat(_long)) { + if (nextKeyWord) + node.name += " " + nextKeyWord; + nextKeyWord = tokType.keyword || true; + if (eat(_long)) { + node.name += " " + nextKeyWord; + } + } + } + if (!nextKeyWord) { + node.name = (!options.forbidReserved && tokType.keyword) || unexpected(); + next(); + } + } + } + return finishNode(node, "ObjectiveJType"); + } + +})(typeof exports === "undefined" ? (self.acorn = {}) : exports.acorn); diff --git a/Objective-J/acornLICENSE b/Objective-J/acornLICENSE new file mode 100644 index 000000000..3916e96b2 --- /dev/null +++ b/Objective-J/acornLICENSE @@ -0,0 +1,23 @@ +Copyright (C) 2012 by Marijn Haverbeke + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Please note that some subdirectories of the CodeMirror distribution +include their own LICENSE files, and are released under different +licences. diff --git a/Objective-J/acornwalk.js b/Objective-J/acornwalk.js new file mode 100644 index 000000000..ca2295fbd --- /dev/null +++ b/Objective-J/acornwalk.js @@ -0,0 +1,258 @@ +// AST walker module for Mozilla Parser API compatible trees + +if (!exports.acorn) { + exports.acorn = {}; + exports.acorn.walk = {}; +} + +(function(exports) { + "use strict"; + + // A simple walk is one where you simply specify callbacks to be + // called on specific nodes. The last two arguments are optional. A + // simple use would be + // + // walk.simple(myTree, { + // Expression: function(node) { ... } + // }); + // + // to do something with all expressions. All Parser API node types + // can be used to identify node types, as well as Expression, + // Statement, and ScopeBody, which denote categories of nodes. + // + // The base argument can be used to pass a custom (recursive) + // walker, and state can be used to give this walked an initial + // state. + exports.simple = function(node, visitors, base, state) { + if (!base) base = exports; + function c(node, st, override) { + var type = override || node.type, found = visitors[type]; + if (found) found(node, st); + base[type](node, st, c); + } + c(node, state); + }; + + // A recursive walk is one where your functions override the default + // walkers. They can modify and replace the state parameter that's + // threaded through the walk, and can opt how and whether to walk + // their child nodes (by calling their third argument on these + // nodes). + exports.recursive = function(node, state, funcs, base) { + var visitor = exports.make(funcs, base); + function c(node, st, override) { + visitor[override || node.type](node, st, c); + } + c(node, state); + }; + + // Used to create a custom walker. Will fill in all missing node + // type properties with the defaults. + exports.make = function(funcs, base) { + if (!base) base = exports; + var visitor = {}; + for (var type in base) visitor[type] = base[type]; + for (var type in funcs) visitor[type] = funcs[type]; + return visitor; + }; + + function skipThrough(node, st, c) { c(node, st); } + function ignore(node, st, c) {} + + // Node walkers. + + exports.Program = exports.BlockStatement = function(node, st, c) { + for (var i = 0; i < node.body.length; ++i) { + c(node.body[i], st, "Statement"); + } + }; + exports.Statement = skipThrough; + exports.EmptyStatement = ignore; + exports.ExpressionStatement = function(node, st, c) { + c(node.expression, st, "Expression"); + }; + exports.IfStatement = function(node, st, c) { + c(node.test, st, "Expression"); + c(node.consequent, st, "Statement"); + if (node.alternate) c(node.alternate, st, "Statement"); + }; + exports.LabeledStatement = function(node, st, c) { + c(node.body, st, "Statement"); + }; + exports.BreakStatement = exports.ContinueStatement = ignore; + exports.WithStatement = function(node, st, c) { + c(node.object, st, "Expression"); + c(node.body, st, "Statement"); + }; + exports.SwitchStatement = function(node, st, c) { + c(node.discriminant, st, "Expression"); + for (var i = 0; i < node.cases.length; ++i) { + var cs = node.cases[i]; + if (cs.test) c(cs.test, st, "Expression"); + for (var j = 0; j < cs.consequent.length; ++j) + c(cs.consequent[j], st, "Statement"); + } + }; + exports.ReturnStatement = function(node, st, c) { + if (node.argument) c(node.argument, st, "Expression"); + }; + exports.ThrowStatement = function(node, st, c) { + c(node.argument, st, "Expression"); + }; + exports.TryStatement = function(node, st, c) { + c(node.block, st, "Statement"); + for (var i = 0; i < node.handlers.length; ++i) + c(node.handlers[i].body, st, "ScopeBody"); + if (node.finalizer) c(node.finalizer, st, "Statement"); + }; + exports.WhileStatement = function(node, st, c) { + c(node.test, st, "Expression"); + c(node.body, st, "Statement"); + }; + exports.DoWhileStatement = function(node, st, c) { + c(node.body, st, "Statement"); + c(node.test, st, "Expression"); + }; + exports.ForStatement = function(node, st, c) { + if (node.init) c(node.init, st, "ForInit"); + if (node.test) c(node.test, st, "Expression"); + if (node.update) c(node.update, st, "Expression"); + c(node.body, st, "Statement"); + }; + exports.ForInStatement = function(node, st, c) { + c(node.left, st, "ForInit"); + c(node.right, st, "Expression"); + c(node.body, st, "Statement"); + }; + exports.ForInit = function(node, st, c) { + if (node.type == "VariableDeclaration") c(node, st); + else c(node, st, "Expression"); + }; + exports.DebuggerStatement = ignore; + + exports.FunctionDeclaration = function(node, st, c) { + c(node, st, "Function"); + }; + exports.VariableDeclaration = function(node, st, c) { + for (var i = 0; i < node.declarations.length; ++i) { + var decl = node.declarations[i]; + if (decl.init) c(decl.init, st, "Expression"); + } + }; + + exports.Function = function(node, st, c) { + c(node.body, st, "ScopeBody"); + }; + exports.ScopeBody = function(node, st, c) { + c(node, st, "Statement"); + }; + + exports.Expression = skipThrough; + exports.ThisExpression = ignore; + exports.ArrayExpression = function(node, st, c) { + for (var i = 0; i < node.elements.length; ++i) { + var elt = node.elements[i]; + if (elt) c(elt, st, "Expression"); + } + }; + exports.ObjectExpression = function(node, st, c) { + for (var i = 0; i < node.properties.length; ++i) + c(node.properties[i].value, st, "Expression"); + }; + exports.FunctionExpression = exports.FunctionDeclaration; + exports.SequenceExpression = function(node, st, c) { + for (var i = 0; i < node.expressions.length; ++i) + c(node.expressions[i], st, "Expression"); + }; + exports.UnaryExpression = exports.UpdateExpression = function(node, st, c) { + c(node.argument, st, "Expression"); + }; + exports.BinaryExpression = exports.AssignmentExpression = exports.LogicalExpression = function(node, st, c) { + c(node.left, st, "Expression"); + c(node.right, st, "Expression"); + }; + exports.ConditionalExpression = function(node, st, c) { + c(node.test, st, "Expression"); + c(node.consequent, st, "Expression"); + c(node.alternate, st, "Expression"); + }; + exports.NewExpression = exports.CallExpression = function(node, st, c) { + c(node.callee, st, "Expression"); + if (node.arguments) for (var i = 0; i < node.arguments.length; ++i) + c(node.arguments[i], st, "Expression"); + }; + exports.MemberExpression = function(node, st, c) { + c(node.object, st, "Expression"); + if (node.computed) c(node.property, st, "Expression"); + }; + exports.Identifier = exports.Literal = ignore; + + exports.ClassDeclarationStatement = function(node, st, c) { + if (node.ivardeclarations) for (var i = 0; i < node.ivardeclarations.length; ++i) { + c(node.ivardeclarations[i], st, "IvarDeclaration"); + } + for (var i = 0; i < node.body.length; ++i) { + c(node.body[i], st, "Statement"); + } + } + + exports.ImportStatement = ignore; + + exports.IvarDeclaration = ignore; + + exports.MethodDeclarationStatement = ignore; + + exports.PreprocessStatement = ignore; + exports.ClassStatement = ignore; + exports.GlobalStatement = ignore; + + exports.MethodDeclarationStatement = function(node, st, c) { + c(node.body, st, "Statement"); + } + + exports.MessageSendExpression = function(node, st, c) { + if (!node.superObject) c(node.object, st, "Expression"); + if (node.arguments) for (var i = 0; i < node.arguments.length; ++i) + c(node.arguments[i], st, "Expression"); + if (node.parameters) for (var i = 0; i < node.parameters.length; ++i) + c(node.parameters[i], st, "Expression"); + } + + exports.SelectorLiteralExpression = ignore; + + // A custom walker that keeps track of the scope chain and the + // variables defined in it. + function makeScope(prev) { + return {vars: Object.create(null), prev: prev}; + } + exports.scopeVisitor = exports.make({ + Function: function(node, scope, c) { + var inner = makeScope(scope); + for (var i = 0; i < node.params.length; ++i) + inner.vars[node.params[i].name] = {type: "argument", node: node.params[i]}; + if (node.id) { + var decl = node.type == "FunctionDeclaration"; + (decl ? scope : inner).vars[node.id.name] = + {type: decl ? "function" : "function name", node: node.id}; + } + c(node.body, inner, "ScopeBody"); + }, + TryStatement: function(node, scope, c) { + c(node.block, scope, "Statement"); + for (var i = 0; i < node.handlers.length; ++i) { + var handler = node.handlers[i], inner = makeScope(scope); + inner.vars[handler.param.name] = {type: "catch clause", node: handler.param}; + c(handler.body, inner, "ScopeBody"); + } + if (node.finalizer) c(node.finalizer, scope, "Statement"); + }, + VariableDeclaration: function(node, scope, c) { + for (var i = 0; i < node.declarations.length; ++i) { + var decl = node.declarations[i]; + scope.vars[decl.id.name] = {type: "var", node: decl.id}; + if (decl.init) c(decl.init, scope, "Expression"); + } + } + }); + +})(typeof exports == "undefined" ? acorn.walk = {} : exports.acorn.walk); diff --git a/README.markdown b/README.markdown index 21d320ac0..7da7ab119 100644 --- a/README.markdown +++ b/README.markdown @@ -33,7 +33,7 @@ Getting Started --------------- To get started, download and install the current release version of Cappuccino: - $ curl https://raw.github.com/cappuccino/cappuccino/v0.9.6/bootstrap.sh >/tmp/cappuccino_bootstrap.sh && bash /tmp/cappuccino_bootstrap.sh + $ curl https://raw.github.com/cappuccino/cappuccino/v0.9.7-alpha1/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. diff --git a/Tests/AppKit/CGAffineTransformTest.j b/Tests/AppKit/CGAffineTransformTest.j index f84c8cc1d..3396a6881 100644 --- a/Tests/AppKit/CGAffineTransformTest.j +++ b/Tests/AppKit/CGAffineTransformTest.j @@ -100,71 +100,70 @@ - (void)testAffineTransformConcat { var testcases = { - "identity concat" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeIdentity(), - CGAffineTransformMakeIdentity()), - expdata: CGAffineTransformMakeIdentity() - }, + "identity concat" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeIdentity(), + CGAffineTransformMakeIdentity()), + expdata: CGAffineTransformMakeIdentity() + }, - "translation" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeTranslation(3, 4), - CGAffineTransformMakeTranslation(-3, -4)), - expdata: CGAffineTransformMakeIdentity() - }, + "translation" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeTranslation(3, 4), + CGAffineTransformMakeTranslation(-3, -4)), + expdata: CGAffineTransformMakeIdentity() + }, - "translation (reversed)" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeTranslation(-3, -4), - CGAffineTransformMakeTranslation(3, 4)), - expdata: CGAffineTransformMakeIdentity() - }, + "translation (reversed)" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeTranslation(-3, -4), + CGAffineTransformMakeTranslation(3, 4)), + expdata: CGAffineTransformMakeIdentity() + }, - "scale" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeScale(3, 4), - CGAffineTransformMakeScale(1 / 3, 1 / 4)), - expdata: CGAffineTransformMakeIdentity() - }, + "scale" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeScale(3, 4), + CGAffineTransformMakeScale(1 / 3, 1 / 4)), + expdata: CGAffineTransformMakeIdentity() + }, - "scale (reversed)" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeScale(1 / 3, 1 / 4), - CGAffineTransformMakeScale(3, 4)), - expdata: CGAffineTransformMakeIdentity() - }, + "scale (reversed)" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeScale(1 / 3, 1 / 4), + CGAffineTransformMakeScale(3, 4)), + expdata: CGAffineTransformMakeIdentity() + }, - "rotation" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeRotation(PI), - CGAffineTransformMakeRotation(-PI)), - expdata: CGAffineTransformMakeIdentity() - }, - }; + "rotation" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeRotation(PI), + CGAffineTransformMakeRotation(-PI)), + expdata: CGAffineTransformMakeIdentity() + }, + }; - for ( var key in testcases ) + for (var key in testcases) [self compareTransform:testcases[key].testdata with:testcases[key].expdata message:key]; } - (void)testPointApplyAffineTransform { var testcases = { - "translate to zero" : { - testdata: CGPointApplyAffineTransform(CGPointMake(3, 4), - CGAffineTransformMakeTranslation(-3, -4)), - expdata: CGPointMakeZero() - }, + "translate to zero" : { + testdata: CGPointApplyAffineTransform(CGPointMake(3, 4), + CGAffineTransformMakeTranslation(-3, -4)), + expdata: CGPointMakeZero() + }, - "scale to 1,1" : { - testdata: CGPointApplyAffineTransform(CGPointMake(3, 4), - CGAffineTransformMakeScale(1 / 3, 1 / 4)), - expdata: CGPointMake(1, 1) - }, + "scale to 1,1" : { + testdata: CGPointApplyAffineTransform(CGPointMake(3, 4), + CGAffineTransformMakeScale(1 / 3, 1 / 4)), + expdata: CGPointMake(1, 1) + }, - "scale and translate to zero" : { - testdata: CGPointApplyAffineTransform(CGPointMake(3, 4), - CGAffineTransformConcat( - CGAffineTransformMakeScale(1 / 3, 1 / 4), - CGAffineTransformMakeTranslation(-1, -1))), - expdata: CGPointMakeZero() - - }, - }; + "scale and translate to zero" : { + testdata: CGPointApplyAffineTransform(CGPointMake(3, 4), + CGAffineTransformConcat( + CGAffineTransformMakeScale(1 / 3, 1 / 4), + CGAffineTransformMakeTranslation(-1, -1))), + expdata: CGPointMakeZero() + }, + }; for (var key in testcases) [self comparePoint:testcases[key].testdata with:testcases[key].expdata message:key]; @@ -173,74 +172,73 @@ - (void)testSizeApplyAffineTransform { var testcases = { - "translation on size should do nothing" : { - testdata: CGSizeApplyAffineTransform(CGSizeMake(3, 12), - CGAffineTransformMakeTranslation(-3, -4)), - expdata: CGSizeMake(3, 12) - }, + "translation on size should do nothing" : { + testdata: CGSizeApplyAffineTransform(CGSizeMake(3, 12), + CGAffineTransformMakeTranslation(-3, -4)), + expdata: CGSizeMake(3, 12) + }, - "scale to 1,1" : { - testdata: CGSizeApplyAffineTransform(CGSizeMake(3, 4), - CGAffineTransformMakeScale(1 / 3, 1 / 4) ), - expdata: CGSizeMake(1, 1) - }, + "scale to 1,1" : { + testdata: CGSizeApplyAffineTransform(CGSizeMake(3, 4), + CGAffineTransformMakeScale(1 / 3, 1 / 4) ), + expdata: CGSizeMake(1, 1) + }, - "scale and translate combined" : { - testdata: CGSizeApplyAffineTransform(CGSizeMake(3, 4), - CGAffineTransformConcat( - CGAffineTransformMakeScale(1 / 3, 1 / 4), - CGAffineTransformMakeTranslation(-1, -1))), - expdata: CGSizeMake(1, 1) + "scale and translate combined" : { + testdata: CGSizeApplyAffineTransform(CGSizeMake(3, 4), + CGAffineTransformConcat( + CGAffineTransformMakeScale(1 / 3, 1 / 4), + CGAffineTransformMakeTranslation(-1, -1))), + expdata: CGSizeMake(1, 1) - }, - }; + }, + }; - for ( var key in testcases ) + for (var key in testcases) [self compareSize:testcases[key].testdata with:testcases[key].expdata message:key]; } - (void)testAffineTransformIsIdentityPositive { - var testcases = { - "identity is identity" : { - testdata: CGAffineTransformMakeIdentity() - }, + var testcases = { + "identity is identity" : { + testdata: CGAffineTransformMakeIdentity() + }, - "zero rotation is identity" : { - testdata: CGAffineTransformMakeRotation(0), - }, + "zero rotation is identity" : { + testdata: CGAffineTransformMakeRotation(0), + }, - "zero translation is identity" : { - testdata: CGAffineTransformMakeTranslation(0,0) - }, + "zero translation is identity" : { + testdata: CGAffineTransformMakeTranslation(0,0) + }, - "one scale is identity" : { - testdata: CGAffineTransformMakeScale(1, 1) - }, + "one scale is identity" : { + testdata: CGAffineTransformMakeScale(1, 1) + }, - "identity concat'ed" : { - testdata: CGAffineTransformConcat( CGAffineTransformMakeIdentity(), - CGAffineTransformMakeIdentity() ), - }, + "identity concat'ed" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeIdentity(), + CGAffineTransformMakeIdentity()), + }, - "translation" : { - testdata: CGAffineTransformConcat( CGAffineTransformMakeTranslation(3, 4), - CGAffineTransformMakeTranslation(-3, -4) ), - }, + "translation" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeTranslation(3, 4), + CGAffineTransformMakeTranslation(-3, -4)), + }, - "scale" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeScale(3, 4), - CGAffineTransformMakeScale(1 / 3, 1 / 4)), - }, + "scale" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeScale(3, 4), + CGAffineTransformMakeScale(1 / 3, 1 / 4)), + }, - "rotation" : { - testdata: CGAffineTransformConcat(CGAffineTransformMakeRotation(-PI), - CGAffineTransformMakeRotation(PI)), - }, + "rotation" : { + testdata: CGAffineTransformConcat(CGAffineTransformMakeRotation(-PI), + CGAffineTransformMakeRotation(PI)), + }, + }; - }; - - for ( var key in testcases ) + for (var key in testcases) [self assert:YES equals:CGAffineTransformIsIdentity(testcases[key].testdata) message:key]; @@ -249,30 +247,29 @@ - (void)testAffineTransformIsIdentityNegative { var testcases = { - "some random transform" : { - testdata: CGAffineTransformMake(1, 1, 1, 1, 1, 1) - }, + "some random transform" : { + testdata: CGAffineTransformMake(1, 1, 1, 1, 1, 1) + }, - "non-zero translation is not identity" : { - testdata: CGAffineTransformMakeTranslation(1, 1) - }, + "non-zero translation is not identity" : { + testdata: CGAffineTransformMakeTranslation(1, 1) + }, - "non-one scale is not identity" : { - testdata: CGAffineTransformMakeScale(2,2) - }, + "non-one scale is not identity" : { + testdata: CGAffineTransformMakeScale(2,2) + }, - "rotation" : { - testdata: CGAffineTransformMakeRotation(PI), - }, + "rotation" : { + testdata: CGAffineTransformMakeRotation(PI), + }, - // TODO a two-pi rotation is actually identity - "2PI rotation is NOT identity?" : { - testdata: CGAffineTransformMakeRotation(PI * 2), - }, + // TODO a two-pi rotation is actually identity + "2PI rotation is NOT identity?" : { + testdata: CGAffineTransformMakeRotation(PI * 2), + }, + }; - }; - - for ( var key in testcases ) + for (var key in testcases) [self assert:NO equals:CGAffineTransformIsIdentity(testcases[key].testdata) message:key]; @@ -281,38 +278,38 @@ - (void)testAffineTransformEqualToTransform { var testcases = { - "identity" : { - lhs: CGAffineTransformMakeIdentity(), - rhs: CGAffineTransformMakeIdentity(), - expdata: YES - }, + "identity" : { + lhs: CGAffineTransformMakeIdentity(), + rhs: CGAffineTransformMakeIdentity(), + expdata: YES + }, - "translate" : { - lhs: CGAffineTransformMakeTranslation(1, 1), - rhs: CGAffineTransformMakeTranslation(1, 1), - expdata: YES - }, + "translate" : { + lhs: CGAffineTransformMakeTranslation(1, 1), + rhs: CGAffineTransformMakeTranslation(1, 1), + expdata: YES + }, - "scale" : { - lhs: CGAffineTransformMakeScale(1, 1), - rhs: CGAffineTransformMakeScale(1, 1), - expdata: YES - }, + "scale" : { + lhs: CGAffineTransformMakeScale(1, 1), + rhs: CGAffineTransformMakeScale(1, 1), + expdata: YES + }, - "rotation" : { - lhs: CGAffineTransformMakeRotation(PI), - rhs: CGAffineTransformMakeRotation(PI), - expdata: YES - }, + "rotation" : { + lhs: CGAffineTransformMakeRotation(PI), + rhs: CGAffineTransformMakeRotation(PI), + expdata: YES + }, - "translate and scale" : { - lhs: CGAffineTransformMakeScale(1, 1), - rhs: CGAffineTransformMakeTranslation(1, 1), - expdata: NO - }, - }; + "translate and scale" : { + lhs: CGAffineTransformMakeScale(1, 1), + rhs: CGAffineTransformMakeTranslation(1, 1), + expdata: NO + }, + }; - for ( var key in testcases ) + for (var key in testcases) [self assert:testcases[key].expdata equals:CGAffineTransformEqualToTransform(testcases[key].lhs, testcases[key].rhs) message:key]; @@ -322,28 +319,28 @@ { // FIXME?: should there be a leading space on these strings var testcases = { - "identity" : { - testdata: CGAffineTransformMakeIdentity(), - expdata: " [[ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1]]" - }, + "identity" : { + testdata: CGAffineTransformMakeIdentity(), + expdata: " [[ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1]]" + }, - "scale" : { - testdata: CGAffineTransformMakeScale(3, 4), - expdata: " [[ 3, 0, 0 ], [ 0, 4, 0 ], [ 0, 0, 1]]" - }, + "scale" : { + testdata: CGAffineTransformMakeScale(3, 4), + expdata: " [[ 3, 0, 0 ], [ 0, 4, 0 ], [ 0, 0, 1]]" + }, - "translation" : { - testdata: CGAffineTransformMakeTranslation(3, 4), - expdata: " [[ 1, 0, 0 ], [ 0, 1, 0 ], [ 3, 4, 1]]" - }, + "translation" : { + testdata: CGAffineTransformMakeTranslation(3, 4), + expdata: " [[ 1, 0, 0 ], [ 0, 1, 0 ], [ 3, 4, 1]]" + }, - "scale and translation" : { - testdata: CGAffineTransformTranslate(CGAffineTransformMakeScale(3, 4), 5, 6), - expdata: " [[ 3, 0, 0 ], [ 0, 4, 0 ], [ 15, 24, 1]]" - }, - }; + "scale and translation" : { + testdata: CGAffineTransformTranslate(CGAffineTransformMakeScale(3, 4), 5, 6), + expdata: " [[ 3, 0, 0 ], [ 0, 4, 0 ], [ 15, 24, 1]]" + }, + }; - for ( var key in testcases ) + for (var key in testcases) [self assert:testcases[key].expdata equals:CGStringCreateWithCGAffineTransform(testcases[key].testdata) message:key]; @@ -352,48 +349,48 @@ - (void)testStringFromCGAffineTransform { var testcases = { - "identity" : { - testdata: CGAffineTransformMakeIdentity(), - expdata: "{1, 0, 0, 1, 0, 0}" - }, + "identity" : { + testdata: CGAffineTransformMakeIdentity(), + expdata: "{1, 0, 0, 1, 0, 0}" + }, - "scale" : { - testdata: CGAffineTransformMakeScale(3, 4), - expdata: "{3, 0, 0, 4, 0, 0}" - }, + "scale" : { + testdata: CGAffineTransformMakeScale(3, 4), + expdata: "{3, 0, 0, 4, 0, 0}" + }, - "translation" : { - testdata: CGAffineTransformMakeTranslation(3, 4), - expdata: "{1, 0, 0, 1, 3, 4}" - }, + "translation" : { + testdata: CGAffineTransformMakeTranslation(3, 4), + expdata: "{1, 0, 0, 1, 3, 4}" + }, - "rotation - zero" : { - testdata: CGAffineTransformMakeRotation(0), - expdata: "{1, 0, 0, 1, 0, 0}" - }, + "rotation - zero" : { + testdata: CGAffineTransformMakeRotation(0), + expdata: "{1, 0, 0, 1, 0, 0}" + }, - "rotation - pi" : { - testdata: CGAffineTransformMakeRotation(PI), - expdata: "{-1, 1.2246467991473532e-16, -1.2246467991473532e-16, -1, 0, 0}" - }, + "rotation - pi" : { + testdata: CGAffineTransformMakeRotation(PI), + expdata: "{-1, 1.2246467991473532e-16, -1.2246467991473532e-16, -1, 0, 0}" + }, - "rotation - 2pi" : { - testdata: CGAffineTransformMakeRotation(2 * PI), - expdata: "{1, -2.4492935982947064e-16, 2.4492935982947064e-16, 1, 0, 0}" - }, + "rotation - 2pi" : { + testdata: CGAffineTransformMakeRotation(2 * PI), + expdata: "{1, -2.4492935982947064e-16, 2.4492935982947064e-16, 1, 0, 0}" + }, - "rotation - 3pi" : { - testdata: CGAffineTransformMakeRotation(3 * PI), - expdata: "{-1, 3.6739403974420594e-16, -3.6739403974420594e-16, -1, 0, 0}" - }, + "rotation - 3pi" : { + testdata: CGAffineTransformMakeRotation(3 * PI), + expdata: "{-1, 3.6739403974420594e-16, -3.6739403974420594e-16, -1, 0, 0}" + }, - "scale and translation and rotate" : { - testdata: CGAffineTransformRotate(CGAffineTransformTranslate(CGAffineTransformMakeScale(3, 4), 5, 6), PI), - expdata: "{-3, 4.898587196589413e-16, -3.6739403974420594e-16, -4, 15, 24}" - }, - }; + "scale and translation and rotate" : { + testdata: CGAffineTransformRotate(CGAffineTransformTranslate(CGAffineTransformMakeScale(3, 4), 5, 6), PI), + expdata: "{-3, 4.898587196589413e-16, -3.6739403974420594e-16, -4, 15, 24}" + }, + }; - for ( var key in testcases ) + for (var key in testcases) [self assert:testcases[key].expdata equals:CPStringFromCGAffineTransform(testcases[key].testdata) message:key]; @@ -407,20 +404,20 @@ sin = SIN(ang); var testcases = { - "affine transform rotate failed" : { - testdata: CGAffineTransformRotate(transform, ang), - expdata: CGAffineTransformMake( transform.a * cos + transform.c * sin, - transform.b * cos + transform.d * sin, - transform.c * cos - transform.a * sin, - transform.d * cos - transform.b * sin, - transform.tx,transform.ty ) - }, + "affine transform rotate failed" : { + testdata: CGAffineTransformRotate(transform, ang), + expdata: CGAffineTransformMake(transform.a * cos + transform.c * sin, + transform.b * cos + transform.d * sin, + transform.c * cos - transform.a * sin, + transform.d * cos - transform.b * sin, + transform.tx,transform.ty) + }, - "rotation negation" : { - testdata: CGAffineTransformRotate(CGAffineTransformRotate(CGAffineTransformMakeScale(3, 4), PI), -PI), - expdata: CGAffineTransformMakeScale(3, 4) - } - }; + "rotation negation" : { + testdata: CGAffineTransformRotate(CGAffineTransformRotate(CGAffineTransformMakeScale(3, 4), PI), -PI), + expdata: CGAffineTransformMakeScale(3, 4) + } + }; for (var key in testcases) [self compareTransform:testcases[key].testdata with:testcases[key].expdata message:key]; @@ -440,33 +437,33 @@ transform.a * transform.ty)); var testcases = { - "test invert algorithm" : { - testdata: transform, - expdata: invertedtransform - }, + "test invert algorithm" : { + testdata: transform, + expdata: invertedtransform + }, - "identity should be it self on inversion" : { - testdata: CGAffineTransformMakeIdentity(), - expdata: CGAffineTransformMakeIdentity() - }, + "identity should be it self on inversion" : { + testdata: CGAffineTransformMakeIdentity(), + expdata: CGAffineTransformMakeIdentity() + }, - "rotation" : { - testdata: CGAffineTransformMakeRotation(-PI), - expdata: CGAffineTransformMakeRotation(PI), - }, + "rotation" : { + testdata: CGAffineTransformMakeRotation(-PI), + expdata: CGAffineTransformMakeRotation(PI), + }, - "translation" : { - testdata: CGAffineTransformMakeTranslation(4, 5), - expdata: CGAffineTransformMakeTranslation(-4, -5) - }, + "translation" : { + testdata: CGAffineTransformMakeTranslation(4, 5), + expdata: CGAffineTransformMakeTranslation(-4, -5) + }, - "scale" : { - testdata: CGAffineTransformMakeScale(3, 4), - expdata: CGAffineTransformMakeScale(1 / 3, 1 / 4) - }, - }; + "scale" : { + testdata: CGAffineTransformMakeScale(3, 4), + expdata: CGAffineTransformMakeScale(1 / 3, 1 / 4) + }, + }; - for ( var key in testcases ) + for (var key in testcases) [self compareTransform:CGAffineTransformInvert(testcases[key].testdata) with:testcases[key].expdata message:key]; @@ -474,35 +471,34 @@ - (void)testRectApplyAffineTransform { - var rect = CGRectMake( 3,4,5,6 ); + var rect = CGRectMake(3, 4, 5, 6), + testcases = { + "identity does nothing" : { + testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeIdentity() ), + expdata: rect + }, - var testcases = { - "identity does nothing" : { - testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeIdentity() ), - expdata: rect - }, + "rotation 90 degrees" : { + testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeRotation(PI / 2)), + expdata: CGRectMake(-10, 3.0000000000000004, 6, 5) + }, - "rotation 90 degrees" : { - testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeRotation(PI/2)), - expdata: CGRectMake(-10, 3.0000000000000004, 6, 5) - }, + "translation" : { + testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeTranslation(3, 4)), + expdata: CGRectMake(6, 8, 5, 6) + }, - "translation" : { - testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeTranslation(3, 4)), - expdata: CGRectMake(6, 8, 5, 6) - }, + "scale" : { + testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeScale(1, 4)), + expdata: CGRectMake(3, 16, 5, 24) + }, - "scale" : { - testdata: CGRectApplyAffineTransform(rect, CGAffineTransformMakeScale(1,4)), - expdata: CGRectMake(3, 16, 5, 24) - }, - - "rotate, translate and scale" : { - testdata: CGRectApplyAffineTransform(rect, CGAffineTransformRotate(CGAffineTransformTranslate(CGAffineTransformMakeScale(3, 4),5,6), PI)), - expdata: CGRectMake(-9.000000000000004, -16, - 15.000000000000002, 24.000000000000004) - }, - }; + "rotate, translate and scale" : { + testdata: CGRectApplyAffineTransform(rect, CGAffineTransformRotate(CGAffineTransformTranslate(CGAffineTransformMakeScale(3, 4),5,6), PI)), + expdata: CGRectMake(-9.000000000000004, -16, + 15.000000000000002, 24.000000000000004) + }, + }; for (var key in testcases) [self compareRect:testcases[key].testdata with:testcases[key].expdata message:key]; diff --git a/Tests/AppKit/CGColorTest.j b/Tests/AppKit/CGColorTest.j index 97416ef87..0f0ed706d 100644 --- a/Tests/AppKit/CGColorTest.j +++ b/Tests/AppKit/CGColorTest.j @@ -4,15 +4,15 @@ - (void)testColorCreateReturnNullIfNull { - [self assert:NULL equals:CGColorCreate( NULL, [1,2,3] ) message:"colorspace null failed"]; - [self assert:NULL - equals:CGColorCreate( CGColorSpaceCreateDeviceRGB(), NULL ) + [self assert:NULL equals:CGColorCreate(NULL, [1, 2, 3]) message:"colorspace null failed"]; + [self assert:NULL + equals:CGColorCreate(CGColorSpaceCreateDeviceRGB(), NULL) message:"components null failed"]; } - (void)testColorCreateEnsureComponentsAreCopied { - var colorspace = CGColorSpaceCreateDeviceRGB(), + var colorspace = CGColorSpaceCreateDeviceRGB(), components = [2,3,4,5], clr = CGColorCreate(colorspace, components); @@ -26,24 +26,24 @@ var clr = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [0.4, 0.3, 0.2, 0.2]), newclr = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [0.4, 0.3, 0.2, 0.2]); newclr.components[newclr.components.length - 1] = 0.6; - [self assert:0.6 equals:clr.components[clr.components.length-1]]; + [self assert:0.6 equals:clr.components[clr.components.length - 1]]; } - (void)testColorCreate { - var colorspace = CGColorSpaceCreateDeviceRGB(), + var colorspace = CGColorSpaceCreateDeviceRGB(), components = [2,3,4,5], clruid = CFHashCode(colorspace) + components.join(""); - // Can't access the colormap cache, but it would be nice to + // Can't access the colormap cache, but it would be nice to // [self assert:NULL equals:_CGColorMap[clruid]]; - var clr = CGColorCreate( colorspace, components ); + var clr = CGColorCreate(colorspace, components); [self assert:colorspace equals:clr.colorspace message:"colorspace failed"]; [self assert:[1,1,1,1] equals:clr.components message:"components failed"]; [self assert:NULL equals:clr.pattern message:"pattern failed"]; - // Can't access the colormap cache, but it would be nice to + // Can't access the colormap cache, but it would be nice to // [self assert:clr equals:_CGColorMap[clruid]]; } @@ -51,10 +51,10 @@ { // it returns it's argument, a little artifical but will fail if something // changes with the function. - [self assert:"banana" equals:CGColorCreateCopy( "banana" )]; + [self assert:"banana" equals:CGColorCreateCopy("banana")]; - var colorspace = CGColorSpaceCreateDeviceRGB(), - components = [2,3,4,5], + var colorspace = CGColorSpaceCreateDeviceRGB(), + components = [2, 3, 4, 5], clr = CGColorCreate( colorspace, components ); [self assert:clr equals:CGColorCreateCopy(clr)]; } @@ -62,9 +62,9 @@ - (void)testColorCreateGenericGray { var clr = CGColorCreateGenericGray(0.3, 0.5); - [self assert:CGColorSpaceCreateDeviceRGB() + [self assert:CGColorSpaceCreateDeviceRGB() equals:clr.colorspace message:"colorspace failed"]; - [self assert:[ROUND(0.3*255)/255,ROUND(0.3*255)/255,ROUND(0.3*255)/255,0.5] + [self assert:[ROUND(0.3 * 255) / 255, ROUND(0.3 * 255) / 255, ROUND(0.3 * 255) / 255, 0.5] equals:clr.components message:"components failed"]; [self assert:NULL equals:clr.pattern message:"pattern failed"]; } @@ -72,9 +72,9 @@ - (void)testColorCreateGenericRGB { var clr = CGColorCreateGenericRGB(0.4,0.3,0.2,0.1); - [self assert:CGColorSpaceCreateDeviceRGB() + [self assert:CGColorSpaceCreateDeviceRGB() equals:clr.colorspace message:"colorspace failed"]; - [self assert:[ROUND(0.4*255)/255,ROUND(0.3*255)/255,ROUND(0.2*255)/255,0.1] + [self assert:[ROUND(0.4 * 255) / 255, ROUND(0.3 * 255) / 255,ROUND(0.2 * 255) / 255, 0.1] equals:clr.components message:"components failed"]; [self assert:NULL equals:clr.pattern message:"pattern failed"]; } @@ -84,8 +84,7 @@ var clr = CGColorCreateGenericCMYK(0.2, 0.3, 0.4, 0.5, 0.6) [self assert:CGColorSpaceCreateDeviceCMYK() equals:clr.colorspace message:"colorspace failed"]; - [self assert:[ROUND(0.2*255)/255,ROUND(0.3*255)/255,ROUND(0.4*255)/255, - ROUND(0.5*255)/255, 0.6] + [self assert:[ROUND(0.2 * 255) / 255,ROUND(0.3 * 255) / 255,ROUND(0.4 * 255) / 255, ROUND(0.5 * 255) / 255, 0.6] equals:clr.components message:"components failed"]; [self assert:NULL equals:clr.pattern message:"pattern failed"]; } @@ -107,9 +106,9 @@ // ensure that null is returned [self assert:NULL equals:CGColorCreateWithPattern(NULL, "a new pattern", [])]; - [self assert:NULL equals:CGColorCreateWithPattern(CGColorSpaceCreateDeviceRGB(), + [self assert:NULL equals:CGColorCreateWithPattern(CGColorSpaceCreateDeviceRGB(), NULL, [])]; - [self assert:NULL equals:CGColorCreateWithPattern(CGColorSpaceCreateDeviceRGB(), + [self assert:NULL equals:CGColorCreateWithPattern(CGColorSpaceCreateDeviceRGB(), "a new pattern", NULL)]; [self assert:NULL equals:CGColorCreateWithPattern(NULL, NULL, NULL)]; } @@ -130,8 +129,8 @@ - (void)testColorGetComponents { var clr = CGColorCreateGenericCMYK(0.2, 0.3, 0.4, 0.5, 0.6); - [self assert:[ROUND(0.2*255)/255, ROUND(0.3*255)/255, ROUND(0.4*255)/255, - ROUND(0.5*255)/255, ROUND(0.6*255)/255] + [self assert:[ROUND(0.2 * 255) / 255, ROUND(0.3 * 255) / 255, ROUND(0.4 * 255) / 255, + ROUND(0.5 * 255) / 255, ROUND(0.6 * 255) / 255] equals:CGColorGetComponents(clr)]; } @@ -153,7 +152,7 @@ var clr = CGColorCreateWithPattern(CGColorSpaceCreateDeviceRGB(), "a new pattern", [1,1,1,1]); [self assert:1 equals:CGColorGetAlpha(clr) message:"initial alpha"]; - + var newclr = CGColorCreateCopyWithAlpha(clr, 0.6); [self assert:0.6 equals:CGColorGetAlpha(newclr) message:"new color alpha value"]; [self assert:1 equals:CGColorGetAlpha(clr) message:"alpha after copy"]; @@ -173,20 +172,20 @@ [self assert:CGColorSpaceCreateDeviceRGB() equals:newclr.colorspace message:"newclr colorspace failed"]; - [self assert:[ROUND(0.4*255)/255,ROUND(0.3*255)/255,ROUND(0.2*255)/255,0.6] + [self assert:[ROUND(0.4 * 255) / 255, ROUND(0.3 * 255) / 255, ROUND(0.2 * 255) / 255, 0.6] equals:newclr.components message:"newclr components failed"]; [self assert:NULL equals:newclr.pattern message:"newclr pattern failed"]; [self assert:CGColorSpaceCreateDeviceRGB() equals:clr.colorspace message:"orig clr colorspace failed"]; - [self assert:[ROUND(0.4*255)/255,ROUND(0.3*255)/255,ROUND(0.2*255)/255,0.3] + [self assert:[ROUND(0.4 * 255) / 255, ROUND(0.3 * 255) / 255, ROUND(0.2 * 255) / 255, 0.3] equals:clr.components message:"orig clr components failed"]; [self assert:NULL equals:clr.pattern message:"orig clr pattern failed"]; } - (void)testColorCreateCopyWithAlphaWithComponentsNullColor { - [self assert:NULL + [self assert:NULL equals:CGColorCreateCopyWithAlpha(NULL,0.5) message:"null color failed"]; diff --git a/Tests/AppKit/CGContextTest.j b/Tests/AppKit/CGContextTest.j index 8b4499825..1601430f7 100644 --- a/Tests/AppKit/CGContextTest.j +++ b/Tests/AppKit/CGContextTest.j @@ -1,6 +1,11 @@ @import + @import "CGTestCase.j" +// These are left undefined in CGContext.j if CPFeatureIsCompatible(CPHTMLCanvasFeature) +@global CGGStateCreate +@global CGGStateCreateCopy + @implementation CGContextTest : CGTestCase - (void)testEnsureTestingCanvas @@ -33,7 +38,7 @@ shadowBlur: 0.0, shadowColor: NULL }; - for ( var key in testdata ) + for (var key in testdata) [self assert:testdata[key] equals:gstate[key] message:"Failed for " + key]; [self compareSize:CGSizeMakeZero() @@ -64,17 +69,17 @@ shadowBlur: 0.0, shadowColor: NULL }; - for ( var key in testdata ) + for (var key in testdata) [self assert:testdata[key] equals:gstatecopy[key] message:"Failed for " + key]; // ensure that the size is copied - var sizecopy = CGSizeMakeCopy( gstate.shadowOffset ); + var sizecopy = CGSizeMakeCopy(gstate.shadowOffset); gstate.shadowOffset.width += 1000; gstate.shadowOffset.height += 2000; [self compareSize:sizecopy with:gstatecopy.shadowOffset message:"Failed for shadowOffset"]; // ensure that the transform is copied - var transformcopy = CGAffineTransformMakeCopy( gstate.CTM ); + var transformcopy = CGAffineTransformMakeCopy(gstate.CTM); gstate.CTM.a += 1000; gstate.CTM.b += 1000; gstate.CTM.c += 1000; diff --git a/Tests/AppKit/CPApplicationTest.j b/Tests/AppKit/CPApplicationTest.j index 13ac74263..0b7114f01 100644 --- a/Tests/AppKit/CPApplicationTest.j +++ b/Tests/AppKit/CPApplicationTest.j @@ -1,5 +1,6 @@ @import @import +@import var globalResults = []; @@ -67,7 +68,7 @@ var globalResults = []; app = [CPApplication sharedApplication]; // fake the window.location.hash - app.window = {location: {hash: "#var1=1/var2=2"}}; + window.location = {hash: "#var1=1/var2=2"}; [app setDelegate:[[MyAppDelegate alloc] init]]; aWindow = [[CPWindow alloc] init]; diff --git a/Tests/AppKit/CPArrayControllerTest.j b/Tests/AppKit/CPArrayControllerTest.j index 939d8881e..83687650f 100644 --- a/Tests/AppKit/CPArrayControllerTest.j +++ b/Tests/AppKit/CPArrayControllerTest.j @@ -1,4 +1,5 @@ +@import @import @import @@ -51,7 +52,7 @@ - (void)testSetContent { - otherContent = [@"5", @"6"]; + var otherContent = [@"5", @"6"]; [[self arrayController] setContent:otherContent]; // This has not been decided on yet. See Issue #795. @@ -428,7 +429,7 @@ { [self _initTestRemoveObjects_SimpleArray]; [self _testRemoveObjects_MultipleSelectedObjects_AvoidingEmptySelection]; -}/ +} - (void)testRemoveObjects_MultipleSelectedObjects_AvoidingEmptySelection_ContentBinding { diff --git a/Tests/AppKit/CPCheckBoxTest.j b/Tests/AppKit/CPCheckBoxTest.j index d2b388dbe..178ecba35 100644 --- a/Tests/AppKit/CPCheckBoxTest.j +++ b/Tests/AppKit/CPCheckBoxTest.j @@ -14,11 +14,12 @@ var control = [[CPCheckBox alloc] initWithFrame:CGRectMakeZero()]; [control setAllowsMixedState:YES]; - content = [ - CPOffState, - CPOnState - ]; - arrayController = [[CPArrayController alloc] initWithContent:content]; + var content = + [ + CPOffState, + CPOnState + ], + arrayController = [[CPArrayController alloc] initWithContent:content]; // First test defaults. [control bind:CPValueBinding toObject:arrayController withKeyPath:@"selection.self" options:nil]; @@ -78,11 +79,12 @@ { var control = [[CPCheckBox alloc] initWithFrame:CGRectMakeZero()]; - content = [ - [CPDictionary dictionaryWithObject:YES forKey:@"state"], - [CPDictionary dictionaryWithObject:NO forKey:@"state"] - ]; - arrayController = [[CPArrayController alloc] initWithContent:content]; + var content = + [ + [CPDictionary dictionaryWithObject:YES forKey:@"state"], + [CPDictionary dictionaryWithObject:NO forKey:@"state"] + ], + arrayController = [[CPArrayController alloc] initWithContent:content]; // First test defaults. [control bind:CPValueBinding toObject:arrayController withKeyPath:@"selection.state" options:[CPDictionary dictionaryWithObject:@"CPNegateBoolean" forKey:CPValueTransformerNameBindingOption]]; diff --git a/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j b/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j index 41c28b579..7475e0875 100644 --- a/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j +++ b/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j @@ -124,8 +124,8 @@ [self verifyVolume:0 method:"bindings"]; // Test if CPNullPlaceholderBindingOption is correctly decoded - var bindingInfo = [textField infoForBinding:@"value"]; - var nullPlaceHolder = [[bindingInfo objectForKey:CPOptionsKey] objectForKey:CPNullPlaceholderBindingOption]; + var bindingInfo = [textField infoForBinding:@"value"], + nullPlaceHolder = [[bindingInfo objectForKey:CPOptionsKey] objectForKey:CPNullPlaceholderBindingOption]; [self assert:@"Nothing" equals:nullPlaceHolder]; } @@ -140,7 +140,7 @@ - (void)updateVolumeFrom:(id)sender { - newVolume = [sender floatValue]; + var newVolume = [sender floatValue]; [track setVolume:newVolume]; [self updateUserInterface]; } diff --git a/Tests/AppKit/CPKeyValueBindingTest.j b/Tests/AppKit/CPKeyValueBindingTest.j index f6a184f01..15b614874 100644 --- a/Tests/AppKit/CPKeyValueBindingTest.j +++ b/Tests/AppKit/CPKeyValueBindingTest.j @@ -160,7 +160,7 @@ [tableView addTableColumn:tableColumn]; - content = [ + var content = [ [AccessCounter counterWithValueA:"1" valueB:"2"], [AccessCounter counterWithValueA:"3" valueB:"4"], [AccessCounter counterWithValueA:"5" valueB:"6"], @@ -229,7 +229,7 @@ [textField bind:@"hidden" toObject:self withKeyPath:@"FOO" options:nil]; [self assert:@"cheese" equals:[textField placeholderString] message:"placeholder should not be cleared when a binding is established"]; - content = [ + var content = [ [BindingTester testerWithCheese:@"yellow"], [BindingTester testerWithCheese:@"green"], ]; diff --git a/Tests/AppKit/CPOutlineViewTest.j b/Tests/AppKit/CPOutlineViewTest.j index eac2c4f34..1c6dae2ae 100644 --- a/Tests/AppKit/CPOutlineViewTest.j +++ b/Tests/AppKit/CPOutlineViewTest.j @@ -4,7 +4,7 @@ { CPOutlineView outlineView; CPTableColumn tableColumn; - TestDataSource dataSource; + TestOutlineDataSource dataSource; } - (void)setUp @@ -17,7 +17,7 @@ [outlineView setAllowsMultipleSelection:YES]; - dataSource = [TestDataSource new]; + dataSource = [TestOutlineDataSource new]; [dataSource setEntries:[".1", ".1.1", ".1.2", ".1.2.1", ".1.2.2", ".2", ".3", ".3.1"]]; [outlineView setDataSource:dataSource]; @@ -130,7 +130,7 @@ [outlineView expandItem:".1.2"]; - afterSelection = [outlineView selectedRowIndexes]; + var afterSelection = [outlineView selectedRowIndexes]; [self assert:2 equals:[afterSelection count] message:"selections should remain"]; [self assert:".1.1" equals:[outlineView itemAtRow:[afterSelection firstIndex]] message:".1.1 selection should remain"]; @@ -188,7 +188,7 @@ @end -@implementation TestDataSource : CPObject +@implementation TestOutlineDataSource : CPObject { CPArray entries @accessors; } diff --git a/Tests/AppKit/CPPredicateEditorTest.j b/Tests/AppKit/CPPredicateEditorTest.j index 7789f83b9..a0063f254 100644 --- a/Tests/AppKit/CPPredicateEditorTest.j +++ b/Tests/AppKit/CPPredicateEditorTest.j @@ -1,4 +1,5 @@ @import +@import @implementation CPPredicateEditorTest : OJTestCase { @@ -13,35 +14,35 @@ - (void)testTemplatesMerging { var le1 = [CPExpression expressionForKeyPath:@"keypath1"], - le2 = [CPExpression expressionForKeyPath:@"keypath2"], - le3 = [CPExpression expressionForKeyPath:@"keypath3"]; + le2 = [CPExpression expressionForKeyPath:@"keypath2"], + le3 = [CPExpression expressionForKeyPath:@"keypath3"]; - var lexps1 = [le1, le2], + var lexps1 = [le1, le2], lexps2 = [le2, le3]; - + var ops1 = [CPBeginsWithPredicateOperatorType, CPEndsWithPredicateOperatorType], ops2 = [CPGreaterThanPredicateOperatorType, CPEqualToPredicateOperatorType]; var t1 = [[CPPredicateEditorRowTemplate alloc] initWithLeftExpressions:lexps1 rightExpressionAttributeType:CPStringAttributeType modifier:0 operators:ops1 options:0], t2 = [[CPPredicateEditorRowTemplate alloc] initWithLeftExpressions:lexps2 rightExpressionAttributeType:CPInteger16AttributeType modifier:0 operators:ops2 options:0]; - + var errorFormat = @"The left criterion %@ should have children with the following templates:\n%@\nbut was:\n%@"; - + [_editor setRowTemplates:[t1, t2]]; - - var trees = _editor._rootTrees; - var count = [trees count]; + + var trees = _editor._rootTrees, + count = [trees count]; // We are expecting 3 criterion on the left. - [self assertTrue:(count == 3) message:"We should have 3 criterion on the left, was " + count]; - + [self assertTrue:(count == 3) message:"We should have 3 criterion on the left, was " + count]; + for (var i = 0; i < count; i++) { var aTree = [trees objectAtIndex:i], title = [aTree title], templates = [[aTree children] valueForKey:@"template"], expected; - + if ([title isEqualToString:@"keypath1"]) expected = [t1, t1]; else if ([title isEqualToString:@"keypath2"]) @@ -50,5 +51,7 @@ expected = [t2, t2]; [self assertTrue:[templates isEqualToArray:expected] message:[CPString stringWithFormat:errorFormat, title, [expected description], [templates description]]]; - } + } } + +@end diff --git a/Tests/AppKit/CPResponderTest.j b/Tests/AppKit/CPResponderTest.j index 1933aaaaa..8bc0a940b 100644 --- a/Tests/AppKit/CPResponderTest.j +++ b/Tests/AppKit/CPResponderTest.j @@ -21,18 +21,18 @@ - (void)testInterpretKeyEvents { var tests = [ - CPKeyCodes.PAGE_UP, CPPageUpFunctionKey, @selector(scrollPageUp:), - CPKeyCodes.PAGE_DOWN, CPPageDownFunctionKey, @selector(scrollPageDown:), - CPKeyCodes.LEFT, CPLeftArrowFunctionKey, @selector(moveLeft:), - CPKeyCodes.RIGHT, CPRightArrowFunctionKey, @selector(moveRight:), - CPKeyCodes.UP, CPUpArrowFunctionKey, @selector(moveUp:), - CPKeyCodes.DOWN, CPDownArrowFunctionKey, @selector(moveDown:), - CPKeyCodes.BACKSPACE, CPDeleteCharacter, @selector(deleteBackward:), - CPKeyCodes.ENTER, CPCarriageReturnCharacter, @selector(insertNewline:), - 0, CPNewlineCharacter, @selector(insertNewline:), - CPKeyCodes.ESC, CPEscapeFunctionKey, @selector(cancelOperation:), - CPKeyCodes.TAB, CPTabCharacter, @selector(insertTab:) - ]; + CPKeyCodes.PAGE_UP, CPPageUpFunctionKey, @selector(scrollPageUp:), + CPKeyCodes.PAGE_DOWN, CPPageDownFunctionKey, @selector(scrollPageDown:), + CPKeyCodes.LEFT, CPLeftArrowFunctionKey, @selector(moveLeft:), + CPKeyCodes.RIGHT, CPRightArrowFunctionKey, @selector(moveRight:), + CPKeyCodes.UP, CPUpArrowFunctionKey, @selector(moveUp:), + CPKeyCodes.DOWN, CPDownArrowFunctionKey, @selector(moveDown:), + CPKeyCodes.BACKSPACE, CPDeleteCharacter, @selector(deleteBackward:), + CPKeyCodes.ENTER, CPCarriageReturnCharacter, @selector(insertNewline:), + 0, CPNewlineCharacter, @selector(insertNewline:), + CPKeyCodes.ESC, CPEscapeFunctionKey, @selector(cancelOperation:), + CPKeyCodes.TAB, CPTabCharacter, @selector(insertTab:) + ]; for (var i = 0; i < tests.length; i += 3) { @@ -41,7 +41,8 @@ selector = tests[i + 2]; responder.doCommandCalls = []; - keyEvent = [CPEvent keyEventWithType:CPKeyDown location:CGPointMakeZero() modifierFlags:0 + + var keyEvent = [CPEvent keyEventWithType:CPKeyDown location:CGPointMakeZero() modifierFlags:0 timestamp:0 windowNumber:0 context:nil characters:character charactersIgnoringModifiers:character isARepeat:NO keyCode:keyCode]; [responder interpretKeyEvents:[keyEvent]]; @@ -52,7 +53,8 @@ - (void)testInterpretKeyEventsWithModifierFlags { responder.doCommandCalls = []; - keyEvent = [CPEvent keyEventWithType:CPKeyDown location:CGPointMakeZero() modifierFlags:CPShiftKeyMask + + var keyEvent = [CPEvent keyEventWithType:CPKeyDown location:CGPointMakeZero() modifierFlags:CPShiftKeyMask timestamp:0 windowNumber:0 context:nil characters:CPLeftArrowFunctionKey charactersIgnoringModifiers:CPLeftArrowFunctionKey isARepeat:NO keyCode:CPKeyCodes.LEFT]; [responder interpretKeyEvents:[keyEvent]]; diff --git a/Tests/AppKit/CPSearchFieldTest.j b/Tests/AppKit/CPSearchFieldTest.j index 0ee5ff3a1..3bd6029a8 100644 --- a/Tests/AppKit/CPSearchFieldTest.j +++ b/Tests/AppKit/CPSearchFieldTest.j @@ -22,7 +22,9 @@ - (void)testSetRecentSearches { - searches = ["foo", "bar", "baz"]; + var searches = ["foo", "bar", "baz"]; [_searchField setRecentSearches:searches] [self assertTrue:[[_searchField recentSearches] count] == 3 message:@"After setRecentSearches array doesn't include results"]; } + +@end diff --git a/Tests/AppKit/CPSliderTest.j b/Tests/AppKit/CPSliderTest.j index a2348aaea..d80184aff 100644 --- a/Tests/AppKit/CPSliderTest.j +++ b/Tests/AppKit/CPSliderTest.j @@ -23,7 +23,8 @@ var slider = [[CPSlider alloc] initWithFrame:CGRectMakeZero()]; [slider setContinuous:NO]; - decoded = [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:slider]]; + + var decoded = [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:slider]]; [self assert:[slider isContinuous] equals:[decoded isContinuous] message:@"a decoded slider should preserve isContinuous (NO case)"]; [slider setContinuous:YES]; @@ -31,4 +32,4 @@ [self assert:[slider isContinuous] equals:[decoded isContinuous] message:@"a decoded slider should preserve isContinuous (YES case)"]; } -@end \ No newline at end of file +@end diff --git a/Tests/AppKit/CPTabViewTest.j b/Tests/AppKit/CPTabViewTest.j index fdde18b7e..6d668742d 100644 --- a/Tests/AppKit/CPTabViewTest.j +++ b/Tests/AppKit/CPTabViewTest.j @@ -20,7 +20,7 @@ @implementation CPTabViewTest : OJTestCase { - CPTabView _tableView; + CPTabView _tabView; CPTabViewItem _tabItem1; CPTabViewItem _tabItem2; } diff --git a/Tests/AppKit/CPTokenFieldTest.j b/Tests/AppKit/CPTokenFieldTest.j index 76d593ea4..0e79b80c2 100644 --- a/Tests/AppKit/CPTokenFieldTest.j +++ b/Tests/AppKit/CPTokenFieldTest.j @@ -1,4 +1,4 @@ -@import +@import [CPApplication sharedApplication]; diff --git a/Tests/AppKit/CPWindowTest.j b/Tests/AppKit/CPWindowTest.j index 686e904de..27714be0f 100644 --- a/Tests/AppKit/CPWindowTest.j +++ b/Tests/AppKit/CPWindowTest.j @@ -1,5 +1,6 @@ @import +@import [CPApplication sharedApplication]; diff --git a/Tests/AppKit/Resources/SimpleBindingsAdoption_03.cib b/Tests/AppKit/Resources/SimpleBindingsAdoption_03.cib index ce9e16651..ca6081aca 100644 --- a/Tests/AppKit/Resources/SimpleBindingsAdoption_03.cib +++ b/Tests/AppKit/Resources/SimpleBindingsAdoption_03.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;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;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;16E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;59E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;60E;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;19E;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;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;62E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;63E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;66E;K;6;$afontD;K;6;CP$UIDd;2;68E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;61E;K;11;$aalignmentD;K;6;CP$UIDd;2;69E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;61E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;70E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;71E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;72E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;69E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;61E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;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;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;6;$afontD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;61E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;78E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;80E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;72E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;61E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;70E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;81E;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;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;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;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;6;$afontD;K;6;CP$UIDd;2;87E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;61E;K;11;$aalignmentD;K;6;CP$UIDd;2;61E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;88E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;70E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;2;61E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;2;89E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;64E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;92E;K;6;$afontD;K;6;CP$UIDd;2;77E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;69E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;78E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;93E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;80E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;78E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;78E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;78E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;95E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;69E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;70E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;96E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;97E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;98E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;99E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;100E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;25E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;101E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;78E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;72E;E;S;18;Push Button (Mute)S;21;Static Text (Volume:)S;15;Text Field CellS;11;ApplicationS;12;Content ViewS;25;Text Field Cell (Volume:)S;12;File's OwnerS;18;Button Cell (Mute)S;17;Horizontal SliderS;11;Slider CellS;10;Text FieldS;15;Window (Window)S;17;Object ControllerD;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;105E;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;53E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;106E;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;55E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;28E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;107E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;27E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;107E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;114E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;115E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;116E;E;S;35;NSKeyValueBindingSimpleBindingsTestD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;0S;20;{{81, 83}, {70, 24}}S;18;{{0, 0}, {70, 24}}d;1;8S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;117E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;118E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;78E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;72E;E;d;1;2d;1;4S;4;MuteF;S;20;{{17, 23}, {61, 17}}S;18;{{0, 0}, {61, 17}}S;9;textfieldS;6;normalD;K;6;$classD;K;6;CP$UIDd;2;67E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;117E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;118E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;72E;E;T;S;7;Volume:d;4;3072S;13;CPApplicationS;20;{{0, 0}, {223, 125}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;22E;E;E;S;21;{{81, 48}, {124, 21}}S;19;{{0, 0}, {124, 21}}S;6;sliderD;K;6;$classD;K;6;CP$UIDd;2;67E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;119E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;118E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;72E;E;d;1;5d;2;11S;21;{{77, 16}, {128, 29}}S;19;{{0, 0}, {128, 29}}S;19;bezeled+placeholderS;0;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;120E;E;S;28;{1.79769e+308, 1.79769e+308}S;8;CPWindowS;24;{{196, 518}, {223, 125}}d;2;15S;6;WindowS;19;CPMutableDictionaryS;16;objectControllerS;9;textFieldS;9;theWindowS;8;delegateS;10;muteTrack:S;23;value: selection.volumeS;5;valueS;16;selection.volumeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;2;78E;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;121E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;10;CP.objectsD;E;E;S;20;contentObject: trackS;13;contentObjectS;5;trackD;K;6;$classD;K;6;CP$UIDd;3;110E;K;10;CP.objectsD;E;E;S;17;Arial, sans-serifd;2;12S;9;HelveticaD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;E;E;S;7;Nothingd;1;1E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;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;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;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;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;38E;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;41E;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;42E;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;35E;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;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;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;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;33E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;45E;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;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;46E;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;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;48E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;35E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;49E;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;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;50E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;51E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;52E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;33E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;50E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;51E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;52E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;57E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;58E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;60E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;61E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;62E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;63E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;64E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;65E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;66E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;67E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;31E;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;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;69E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;69E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;72E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;45E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;6;$afontD;K;6;CP$UIDd;2;76E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;77E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;78E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;2;68E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;2;79E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;2;68E;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;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;80E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;43E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;82E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;7;$aimageD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;78E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;87E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;88E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;89E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;90E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;68E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;91E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;84E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;68E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;92E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;93E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;94E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;95E;K;6;$afontD;K;6;CP$UIDd;2;96E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;88E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;91E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;99E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;84E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;78E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;100E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;101E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;94E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;6;$afontD;K;6;CP$UIDd;2;96E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;102E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;89E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;103E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;68E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;78E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;104E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;91E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;89E;E;S;35;NSKeyValueBindingSimpleBindingsTestD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;buttonS;16;objectControllerS;6;sliderS;9;textFieldS;9;theWindowS;8;delegateS;10;muteTrack:S;23;value: selection.volumeS;5;valueS;16;selection.volumeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;2;91E;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;105E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;10;CP.objectsD;E;E;S;20;contentObject: trackS;13;contentObjectS;5;trackD;K;6;$classD;K;6;CP$UIDd;2;53E;K;10;CP.objectsD;E;E;S;13;CPApplicationS;32;{10000000000000, 10000000000000}S;8;CPWindowd;9;544735232S;24;{{196, 518}, {223, 125}}S;22;{{0, 0}, {1680, 1028}}d;2;15S;6;Windowd;1;0S;20;{{0, 0}, {223, 125}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;E;E;S;6;normalS;21;{{81, 48}, {124, 21}}S;19;{{0, 0}, {124, 21}}d;1;8D;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;106E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;107E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;89E;E;d;1;5d;1;4d;2;11S;20;{{81, 82}, {70, 25}}S;18;{{0, 0}, {70, 25}}S;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;75E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;108E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;109E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;91E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;91E;E;d;1;2D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;4;nameD;K;6;CP$UIDd;3;110E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;111E;K;5;valueD;K;6;CP$UIDd;3;112E;E;S;4;MuteS;0;F;d;2;14T;S;21;{{77, 16}, {128, 29}}S;19;{{0, 0}, {128, 29}}S;9;textfieldS;28;bezeled+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;2;75E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;108E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;109E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;91E;E;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;113E;E;S;20;{{17, 24}, {55, 17}}S;18;{{0, 0}, {55, 17}}S;7;Volume:D;K;6;$classD;K;6;CP$UIDd;2;98E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;114E;E;S;19;CPMutableDictionaryS;7;NothingS;9;Helveticad;2;12S;28;_CPFontSystemFacePlaceholderd;2;-1S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;2;75E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;115E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;116E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;89E;E;D;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;117E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;117E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;117E;E;E;S;13;Lucida Granded;2;13d;1;1f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/MyDocument.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/MyDocument.j index b21b77e0a..6abf8445a 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/MyDocument.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/MyDocument.j @@ -174,5 +174,5 @@ @end -@import "TableViewDataSource.j" +//@import "TableViewDataSource.j" diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/Resources/01_WithoutBindings.cib b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/Resources/01_WithoutBindings.cib index 4c2fda318..878e6badc 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/Resources/01_WithoutBindings.cib +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/Resources/01_WithoutBindings.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;16E;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;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;27E;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;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;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;33E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;24E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;85E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;86E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;92E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;33E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;93E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;87E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;95E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;96E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;97E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;98E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;99E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;100E;K;6;$afontD;K;6;CP$UIDd;3;102E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;87E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;104E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;105E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;103E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;87E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;106E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;103E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;112E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;112E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;112E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;116E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;103E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;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;25E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;117E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;122E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;123E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;105E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;112E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;125E;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;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;12;$agrid-colorD;K;6;CP$UIDd;3;130E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;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;131E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;132E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;87E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;94E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;105E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;112E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;112E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;112E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;133E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;130E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;105E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;135E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;39E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;136E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;97E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;98E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;99E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;100E;K;6;$afontD;K;6;CP$UIDd;3;102E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;87E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;137E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;105E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;103E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;87E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;140E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;33E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;141E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;87E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;142E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;143E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;144E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;126E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;149E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;31E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;20E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;108E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;108E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;108E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;108E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;112E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;112E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;105E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;150E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;103E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;151E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;103E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;112E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;112E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;112E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;116E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;103E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;154E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;155E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;156E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;157E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;158E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;160E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;87E;K;11;$aalignmentD;K;6;CP$UIDd;3;162E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;105E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;87E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;162E;K;31;CPTextFieldPlaceholderStringKeyD;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;149E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;29E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;166E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;160E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;87E;K;11;$aalignmentD;K;6;CP$UIDd;3;162E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;105E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;87E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;162E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;103E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;112E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;112E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;112E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;116E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;103E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;169E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;6;$afontD;K;6;CP$UIDd;3;172E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;103E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;173E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;105E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;103E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;174E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;E;S;19;Horizontal ScrollerS;20;Push Button (Remove)S;10;Text FieldS;22;Text Field Cell (URL:)S;20;Table Column (title)S;20;Button Cell (Remove)S;11;ApplicationS;18;Table View (Title)S;17;Push Button (Add)S;17;Vertical ScrollerS;17;Text Field Cell-1S;33;Bordered Scroll View (Table View)S;12;Text Field-1S;17;Text Field Cell-2S;34;Text Field Cell (Collection Name:)S;27;Window (01_WithoutBindings)S;20;Static Text (Title:)S;17;Table Header ViewS;18;Static Text (URL:)S;17;Button Cell (Add)S;17;Text Field Cell-3S;12;Text Field-2S;30;Static Text (Collection Name:)S;24;Text Field Cell (Title:)S;12;Content ViewS;12;File's OwnerS;15;Text Field CellD;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;179E;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;180E;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;181E;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;79E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;24E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;185E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;186E;E;S;10;MyDocumentD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;d;1;0S;19;{{1, 1}, {477, 15}}S;19;{{0, 0}, {477, 15}}d;1;8S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:d;1;4f;9;0.9904762S;22;{{434, 215}, {78, 24}}S;18;{{0, 0}, {78, 24}}d;1;9S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;187E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;161E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;105E;E;d;1;2S;6;RemoveF;S;22;{{55, 241}, {461, 29}}S;19;{{0, 0}, {461, 29}}d;2;10S;9;textfieldS;19;bezeled+placeholderD;K;6;$classD;K;6;CP$UIDd;3;101E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;187E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;161E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;105E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;105E;E;T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;188E;E;S;5;titlef;8;473.5576f;8;31.55762d;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;121E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;191E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;87E;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;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;193E;K;6;$afontD;K;6;CP$UIDd;3;195E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;103E;K;11;$aalignmentD;K;6;CP$UIDd;2;87E;K;15;$acontent-insetD;K;6;CP$UIDd;3;197E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;114E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;87E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;113E;E;d;1;3S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;3;148E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;204E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;29E;E;S;20;{{0, 0}, {477, 117}}S;9;tableviewS;6;normalD;K;6;$classD;K;6;CP$UIDd;3;115E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;198E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;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;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;201E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;E;S;22;{{344, 215}, {78, 24}}S;3;AddS;22;{{478, 16}, {15, 117}}S;19;{{0, 0}, {15, 117}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;9;0.6157895S;22;{{20, 47}, {494, 150}}S;20;{{0, 0}, {494, 150}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;150E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;148E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;87E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;206E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;207E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;204E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;E;S;22;{{128, 13}, {388, 29}}S;19;{{0, 0}, {388, 29}}d;2;34S;28;{1.79769e+308, 1.79769e+308}S;8;CPWindowS;24;{{196, 518}, {534, 323}}d;2;15S;18;01_WithoutBindingsS;21;{{17, 248}, {38, 17}}S;18;{{0, 0}, {38, 17}}d;2;12d;1;1S;6;Title:S;19;{{0, 0}, {477, 23}}S;14;tableHeaderRowS;21;{{17, 280}, {38, 17}}S;4;URL:S;22;{{55, 273}, {461, 29}}S;21;{{17, 20}, {112, 17}}S;19;{{0, 0}, {112, 17}}d;2;36D;K;6;$classD;K;6;CP$UIDd;3;101E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;187E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;161E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;105E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;105E;E;S;16;Collection Name:S;20;{{0, 0}, {534, 323}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;40E;E;E;S;9;nameFieldS;26;selectedBookmarkTitleFieldS;24;selectedBookmarkURLFieldS;9;tableViewS;10;dataSourceS;8;delegateS;24;removeSelectedBookmarks:S;17;nameFieldChanged:S;12;addBookmark:S;34;selectedBookmarkTitleFieldChanged:S;32;selectedBookmarkURLFieldChanged:S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;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;209E;E;E;S;12;columnHeaderS;5;TitleS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;4;nameD;K;6;CP$UIDd;3;210E;K;12;defaultValueD;K;6;CP$UIDd;3;111E;K;6;valuesD;K;6;CP$UIDd;3;212E;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;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;213E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;162E;E;E;S;22;{{478, 127}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;21;{{1, 16}, {477, 117}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;215E;E;S;21;{{1, 133}, {477, 17}}S;19;{{0, 0}, {477, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;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;208E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;122E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;122E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;129E;E;S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;211E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;102E;K;6;normalD;K;6;CP$UIDd;3;111E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}f;3;0.5D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;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;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;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;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;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;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;52E;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;53E;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;54E;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;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;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;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;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;36E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;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;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;35E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;66E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;67E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;68E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;69E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;70E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;71E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;72E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;73E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;31E;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;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;75E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;75E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;78E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;85E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;89E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;91E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;84E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;85E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;92E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;93E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;94E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;95E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;85E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;86E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;86E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;86E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;84E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;85E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;95E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;85E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;86E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;86E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;86E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;84E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;85E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;95E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;85E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;86E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;86E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;86E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;84E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;85E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;108E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;109E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;43E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;42E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;100E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;100E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;100E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;100E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;86E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;86E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;89E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;110E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;84E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;74E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;109E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;111E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;45E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;86E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;74E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;38E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;118E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;85E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;74E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;119E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;120E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;121E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;122E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;74E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;38E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;123E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;85E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;74E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;124E;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;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;108E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;108E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;97E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;12;$agrid-colorD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;85E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;128E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;129E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;74E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;85E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;89E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;86E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;86E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;86E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;130E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;127E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;74E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;89E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;132E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;40E;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;46E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;133E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;134E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;135E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;136E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;138E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;139E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;140E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;89E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;86E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;141E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;142E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;146E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;74E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;7;$aimageD;K;6;CP$UIDd;3;148E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;74E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;85E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;149E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;96E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;89E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;150E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;74E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;86E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;84E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;74E;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;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;151E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;142E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;146E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;74E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;7;$aimageD;K;6;CP$UIDd;3;152E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;74E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;85E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;153E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;96E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;89E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;150E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;74E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;86E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;84E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;74E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;74E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;158E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;89E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;91E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;74E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;157E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;6;$afontD;K;6;CP$UIDd;2;83E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;74E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;89E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;89E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;91E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;74E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;157E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;10;MyDocumentD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;E;E;S;9;nameFieldS;26;selectedBookmarkTitleFieldS;24;selectedBookmarkURLFieldS;9;tableViewS;10;dataSourceS;8;delegateS;24;removeSelectedBookmarks:S;17;nameFieldChanged:S;12;addBookmark:S;34;selectedBookmarkTitleFieldChanged:S;32;selectedBookmarkURLFieldChanged:S;13;CPApplicationS;32;{10000000000000, 10000000000000}S;8;CPWindowd;9;544735232S;24;{{196, 518}, {534, 323}}S;22;{{0, 0}, {1680, 1028}}d;2;15S;18;01_WithoutBindingsd;1;0S;20;{{0, 0}, {534, 323}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;52E;E;E;S;6;normalS;21;{{20, 20}, {106, 17}}S;19;{{0, 0}, {106, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;161E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;162E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;d;1;2d;1;4T;S;16;Collection Name:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;163E;E;S;22;{{130, 13}, {388, 29}}S;19;{{0, 0}, {388, 29}}d;2;34S;28;bezeled+editable+placeholderS;0;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;164E;E;S;22;{{57, 241}, {461, 29}}S;19;{{0, 0}, {461, 29}}d;2;10S;22;{{57, 273}, {461, 29}}S;22;{{20, 47}, {494, 150}}S;20;{{0, 0}, {494, 150}}D;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;2;43E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;110E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;165E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;45E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;169E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;40E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;171E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;E;S;19;{{0, 0}, {477, 25}}S;14;tableHeaderRowS;19;{{1, 1}, {477, 15}}S;19;{{0, 0}, {477, 15}}d;1;8S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;9;0.9904762S;22;{{478, 16}, {15, 117}}S;19;{{0, 0}, {15, 117}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;9;0.6157895S;20;{{0, 0}, {477, 117}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;90E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;172E;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;2;47E;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;131E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;74E;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;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;E;S;5;titlef;8;473.5576f;8;31.55762d;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;137E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;171E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;6;$afontD;K;6;CP$UIDd;3;178E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;74E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;179E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;178E;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;74E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;171E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;180E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;85E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;74E;K;15;$acontent-insetD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;85E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;74E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;2;96E;E;d;1;3S;22;{{434, 214}, {78, 25}}S;18;{{0, 0}, {78, 25}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;82E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;161E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;162E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;147E;K;4;nameD;K;6;CP$UIDd;3;184E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;185E;K;5;valueD;K;6;CP$UIDd;3;186E;E;S;6;Removed;2;14S;22;{{344, 214}, {78, 25}}D;K;6;$classD;K;6;CP$UIDd;3;147E;K;4;nameD;K;6;CP$UIDd;3;184E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;185E;K;5;valueD;K;6;CP$UIDd;3;186E;E;S;3;AddS;21;{{20, 248}, {32, 17}}S;18;{{0, 0}, {32, 17}}d;2;12d;1;1S;6;Title:S;21;{{20, 280}, {32, 17}}S;4;URL:S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;157E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;E;E;S;21;{{1, 16}, {477, 117}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;188E;E;S;21;{{1, 133}, {477, 17}}S;19;{{0, 0}, {477, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;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;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;157E;E;E;S;22;{{478, 127}, {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;191E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;2;82E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;193E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;89E;E;S;5;TitleS;11;placeholderD;K;6;$classD;K;6;CP$UIDd;3;147E;K;4;nameD;K;6;CP$UIDd;3;194E;K;12;defaultValueD;K;6;CP$UIDd;2;83E;K;6;valuesD;K;6;CP$UIDd;3;196E;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;182E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;197E;E;S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;2;82E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;198E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;89E;E;f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;157E;E;E;f;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;190E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;138E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;171E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;138E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;105E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;E;S;13;Lucida Granded;2;11S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;195E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;199E;K;6;normalD;K;6;CP$UIDd;3;200E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}d;2;13D;K;6;$classD;K;6;CP$UIDd;2;82E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;201E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;156E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;161E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;156E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;89E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/TableViewDataSource.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/TableViewDataSource.j index a4cba5084..24a9f8387 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/TableViewDataSource.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/TableViewDataSource.j @@ -23,6 +23,7 @@ */ @import "Bookmark.j" +@import "MyDocument.j" @implementation MyDocument (TableView) diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/WithoutBindingsTest.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/WithoutBindingsTest.j index fa86fa585..134fed5d4 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/WithoutBindingsTest.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/01_WithoutBindings/WithoutBindingsTest.j @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "MyDocument.j" +@import "TableViewDataSource.j" /*! Bindings test exercising the functionality seen in the Cocoa example "WithAndWithoutBindings" part 1. Part 1 does in fact not use bindings and serves only as a base line test case. diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Bookmark.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Bookmark2.j similarity index 91% rename from Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Bookmark.j rename to Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Bookmark2.j index d20fa5953..24fc9f8b4 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Bookmark.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Bookmark2.j @@ -22,7 +22,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@implementation Bookmark : CPObject +@import +@import +@import +@import + +@implementation Bookmark2 : CPObject { CPString title @accessors; CPDate creationDate @accessors; diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/MyDocument.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/MyDocument2.j similarity index 94% rename from Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/MyDocument.j rename to Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/MyDocument2.j index e86ab1203..4815c17fd 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/MyDocument.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/MyDocument2.j @@ -22,9 +22,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "Bookmark.j" +@import +@import +@import -@implementation MyDocument : CPDocument +@import "Bookmark2.j" +@import "TableViewDataSource.j" + +@implementation MyDocument2 : CPDocument { CPString name @accessors; CPString collectionDescription @accessors; @@ -86,6 +91,3 @@ } @end - -@import "TableViewDataSource.j" - diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.cib b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.cib index d76499146..72d36ebd5 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.cib +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.cib @@ -1 +1 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;4E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;7E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;9E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;2;10E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;2;11E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;2;12E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;2;13E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;2;14E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;16E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;18E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;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;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;75E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;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;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;E;E;S;16;IBCocoaFrameworkD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;26E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;96E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;97E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;2;98E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;99E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;100E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;2;99E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;2;99E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;2;99E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;2;99E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;2;99E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;100E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;100E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;2;75E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;101E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;103E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;107E;K;6;$afontD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;110E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;99E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;115E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;110E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;111E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;117E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;120E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;102E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;45E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;121E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;102E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;122E;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;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;123E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;37E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;127E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;128E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;129E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;130E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;131E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;15E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;132E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;136E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;137E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;102E;K;11;$aalignmentD;K;6;CP$UIDd;3;110E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;102E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;139E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;110E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;102E;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;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;142E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;102E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;45E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;143E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;102E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;144E;K;18;CPScrollerStyleKeyD;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;33E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;145E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;146E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;147E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;148E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;150E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;151E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;152E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;100E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;99E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;6;$afontD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;102E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;99E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;157E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;102E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;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;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;158E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;158E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;12;$agrid-colorD;K;6;CP$UIDd;3;161E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;162E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;163E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;102E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;111E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;100E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;99E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;99E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;99E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;99E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;164E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;161E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;100E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;166E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;26E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;167E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;136E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;137E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;102E;K;11;$aalignmentD;K;6;CP$UIDd;3;110E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;102E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;111E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;168E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;110E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;102E;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;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;169E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;170E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;107E;K;6;$afontD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;110E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;99E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;115E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;110E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;111E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;107E;K;6;$afontD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;110E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;99E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;115E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;110E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;111E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;173E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;173E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;175E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;6;$afontD;K;6;CP$UIDd;3;109E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;102E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;99E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;176E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;102E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;177E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;179E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;158E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;123E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;24E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;32E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;105E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;99E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;99E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;100E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;183E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;110E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;6;$afontD;K;6;CP$UIDd;3;187E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;110E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;99E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;188E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;110E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;111E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;19;My Array ControllerS;10;Text FieldS;17;Vertical ScrollerS;20;Button Cell (Remove)S;17;Table Header ViewS;24;Window (02_WithBindings)S;11;ApplicationS;20;Push Button (Remove)S;15;Text Field CellS;17;Text Field Cell-2S;17;Text Field Cell-3S;24;Text Field Cell (Title:)S;34;Text Field Cell (Collection Name:)S;17;Text Field Cell-1S;19;Horizontal ScrollerS;12;File's OwnerS;20;Table Column (title)S;18;Static Text (URL:)S;18;Table View (Title)S;22;Text Field Cell (URL:)S;17;Push Button (Add)S;12;Text Field-1S;12;Text Field-2S;12;Content ViewS;17;Button Cell (Add)S;20;Static Text (Title:)S;33;Bordered Scroll View (Table View)S;30;Static Text (Collection Name:)S;17;MyArrayControllerD;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;39E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;191E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;16E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;196E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;197E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;195E;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;87E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;199E;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;90E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;20E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;200E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;201E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;202E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;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;90E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;209E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;206E;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;90E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;212E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;206E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;213E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;214E;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;16E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;206E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;216E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;217E;E;S;10;MyDocumentD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;E;E;S;8;BookmarkT;F;S;17;CPArrayControllerd;1;0S;22;{{55, 241}, {461, 29}}S;19;{{0, 0}, {461, 29}}d;2;10S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;108E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;218E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;155E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;d;1;2d;1;4S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;219E;E;S;22;{{478, 16}, {15, 117}}S;19;{{0, 0}, {15, 117}}d;1;8S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.6157894730567932D;K;6;$classD;K;6;CP$UIDd;3;182E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;237E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;238E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;235E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;26E;E;S;19;{{0, 0}, {477, 23}}S;14;tableHeaderRowS;6;normalS;28;{1.79769e+308, 1.79769e+308}S;8;CPWindowS;24;{{196, 518}, {534, 323}}d;2;15S;15;02_WithBindingsS;13;CPApplicationS;22;{{434, 215}, {78, 24}}S;18;{{0, 0}, {78, 24}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;108E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;218E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;155E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;6;RemoveS;19;{{1, 1}, {477, 15}}S;19;{{0, 0}, {477, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9904761910438538S;5;titlef;17;473.5575866699219f;18;31.557619094848633d;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;149E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;221E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;102E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;223E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;109E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;226E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;110E;K;11;$aalignmentD;K;6;CP$UIDd;3;102E;K;15;$acontent-insetD;K;6;CP$UIDd;3;228E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;113E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;102E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;112E;E;d;1;3S;21;{{17, 280}, {38, 17}}S;18;{{0, 0}, {38, 17}}d;2;12d;1;1S;4;URL:D;K;6;$classD;K;6;CP$UIDd;3;182E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;233E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;234E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;235E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;S;20;{{0, 0}, {477, 117}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;114E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;229E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;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;165E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;102E;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;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;E;S;22;{{344, 215}, {78, 24}}S;3;AddS;22;{{128, 13}, {388, 29}}S;19;{{0, 0}, {388, 29}}d;2;34S;22;{{55, 273}, {461, 29}}S;20;{{0, 0}, {534, 323}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;35E;E;E;S;21;{{17, 248}, {38, 17}}S;6;Title:S;22;{{20, 47}, {494, 150}}S;20;{{0, 0}, {494, 150}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;183E;E;E;d;2;18S;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;E;S;21;{{17, 20}, {112, 17}}S;19;{{0, 0}, {112, 17}}d;2;36D;K;6;$classD;K;6;CP$UIDd;3;108E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;218E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;155E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;16;Collection Name:S;9;addButtonS;15;arrayControllerS;9;nameFieldS;12;removeButtonS;26;selectedBookmarkTitleFieldS;24;selectedBookmarkURLFieldS;9;tableViewS;10;dataSourceS;8;delegateS;7;remove:S;4;add:S;24;contentArray: collectionS;12;contentArrayS;10;collectionD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;203E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.titleS;5;valueS;21;arrangedObjects.titleD;K;6;$classD;K;6;CP$UIDd;3;203E;K;10;CP.objectsD;E;E;S;20;value: selection.URLS;13;selection.URLD;K;6;$classD;K;6;CP$UIDd;3;203E;K;10;CP.objectsD;K;22;CPValueTransformerNameD;K;6;CP$UIDd;3;239E;E;E;S;22;value: selection.titleS;15;selection.titleD;K;6;$classD;K;6;CP$UIDd;3;203E;K;10;CP.objectsD;E;E;S;11;value: nameS;4;nameD;K;6;$classD;K;6;CP$UIDd;3;203E;K;10;CP.objectsD;E;E;S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;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;241E;E;E;S;12;columnHeaderS;5;TitleS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;225E;K;4;nameD;K;6;CP$UIDd;3;242E;K;12;defaultValueD;K;6;CP$UIDd;3;109E;K;6;valuesD;K;6;CP$UIDd;3;243E;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;227E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;156E;E;E;S;22;{{478, 127}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;21;{{1, 16}, {477, 117}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;114E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;246E;E;S;21;{{1, 133}, {477, 17}}S;19;{{0, 0}, {477, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;22;StringToURLTransformerD;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;240E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;150E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;150E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;203E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;138E;K;6;normalD;K;6;CP$UIDd;3;109E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}f;3;0.5D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;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;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;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;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;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;59E;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;62E;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;63E;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;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;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;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;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;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;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;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;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;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;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;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;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;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;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;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;56E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;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;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;75E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;76E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;77E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;80E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;81E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;82E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;84E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;81E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;85E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;61E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;81E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;88E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;81E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;91E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;93E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;94E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;95E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;96E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;97E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;98E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;99E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;100E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;38E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;116E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;116E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;116E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;118E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;119E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;120E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;123E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;124E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;123E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;124E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;111E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;123E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;124E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;111E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;135E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;136E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;50E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;49E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;127E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;113E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;113E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;116E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;137E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;111E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;101E;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;46E;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;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;138E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;136E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;52E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;113E;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;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;45E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;145E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;112E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;101E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;146E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;147E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;148E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;149E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;45E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;150E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;112E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;101E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;151E;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;51E;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;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;152E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;135E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;124E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;12;$agrid-colorD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;112E;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;155E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;156E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;101E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;112E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;116E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;113E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;113E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;113E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;113E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;157E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;154E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;101E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;116E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;159E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;47E;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;53E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;160E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;161E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;162E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;163E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;165E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;167E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;116E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;113E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;169E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;172E;K;6;$afontD;K;6;CP$UIDd;3;173E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;101E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;7;$aimageD;K;6;CP$UIDd;3;175E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;112E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;176E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;123E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;116E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;177E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;101E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;111E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;101E;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;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;169E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;172E;K;6;$afontD;K;6;CP$UIDd;3;173E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;101E;K;11;$aalignmentD;K;6;CP$UIDd;3;111E;K;7;$aimageD;K;6;CP$UIDd;3;179E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;112E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;180E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;123E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;116E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;177E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;101E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;111E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;101E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;101E;K;11;$aalignmentD;K;6;CP$UIDd;3;184E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;185E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;116E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;116E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;116E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;118E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;101E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;184E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;38E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;38E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;101E;K;11;$aalignmentD;K;6;CP$UIDd;3;184E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;187E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;116E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;116E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;116E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;118E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;101E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;184E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;188E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;113E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;116E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;113E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;113E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;113E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;113E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;113E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;116E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;116E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;189E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;190E;E;S;10;MyDocumentD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;S;9;addButtonS;15;arrayControllerS;9;nameFieldS;12;removeButtonS;26;selectedBookmarkTitleFieldS;24;selectedBookmarkURLFieldS;9;tableViewS;10;dataSourceS;8;delegateS;7;remove:S;4;add:S;24;contentArray: collectionS;12;contentArrayS;10;collectionD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.titleS;5;valueS;21;arrangedObjects.titleD;K;6;$classD;K;6;CP$UIDd;2;78E;K;10;CP.objectsD;E;E;S;20;value: selection.URLS;13;selection.URLD;K;6;$classD;K;6;CP$UIDd;2;78E;K;10;CP.objectsD;K;22;CPValueTransformerNameD;K;6;CP$UIDd;3;191E;E;E;S;22;value: selection.titleS;15;selection.titleD;K;6;$classD;K;6;CP$UIDd;2;78E;K;10;CP.objectsD;E;E;S;11;value: nameS;4;nameD;K;6;$classD;K;6;CP$UIDd;2;78E;K;10;CP.objectsD;E;E;S;13;CPApplicationS;32;{10000000000000, 10000000000000}S;8;CPWindowd;9;544735232S;24;{{196, 518}, {534, 323}}S;22;{{0, 0}, {1680, 1028}}d;2;15S;15;02_WithBindingsd;1;0S;20;{{0, 0}, {534, 323}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;59E;E;E;S;6;normalS;21;{{20, 20}, {106, 17}}S;19;{{0, 0}, {106, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;193E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;d;1;2d;1;4T;S;16;Collection Name:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;194E;E;S;22;{{130, 13}, {388, 29}}S;19;{{0, 0}, {388, 29}}d;2;34S;28;bezeled+editable+placeholderS;0;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;195E;E;S;22;{{57, 241}, {461, 29}}S;19;{{0, 0}, {461, 29}}d;2;10S;22;{{57, 273}, {461, 29}}S;22;{{20, 47}, {494, 150}}S;20;{{0, 0}, {494, 150}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;137E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;142E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;198E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;142E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;198E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;202E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;S;19;{{0, 0}, {477, 25}}S;14;tableHeaderRowS;19;{{1, 1}, {477, 15}}S;19;{{0, 0}, {477, 15}}d;1;8S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9904761910438538S;22;{{478, 16}, {15, 117}}S;19;{{0, 0}, {15, 117}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.6157894730567932S;20;{{0, 0}, {477, 117}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;117E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;203E;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;2;54E;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;158E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;204E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;205E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;142E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;S;5;titlef;17;473.5575866699219f;18;31.557619094848633d;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;164E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;202E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;208E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;6;$afontD;K;6;CP$UIDd;3;209E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;101E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;210E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;209E;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;101E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;202E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;211E;K;6;$afontD;K;6;CP$UIDd;3;212E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;111E;K;11;$aalignmentD;K;6;CP$UIDd;3;101E;K;15;$acontent-insetD;K;6;CP$UIDd;3;214E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;123E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;115E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;112E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;101E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;123E;E;d;1;3S;22;{{434, 214}, {78, 25}}S;18;{{0, 0}, {78, 25}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;109E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;193E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;174E;K;4;nameD;K;6;CP$UIDd;3;215E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;216E;K;5;valueD;K;6;CP$UIDd;3;217E;E;S;6;Removed;2;14S;22;{{344, 214}, {78, 25}}D;K;6;$classD;K;6;CP$UIDd;3;174E;K;4;nameD;K;6;CP$UIDd;3;215E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;216E;K;5;valueD;K;6;CP$UIDd;3;217E;E;S;3;AddS;21;{{20, 248}, {32, 17}}S;18;{{0, 0}, {32, 17}}d;2;12d;1;1S;6;Title:S;21;{{20, 280}, {32, 17}}S;4;URL:S;9;Bookmark2S;17;MyArrayControllerS;17;CPArrayControllerS;22;StringToURLTransformerS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;184E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;E;E;S;21;{{1, 16}, {477, 117}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;52E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;219E;E;S;21;{{1, 133}, {477, 17}}S;19;{{0, 0}, {477, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;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;220E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;184E;E;E;S;22;{{478, 127}, {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;222E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;109E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;223E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;116E;E;S;5;TitleS;11;placeholderD;K;6;$classD;K;6;CP$UIDd;3;174E;K;4;nameD;K;6;CP$UIDd;3;225E;K;12;defaultValueD;K;6;CP$UIDd;3;110E;K;6;valuesD;K;6;CP$UIDd;3;226E;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;213E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;227E;E;S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;109E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;223E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;228E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;116E;E;f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;E;E;f;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;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;165E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;202E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;165E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;78E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;229E;K;6;normalD;K;6;CP$UIDd;3;230E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}d;2;13D;K;6;$classD;K;6;CP$UIDd;3;109E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;231E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;116E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.xib b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.xib index 4a2d898e6..29aa495ac 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.xib +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/Resources/02_WithBindings.xib @@ -389,7 +389,7 @@ title URL - Bookmark + Bookmark2 YES YES diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/StringToURLTransformer.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/StringToURLTransformer.j index 14ea21cae..6bc54a496 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/StringToURLTransformer.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/StringToURLTransformer.j @@ -22,6 +22,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import +@import + @implementation StringToURLTransformer : CPValueTransformer + (void)initialize diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/TableViewDataSource.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/TableViewDataSource.j index c4321f4df..dbf4844da 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/TableViewDataSource.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/TableViewDataSource.j @@ -22,7 +22,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "Bookmark.j" +@import +@import + +@import "Bookmark2.j" // In 02 this is a subclass of CPArrayController. @implementation MyArrayController : CPArrayController diff --git a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/WithBindingsTest.j b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/WithBindingsTest.j index c1131ca81..fe266be8a 100644 --- a/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/WithBindingsTest.j +++ b/Tests/AppKit/WithAndWithoutBindingsIntegration/02_WithBindings/WithBindingsTest.j @@ -20,13 +20,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "MyDocument.j" +@import + +@import "MyDocument2.j" @import "StringToURLTransformer.j" /*! Bindings test exercising the functionality seen in the Cocoa example "WithAndWithoutBindings" part 1. Part 1 does in fact not use bindings and serves only as a base line test case. */ - @implementation WithBindingsTest : OJTestCase { } @@ -39,7 +40,7 @@ - (void)test { - var theDocument = [MyDocument new], + var theDocument = [MyDocument2 new], cib = [CPBundle loadCibFile:[[CPBundle bundleForClass:WithBindingsTest] pathForResource:"02_WithBindings.cib"] externalNameTable:[CPDictionary dictionaryWithObject:theDocument forKey:CPCibOwner]]; [theDocument windowControllerDidLoadCib:self]; diff --git a/Tests/Foundation/CPArrayPerformanceTest.j b/Tests/Foundation/CPArrayPerformanceTest.j index 5c1f4235a..581364d27 100644 --- a/Tests/Foundation/CPArrayPerformanceTest.j +++ b/Tests/Foundation/CPArrayPerformanceTest.j @@ -5,6 +5,8 @@ var FILE = require("file"); @import @import +@global module + var ELEMENTS = 100, REPEATS = 10; @@ -15,7 +17,7 @@ var ELEMENTS = 100, - (void)setUp { - var descriptors = [ + descriptors = [ [CPSortDescriptor sortDescriptorWithKey:"a" ascending:NO], [CPSortDescriptor sortDescriptorWithKey:"b" ascending:YES] ]; @@ -227,7 +229,7 @@ var ELEMENTS = 100, { var count = [descriptors count]; - sort(function(lhs, rhs) + self.sort(function(lhs, rhs) { var i = 0, result = CPOrderedSame; @@ -251,7 +253,7 @@ var ELEMENTS = 100, - (CPArray)_native_sortUsingSelector:(SEL)aSelector { - sort(function(lhs, rhs) + self.sort(function(lhs, rhs) { return [lhs performSelector:aSelector withObject:rhs]; }); diff --git a/Tests/Foundation/CPArrayTest.j b/Tests/Foundation/CPArrayTest.j index 107b33fb0..e2fec2da7 100644 --- a/Tests/Foundation/CPArrayTest.j +++ b/Tests/Foundation/CPArrayTest.j @@ -616,7 +616,7 @@ [self assert:input1[1] equals:[output valueForKey:"1"] message:@"output[0]"]; [self assert:input1[2] equals:[output valueForKey:"2"] message:@"output[0]"]; - stoppingFunction = function(anObject, idx, stop) + var stoppingFunction = function(anObject, idx, stop) { [output setValue:anObject forKey:"" + idx]; if ([output count] > 1) @@ -635,12 +635,12 @@ var array = [CGRectMake(1, 2, 3, 4), CGPointMake(5, 6)], d = [array description]; - [self assertTrue:d.indexOf("x: 1") !== -1 message:"Can't find 'x: 1' in description of array " + d]; - [self assertTrue:d.indexOf("y: 2") !== -1 message:"Can't find 'y: 2' in description of array " + d]; - [self assertTrue:d.indexOf("width: 3") !== -1 message:"Can't find 'width: 3' in description of array " + d]; - [self assertTrue:d.indexOf("height: 4") !== -1 message:"Can't find 'height: 4' in description of array " + d]; - [self assertTrue:d.indexOf("x: 5") !== -1 message:"Can't find 'x: 5' in description of array " + d]; - [self assertTrue:d.indexOf("y: 6") !== -1 message:"Can't find 'y: 6' in description of array " + d]; + [self assertTrue:d.indexOf("x:1") !== -1 message:"Can't find 'x:1' in description of array " + d]; + [self assertTrue:d.indexOf("y:2") !== -1 message:"Can't find 'y:2' in description of array " + d]; + [self assertTrue:d.indexOf("width:3") !== -1 message:"Can't find 'width:3' in description of array " + d]; + [self assertTrue:d.indexOf("height:4") !== -1 message:"Can't find 'height:4' in description of array " + d]; + [self assertTrue:d.indexOf("x:5") !== -1 message:"Can't find 'x:5' in description of array " + d]; + [self assertTrue:d.indexOf("y:6") !== -1 message:"Can't find 'y:6' in description of array " + d]; } - (void)testSortUsingDescriptorsWithDifferentSelectors diff --git a/Tests/Foundation/CPAttributedStringTest.j b/Tests/Foundation/CPAttributedStringTest.j index ccf59cd40..0a88f8e06 100644 --- a/Tests/Foundation/CPAttributedStringTest.j +++ b/Tests/Foundation/CPAttributedStringTest.j @@ -600,4 +600,4 @@ function testAttributeAtIndexWithValue(aString, anIndex, aKey, aValue, aSelf) function printRangeEntry(entry) { print("range: " + CPStringFromRange(entry.range) + " " + [entry.attributes description]); -} \ No newline at end of file +} diff --git a/Tests/Foundation/CPDateTest.j b/Tests/Foundation/CPDateTest.j index d719eee85..996d05787 100644 --- a/Tests/Foundation/CPDateTest.j +++ b/Tests/Foundation/CPDateTest.j @@ -5,8 +5,8 @@ - (void)testSince1970 { /* These two dates should be equal to Fri Jan 13 2009 23:31:30 +0000 */ - unixDate = [CPDate dateWithTimeIntervalSince1970:1231889490]; - cocoaDate = [CPDate dateWithTimeIntervalSinceReferenceDate:253582290]; + var unixDate = [CPDate dateWithTimeIntervalSince1970:1231889490], + cocoaDate = [CPDate dateWithTimeIntervalSinceReferenceDate:253582290]; [self assertTrue:[unixDate isEqualToDate:cocoaDate] message:[unixDate description] + " isEqualToDate: " + [cocoaDate description]]; } diff --git a/Tests/Foundation/CPDecimalTest.j b/Tests/Foundation/CPDecimalTest.j index 1a8411a09..442aaa03d 100644 --- a/Tests/Foundation/CPDecimalTest.j +++ b/Tests/Foundation/CPDecimalTest.j @@ -34,7 +34,7 @@ var dcm = CPDecimalMakeWithString(@"11111111111111111111111111111111111111111"); [self assertNotNull:dcm message:"CPDecimalMakeWithString() Tb1: mantissa rounding string"]; [self assert:3 equals:dcm._exponent message:"CPDecimalMakeWithString() Tb1: exponent"]; - [self assert:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] equals:dcm._mantissa message:"CPDecimalMakeWithString() Tb1: mantissa"]; + [self assert:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] equals:dcm._mantissa message:"CPDecimalMakeWithString() Tb1: mantissa"]; [self assert:NO equals:dcm._isNegative message:"CPDecimalMakeWithString() Tb1: sign"]; [self assert:NO equals:dcm._isNaN message:"CPDecimalMakeWithString() Tb1: NaN is incorrectly set"]; @@ -56,7 +56,7 @@ dcm = CPDecimalMakeWithString(@"-1234.5678e100"); [self assertNotNull:dcm message:"CPDecimalMakeWithString() Tf3: mantissa rounding string"]; [self assert:96 equals:dcm._exponent message:"CPDecimalMakeWithString() Tf3: exponent"]; - [self assert:[1,2,3,4,5,6,7,8] equals:dcm._mantissa message:"CPDecimalMakeWithString() Tf3: mantissa"]; + [self assert:[1, 2, 3, 4, 5, 6, 7, 8] equals:dcm._mantissa message:"CPDecimalMakeWithString() Tf3: mantissa"]; [self assert:YES equals:dcm._isNegative message:"CPDecimalMakeWithString() Tf3: sign"]; [self assert:NO equals:dcm._isNaN message:"CPDecimalMakeWithString() Tf3: NaN is incorrectly set"]; @@ -101,20 +101,20 @@ [self assertTrue:dcm._isNaN message:"CPDecimalMakeWithString() Ti10: catch of invalid number string. Should return NaN"]; //test make with parts - dcm = CPDecimalMakeWithParts(10127658,2); + dcm = CPDecimalMakeWithParts(10127658, 2); [self assert:2 equals:dcm._exponent message:"CPDecimalMakeWithParts() Tmp1: exponent"]; - [self assert:[1,0,1,2,7,6,5,8] equals:dcm._mantissa message:"CPDecimalMakeWithParts() Tmp1: mantissa"]; + [self assert:[1, 0, 1, 2, 7, 6, 5, 8] equals:dcm._mantissa message:"CPDecimalMakeWithParts() Tmp1: mantissa"]; [self assert:NO equals:dcm._isNegative message:"CPDecimalMakeWithParts() Tmp1: sign"]; [self assert:NO equals:dcm._isNaN message:"CPDecimalMakeWithParts() Tmp1: NaN is incorrectly set"]; - dcm = CPDecimalMakeWithParts(-1000000,0); + dcm = CPDecimalMakeWithParts(-1000000, 0); [self assert:6 equals:dcm._exponent message:"CPDecimalMakeWithParts() Tmp2: exponent"]; [self assert:[1] equals:dcm._mantissa message:"CPDecimalMakeWithParts() Tmp2: mantissa"]; [self assert:YES equals:dcm._isNegative message:"CPDecimalMakeWithParts() Tmp2: sign"]; [self assert:NO equals:dcm._isNaN message:"CPDecimalMakeWithParts() Tmp2: NaN is incorrectly set"]; - dcm = CPDecimalMakeWithParts(1,10000); + dcm = CPDecimalMakeWithParts(1, 10000); [self assertTrue:dcm._isNaN message:"CPDecimalMakeWithParts() Tmp3: exponent overflow not caught. Should return NaN"]; - dcm = CPDecimalMakeWithParts(-1,-1000); + dcm = CPDecimalMakeWithParts(-1, -1000); [self assertTrue:dcm._isNaN message:"CPDecimalMakeWithParts() Tmp4: exponent underflow not caught. Should return NaN"]; } @@ -143,8 +143,8 @@ - (void)testNormalize { - dcm1 = CPDecimalMakeWithString( @"200" ); - dcm2 = CPDecimalMakeWithString( @"2" ); + var dcm1 = CPDecimalMakeWithString( @"200" ), + dcm2 = CPDecimalMakeWithString( @"2" ); [self assert:0 equals:CPDecimalNormalize(dcm1,dcm2,CPRoundDown) message:"CPDecimalNormalise() Tn1:call" ]; [self assert:[2,0,0] equals:dcm1._mantissa message:"CPDecimalNormalise() Tn1: mantissa"]; [self assert:0 equals:dcm1._exponent message:"CPDecimalNormalise() Tn1: exponent"]; @@ -172,7 +172,7 @@ [self assert:0 equals:CPDecimalNormalize(dcm1,dcm2,CPRoundDown) message:"CPDecimalNormalise() Tn4:call" ]; [self assert:[1,0] equals:dcm1._mantissa message:"CPDecimalNormalise() Tn4: mantissa"]; [self assert:-8 equals:dcm1._exponent message:"CPDecimalNormalise() Tn4: exponent"]; - [self assert:[2,1] equals:dcm2._mantissa message:"CPDecimalNormalise() Tn4: mantissa"]; + [self assert:[2, 1] equals:dcm2._mantissa message:"CPDecimalNormalise() Tn4: mantissa"]; [self assert:-8 equals:dcm2._exponent message:"CPDecimalNormalise() Tn4: exponent"]; // these will result in one number becoming zero. @@ -181,13 +181,13 @@ [self assert:CPCalculationLossOfPrecision equals:CPDecimalNormalize(dcm1,dcm2,CPRoundDown) message:"CPDecimalNormalise() Tnp1:call should ret LossOfPrecision" ]; [self assert:[0] equals:dcm1._mantissa message:"CPDecimalNormalise() Tnp1: mantissa"]; [self assert:0 equals:dcm1._exponent message:"CPDecimalNormalise() Tnp1: exponent"]; - [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1] equals:dcm2._mantissa message:"CPDecimalNormalise() Tnp1: mantissa"]; + [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1] equals:dcm2._mantissa message:"CPDecimalNormalise() Tnp1: mantissa"]; [self assert:2 equals:dcm2._exponent message:"CPDecimalNormalise() Tnp1: exponent"]; dcm1 = CPDecimalMakeWithString( @"10000000000000000000000000000000000001e2" ); dcm2 = CPDecimalMakeWithString( @"1e0" ); [self assert:CPCalculationLossOfPrecision equals:CPDecimalNormalize(dcm1,dcm2,CPRoundDown) message:"CPDecimalNormalise() Tnp2:call should ret LossOfPrecision" ]; - [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1] equals:dcm1._mantissa message:"CPDecimalNormalise() Tnp2: mantissa"]; + [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1] equals:dcm1._mantissa message:"CPDecimalNormalise() Tnp2: mantissa"]; [self assert:2 equals:dcm1._exponent message:"CPDecimalNormalise() Tnp2:exponent"]; [self assert:[0] equals:dcm2._mantissa message:"CPDecimalNormalise() Tnp2: mantissa"]; [self assert:0 equals:dcm2._exponent message:"CPDecimalNormalise() Tnp2: exponent"]; @@ -195,7 +195,7 @@ dcm1 = CPDecimalMakeWithString( @"10000000000000000000000000000000000001e127" ); dcm2 = CPDecimalMakeWithString( @"1e0" ); [self assert:CPCalculationLossOfPrecision equals:CPDecimalNormalize(dcm1,dcm2,CPRoundDown) message:"CPDecimalNormalise() Tnp3:call should ret LossOfPrecision" ]; - [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1] equals:dcm1._mantissa message:"CPDecimalNormalise() Tnp3: mantissa"]; + [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1] equals:dcm1._mantissa message:"CPDecimalNormalise() Tnp3: mantissa"]; [self assert:127 equals:dcm1._exponent message:"CPDecimalNormalise() Tnp3: exponent"]; [self assert:[0] equals:dcm2._mantissa message:"CPDecimalNormalise() Tnp3: mantissa"]; [self assert:0 equals:dcm2._exponent message:"CPDecimalNormalise() Tnp3: exponent"]; @@ -350,14 +350,14 @@ - (void)testCompact { var dcm = CPDecimalMakeZero(); - dcm._mantissa = [0,0,0,0,1,0,0,0,0,1]; + dcm._mantissa = [0,0,0,0, 1,0,0,0,0, 1]; dcm._exponent = 2; CPDecimalCompact(dcm); [self assert:2 equals:dcm._exponent message:"CPDecimalCompact() Tcm1: exponent"]; - [self assert:[1,0,0,0,0,1] equals:dcm._mantissa message:"CPDecimalCompact() Tcm1: mantissa"]; + [self assert:[1,0,0,0,0, 1] equals:dcm._mantissa message:"CPDecimalCompact() Tcm1: mantissa"]; dcm = CPDecimalMakeZero(); - dcm._mantissa = [0,0,0,0,1,2,0,0,0,0]; + dcm._mantissa = [0,0,0,0, 1,2,0,0,0,0]; dcm._exponent = -4; dcm._isNegative = YES; CPDecimalCompact(dcm); @@ -375,12 +375,12 @@ [self assert:NO equals:dcm._isNaN message:"CPDecimalCompact() Tcm3: NaN is incorrectly set"]; dcm = CPDecimalMakeZero(); - dcm._mantissa = [8,9,0,0,0,0,1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; + dcm._mantissa = [8,9,0,0,0,0, 1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; dcm._exponent = -20; dcm._isNegative = YES; CPDecimalCompact(dcm); [self assert:-5 equals:dcm._exponent message:"CPDecimalCompact() Tcm4: exponent"]; - [self assert:[8,9,0,0,0,0,1,2,3] equals:dcm._mantissa message:"CPDecimalCompact() Tcm4: mantissa"]; + [self assert:[8,9,0,0,0,0, 1,2,3] equals:dcm._mantissa message:"CPDecimalCompact() Tcm4: mantissa"]; [self assert:YES equals:dcm._isNegative message:"CPDecimalCompact() Tcm4: sign"]; [self assert:NO equals:dcm._isNaN message:"CPDecimalCompact() Tcm4: NaN is incorrectly set"]; } @@ -395,7 +395,7 @@ while (i--) [self assert:CPDecimalAdd(d1, d1, d2, CPRoundPlain) equals:CPCalculationNoError message:"CPDecimalAdd() Tap1: addition"]; [self assert:0 equals:d1._exponent message:"CPDecimalAdd() Tap1: exponent"]; - [self assert:[5,1] equals:d1._mantissa message:"CPDecimalAdd() Tap1: mantissa"]; + [self assert:[5, 1] equals:d1._mantissa message:"CPDecimalAdd() Tap1: mantissa"]; [self assert:NO equals:d1._isNegative message:"CPDecimalAdd() Tap1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalAdd() Tap1: NaN is incorrectly set"]; @@ -404,7 +404,7 @@ d2 = CPDecimalMakeWithString(@"-1e-10"); [self assert:CPCalculationNoError equals:CPDecimalAdd(d1, d1, d2, CPRoundPlain) message:"CPDecimalAdd() Tan1: addition of 2 negatives"]; [self assert:-10 equals:d1._exponent message:"CPDecimalAdd() Tan1: exponent"]; - [self assert:[1,0,0,0,0,0,0,0,0,0,1] equals:d1._mantissa message:"CPDecimalAdd() Tan1: mantissa"]; + [self assert:[1,0,0,0,0,0,0,0,0,0, 1] equals:d1._mantissa message:"CPDecimalAdd() Tan1: mantissa"]; [self assert:YES equals:d1._isNegative message:"CPDecimalAdd() Tan1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalAdd() Tan1: NaN is incorrectly set"]; @@ -429,7 +429,7 @@ d2 = CPDecimalMakeWithString(@"99999999999999999999999999999999999999"); [self assert:0 equals:CPDecimalAdd(d1, d1, d2, CPRoundPlain) message:"CPDecimalAdd() Tapc1: addition with mantissa overflow and rounding"]; [self assert:1 equals:d1._exponent message:"CPDecimalAdd() Tapc1: exponent"]; - [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4] equals:d1._mantissa message:"CPDecimalAdd() Tapc1: mantissa"]; + [self assert:[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,2,3,4] equals:d1._mantissa message:"CPDecimalAdd() Tapc1: mantissa"]; [self assert:NO equals:d1._isNegative message:"CPDecimalAdd() Tapc1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalAdd() Tapc1: NaN is incorrectly set"]; @@ -450,7 +450,7 @@ d3 = CPDecimalMakeWithString(@"12.67"); [self assert:CPCalculationNoError equals:CPDecimalSubtract(d1,d2,d3,CPRoundPlain) message:"CPDecimalSubtract(): Ts1: Should succeed"]; [self assert:-3 equals:d1._exponent message:"CPDecimalSubtract(): Ts1: exponent"]; - [self assert:[1,1,7,9,5] equals:d1._mantissa message:"CPDecimalSubtract(): Ts1: mantissa"]; + [self assert:[1, 1,7,9,5] equals:d1._mantissa message:"CPDecimalSubtract(): Ts1: mantissa"]; [self assert:YES equals:d1._isNegative message:"CPDecimalSubtract(): Ts1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalSubtract(): Ts1: NaN is incorrectly set"]; @@ -459,7 +459,7 @@ d3 = CPDecimalMakeWithString(@"-12.67"); [self assert:CPCalculationNoError equals:CPDecimalSubtract(d1,d2,d3,CPRoundPlain) message:"CPDecimalSubtract(): Ts2: Should succeed"]; [self assert:-3 equals:d1._exponent message:"CPDecimalSubtract(): Ts2: exponent"]; - [self assert:[1,1,7,9,5] equals:d1._mantissa message:"CPDecimalSubtract(): Ts2: mantissa"]; + [self assert:[1, 1,7,9,5] equals:d1._mantissa message:"CPDecimalSubtract(): Ts2: mantissa"]; [self assert:NO equals:d1._isNegative message:"CPDecimalSubtract(): Ts2: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalSubtract(): Ts2: NaN is incorrectly set"]; @@ -499,7 +499,7 @@ d3 = CPDecimalMakeWithString(@"-5e20"); [self assert:CPCalculationNoError equals:CPDecimalDivide(d1,d2,d3,CPRoundPlain) message:"CPDecimalDivide(): Td1: Should succeed"]; [self assert:-8 equals:d1._exponent message:"CPDecimalDivide(): Td1: exponent"]; - [self assert:[1,1] equals:d1._mantissa message:"CPDecimalDivide(): Td1: mantissa"]; + [self assert:[1, 1] equals:d1._mantissa message:"CPDecimalDivide(): Td1: mantissa"]; [self assert:YES equals:d1._isNegative message:"CPDecimalDivide(): Td1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalDivide(): Td1: NaN is incorrectly set"]; @@ -536,7 +536,7 @@ d3 = CPDecimalMakeWithString(@"12"); [self assert:CPCalculationLossOfPrecision equals:CPDecimalDivide(d1,d2,d3,CPRoundUp) message:"CPDecimalDivide(): Tdp2: Should Loss of precision"]; [self assert:-39 equals:d1._exponent message:"CPDecimalDivide(): Td2: exponent"]; - [self assert:[7,2,9,1,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6] equals:d1._mantissa message:"CPDecimalDivide(): Td2: mantissa"]; + [self assert:[7,2,9, 1,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6] equals:d1._mantissa message:"CPDecimalDivide(): Td2: mantissa"]; [self assert:YES equals:d1._isNegative message:"CPDecimalDivide(): Td2: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalDivide(): Td2: NaN is incorrectly set"]; @@ -564,7 +564,7 @@ d3 = CPDecimalMakeWithString(@"-1441231251321235231"); [self assert:CPCalculationNoError equals:CPDecimalMultiply(d1,d2,d3,CPRoundPlain) message:"CPDecimalMultiply(): Tm1: Should succeed"]; [self assert:0 equals:d1._exponent message:"CPDecimalMultiply(): Tm1: exponent"]; - [self assert:[1,7,2,9,4,7,7,5,0,1,5,8,5,4,8,2,2,7,7,2] equals:d1._mantissa message:"CPDecimalMultiply(): Tm1: mantissa"]; + [self assert:[1,7,2,9,4,7,7,5,0, 1,5,8,5,4,8,2,2,7,7,2] equals:d1._mantissa message:"CPDecimalMultiply(): Tm1: mantissa"]; [self assert:YES equals:d1._isNegative message:"CPDecimalMultiply(): Tm1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalMultiply(): Tm1: NaN is incorrectly set"]; @@ -601,7 +601,7 @@ d3 = CPDecimalMakeWithString(@"127889465810478913"); [self assert:CPCalculationLossOfPrecision equals:CPDecimalMultiply(d1,d2,d3,CPRoundDown) message:"CPDecimalMultiply(): Tmp1: Should throw loss of precision"]; [self assert:15 equals:d1._exponent message:"CPDecimalMultiply(): Tmp1: exponent"]; // 69 diff - [self assert:[2,7,1,5,6,2,0,9,1,7,5,7,6,3,3,5,0,9,2,9,7,4,0,2,3,5,6,0,8,0,6,9,5,2,8,3,9,1] equals:d1._mantissa message:"CPDecimalMultiply(): Tmp1: mantissa"]; + [self assert:[2,7, 1,5,6,2,0,9, 1,7,5,7,6,3,3,5,0,9,2,9,7,4,0,2,3,5,6,0,8,0,6,9,5,2,8,3,9, 1] equals:d1._mantissa message:"CPDecimalMultiply(): Tmp1: mantissa"]; [self assert:NO equals:d1._isNegative message:"CPDecimalMultiply(): Tmp1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalMultiply(): Tmp1: NaN is incorrectly set"]; @@ -621,7 +621,7 @@ d3 = 12; [self assert:CPCalculationNoError equals:CPDecimalPower(d1,d2,d3,CPRoundPlain) message:"CPDecimalPower(): Tp1: Should succeed"]; [self assert:0 equals:d1._exponent message:"CPDecimalPower(): Tp1: exponent"]; - [self assert:[1,1,9,9,1,1,6,3,8,4,8,7,1,6,9,0,6,2,9,7,0,7,2,7,2,1] equals:d1._mantissa message:"CPDecimalPower(): Tp1: mantissa"]; + [self assert:[1, 1,9,9, 1, 1,6,3,8,4,8,7, 1,6,9,0,6,2,9,7,0,7,2,7,2, 1] equals:d1._mantissa message:"CPDecimalPower(): Tp1: mantissa"]; [self assert:NO equals:d1._isNegative message:"CPDecimalPower(): Tp1: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalPower(): Tp1: NaN is incorrectly set"]; @@ -632,7 +632,7 @@ d3 = 101; [self assert:CPCalculationLossOfPrecision equals:CPDecimalPower(d1,d2,d3,CPRoundUp) message:"CPDecimalPower(): Tp2: Should throw Loss of precision"]; [self assert:-43 equals:d1._exponent message:"CPDecimalPower(): Tp2: exponent"]; - [self assert:[1,3,8,9,3,5,5,4,0,5,9,9,2,5,6,6,1,2,7,4,8,2,1,8,1,4,6,3,6,8,0,7,5,3,5,2,0,4] equals:d1._mantissa message:"CPDecimalPower(): Tp2: mantissa"]; + [self assert:[1,3,8,9,3,5,5,4,0,5,9,9,2,5,6,6, 1,2,7,4,8,2, 1,8, 1,4,6,3,6,8,0,7,5,3,5,2,0,4] equals:d1._mantissa message:"CPDecimalPower(): Tp2: mantissa"]; [self assert:NO equals:d1._isNegative message:"CPDecimalPower(): Tp2: sign"]; [self assert:NO equals:d1._isNaN message:"CPDecimalPower(): Tp2: NaN is incorrectly set"]; diff --git a/Tests/Foundation/CPDictionaryTest.j b/Tests/Foundation/CPDictionaryTest.j index cd7e43c1f..685f2cdb3 100644 --- a/Tests/Foundation/CPDictionaryTest.j +++ b/Tests/Foundation/CPDictionaryTest.j @@ -367,7 +367,7 @@ // Stop enumerating after two keys. output = [CPMutableDictionary dictionary]; - stoppingFunction = function(aKey, anObject, stop) + var stoppingFunction = function(aKey, anObject, stop) { [output setValue:anObject forKey:aKey]; if ([output count] > 1) @@ -389,14 +389,14 @@ var dict = [[CPDictionary alloc] initWithObjects:[CGRectMake(1, 2, 3, 4), CGPointMake(5, 6)] forKeys:[@"key1", @"key2"]], d = [dict description]; - [self assertTrue:d.indexOf("x: 1") !== -1 message:"Can't find 'x: 1' in description of dictionary " + d]; - [self assertTrue:d.indexOf("y: 2") !== -1 message:"Can't find 'y: 2' in description of dictionary " + d]; - [self assertTrue:d.indexOf("width: 3") !== -1 message:"Can't find 'width: 3' in description of dictionary " + d]; - [self assertTrue:d.indexOf("height: 4") !== -1 message:"Can't find 'height: 4' in description of dictionary " + d]; - [self assertTrue:d.indexOf("x: 5") !== -1 message:"Can't find 'x: 5' in description of dictionary " + d]; - [self assertTrue:d.indexOf("y: 6") !== -1 message:"Can't find 'y: 6' in description of dictionary " + d]; + [self assertTrue:d.indexOf("x:1") !== -1 message:"Can't find 'x: 1' in description of dictionary " + d]; + [self assertTrue:d.indexOf("y:2") !== -1 message:"Can't find 'y: 2' in description of dictionary " + d]; + [self assertTrue:d.indexOf("width:3") !== -1 message:"Can't find 'width: 3' in description of dictionary " + d]; + [self assertTrue:d.indexOf("height:4") !== -1 message:"Can't find 'height: 4' in description of dictionary " + d]; + [self assertTrue:d.indexOf("x:5") !== -1 message:"Can't find 'x: 5' in description of dictionary " + d]; + [self assertTrue:d.indexOf("y:6") !== -1 message:"Can't find 'y: 6' in description of dictionary " + d]; - [self assert:'@{\n\tkey1: @[\n\t\t@"1",\n\t\t@"2",\n\t\t@"3"\n\t],\n\tkey2: @"This is a string",\n\tkey3: @{\n\t\tanother: @"object",\n\t},\n}' equals:[json_dict description]]; + [self assert:'@{\n @"key1": @[\n @"1",\n @"2",\n @"3"\n ],\n @"key2": @"This is a string",\n @"key3": @{\n @"another": @"object"\n }\n}' equals:[json_dict description]]; } @end diff --git a/Tests/Foundation/CPExceptionTest.j b/Tests/Foundation/CPExceptionTest.j index 6451e32b5..9c038223d 100644 --- a/Tests/Foundation/CPExceptionTest.j +++ b/Tests/Foundation/CPExceptionTest.j @@ -2,6 +2,7 @@ @implementation CPExceptionTest : OJTestCase { + CPException exception; } - (void)setUp @@ -13,9 +14,9 @@ - (void)testInitWithNameReasonUserInfo { - var exception = [[CPException alloc] initWithName:@"CPUnsupportedMethodException" - reason:@"setHeaderCell: is not supported. -setHeaderCell:aView instead." - userInfo:nil]; + exception = [[CPException alloc] initWithName:@"CPUnsupportedMethodException" + reason:@"setHeaderCell: is not supported. -setHeaderCell:aView instead." + userInfo:nil]; [self assert:[exception name] equals:"CPUnsupportedMethodException"]; [self assert:[exception reason] equals:"setHeaderCell: is not supported. -setHeaderCell:aView instead."]; [self assertThrows:function(){[exception raise]}]; @@ -43,7 +44,7 @@ - (void)testRaise { - [self assertThrows:function(){[exception raise];}]; + [self assertThrows:function() { [exception raise]; }]; } @end diff --git a/Tests/Foundation/CPFormatterTest.j b/Tests/Foundation/CPFormatterTest.j index 04a4afd7c..ff7218ece 100644 --- a/Tests/Foundation/CPFormatterTest.j +++ b/Tests/Foundation/CPFormatterTest.j @@ -1,4 +1,5 @@ @import +@import @implementation CPFormatterTest : OJTestCase @@ -39,6 +40,7 @@ { var formatter = [[CPFormatter alloc] init]; - [self assertThrows:function(){ [formatter isPartialStringValue:@"Hello Wolrd" proposedSelectedRange:CPRangeMake(3,5) originalString:@"Hello World" originalSelectedRange:nil errorDescription:nil]; }]; + [self assertThrows:function(){ [formatter isPartialStringValue:@"Hello Wolrd" proposedSelectedRange:CPMakeRange(3, 5) originalString:@"Hello World" originalSelectedRange:nil errorDescription:nil]; }]; } -@end \ No newline at end of file + +@end diff --git a/Tests/Foundation/CPFunctionOperationTest.j b/Tests/Foundation/CPFunctionOperationTest.j index cc4086440..5165029fb 100644 --- a/Tests/Foundation/CPFunctionOperationTest.j +++ b/Tests/Foundation/CPFunctionOperationTest.j @@ -17,11 +17,10 @@ - (void)testRunInvocation { - so = [[SomeObject alloc] init]; + var so = [[SomeObject alloc] init], + someVar = nil, + funcOp = [CPFunctionOperation functionOperationWithFunction:function() {[so setAString:@"Hello World"]}]; - var someVar = nil; - - funcOp = [CPFunctionOperation functionOperationWithFunction:function() {[so setAString:@"Hello World"]}]; [funcOp addExecutionFunction:function() {someVar = 'Soylent Green';}]; [funcOp start]; diff --git a/Tests/Foundation/CPIndexSetTest.j b/Tests/Foundation/CPIndexSetTest.j index adc0a0f43..0f1827a0d 100644 --- a/Tests/Foundation/CPIndexSetTest.j +++ b/Tests/Foundation/CPIndexSetTest.j @@ -24,42 +24,42 @@ function descriptionWithoutEntity(aString) [self assert:descriptionWithoutEntity(indexSet) equals:@"(no indexes)"]; // Test adding initial range - [indexSet addIndexesInRange:CPMakeRange(30,10)]; + [indexSet addIndexesInRange:CPMakeRange(30, 10)]; [self assert:@"[number of indexes: 10 (in 1 range), indexes: (30-39)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding range after existing ranges. - [indexSet addIndexesInRange:CPMakeRange(50,10)]; + [indexSet addIndexesInRange:CPMakeRange(50, 10)]; [self assert:@"[number of indexes: 20 (in 2 ranges), indexes: (30-39 50-59)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding range before existing ranges. - [indexSet addIndexesInRange:CPMakeRange(10,10)]; + [indexSet addIndexesInRange:CPMakeRange(10, 10)]; [self assert:@"[number of indexes: 30 (in 3 ranges), indexes: (10-19 30-39 50-59)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding range inbetween existing ranges. - [indexSet addIndexesInRange:CPMakeRange(45,2)]; + [indexSet addIndexesInRange:CPMakeRange(45, 2)]; [self assert:@"[number of indexes: 32 (in 4 ranges), indexes: (10-19 30-39 45-46 50-59)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding single index inbetween existing ranges. - [indexSet addIndexesInRange:CPMakeRange(23,1)]; + [indexSet addIndexesInRange:CPMakeRange(23, 1)]; [self assert:@"[number of indexes: 33 (in 5 ranges), indexes: (10-19 23 30-39 45-46 50-59)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding range inbetween existing ranges that forces a combination - [indexSet addIndexesInRange:CPMakeRange(47,3)]; + [indexSet addIndexesInRange:CPMakeRange(47, 3)]; [self assert:@"[number of indexes: 36 (in 4 ranges), indexes: (10-19 23 30-39 45-59)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding range across ranges forcing a combination - [indexSet addIndexesInRange:CPMakeRange(35,15)]; + [indexSet addIndexesInRange:CPMakeRange(35, 15)]; [self assert:@"[number of indexes: 41 (in 3 ranges), indexes: (10-19 23 30-59)]" equals:descriptionWithoutEntity(indexSet)]; // Test adding range across two empty slots forcing a combination - [indexSet addIndexesInRange:CPMakeRange(5,70)]; + [indexSet addIndexesInRange:CPMakeRange(5, 70)]; [self assert:@"[number of indexes: 70 (in 1 range), indexes: (5-74)]" equals:descriptionWithoutEntity(indexSet)]; @@ -67,6 +67,8 @@ function descriptionWithoutEntity(aString) [indexSet addIndex:4]; [self assert:@"[number of indexes: 71 (in 1 range), indexes: (4-74)]" equals:descriptionWithoutEntity(indexSet)]; + + [self assertThrows:function() { [indexSet addIndex:CPNotFound]; }]; } - (void)testRemoveIndexes diff --git a/Tests/Foundation/CPInvocationOperationTest.j b/Tests/Foundation/CPInvocationOperationTest.j index a03a16732..54d54e38f 100644 --- a/Tests/Foundation/CPInvocationOperationTest.j +++ b/Tests/Foundation/CPInvocationOperationTest.j @@ -1,6 +1,6 @@ @import -@implementation SomeObject : CPObject +@implementation SomeObject2 : CPObject { CPString result @accessors; } @@ -17,7 +17,7 @@ - (void)testRunInvocation { - var so = [[SomeObject alloc] init], + var so = [[SomeObject2 alloc] init], io = [[CPInvocationOperation alloc] initWithTarget:so selector:@selector(setAString:) object:@"Hello World"]; [io start]; diff --git a/Tests/Foundation/CPKVCArrayTest.j b/Tests/Foundation/CPKVCArrayTest.j index cc96e2ffa..12e5edd52 100644 --- a/Tests/Foundation/CPKVCArrayTest.j +++ b/Tests/Foundation/CPKVCArrayTest.j @@ -215,22 +215,33 @@ var COUNTER; - (void)testRemoveObjectsInArrayUsesRemoveKeyAtIndex { + [[self object] setValues:[3, 1, 1, 3, 6]]; [self _patchSelector:@selector(removeObjectFromValuesAtIndex:)]; [[[self object] mutableArrayValueForKey:@"values"] removeObjectsInArray:[3, 6]]; - [self assert:[0, 1, 2, 4, 5, 7, 8, 9] equals:[[self object] values]]; - [self assert:2 equals:COUNTER message:"removeObjectFromValuesAtIndex: should have been called once"] + // Note that all instances of the specified values are removed, not just the first one. + [self assert:[1, 1] equals:[[self object] values]]; + [self assert:3 equals:COUNTER message:"removeObjectFromValuesAtIndex: should have been called thrice"] + + // Try to remove something that doesn't exist. Should not crash. + [[[self object] mutableArrayValueForKey:@"values"] removeObjectsInArray:[3, 6]]; + [self assert:[1, 1] equals:[[self object] values]]; } - (void)testRemoveObjectsInArrayUsesRemoveKeyAtIndexes { + [[self object] setValues:[3, 1, 1, 3, 6]]; [self _patchSelector:@selector(removeValuesAtIndexes:)]; - [[[self object] mutableArrayValueForKey:@"values"] removeObjectsInArray:[0, 9]]; + [[[self object] mutableArrayValueForKey:@"values"] removeObjectsInArray:[3, 6]]; - [self assert:[1, 2, 3, 4, 5, 6, 7, 8] equals:[[self object] values]]; + [self assert:[1, 1] equals:[[self object] values]]; [self assert:1 equals:COUNTER message:@"removeValuesAtIndexes: should have been called once"]; + + // Try to remove something that doesn't exist. Should not crash. + [[[self object] mutableArrayValueForKey:@"values"] removeObjectsInArray:[3, 6]]; + [self assert:[1, 1] equals:[[self object] values]]; } - (void)testRemoveLastObjectUsesRemoveKeyAtIndex @@ -328,7 +339,7 @@ var COUNTER; [self assert:[two valueForKeyPath:"@max.intValue"] equals:8]; [self assert:[two valueForKeyPath:"@min.intValue"] equals:0]; - var a = [A new]; + var a = [AA new]; [a setValue:one forKey:"b"]; [self assert:[a valueForKeyPath:"b.@count"] equals:8]; [self assert:[a valueForKeyPath:"b.@sum.intValue"] equals:8]; @@ -347,7 +358,7 @@ var COUNTER; @end -@implementation A : CPObject +@implementation AA : CPObject { id b; } diff --git a/Tests/Foundation/CPKVOTest.j b/Tests/Foundation/CPKVOTest.j index f4614bf71..57ba2dd8c 100644 --- a/Tests/Foundation/CPKVOTest.j +++ b/Tests/Foundation/CPKVOTest.j @@ -10,6 +10,7 @@ id bob; id obj; + id obj2; id cs101; id focus; @@ -431,7 +432,7 @@ - (void)testDependentKeysPaths { - var object = [[TestObject alloc] init]; + var object = [[TestObject2 alloc] init]; [object addObserver:self forKeyPath:@"key" options:0 context:@"testDependentKeysPaths"]; @@ -880,7 +881,7 @@ } @end -@implementation TestObject : CPObject +@implementation TestObject2 : CPObject { CPString key @accessors; CPString affectingKey @accessors; diff --git a/Tests/Foundation/CPKeyValueCodingTest.j b/Tests/Foundation/CPKeyValueCodingTest.j index fd62a0138..d45f1f096 100644 --- a/Tests/Foundation/CPKeyValueCodingTest.j +++ b/Tests/Foundation/CPKeyValueCodingTest.j @@ -480,8 +480,8 @@ var accessIVARS = YES; - (void)testValueForKeyPath { - var department = [Department departmentWithName:@"Engineering"], - employee = [Employee employeeWithName:@"Klaas Pieter" department:department]; + var department = [Department2 departmentWithName:@"Engineering"], + employee = [Employee2 employeeWithName:@"Klaas Pieter" department:department]; [self assert:department equals:[employee valueForKey:@"department"]]; [self assert:@"Engineering" equals:[employee valueForKeyPath:@"department.name"]]; @@ -489,10 +489,10 @@ var accessIVARS = YES; @end -@implementation Employee : CPObject +@implementation Employee2 : CPObject { CPString _name @accessors(property=name); - Department _department @accessors(property=department); + Department2 _department @accessors(property=department); } + (id)employeeWithName:(CPString)theName department:(Department)theDepartment @@ -513,7 +513,7 @@ var accessIVARS = YES; @end -@implementation Department : CPObject +@implementation Department2 : CPObject { CPString _name @accessors(property=name); } diff --git a/Tests/Foundation/CPKeyValueObservingTest.j b/Tests/Foundation/CPKeyValueObservingTest.j index 55c9f5f9d..82a0e4a7e 100644 --- a/Tests/Foundation/CPKeyValueObservingTest.j +++ b/Tests/Foundation/CPKeyValueObservingTest.j @@ -5,6 +5,10 @@ @implementation CPKeyValueObservingTest : OJTestCase { + CPString _lastKeyPath; + id _lastObject; + CPDictionary _lastChange; + id _lastContext; } - (Class)objectWithMethods:(CPString)aMethodName, ... @@ -24,7 +28,7 @@ - (void)setup { - _lastKeyPath = _lastObject = _lastChange = _lastContext = nil; + _lastKeyPath = _lastObject = _lastChange = _lastContext = nil; } - (void)testInitialObserving diff --git a/Tests/Foundation/CPMutableArrayTest.j b/Tests/Foundation/CPMutableArrayTest.j index 4cdf8cbee..1633f9fc1 100644 --- a/Tests/Foundation/CPMutableArrayTest.j +++ b/Tests/Foundation/CPMutableArrayTest.j @@ -380,11 +380,11 @@ [pretty sortUsingDescriptors:[[[CPSortDescriptor alloc] initWithKey:@"value" ascending:NO]]]; - [self assert:"@[\n\t3:d,\n\t2:c,\n\t1:b,\n\t0:a\n]" equals:[pretty description]]; + [self assert:"@[\n 3:d,\n 2:c,\n 1:b,\n 0:a\n]" equals:[pretty description]]; [pretty sortUsingDescriptors:[[[CPSortDescriptor alloc] initWithKey:@"value" ascending:YES]]]; - [self assert:"@[\n\t0:a,\n\t1:b,\n\t2:c,\n\t3:d\n]" equals:[pretty description]]; + [self assert:"@[\n 0:a,\n 1:b,\n 2:c,\n 3:d\n]" equals:[pretty description]]; } - (void)testThatCPArrayDoesSortUsingTwoDescriptors @@ -449,11 +449,8 @@ - (void)testMutableCopy { - var normalArray = [CPArray array]; - - [self assertThrows:function () { [array addObject:[CPNull null]] }]; - - var mutableArray = [normalArray mutableCopy]; + var normalArray = [], + mutableArray = [normalArray mutableCopy]; [mutableArray addObject:[CPNull null]]; diff --git a/Tests/Foundation/CPNumberFormatterTest.j b/Tests/Foundation/CPNumberFormatterTest.j index 63380122a..6063d881e 100644 --- a/Tests/Foundation/CPNumberFormatterTest.j +++ b/Tests/Foundation/CPNumberFormatterTest.j @@ -30,6 +30,14 @@ [self assert:@"123,456" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:123456]]]; [self assert:@"1,234,567" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:1234567]]]; + [self assert:@"-1" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-1]]]; + [self assert:@"-12" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-12]]]; + [self assert:@"-123" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-123]]]; + [self assert:@"-1,234" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-1234]]]; + [self assert:@"-12,345" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-12345]]]; + [self assert:@"-123,456" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-123456]]]; + [self assert:@"-1,234,567" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:-1234567]]]; + [numberFormatter setGroupingSeparator:@" "]; [self assert:@"1" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:1]]]; [self assert:@"12" equals:[numberFormatter stringFromNumber:[CPNumber numberWithInt:12]]]; @@ -78,6 +86,7 @@ [self assert:@"1" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1"]]]; [self assert:@"0.4" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.4467"]]]; + [self assert:@"-0.4" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"-0.4467"]]]; } - (void)testSetMinimumFractionDigits_ @@ -89,6 +98,7 @@ [self assert:@"1.000" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1"]]]; [self assert:@"1.100" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.1"]]]; + [self assert:@"-1.100" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"-1.1"]]]; [self assert:@"0.4467" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.4467"]]]; } @@ -121,6 +131,7 @@ [numberFormatter setCurrencyCode:@"USD"]; [self assert:@"$1.00" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1"]]]; + [self assert:@"-$1.00" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"-1"]]]; [self assert:@"$12.00" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"12"]]]; [self assert:@"$12.10" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"12.1"]]]; [self assert:@"$12.10" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"12.10"]]]; @@ -149,6 +160,7 @@ [numberFormatter setNumberStyle:CPNumberFormatterPercentStyle]; [self assert:@"1%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.01"]]]; + [self assert:@"-1%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"-0.01"]]]; [self assert:@"100%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.0"]]]; [self assert:@"150%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.5"]]]; diff --git a/Tests/Foundation/CPOperationTest.j b/Tests/Foundation/CPOperationTest.j index d577a754b..701ef8397 100644 --- a/Tests/Foundation/CPOperationTest.j +++ b/Tests/Foundation/CPOperationTest.j @@ -1,6 +1,6 @@ @import -@implementation TestOperation : CPOperation +@implementation TestOperation2 : CPOperation { CPString name @accessors; CPString value @accessors; @@ -13,7 +13,7 @@ @end -@implementation TestObserver : CPObject +@implementation TestObserver2 : CPObject { CPArray changedKeyPaths @accessors; } @@ -106,7 +106,7 @@ - (void)testCompletionFunction { - var to = [[TestOperation alloc] init]; + var to = [[TestOperation2 alloc] init]; [to setCompletionFunction:function() {[to setValue:@"something"];}]; [to start]; @@ -118,9 +118,9 @@ - (void)testKVO { - var to = [[TestOperation alloc] init], - to2 = [[TestOperation alloc] init], - obs = [[TestObserver alloc] init]; + var to = [[TestOperation2 alloc] init], + to2 = [[TestOperation2 alloc] init], + obs = [[TestObserver2 alloc] init]; [to addObserver:obs forKeyPath:@"isCancelled" diff --git a/Tests/Foundation/CPStringTest.j b/Tests/Foundation/CPStringTest.j index 67f06f299..92944b791 100644 --- a/Tests/Foundation/CPStringTest.j +++ b/Tests/Foundation/CPStringTest.j @@ -145,21 +145,21 @@ - (void)testBoolValue { var testStrings = [ - [" 090", YES], - [" YES", YES], - [" true", YES], - [" True", YES], - [" tTR", YES], - [" +98", YES], - [" -98", YES], - [" +08", YES], - [" -98", YES], - [" NO", NO], - [" -N00", NO], - [" 00", NO], - [" -00", NO], - [" -+001", NO], - ]; + [" 090", YES], + [" YES", YES], + [" true", YES], + [" True", YES], + [" tTR", YES], + [" +98", YES], + [" -98", YES], + [" +08", YES], + [" -98", YES], + [" NO", NO], + [" -N00", NO], + [" 00", NO], + [" -00", NO], + [" -+001", NO], + ]; for (var i = 0; i < testStrings.length; i++) [self assert:[testStrings[i][0] boolValue] equals:testStrings[i][1]]; @@ -168,18 +168,18 @@ - (void)testCommonPrefixWithString { var testStringsCase = [ - ["Hello", "Helicopter", "Hel"], - ["Tester", "Taser", "T"], - ["Abcd", "Abcd", "Abcd"], - ["A long string", "A longer string", "A long"] - ]; + ["Hello", "Helicopter", "Hel"], + ["Tester", "Taser", "T"], + ["Abcd", "Abcd", "Abcd"], + ["A long string", "A longer string", "A long"] + ]; var testStringsCaseless = [ - ["hElLo", "HeLiCoPtEr", "hEl"], - ["tEsTeR", "TaSeR", "t"], - ["aBcD", "AbCd", "aBcD"], - ["a LoNg StRiNg", "A lOnGeR sTrInG", "a LoNg"] - ]; + ["hElLo", "HeLiCoPtEr", "hEl"], + ["tEsTeR", "TaSeR", "t"], + ["aBcD", "AbCd", "aBcD"], + ["a LoNg StRiNg", "A lOnGeR sTrInG", "a LoNg"] + ]; for (var i = 0; i < testStringsCase.length; i++) [self assert: [testStringsCase[i][0] commonPrefixWithString:testStringsCase[i][1]] @@ -194,11 +194,11 @@ - (void)testCapitalizedString { var testStrings = [ - ["", ""], - ["hElLo wOrLd", "Hello World"], - [" monkey-Cow", " Monkey-cow"], - ["tHe QuicK bRowN-Fox JumPed_Over +the LaZy%dog", "The Quick Brown-fox Jumped_over +the Lazy%dog"] - ]; + ["", ""], + ["hElLo wOrLd", "Hello World"], + [" monkey-Cow", " Monkey-cow"], + ["tHe QuicK bRowN-Fox JumPed_Over +the LaZy%dog", "The Quick Brown-fox Jumped_over +the Lazy%dog"] + ]; for (var i = 0; i < testStrings.length; i++) [self assert:[testStrings[i][0] capitalizedString] equals:testStrings[i][1]]; @@ -228,26 +228,26 @@ - (void)testStringByAppendingPathComponent { var testStrings = [ - ["/tmp/", "scratch.tiff", "/tmp/scratch.tiff"], - ["/tmp///", "scratch.tiff", "/tmp/scratch.tiff"], - ["/tmp///", "///scratch.tiff", "/tmp/scratch.tiff"], - ["/tmp", "scratch.tiff", "/tmp/scratch.tiff"], - ["/tmp///", "scratch.tiff", "/tmp/scratch.tiff"], - ["/tmp///", "///scratch.tiff", "/tmp/scratch.tiff"], - ["/", "scratch.tiff", "/scratch.tiff"], - ["", "scratch.tiff", "scratch.tiff"], - ["", "", ""], - ["", "/", ""], - ["/", "/", "/"], - ["/tmp", nil, "/tmp"], - ["/tmp", "/", "/tmp"], - ["/tmp/", "", "/tmp"] - ]; + ["/tmp/", "scratch.tiff", "/tmp/scratch.tiff"], + ["/tmp///", "scratch.tiff", "/tmp/scratch.tiff"], + ["/tmp///", "///scratch.tiff", "/tmp/scratch.tiff"], + ["/tmp", "scratch.tiff", "/tmp/scratch.tiff"], + ["/tmp///", "scratch.tiff", "/tmp/scratch.tiff"], + ["/tmp///", "///scratch.tiff", "/tmp/scratch.tiff"], + ["/", "scratch.tiff", "/scratch.tiff"], + ["", "scratch.tiff", "scratch.tiff"], + ["", "", ""], + ["", "/", ""], + ["/", "/", "/"], + ["/tmp", nil, "/tmp"], + ["/tmp", "/", "/tmp"], + ["/tmp/", "", "/tmp"] + ]; for (var i = 0; i < testStrings.length; i++) { var result = [testStrings[i][0] stringByAppendingPathComponent:testStrings[i][1]]; - + [self assertTrue:result === testStrings[i][2] message:"Value <" + testStrings[i][0] + "> Adding <" + testStrings[i][1] + "> Expected <" + testStrings[i][2] + "> was <" + result + ">"]; } } @@ -255,18 +255,18 @@ - (void)testStringByAppendingPathExtension { var testStrings = [ - ["/tmp/scratch.old", "tiff", "/tmp/scratch.old.tiff"], - ["/tmp/scratch.", "tiff", "/tmp/scratch..tiff"], - ["/tmp///", "tiff", "/tmp.tiff"], - ["scratch", "tiff", "scratch.tiff"], - ["/", "tiff", "/"], - ["", "tiff", ""] - ]; + ["/tmp/scratch.old", "tiff", "/tmp/scratch.old.tiff"], + ["/tmp/scratch.", "tiff", "/tmp/scratch..tiff"], + ["/tmp///", "tiff", "/tmp.tiff"], + ["scratch", "tiff", "scratch.tiff"], + ["/", "tiff", "/"], + ["", "tiff", ""] + ]; for (var i = 0; i < testStrings.length; i++) { var result = [testStrings[i][0] stringByAppendingPathExtension:testStrings[i][1]]; - + [self assertTrue:result === testStrings[i][2] message:"Value <" + testStrings[i][0] + "> Adding <" + testStrings[i][1] + "> Expected <" + testStrings[i][2] + "> was <" + result + ">"]; } } @@ -274,26 +274,26 @@ - (void)testStringByDeletingLastPathComponent { var testStrings = [ - ["/tmp/scratch.tiff", "/tmp"], - ["/tmp/lock/", "/tmp"], - ["/tmp/", "/"], - ["/tmp", "/"], - ["/", "/"], - ["scratch.tiff", ""], - ["a/b/c/d//////", "a/b/c"], - ["a/b/////////c/d//////", "a/b/c"], - ["a/b/././././c/d/./././", "a/b/././././c/d/./."], - [@"a/b/././././d////", "a/b/./././."], - [@"~/a", "~"], - [@"~/a/", "~"], - [@"../../", ".."], - [@"", ""] - ]; + ["/tmp/scratch.tiff", "/tmp"], + ["/tmp/lock/", "/tmp"], + ["/tmp/", "/"], + ["/tmp", "/"], + ["/", "/"], + ["scratch.tiff", ""], + ["a/b/c/d//////", "a/b/c"], + ["a/b/////////c/d//////", "a/b/c"], + ["a/b/././././c/d/./././", "a/b/././././c/d/./."], + [@"a/b/././././d////", "a/b/./././."], + [@"~/a", "~"], + [@"~/a/", "~"], + [@"../../", ".."], + [@"", ""] + ]; for (var i = 0; i < testStrings.length; i++) { var result = [testStrings[i][0] stringByDeletingLastPathComponent]; - + [self assertTrue:result === testStrings[i][1] message:"Value <" + testStrings[i][0] + "> Expected <" + testStrings[i][1] + "> was <" + result + ">"]; } } @@ -301,18 +301,18 @@ - (void)testPathWithComponents { var testStrings = [ - [["tmp", "scratch"], "tmp/scratch"], - [["/", "tmp", "scratch"], "/tmp/scratch"], - [["/", "tmp", "/", "scratch"], "/tmp/scratch"], - [["/", "tmp", "scratch", "/"], "/tmp/scratch"], - [["/", "tmp", "scratch", ""], "/tmp/scratch"], - [["", "/tmp", "scratch", ""], "/tmp/scratch"], - [["", "tmp", "scratch", ""], "tmp/scratch"], - [["/"], "/"], - [["/", "/", "/"], "/"], - [["", "", ""], ""], - [[""], ""] - ]; + [["tmp", "scratch"], "tmp/scratch"], + [["/", "tmp", "scratch"], "/tmp/scratch"], + [["/", "tmp", "/", "scratch"], "/tmp/scratch"], + [["/", "tmp", "scratch", "/"], "/tmp/scratch"], + [["/", "tmp", "scratch", ""], "/tmp/scratch"], + [["", "/tmp", "scratch", ""], "/tmp/scratch"], + [["", "tmp", "scratch", ""], "tmp/scratch"], + [["/"], "/"], + [["/", "/", "/"], "/"], + [["", "", ""], ""], + [[""], ""] + ]; for (var i = 0; i < testStrings.length; i++) { @@ -325,15 +325,15 @@ - (void)testPathComponents { var testStrings = [ - ["tmp/scratch", ["tmp", "scratch"]], - ["/tmp/scratch", ["/", "tmp", "scratch"]], - ["/tmp/scratch/", ["/", "tmp", "scratch", "/"]], - ["/tmp/", ["/", "tmp", "/"]], - ["/////tmp/////scratch///", ["/", "tmp", "scratch", "/"]], - ["scratch.tiff", ["scratch.tiff"]], - ["/", ["/"]], - ["", [""]] - ]; + ["tmp/scratch", ["tmp", "scratch"]], + ["/tmp/scratch", ["/", "tmp", "scratch"]], + ["/tmp/scratch/", ["/", "tmp", "scratch", "/"]], + ["/tmp/", ["/", "tmp", "/"]], + ["/////tmp/////scratch///", ["/", "tmp", "scratch", "/"]], + ["scratch.tiff", ["scratch.tiff"]], + ["/", ["/"]], + ["", [""]] + ]; for (var i = 0; i < testStrings.length; i++) { @@ -346,13 +346,13 @@ - (void)testLastPathComponent { var testStrings = [ - ["/tmp/scratch.tiff", "scratch.tiff"], - ["/tmp/scratch", "scratch"], - ["/tmp/", "tmp"], - ["scratch", "scratch"], - ["/", "/"], - ["", ""] - ]; + ["/tmp/scratch.tiff", "scratch.tiff"], + ["/tmp/scratch", "scratch"], + ["/tmp/", "tmp"], + ["scratch", "scratch"], + ["/", "/"], + ["", ""] + ]; for (var i = 0; i < testStrings.length; i++) [self assert:testStrings[i][1] equals:[testStrings[i][0] lastPathComponent]]; @@ -361,12 +361,12 @@ - (void)testPathExtension { var testStrings = [ - ["/tmp/scratch.tiff", "tiff"], - ["scratch.png", "png"], - ["/tmp/scratch..tiff", "tiff"], - ["/tmp", ""], - ["scratch", ""], - ]; + ["/tmp/scratch.tiff", "tiff"], + ["scratch.png", "png"], + ["/tmp/scratch..tiff", "tiff"], + ["/tmp", ""], + ["scratch", ""], + ]; for (var i = 0; i < testStrings.length; i++) [self assert:testStrings[i][1] equals:[testStrings[i][0] pathExtension]]; @@ -375,13 +375,13 @@ - (void)testStringByDeletingPathExtension { var testStrings = [ - ["/tmp/scratch.tiff", "/tmp/scratch"], - ["scratch.png", "scratch"], - ["/tmp/scratch..tiff", "/tmp/scratch."], - ["/tmp", "/tmp"], - [".tiff", ".tiff"], - ["/", "/"], - ]; + ["/tmp/scratch.tiff", "/tmp/scratch"], + ["scratch.png", "scratch"], + ["/tmp/scratch..tiff", "/tmp/scratch."], + ["/tmp", "/tmp"], + [".tiff", ".tiff"], + ["/", "/"], + ]; for (var i = 0; i < testStrings.length; i++) [self assert:testStrings[i][1] equals:[testStrings[i][0] stringByDeletingPathExtension]]; diff --git a/Tests/Foundation/SubclassTollFreeTest.j b/Tests/Foundation/SubclassTollFreeTest.j index 48ce95cb7..7e47a51f9 100644 --- a/Tests/Foundation/SubclassTollFreeTest.j +++ b/Tests/Foundation/SubclassTollFreeTest.j @@ -2,14 +2,14 @@ - (void)testThatSubclassTollFreeDoesAllowForSubclassingDictionary { - var target = [[MyDict alloc] init]; + var target = [[MyDict2 alloc] init]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assert:0 equals:[target count]]; } - (void)testThatSubclassTollFreeDoesAllowForSubclassingString { - var target = [[MyString alloc] initWithString:@"adsf"]; + var target = [[MyString2 alloc] initWithString:@"adsf"]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assert:4 equals:[target length]]; @@ -20,42 +20,42 @@ - (void)testThatSubclassTollFreeDoesAllowForSubclassingNumber { - var target = [[MyNum alloc] init]; + var target = [[MyNum2 alloc] init]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assertFalse:[target isEqualToNumber:5]]; } - (void)testThatSubclassTollFreeDoesAllowForSubclassingException { - var target = [[MyException alloc] init]; + var target = [[MyException2 alloc] init]; [OJAssert assert:@"a" equals:[target newMessage]]; // there are no internal properties to test here.. so no need to jimmyrig it. } - (void)testThatSubclassTollFreeDoesAllowForSubclassingArray { - var target = [[MyArray alloc] initWithObjects:@"a"]; + var target = [[MyArray2 alloc] initWithObjects:@"a"]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assert:1 equals:[target count]]; } - (void)testThatSubclassTollFreeDoesAllowForSubclassingDate { - var target = [[MyDate alloc] init]; + var target = [[MyDate2 alloc] init]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assertTrue:[target timeIntervalSince1970] > 0]; } - (void)testThatSubclassTollFreeDoesAllowForSubclassingData { - var target = [[MyData alloc] initWithRawString:@"b"]; + var target = [[MyData2 alloc] initWithRawString:@"b"]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assert:@"b" equals:[target rawString]]; } - (void)testThatSubclassTollFreeDoesAllowForSubclassingURL { - var target = [[MyURL alloc] initWithString:@"http://www.google.com"]; + var target = [[MyURL2 alloc] initWithString:@"http://www.google.com"]; [OJAssert assert:@"a" equals:[target newMessage]]; [OJAssert assert:@"http://www.google.com" equals:[target absoluteString]]; } @@ -65,7 +65,7 @@ @import -@implementation MyDict : CPDictionary +@implementation MyDict2 : CPDictionary - (id)newMessage { @@ -74,7 +74,7 @@ @end -@implementation MyNum : CPNumber +@implementation MyNum2 : CPNumber - (id)newMessage { @@ -83,7 +83,7 @@ @end -@implementation MyString : CPString +@implementation MyString2 : CPString - (id)newMessage { @@ -92,7 +92,7 @@ @end -@implementation MyException : CPException +@implementation MyException2 : CPException - (id)newMessage { @@ -101,7 +101,7 @@ @end -@implementation MyArray : CPArray +@implementation MyArray2 : CPArray { CPArray _storage; } @@ -133,7 +133,7 @@ @end -@implementation MyDate : CPDate +@implementation MyDate2 : CPDate - (id)newMessage { @@ -142,7 +142,7 @@ @end -@implementation MyData : CPData +@implementation MyData2 : CPData - (id)newMessage { @@ -151,7 +151,7 @@ @end -@implementation MyURL : CPURL +@implementation MyURL2 : CPURL - (id)newMessage { diff --git a/Tests/Manual/ArrayController1/AppController.j b/Tests/Manual/ArrayController1/AppController.j index 8619a17a4..7e5e21268 100644 --- a/Tests/Manual/ArrayController1/AppController.j +++ b/Tests/Manual/ArrayController1/AppController.j @@ -68,7 +68,7 @@ CPLogRegister(CPLogConsole); //order front window - [theWindow setFullBridge:YES]; + [theWindow setFullPlatformWindow:YES]; [theWindow orderFront:self]; } /* @@ -184,7 +184,7 @@ CPLogRegister(CPLogConsole); return self; } -- (BOOL)validatePrice:(id)value error:({CPError})error +- (BOOL)validatePrice:(id)value error:(/*{*/CPError/*}*/)error { if ([value intValue] >= 0) return YES; diff --git a/Tests/Manual/ArrayController1/Resources/MainMenu.cib b/Tests/Manual/ArrayController1/Resources/MainMenu.cib index 642eae4c1..82526e293 100644 --- a/Tests/Manual/ArrayController1/Resources/MainMenu.cib +++ b/Tests/Manual/ArrayController1/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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;47E;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;49E;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;50E;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;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;49E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;59E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;60E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;61E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;62E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;63E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;65E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;65E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;66E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;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;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;68E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;69E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;70E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;74E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;75E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;32E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;33E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;76E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;76E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;76E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;76E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;77E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;77E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;77E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;78E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;79E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;64E;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;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;80E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;82E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;86E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;87E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;64E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;89E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;82E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;92E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;64E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;93E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;64E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;94E;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;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;95E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;97E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;98E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;12;$agrid-colorD;K;6;CP$UIDd;2;99E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;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;100E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;101E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;64E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;102E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;77E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;77E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;77E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;77E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;77E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;103E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;99E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;64E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;104E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;37E;K;26;CPTableViewAutosaveNameKeyD;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;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;75E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;35E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;77E;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;112E;K;16;$aimage-positionD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;64E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;115E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;104E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;64E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;64E;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;112E;K;16;$aimage-positionD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;64E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;88E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;117E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;104E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;64E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;64E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;86E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;122E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;104E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;79E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;86E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;88E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;77E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;79E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;88E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;86E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;130E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;104E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;79E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;86E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;88E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;77E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;77E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;79E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;88E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;86E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;104E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;79E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;86E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;88E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;104E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;104E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;79E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;88E;K;31;CPTextFieldPlaceholderStringKeyD;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;138E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;8;delegateS;17;selectedNameFieldS;18;selectedPriceFieldS;9;tableViewS;9;theWindowS;15;totalCountFieldS;4;add:S;7;remove:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {480, 305}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {480, 305}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;E;E;S;6;normalS;22;{{15, 20}, {445, 135}}S;20;{{0, 0}, {445, 135}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;78E;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;73E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;95E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;82E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;35E;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;144E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;82E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;E;d;1;2S;22;{{224, 16}, {15, 102}}S;19;{{0, 0}, {15, 102}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticald;1;1S;27;_verticalScrollerDidScroll:d;1;4f;18;0.1947367936372757S;19;{{1, 1}, {223, 15}}S;19;{{0, 0}, {223, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.5714285969734192S;20;{{0, 0}, {443, 117}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;146E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;96E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;147E;E;d;2;23S;6;{3, 2}d;1;5D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;F;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;105E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;64E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;148E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;149E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;E;S;19;{{0, 0}, {443, 23}}S;14;tableHeaderRowS;22;{{374, 173}, {84, 24}}S;18;{{0, 0}, {84, 24}}S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;151E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;152E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;77E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;104E;E;S;6;RemoveS;22;{{266, 173}, {84, 24}}S;3;AddS;22;{{12, 211}, {155, 17}}S;19;{{0, 0}, {155, 17}}S;9;textfieldD;K;6;$classD;K;6;CP$UIDd;3;113E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;151E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;152E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;104E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;104E;E;S;14;Selected Name:d;4;3072S;23;{{168, 204}, {294, 29}}S;19;{{0, 0}, {294, 29}}S;19;bezeled+placeholderS;0;S;22;{{66, 241}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;15;Selected Price:S;23;{{168, 234}, {294, 29}}S;22;{{17, 268}, {150, 17}}S;19;{{0, 0}, {150, 17}}S;23;Sum of Selected Prices:S;23;{{174, 268}, {292, 17}}S;19;{{0, 0}, {292, 17}}S;5;LabelS;13;AppControllerS;20;{{1, 1}, {443, 117}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;35E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;153E;E;S;21;{{1, 118}, {443, 17}}S;19;{{0, 0}, {443, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;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;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;86E;E;E;S;22;{{224, 112}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;E;E;f;3;0.5E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;47E;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;49E;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;50E;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;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;49E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;59E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;60E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;61E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;62E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;64E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;65E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;67E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;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;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;70E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;72E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;76E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;77E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;32E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;33E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;78E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;78E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;78E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;78E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;79E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;79E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;79E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;80E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;81E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;66E;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;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;83E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;88E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;89E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;66E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;91E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;92E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;93E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;95E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;66E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;96E;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;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;76E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;97E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;97E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;76E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;99E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;12;$agrid-colorD;K;6;CP$UIDd;3;101E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;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;102E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;103E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;66E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;104E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;79E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;79E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;79E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;79E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;79E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;105E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;66E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;106E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;37E;K;26;CPTableViewAutosaveNameKeyD;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;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;77E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;109E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;110E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;35E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;79E;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;114E;K;16;$aimage-positionD;K;6;CP$UIDd;2;66E;K;6;$afontD;K;6;CP$UIDd;3;116E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;7;$aimageD;K;6;CP$UIDd;3;118E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;119E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;120E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;106E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;121E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;66E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;79E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;66E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;114E;K;16;$aimage-positionD;K;6;CP$UIDd;2;66E;K;6;$afontD;K;6;CP$UIDd;3;116E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;7;$aimageD;K;6;CP$UIDd;3;123E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;124E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;120E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;106E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;121E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;66E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;79E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;66E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;88E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;129E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;130E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;106E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;131E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;88E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;134E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;130E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;79E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;79E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;79E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;99E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;90E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;88E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;130E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;106E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;131E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;88E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;134E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;130E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;79E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;79E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;79E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;99E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;90E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;88E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;141E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;130E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;106E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;131E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;88E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;130E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;106E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;106E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;131E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;81E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;90E;K;31;CPTextFieldPlaceholderStringKeyD;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;145E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;8;delegateS;17;selectedNameFieldS;18;selectedPriceFieldS;9;tableViewS;9;theWindowS;15;totalCountFieldS;4;add:S;7;remove:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {480, 305}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {480, 305}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;E;E;S;6;normalS;22;{{15, 20}, {445, 135}}S;20;{{0, 0}, {445, 135}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;80E;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;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;146E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;97E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;147E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;148E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;35E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;151E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;148E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;152E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;E;d;1;2S;22;{{224, 16}, {15, 102}}S;19;{{0, 0}, {15, 102}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticald;1;1S;27;_verticalScrollerDidScroll:d;1;4f;18;0.1947367936372757S;19;{{1, 1}, {223, 15}}S;19;{{0, 0}, {223, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.5714285969734192S;20;{{0, 0}, {443, 117}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;153E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;98E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;154E;E;d;2;23S;6;{3, 2}d;1;5D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;F;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;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;155E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;156E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;E;S;19;{{0, 0}, {443, 23}}S;14;tableHeaderRowS;22;{{374, 172}, {84, 25}}S;18;{{0, 0}, {84, 25}}S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;158E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;79E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;106E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;79E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;4;nameD;K;6;CP$UIDd;3;160E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;161E;K;5;valueD;K;6;CP$UIDd;3;162E;E;S;6;RemoveS;0;d;2;14S;22;{{266, 172}, {84, 25}}D;K;6;$classD;K;6;CP$UIDd;3;117E;K;4;nameD;K;6;CP$UIDd;3;160E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;161E;K;5;valueD;K;6;CP$UIDd;3;162E;E;S;3;AddS;22;{{12, 212}, {149, 17}}S;19;{{0, 0}, {149, 17}}S;9;textfieldD;K;6;$classD;K;6;CP$UIDd;3;115E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;158E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;106E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;106E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;79E;E;S;14;Selected Name:d;4;3072D;K;6;$classD;K;6;CP$UIDd;2;98E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;163E;E;S;23;{{168, 204}, {294, 29}}S;19;{{0, 0}, {294, 29}}S;28;bezeled+editable+placeholderS;21;{{66, 242}, {95, 17}}S;18;{{0, 0}, {95, 17}}S;15;Selected Price:S;23;{{168, 234}, {294, 29}}S;22;{{17, 269}, {144, 17}}S;19;{{0, 0}, {144, 17}}S;23;Sum of Selected Prices:S;23;{{174, 269}, {286, 17}}S;19;{{0, 0}, {286, 17}}S;5;LabelS;13;AppControllerS;20;{{1, 1}, {443, 117}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;35E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;164E;E;S;21;{{1, 118}, {443, 17}}S;19;{{0, 0}, {443, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;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;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;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;2;88E;E;E;S;22;{{224, 112}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;28;_CPFontSystemFacePlaceholderd;2;-1S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;115E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;166E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;167E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;106E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;106E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;2;88E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;E;E;f;3;0.8S;13;Lucida Granded;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/AttachedSheet/AppController.j b/Tests/Manual/AttachedSheet/AppController.j index fc0bc34cb..af78d341f 100644 --- a/Tests/Manual/AttachedSheet/AppController.j +++ b/Tests/Manual/AttachedSheet/AppController.j @@ -10,35 +10,36 @@ @implementation AppController : CPObject { - CPWindow window; + CPWindow wind; CPWindow sheet; CPTextField textField; } - (void)applicationDidFinishLaunching:(CPNotification)aNotification { - window = [[CPWindow alloc] initWithContentRect:CGRectMake(100,100,500,300) styleMask:CPResizableWindowMask], - contentView = [window contentView]; + wind = [[CPWindow alloc] initWithContentRect:CGRectMake(100, 100, 500, 300) styleMask:CPTitledWindowMask | CPResizableWindowMask]; + [wind setMinSize:CGSizeMake(300, 200)]; + [wind setTitle:@"Untitled"]; - [window setMinSize:CGSizeMake(300, 200)]; - sheet = [[CPWindow alloc] initWithContentRect:CGRectMake(0,0,300,100) styleMask:CPDocModalWindowMask | CPResizableWindowMask]; + sheet = [[CPWindow alloc] initWithContentRect:CGRectMake(0, 0, 300, 100) styleMask:CPDocModalWindowMask | CPResizableWindowMask]; [sheet setMinSize:CGSizeMake(300,100)]; var sheetContent = [sheet contentView]; - textField = [[CPTextField alloc] initWithFrame:CGRectMake(10,30,280,30)]; + textField = [[CPTextField alloc] initWithFrame:CGRectMake(10, 30, 280, 30)]; [textField setEditable:YES]; [textField setBezeled:YES]; [textField setAutoresizingMask:CPViewWidthSizable]; - var okButton = [[CPButton alloc] initWithFrame:CGRectMake(230,70,50,24)]; + var buttonHeight = [[CPTheme defaultTheme] valueForAttributeWithName:@"min-size" forClass:CPButton].height, + okButton = [[CPButton alloc] initWithFrame:CGRectMake(230, 70, 50, buttonHeight)]; [okButton setTitle:"OK"]; [okButton setTarget:self]; [okButton setTag:1]; [okButton setAction:@selector(closeSheet:)]; [okButton setAutoresizingMask:CPViewMinXMargin | CPViewMinYMargin]; - var cancelButton = [[CPButton alloc] initWithFrame:CGRectMake(120,70,100,24)]; + var cancelButton = [[CPButton alloc] initWithFrame:CGRectMake(120, 70, 100, buttonHeight)]; [cancelButton setTitle:"Cancel"]; [cancelButton setTarget:self]; [cancelButton setTag:0]; @@ -49,13 +50,13 @@ [sheetContent addSubview:okButton]; [sheetContent addSubview:cancelButton]; - var displayButton = [[CPButton alloc] initWithFrame:CGRectMake(200,150,100,24)]; + var displayButton = [[CPButton alloc] initWithFrame:CGRectMake(200, 150, 100, buttonHeight)]; [displayButton setTitle:"Display Sheet"]; [displayButton setTarget:self]; [displayButton setAction:@selector(displaySheet:)]; - [contentView addSubview:displayButton]; + [[wind contentView] addSubview:displayButton]; - [window orderFront:self] + [wind orderFront:self] } - (void)displaySheet:(id)sender @@ -63,7 +64,7 @@ [textField setStringValue:""]; [sheet makeFirstResponder:textField]; - [CPApp beginSheet:sheet modalForWindow:window modalDelegate:self didEndSelector:@selector(didEndSheet:returnCode:contextInfo:) contextInfo:nil]; + [CPApp beginSheet:sheet modalForWindow:wind modalDelegate:self didEndSelector:@selector(didEndSheet:returnCode:contextInfo:) contextInfo:nil]; } - (void)closeSheet:(id)sender @@ -78,7 +79,7 @@ [sheet orderOut:self]; if (returnCode == CPOKButton && [str length] > 0) - [window setTitle:str]; + [wind setTitle:str]; } -@end \ No newline at end of file +@end diff --git a/Tests/Manual/AttachedSheet/index-debug.html b/Tests/Manual/AttachedSheet/index-debug.html index ee9eaa75c..e25104ee0 100644 --- a/Tests/Manual/AttachedSheet/index-debug.html +++ b/Tests/Manual/AttachedSheet/index-debug.html @@ -27,13 +27,13 @@ // DEBUG OPTIONS: // Uncomment to enable printing of backtraces on exceptions: - objj_msgSend_decorate(objj_backtrace_decorator); + //objj_msgSend_decorate(objj_backtrace_decorator); // Uncomment to enable runtime type checking: - objj_msgSend_decorate(objj_typecheck_decorator); + //objj_msgSend_decorate(objj_typecheck_decorator); // Uncomment (along with both above) to print backtraces on type check errors: - objj_typecheck_prints_backtrace = true; + //objj_typecheck_prints_backtrace = true; + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/ChildWindows/index.html b/Tests/Manual/ChildWindows/index.html new file mode 100644 index 000000000..9d778d2dd --- /dev/null +++ b/Tests/Manual/ChildWindows/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + ChildWindows + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/ChildWindows/main.j b/Tests/Manual/ChildWindows/main.j new file mode 100644 index 000000000..ce0e04ccf --- /dev/null +++ b/Tests/Manual/ChildWindows/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * ChildWindows + * + * Created by You on January 17, 2013. + * Copyright 2013, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tests/Manual/ContinuouslyUpdatesValueBinding/Resources/MainMenu.cib b/Tests/Manual/ContinuouslyUpdatesValueBinding/Resources/MainMenu.cib index 9c4775594..f4c747dee 100644 --- a/Tests/Manual/ContinuouslyUpdatesValueBinding/Resources/MainMenu.cib +++ b/Tests/Manual/ContinuouslyUpdatesValueBinding/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;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;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;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;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;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;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;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;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;106E;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;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;3;115E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;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;195E;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;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;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;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;267E;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;268E;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;269E;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;264E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;258E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;259E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;253E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;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;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;276E;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;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;287E;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;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;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;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;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;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;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;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;223E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;225E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;217E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;218E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;219E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;220E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;221E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;206E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;165E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;170E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;251E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;229E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;230E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;231E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;232E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;340E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;246E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;247E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;248E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;237E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;238E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;239E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;346E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;242E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;347E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;243E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;244E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;349E;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;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;262E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;261E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;259E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;258E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;357E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;268E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;358E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;359E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;360E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;109E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;361E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;364E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;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;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;372E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;115E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;373E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;374E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;375E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;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;378E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;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;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;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;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;125E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;384E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;385E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;387E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;378E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;129E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;389E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;390E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;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;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;396E;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;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;397E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;140E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;405E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;406E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;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;416E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;419E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;421E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;422E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;427E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;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;147E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;430E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;431E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;434E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;435E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;419E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;416E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;439E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;168E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;442E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;443E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;448E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;449E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;174E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;449E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;450E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;452E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;454E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;458E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;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;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;460E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;461E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;462E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;463E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;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;181E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;466E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;468E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;469E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;189E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;470E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;471E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;473E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;193E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;475E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;476E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;195E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;477E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;478E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;479E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;473E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;416E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;482E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;483E;K;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;419E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;484E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;486E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;488E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;490E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;491E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;205E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;492E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;497E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;211E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;498E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;499E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;216E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;501E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;507E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;508E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;510E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;511E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;511E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;514E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;519E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;235E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;526E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;527E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;528E;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;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;529E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;530E;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;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;529E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;531E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;250E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;531E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;532E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;533E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;250E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;252E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;536E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;537E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;538E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;539E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;373E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;255E;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;254E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;541E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;542E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;543E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;544E;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;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;545E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;546E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;547E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;544E;K;6;$afontD;K;6;CP$UIDd;3;550E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;540E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;551E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;552E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;368E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;540E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;553E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;554E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;547E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;6;$afontD;K;6;CP$UIDd;3;550E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;367E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;552E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;366E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;557E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;416E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;558E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;559E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;554E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;547E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;6;$afontD;K;6;CP$UIDd;3;550E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;367E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;552E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;366E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;557E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;416E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;560E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;260E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;561E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;562E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;547E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;563E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;544E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;540E;K;11;$aalignmentD;K;6;CP$UIDd;3;540E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;564E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;565E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;540E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;566E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;540E;E;D;K;6;$classD;K;6;CP$UIDd;3;260E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;562E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;547E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;563E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;544E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;540E;K;11;$aalignmentD;K;6;CP$UIDd;3;540E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;564E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;490E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;540E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;566E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;540E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;568E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;569E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;547E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;544E;K;6;$afontD;K;6;CP$UIDd;3;570E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;540E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;571E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;552E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;368E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;540E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;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;572E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;265E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;573E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;366E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;540E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;574E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;574E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;575E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;544E;K;6;$afontD;K;6;CP$UIDd;3;570E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;576E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;552E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;368E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;416E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;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;253E;E;E;S;8;delegateS;10;controllerS;10;textFieldAS;10;textFieldBS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;14;uppercaseWord:S;34;toggleAutomaticSpellingCorrection:S;29;orderFrontSubstitutionsPanel:S;32;toggleAutomaticDashSubstitution:S;31;toggleAutomaticTextReplacement:S;14;lowercaseWord:S;15;capitalizeWord:S;17;pasteAsPlainText:S;9;showHelp:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;32;makeBaseWritingDirectionNatural:S;36;makeBaseWritingDirectionLeftToRight:S;36;makeBaseWritingDirectionRightToLeft:S;32;makeTextWritingDirectionNatural:S;36;makeTextWritingDirectionLeftToRight:S;36;makeTextWritingDirectionRightToLeft:S;23;value: selection.volumeS;5;valueS;16;selection.volumeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;K;26;CPContinuouslyUpdatesValueD;K;6;CP$UIDd;3;366E;K;27;CPMultipleValuesPlaceholderD;K;6;CP$UIDd;3;577E;K;24;CPNoSelectionPlaceholderD;K;6;CP$UIDd;3;578E;K;26;CPNotApplicablePlaceholderD;K;6;CP$UIDd;3;579E;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;580E;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;3;114E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;249E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;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;112E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;33;CPContinuouslyUpdatesValueBindingS;18;_CPApplicationMenuD;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;123E;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;120E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;119E;E;E;S;39;About CPContinuouslyUpdatesValueBindingS;38;Hide CPContinuouslyUpdatesValueBindingS;1;hS;8;Show AllS;38;Quit CPContinuouslyUpdatesValueBindingS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;154E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;142E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;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;149E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;153E;E;E;S;27;Check Spelling While TypingS;18;Check Document NowS;1;;S;25;Show Spelling and GrammarS;1;:S;27;Check Grammar With SpellingS;30;Correct Spelling AutomaticallyS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;156E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;166E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;18;Show SubstitutionsS;12;Smart DashesS;16;Text ReplacementS;15;TransformationsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;E;E;S;15;Make Upper CaseS;15;Make Lower CaseS;10;CapitalizeS;21;Paste and Match StyleS;1;VS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;177E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;227E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;17;Writing DirectionD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;E;E;S;9;ParagraphS;8; DefaultS;14; Left to RightS;14; Right to LeftS;9;SelectionS;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;4;HelpS;11;_NSHelpMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;251E;E;E;S;38;CPContinuouslyUpdatesValueBinding HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 585}, {460, 203}}d;2;15d;1;0S;21;{{7, 11}, {460, 203}}S;20;{{0, 0}, {460, 203}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;E;E;S;6;normalS;21;{{17, 20}, {426, 68}}S;19;{{0, 0}, {426, 68}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;549E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;581E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;575E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;368E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;368E;E;S;200;The controls on the left should update the ones on the right immediately when interacted with, while the fields on the right should not update the other field until first responder status is resigned.d;4;3072S;21;{{14, 92}, {214, 29}}S;19;{{0, 0}, {214, 29}}S;19;bezeled+placeholderD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;556E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;582E;E;S;21;I update immediately!S;22;{{228, 92}, {214, 29}}S;21;I am more pondersome.S;21;{{75, 124}, {96, 21}}S;18;{{0, 0}, {96, 21}}S;6;sliderd;2;50d;2;68d;3;100S;22;{{289, 124}, {96, 21}}S;22;{{17, 149}, {423, 34}}S;19;{{0, 0}, {423, 34}}D;K;6;$classD;K;6;CP$UIDd;3;549E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;581E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;575E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;368E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;368E;E;S;123;(These sliders don't technically test the Continuously updates binding option, but the functionality is related in spirit.)S;44;CPContinuouslyUpdatesValueBindingAppDelegateS;19;CPMutableDictionaryS;18;{{0, 0}, {38, 17}}d;2;12S;5;LabelS;8;multipleS;12;no selectionS;14;not applicableS;16;null placeholderS;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;419E;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;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;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;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;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;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;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;267E;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;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;106E;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;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;3;115E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;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;195E;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;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;216E;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;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;267E;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;268E;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;269E;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;264E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;258E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;259E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;264E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;253E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;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;111E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;276E;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;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;287E;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;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;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;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;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;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;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;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;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;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;223E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;225E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;217E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;218E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;219E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;220E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;221E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;206E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;165E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;170E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;171E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;251E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;229E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;230E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;231E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;232E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;340E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;246E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;247E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;248E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;237E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;238E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;239E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;346E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;242E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;347E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;243E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;244E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;349E;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;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;262E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;261E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;259E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;258E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;266E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;350E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;351E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;352E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;357E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;268E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;358E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;359E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;360E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;109E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;361E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;364E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;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;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;372E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;115E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;373E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;374E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;375E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;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;378E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;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;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;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;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;125E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;384E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;385E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;387E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;115E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;378E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;129E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;389E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;390E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;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;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;396E;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;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;397E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;140E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;405E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;406E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;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;416E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;419E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;421E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;422E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;427E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;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;147E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;430E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;431E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;434E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;435E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;419E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;420E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;416E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;439E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;168E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;442E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;443E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;448E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;449E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;174E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;449E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;450E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;452E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;454E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;458E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;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;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;460E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;461E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;462E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;463E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;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;181E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;466E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;468E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;469E;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;174E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;174E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;189E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;470E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;471E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;473E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;193E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;475E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;476E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;195E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;477E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;478E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;479E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;473E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;416E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;482E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;483E;K;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;419E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;484E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;486E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;488E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;490E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;491E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;205E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;492E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;497E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;205E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;211E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;498E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;499E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;495E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;211E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;216E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;501E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;502E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;505E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;507E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;508E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;509E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;510E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;511E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;228E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;193E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;511E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;513E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;514E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;515E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;516E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;517E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;518E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;519E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;520E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;235E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;520E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;522E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;526E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;523E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;524E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;525E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;366E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;368E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;527E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;528E;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;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;529E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;530E;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;228E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;529E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;531E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;362E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;250E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;531E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;532E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;533E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;534E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;250E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;535E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;363E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;252E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;536E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;537E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;538E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;539E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;540E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;541E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;373E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;255E;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;254E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;543E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;544E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;545E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;546E;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;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;547E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;548E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;550E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;546E;K;6;$afontD;K;6;CP$UIDd;3;552E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;542E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;553E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;554E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;368E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;556E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;542E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;557E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;550E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;559E;K;6;$afontD;K;6;CP$UIDd;3;552E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;367E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;554E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;366E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;560E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;416E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;561E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;562E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;550E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;559E;K;6;$afontD;K;6;CP$UIDd;3;552E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;367E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;554E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;366E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;366E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;560E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;416E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;563E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;260E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;564E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;565E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;566E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;542E;K;11;$aalignmentD;K;6;CP$UIDd;3;542E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;567E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;568E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;542E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;569E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;3;260E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;570E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;565E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;566E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;542E;K;11;$aalignmentD;K;6;CP$UIDd;3;542E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;567E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;490E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;542E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;569E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;542E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;255E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;571E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;572E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;255E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;550E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;546E;K;6;$afontD;K;6;CP$UIDd;3;552E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;542E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;573E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;554E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;368E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;556E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;542E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;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;574E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;265E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;575E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;366E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;542E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;576E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;577E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;550E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;546E;K;6;$afontD;K;6;CP$UIDd;3;552E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;490E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;366E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;579E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;554E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;368E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;368E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;556E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;416E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;490E;K;31;CPTextFieldPlaceholderStringKeyD;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;253E;E;E;S;8;delegateS;10;controllerS;10;textFieldAS;10;textFieldBS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;14;uppercaseWord:S;34;toggleAutomaticSpellingCorrection:S;29;orderFrontSubstitutionsPanel:S;32;toggleAutomaticDashSubstitution:S;31;toggleAutomaticTextReplacement:S;14;lowercaseWord:S;15;capitalizeWord:S;17;pasteAsPlainText:S;9;showHelp:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;32;makeBaseWritingDirectionNatural:S;36;makeBaseWritingDirectionLeftToRight:S;36;makeBaseWritingDirectionRightToLeft:S;32;makeTextWritingDirectionNatural:S;36;makeTextWritingDirectionLeftToRight:S;36;makeTextWritingDirectionRightToLeft:S;23;value: selection.volumeS;5;valueS;16;selection.volumeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;10;CP.objectsD;K;26;CPContinuouslyUpdatesValueD;K;6;CP$UIDd;3;366E;K;27;CPMultipleValuesPlaceholderD;K;6;CP$UIDd;3;580E;K;24;CPNoSelectionPlaceholderD;K;6;CP$UIDd;3;581E;K;26;CPNotApplicablePlaceholderD;K;6;CP$UIDd;3;582E;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;583E;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;3;114E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;249E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;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;112E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;33;CPContinuouslyUpdatesValueBindingS;18;_CPApplicationMenuD;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;123E;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;120E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;119E;E;E;S;39;About CPContinuouslyUpdatesValueBindingS;38;Hide CPContinuouslyUpdatesValueBindingS;1;hS;8;Show AllS;38;Quit CPContinuouslyUpdatesValueBindingS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;154E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;142E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;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;149E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;153E;E;E;S;27;Check Spelling While TypingS;18;Check Document NowS;1;;S;25;Show Spelling and GrammarS;1;:S;27;Check Grammar With SpellingS;30;Correct Spelling AutomaticallyS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;156E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;166E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;18;Show SubstitutionsS;12;Smart DashesS;16;Text ReplacementS;15;TransformationsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;E;E;S;15;Make Upper CaseS;15;Make Lower CaseS;10;CapitalizeS;21;Paste and Match StyleS;1;VS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;177E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;227E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;17;Writing DirectionD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;244E;E;E;S;9;ParagraphS;8; DefaultS;14; Left to RightS;14; Right to LeftS;9;SelectionS;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;4;HelpS;11;_NSHelpMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;251E;E;E;S;38;CPContinuouslyUpdatesValueBinding HelpS;1;?S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1954021376S;24;{{335, 585}, {460, 203}}S;22;{{0, 0}, {1920, 1178}}d;2;15d;1;0S;21;{{7, 11}, {460, 203}}S;20;{{0, 0}, {460, 203}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;E;E;S;6;normalS;21;{{17, 21}, {420, 68}}S;19;{{0, 0}, {420, 68}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;551E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;584E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;585E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;368E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;368E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;366E;E;S;200;The controls on the left should update the ones on the right immediately when interacted with, while the fields on the right should not update the other field until first responder status is resigned.d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;555E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;586E;E;S;21;{{14, 92}, {214, 29}}S;19;{{0, 0}, {214, 29}}S;28;bezeled+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;3;555E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;587E;E;S;21;I update immediately!S;22;{{228, 92}, {214, 29}}S;21;I am more pondersome.S;21;{{75, 124}, {96, 21}}S;18;{{0, 0}, {96, 21}}S;6;sliderd;2;50d;2;68d;3;100S;22;{{289, 124}, {96, 21}}S;22;{{17, 150}, {417, 34}}S;19;{{0, 0}, {417, 34}}S;123;(These sliders don't technically test the Continuously updates binding option, but the functionality is related in spirit.)S;44;CPContinuouslyUpdatesValueBindingAppDelegateS;19;CPMutableDictionaryS;19;{{0, -1}, {32, 17}}S;18;{{0, 0}, {32, 17}}d;2;12S;5;LabelS;8;multipleS;12;no selectionS;14;not applicableS;16;null placeholderS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;588E;D;K;6;CP$UIDd;3;588E;D;K;6;CP$UIDd;3;588E;D;K;6;CP$UIDd;3;419E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;419E;D;K;6;CP$UIDd;3;419E;E;E;f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/FontEnhancementTest/Resources/MainMenu.cib b/Tests/Manual/FontEnhancementTest/Resources/MainMenu.cib index 9418b3961..927572138 100644 --- a/Tests/Manual/FontEnhancementTest/Resources/MainMenu.cib +++ b/Tests/Manual/FontEnhancementTest/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;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;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;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;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;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;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;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;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;29E;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;29E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;74E;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;92E;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;93E;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;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;100E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;92E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;106E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;107E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;108E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;109E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;110E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;29E;K;53;_CPCibWindowTemplateWindowAutorecalculatesKeyViewLoopD;K;6;CP$UIDd;3;111E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;114E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;117E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;121E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;128E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;132E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;128E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;6;$afontD;K;6;CP$UIDd;3;136E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;111E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;139E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;141E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;111E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;132E;E;D;K;10;$classnameS;13;CPSearchFieldK;8;$classesA;S;13;CPSearchFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;146E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;111E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;147E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;126E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;126E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;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;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;122E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;153E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;112E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;154E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;155E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;156E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;111E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;132E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;126E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;126E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;122E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;160E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;112E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;154E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;112E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;161E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;162E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;163E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;166E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;167E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;44E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;45E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;168E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;168E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;168E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;168E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;111E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;126E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;111E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;169E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;122E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;112E;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;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;170E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;173E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;42E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;176E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;112E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;177E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;179E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;173E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;180E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;42E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;181E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;112E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;182E;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;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;166E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;183E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;166E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;12;$agrid-colorD;K;6;CP$UIDd;3;186E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;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;187E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;188E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;112E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;112E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;126E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;111E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;111E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;111E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;111E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;189E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;186E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;112E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;126E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;191E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;53E;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;48E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;192E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;193E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;194E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;195E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;197E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;198E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;199E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;126E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;200E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;201E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;194E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;195E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;202E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;203E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;199E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;126E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;204E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;205E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;168E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;206E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;207E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;208E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;199E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;126E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;167E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;209E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;209E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;47E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;111E;E;D;K;10;$classnameS;9;CPTabViewK;8;$classesA;S;9;CPTabViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;213E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;17;CPTabViewItemsKeyD;K;6;CP$UIDd;3;214E;K;24;CPTabViewSelectedItemKeyD;K;6;CP$UIDd;2;59E;K;16;CPTabViewTypeKeyD;K;6;CP$UIDd;3;112E;K;16;CPTabViewFontKeyD;K;6;CP$UIDd;3;215E;K;20;CPTabViewDelegateKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTabViewItemK;8;$classesA;S;13;CPTabViewItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;200E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;216E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;58E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;204E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;219E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;60E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;55E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;223E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;17;CPTabViewItemsKeyD;K;6;CP$UIDd;3;224E;K;24;CPTabViewSelectedItemKeyD;K;6;CP$UIDd;2;64E;K;16;CPTabViewTypeKeyD;K;6;CP$UIDd;3;112E;K;16;CPTabViewFontKeyD;K;6;CP$UIDd;3;131E;K;20;CPTabViewDelegateKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;200E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;225E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;63E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;226E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;227E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;204E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;228E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;65E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;61E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;227E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;61E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;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;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;233E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;128E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;235E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;237E;K;16;$aimage-positionD;K;6;CP$UIDd;3;112E;K;6;$afontD;K;6;CP$UIDd;3;238E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;122E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;239E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;240E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;112E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;112E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;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;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;241E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;237E;K;16;$aimage-positionD;K;6;CP$UIDd;3;112E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;122E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;132E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;240E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;112E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;112E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;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;70E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;242E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;243E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;245E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;246E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;247E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;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;70E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;248E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;249E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;245E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;132E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;91E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;252E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;6;$afontD;K;6;CP$UIDd;3;254E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;123E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;255E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;112E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;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;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;74E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;257E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;259E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;74E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;257E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;74E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;257E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;90E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;261E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;252E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;123E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;255E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;112E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;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;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;132E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;79E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;257E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;154E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;259E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;79E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;257E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;260E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;79E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;257E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;268E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;269E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;270E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;154E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;271E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;128E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;154E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;70E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;243E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;245E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;273E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;137E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;231E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;123E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;111E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;128E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;122E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;123E;K;31;CPTextFieldPlaceholderStringKeyD;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;277E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;278E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;278E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;280E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;E;E;S;8;delegateS;9;fontLabelS;6;label1D;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;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;83E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;83E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;122E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;285E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;286E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;287E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;288E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;289E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;290E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;292E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;83E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;83E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;237E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;122E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;285E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;294E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;295E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;258E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;289E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;290E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;292E;E;S;6;radio2S;15;systemFontLabelS;12;theTableViewS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{148, 80}, {612, 685}}d;1;7S;21;Font Enhancement TestT;d;1;0S;20;{{0, 0}, {612, 685}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;61E;E;E;S;6;normalS;21;{{29, 82}, {221, 28}}S;19;{{0, 0}, {221, 28}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;296E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;282E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;d;1;2d;1;4S;22;Georgia bold italic 18d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;297E;E;S;21;{{29, 117}, {79, 17}}S;18;{{0, 0}, {79, 17}}D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;298E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;299E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;111E;E;S;11;System fontS;22;{{26, 189}, {210, 32}}S;19;{{0, 0}, {210, 32}}S;19;bezeled+placeholderD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;300E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;240E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;0;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;301E;E;S;15;Trebuchet MS 14S;22;{{26, 225}, {210, 29}}S;19;{{0, 0}, {210, 29}}S;22;{{26, 269}, {211, 30}}S;19;{{0, 0}, {211, 30}}S;11;searchfieldS;27;bezeled+rounded+placeholderD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;302E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;255E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;10;Verdana 12d;3;254S;22;{{26, 365}, {182, 24}}S;19;{{0, 0}, {182, 24}}S;17;segmented-controlD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;306E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;E;E;d;1;1S;22;{{26, 301}, {210, 30}}S;19;{{0, 0}, {210, 30}}S;22;{{26, 400}, {118, 24}}S;19;{{0, 0}, {118, 24}}D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;298E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;299E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;309E;D;K;6;CP$UIDd;3;310E;E;E;S;22;{{32, 470}, {455, 85}}S;19;{{0, 0}, {455, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;169E;E;E;S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;311E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;312E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;313E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;314E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;315E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;172E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;53E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;S;23;{{439, -49}, {15, 117}}S;19;{{0, 0}, {15, 117}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.8717948717948718S;24;{{-100, 170}, {426, 15}}S;19;{{0, 0}, {426, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9906976744186047S;19;{{0, 0}, {453, 67}}D;K;6;$classD;K;6;CP$UIDd;3;127E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;317E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;127E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;318E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;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;190E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;112E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;319E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;320E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;321E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;S;1;0d;3;137d;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;196E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;322E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;323E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;112E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;324E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;326E;K;6;$afontD;K;6;CP$UIDd;3;328E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;123E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;15;$acontent-insetD;K;6;CP$UIDd;3;330E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;123E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;137E;E;d;1;3S;1;1d;3;131D;K;6;$classD;K;6;CP$UIDd;3;196E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;331E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;323E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;112E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;332E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;326E;K;6;$afontD;K;6;CP$UIDd;3;333E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;123E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;15;$acontent-insetD;K;6;CP$UIDd;3;334E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;123E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;137E;E;S;1;2d;3;125f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;196E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;335E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;323E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;112E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;336E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;326E;K;6;$afontD;K;6;CP$UIDd;3;337E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;123E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;15;$acontent-insetD;K;6;CP$UIDd;3;338E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;123E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;112E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;137E;E;S;19;{{0, 0}, {453, 23}}S;14;tableHeaderRowS;22;{{25, 574}, {257, 85}}S;19;{{0, 0}, {257, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;60E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;59E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;216E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;6;ImpactS;21;{{10, 33}, {237, 39}}S;19;{{0, 0}, {237, 39}}S;2;13S;21;{{10, 13}, {237, 39}}S;23;{{322, 574}, {266, 85}}S;19;{{0, 0}, {266, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;E;E;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;64E;E;E;S;6;SystemS;21;{{10, 33}, {246, 39}}S;19;{{0, 0}, {246, 39}}S;4;fontS;21;{{10, 13}, {246, 39}}S;21;{{29, 41}, {578, 17}}S;19;{{0, 0}, {578, 17}}d;2;34S;45;View font: S;22;{{361, 85}, {168, 24}}S;19;{{0, 0}, {168, 24}}S;6;buttonS;17;selected+borderedD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;300E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;240E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;20;Trebuchet MS Bold 14d;2;14S;23;{{361, 122}, {118, 24}}S;23;{{361, 207}, {213, 18}}S;19;{{0, 0}, {213, 18}}S;9;check-boxS;8;selectedD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;339E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;340E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;25;Times New Roman italic 16S;22;{{361, 174}, {97, 18}}S;18;{{0, 0}, {97, 18}}S;23;{{361, 281}, {198, 24}}S;19;{{0, 0}, {198, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;341E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;d;2;12S;17;Lucida Console 13S;17;_popUpItemAction:d;7;1048576S;6;Item 2S;6;Item 3S;23;{{361, 318}, {198, 24}}S;23;{{363, 370}, {218, 20}}S;19;{{0, 0}, {218, 20}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;E;E;S;23;{{363, 404}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;E;E;S;22;{{29, 142}, {208, 22}}S;19;{{0, 0}, {208, 22}}D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;298E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;282E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;111E;E;S;14;System font 18S;23;{{361, 239}, {213, 18}}D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;344E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;9;Ubuntu 13S;21;{{29, 16}, {578, 17}}S;13;System font: S;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;E;E;S;19;{{0, 0}, {107, 20}}d;2;18D;K;6;$classD;K;6;CP$UIDd;3;127E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;345E;E;S;5;radioD;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;346E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;240E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;S;11;Palatino orS;4;cAA=d;7;1572864f;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;291E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;347E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;100E;E;S;21;{{111, 0}, {107, 20}}S;10;Cambria 14S;4;QwA=S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;348E;D;K;6;CP$UIDd;3;154E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1S;12;Trebuchet MSD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;E;E;S;7;VerdanaS;13;Comic Sans MSd;2;13D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;305E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;349E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;111E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;111E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;112E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;3;305E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;350E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;126E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;111E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;154E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;3;305E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;219E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;126E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;111E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;112E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;3;305E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;225E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;111E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;111E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;112E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;3;305E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;228E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;126E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;111E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;154E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;112E;E;S;19;{{1, 1}, {453, 67}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;E;E;S;20;{{1, 68}, {453, 17}}S;19;{{0, 0}, {453, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;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;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;154E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;351E;D;K;6;CP$UIDd;3;154E;E;E;S;20;{{439, 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;353E;E;E;S;12;columnHeaderS;19;Courier New Bold 13D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;298E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;255E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;111E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;327E;K;4;nameD;K;6;CP$UIDd;3;228E;K;12;defaultValueD;K;6;CP$UIDd;3;325E;K;6;valuesD;K;6;CP$UIDd;3;355E;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;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;357E;E;E;S;14;Courier New 13D;K;6;$classD;K;6;CP$UIDd;3;327E;K;4;nameD;K;6;CP$UIDd;3;228E;K;12;defaultValueD;K;6;CP$UIDd;3;325E;K;6;valuesD;K;6;CP$UIDd;3;358E;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;359E;E;E;S;11;System FontD;K;6;$classD;K;6;CP$UIDd;3;327E;K;4;nameD;K;6;CP$UIDd;3;228E;K;12;defaultValueD;K;6;CP$UIDd;3;325E;K;6;valuesD;K;6;CP$UIDd;3;360E;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;356E;E;S;15;Times New Romand;2;16S;14;Lucida ConsoleD;K;6;$classD;K;6;CP$UIDd;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;84E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;361E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;361E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;84E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;237E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;122E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;225E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;289E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;290E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;362E;E;D;K;6;$classD;K;6;CP$UIDd;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;84E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;363E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;361E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;84E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;364E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;122E;K;16;$aimage-positionD;K;6;CP$UIDd;3;122E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;122E;K;11;$aalignmentD;K;6;CP$UIDd;3;112E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;112E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;123E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;228E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;126E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;154E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;154E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;111E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;122E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;112E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;289E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;290E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;362E;E;S;6;UbuntuD;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;112E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;112E;E;E;S;8;PalatinoD;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;365E;E;f;18;0.6862745098039216S;10;Comic SansS;4;boldf;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;352E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;354E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;366E;K;6;normalD;K;6;CP$UIDd;3;366E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;352E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;202E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;202E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;3;354E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;366E;K;6;normalD;K;6;CP$UIDd;3;367E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;352E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;207E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;316E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;207E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;282E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;3;354E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;368E;K;6;normalD;K;6;CP$UIDd;3;325E;E;E;S;19;{{0, 0}, {107, 18}}D;K;6;$classD;K;6;CP$UIDd;3;291E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;369E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;342E;E;S;21;{{111, 0}, {107, 18}}S;17;disabled+borderedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;370E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;370E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;3;120E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;344E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;255E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;371E;E;S;11;Courier NewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;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;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;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;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;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;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;1;0E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;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;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;29E;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;29E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;74E;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;92E;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;93E;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;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;100E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;88E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;92E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;106E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;107E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;108E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;109E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;110E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;111E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;112E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;29E;K;53;_CPCibWindowTemplateWindowAutorecalculatesKeyViewLoopD;K;6;CP$UIDd;3;113E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;115E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;123E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;126E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;130E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;132E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;130E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;137E;K;6;$afontD;K;6;CP$UIDd;3;138E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;140E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;137E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;140E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;134E;E;D;K;10;$classnameS;13;CPSearchFieldK;8;$classesA;S;13;CPSearchFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;147E;K;6;$afontD;K;6;CP$UIDd;3;148E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;140E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;149E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;128E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;128E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;150E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;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;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;151E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;155E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;114E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;156E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;147E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;113E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;113E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;140E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;134E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;128E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;128E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;160E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;161E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;162E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;114E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;156E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;114E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;165E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;168E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;169E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;44E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;45E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;170E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;170E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;170E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;170E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;113E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;128E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;113E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;171E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;124E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;114E;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;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;173E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;174E;K;17;CPViewIsHiddenKeyD;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;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;42E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;178E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;114E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;179E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;43E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;174E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;182E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;42E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;114E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;184E;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;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;168E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;185E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;168E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;12;$agrid-colorD;K;6;CP$UIDd;3;188E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;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;189E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;190E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;114E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;114E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;128E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;113E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;113E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;113E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;113E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;191E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;188E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;114E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;128E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;193E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;53E;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;48E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;194E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;195E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;196E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;197E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;199E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;200E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;201E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;113E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;202E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;203E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;196E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;197E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;204E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;205E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;201E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;113E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;206E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;207E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;170E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;208E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;210E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;201E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;113E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;169E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;211E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;212E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;47E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;113E;E;D;K;10;$classnameS;9;CPTabViewK;8;$classesA;S;9;CPTabViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;213E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;215E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;114E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;17;CPTabViewItemsKeyD;K;6;CP$UIDd;3;216E;K;24;CPTabViewSelectedItemKeyD;K;6;CP$UIDd;2;59E;K;16;CPTabViewTypeKeyD;K;6;CP$UIDd;3;114E;K;16;CPTabViewFontKeyD;K;6;CP$UIDd;3;217E;K;20;CPTabViewDelegateKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTabViewItemK;8;$classesA;S;13;CPTabViewItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;202E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;218E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;58E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;219E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;206E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;221E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;60E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;55E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;222E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;55E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;223E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;224E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;114E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;17;CPTabViewItemsKeyD;K;6;CP$UIDd;3;226E;K;24;CPTabViewSelectedItemKeyD;K;6;CP$UIDd;2;64E;K;16;CPTabViewTypeKeyD;K;6;CP$UIDd;3;114E;K;16;CPTabViewFontKeyD;K;6;CP$UIDd;3;133E;K;20;CPTabViewDelegateKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;202E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;227E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;63E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;228E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTabViewItemIdentifierKeyD;K;6;CP$UIDd;3;206E;K;21;CPTabViewItemLabelKeyD;K;6;CP$UIDd;3;230E;K;20;CPTabViewItemViewKeyD;K;6;CP$UIDd;2;65E;K;23;CPTabViewItemAuxViewKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;61E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;61E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;232E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;233E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;235E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;130E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;237E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;238E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;239E;K;16;$aimage-positionD;K;6;CP$UIDd;3;114E;K;6;$afontD;K;6;CP$UIDd;3;240E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;124E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;241E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;242E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;114E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;114E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;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;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;238E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;239E;K;16;$aimage-positionD;K;6;CP$UIDd;3;114E;K;6;$afontD;K;6;CP$UIDd;3;161E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;124E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;134E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;242E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;114E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;114E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;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;70E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;245E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;246E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;249E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;250E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;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;70E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;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;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;134E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;91E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;253E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;254E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;255E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;256E;K;6;$afontD;K;6;CP$UIDd;3;161E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;257E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;114E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;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;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;74E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;259E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;156E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;74E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;262E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;74E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;90E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;254E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;255E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;256E;K;6;$afontD;K;6;CP$UIDd;3;161E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;257E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;114E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;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;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;134E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;79E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;259E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;156E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;79E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;262E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;79E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;264E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;269E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;272E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;156E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;273E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;130E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;156E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;70E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;274E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;246E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;275E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;139E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;233E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;277E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;130E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;124E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;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;278E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;279E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;279E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;281E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;E;E;S;8;delegateS;9;fontLabelS;6;label1D;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;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;83E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;282E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;282E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;83E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;256E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;124E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;286E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;287E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;288E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;289E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;290E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;291E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;293E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;83E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;294E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;282E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;83E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;239E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;124E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;286E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;295E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;296E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;260E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;290E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;291E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;293E;E;S;6;radio2S;15;systemFontLabelS;12;theTableViewS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946159104S;23;{{148, 80}, {612, 685}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;21;Font Enhancement TestT;d;1;0S;20;{{0, 0}, {612, 685}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;61E;E;E;S;6;normalS;21;{{29, 84}, {215, 26}}S;19;{{0, 0}, {215, 26}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;297E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;283E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;d;1;2d;1;4S;22;Georgia bold italic 18d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;129E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;298E;E;S;21;{{29, 118}, {73, 17}}S;18;{{0, 0}, {73, 17}}D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;299E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;300E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;S;11;System fontS;22;{{26, 189}, {210, 32}}S;19;{{0, 0}, {210, 32}}S;28;bezeled+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;301E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;242E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;0;D;K;6;$classD;K;6;CP$UIDd;3;129E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;302E;E;S;15;Trebuchet MS 14S;22;{{26, 225}, {210, 29}}S;19;{{0, 0}, {210, 29}}S;22;{{26, 269}, {211, 30}}S;19;{{0, 0}, {211, 30}}S;11;searchfieldS;36;bezeled+editable+rounded+placeholderD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;257E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;10;Verdana 12d;3;254S;22;{{30, 365}, {182, 24}}S;19;{{0, 0}, {182, 24}}S;17;segmented-controlD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;308E;D;K;6;CP$UIDd;3;309E;E;E;d;1;1S;22;{{26, 301}, {210, 30}}S;19;{{0, 0}, {210, 30}}S;22;{{30, 400}, {118, 24}}S;19;{{0, 0}, {118, 24}}D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;299E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;300E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;310E;D;K;6;CP$UIDd;3;311E;E;E;S;22;{{32, 470}, {455, 85}}S;19;{{0, 0}, {455, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;171E;E;E;S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;167E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;174E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;3;167E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;314E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;315E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;316E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;174E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;53E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;S;23;{{439, -49}, {15, 117}}S;19;{{0, 0}, {15, 117}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.8717948717948718S;24;{{-100, 170}, {426, 15}}S;19;{{0, 0}, {426, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9906976744186047S;19;{{0, 0}, {453, 67}}D;K;6;$classD;K;6;CP$UIDd;3;129E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;318E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;129E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;319E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;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;192E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;320E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;321E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;322E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;S;1;0d;3;137d;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;198E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;323E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;324E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;114E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;326E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;325E;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;114E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;327E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;15;$acontent-insetD;K;6;CP$UIDd;3;331E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;114E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;139E;E;d;1;3S;1;1d;3;131D;K;6;$classD;K;6;CP$UIDd;3;198E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;332E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;324E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;114E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;333E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;325E;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;114E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;327E;K;6;$afontD;K;6;CP$UIDd;3;334E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;15;$acontent-insetD;K;6;CP$UIDd;3;335E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;114E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;139E;E;S;1;2d;3;125f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;198E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;336E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;324E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;114E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;337E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;325E;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;114E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;327E;K;6;$afontD;K;6;CP$UIDd;3;338E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;15;$acontent-insetD;K;6;CP$UIDd;3;339E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;114E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;139E;E;S;19;{{0, 0}, {453, 23}}S;14;tableHeaderRowS;22;{{25, 574}, {257, 85}}S;19;{{0, 0}, {257, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;60E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;59E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;218E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;6;ImpactS;21;{{10, 33}, {237, 39}}S;19;{{0, 0}, {237, 39}}S;2;13S;21;{{10, 13}, {237, 39}}S;23;{{322, 574}, {266, 85}}S;19;{{0, 0}, {266, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;E;E;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;64E;E;E;S;6;SystemS;21;{{10, 33}, {246, 39}}S;19;{{0, 0}, {246, 39}}S;4;fontS;21;{{10, 13}, {246, 39}}S;21;{{29, 42}, {572, 17}}S;19;{{0, 0}, {572, 17}}d;2;34S;45;View font: S;22;{{361, 84}, {168, 25}}S;19;{{0, 0}, {168, 25}}S;6;buttonS;17;selected+borderedD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;301E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;242E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;20;Trebuchet MS Bold 14d;2;14S;23;{{361, 121}, {118, 25}}S;19;{{0, 0}, {118, 25}}S;23;{{361, 207}, {213, 18}}S;19;{{0, 0}, {213, 18}}S;9;check-boxS;8;selectedD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;340E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;341E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;25;Times New Roman italic 16S;22;{{361, 174}, {97, 18}}S;18;{{0, 0}, {97, 18}}S;23;{{360, 280}, {199, 25}}S;19;{{0, 0}, {199, 25}}S;12;popup-buttonS;8;borderedd;2;12S;17;Lucida Console 13S;17;_popUpItemAction:d;7;1048576S;6;Item 2S;6;Item 3S;23;{{360, 317}, {199, 25}}S;23;{{363, 370}, {218, 20}}S;19;{{0, 0}, {218, 20}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;E;E;S;23;{{363, 404}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;E;E;S;22;{{29, 143}, {202, 22}}S;19;{{0, 0}, {202, 22}}D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;299E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;283E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;S;14;System font 18S;23;{{361, 239}, {213, 18}}S;9;Ubuntu 13S;21;{{29, 17}, {572, 17}}S;13;System font: S;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;E;E;S;19;{{0, 0}, {107, 20}}d;2;18D;K;6;$classD;K;6;CP$UIDd;3;129E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;344E;E;S;5;radioD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;345E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;242E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;11;Palatino orS;4;cAA=d;7;1572864f;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;292E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;346E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;100E;E;S;21;{{111, 0}, {107, 20}}S;10;Cambria 14S;4;QwA=S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;347E;D;K;6;CP$UIDd;3;156E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1S;12;Trebuchet MSD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;E;E;S;7;VerdanaS;13;Comic Sans MSd;2;13D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;306E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;348E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;113E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;113E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;114E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;3;306E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;349E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;128E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;113E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;156E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;3;306E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;221E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;128E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;113E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;114E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;3;306E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;227E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;113E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;113E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;114E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;3;306E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;230E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;128E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;113E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;156E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;114E;E;S;19;{{1, 1}, {453, 67}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;E;E;S;20;{{1, 68}, {453, 17}}S;19;{{0, 0}, {453, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;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;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;350E;D;K;6;CP$UIDd;3;156E;E;E;S;20;{{439, 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;352E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;353E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;354E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;19;Courier New Bold 13S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;328E;K;4;nameD;K;6;CP$UIDd;3;230E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;356E;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;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;357E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;358E;E;E;S;14;Courier New 13D;K;6;$classD;K;6;CP$UIDd;3;328E;K;4;nameD;K;6;CP$UIDd;3;230E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;357E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;360E;E;E;S;11;System FontD;K;6;$classD;K;6;CP$UIDd;3;328E;K;4;nameD;K;6;CP$UIDd;3;230E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;361E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;357E;E;S;15;Times New Romand;2;16D;K;6;$classD;K;6;CP$UIDd;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;84E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;362E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;362E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;84E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;239E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;124E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;227E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;290E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;291E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;2;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;84E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;114E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;364E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;362E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;84E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;365E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;124E;K;16;$aimage-positionD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;114E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;124E;K;11;$aalignmentD;K;6;CP$UIDd;3;114E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;230E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;128E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;156E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;156E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;113E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;124E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;114E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;290E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;291E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;363E;E;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;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;E;E;S;8;PalatinoD;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;366E;E;f;18;0.6862745098039216S;10;Comic SansS;4;boldf;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;351E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;199E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;199E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;S;13;Lucida Granded;2;11D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;355E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;367E;K;6;normalD;K;6;CP$UIDd;3;367E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;351E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;204E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;204E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;3;355E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;367E;K;6;normalD;K;6;CP$UIDd;3;368E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;351E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;209E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;317E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;209E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;3;355E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;369E;K;6;normalD;K;6;CP$UIDd;3;370E;E;E;S;19;{{0, 0}, {107, 18}}D;K;6;$classD;K;6;CP$UIDd;3;292E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;371E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;342E;E;S;21;{{111, 0}, {107, 18}}S;17;disabled+borderedD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;372E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;372E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;373E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;257E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;113E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;299E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;257E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;374E;E;S;11;Courier NewS;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;342E;D;K;6;CP$UIDd;3;343E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/FontMetricsExplorer/Resources/MainMenu.cib b/Tests/Manual/FontMetricsExplorer/Resources/MainMenu.cib index 213f49551..e0d061dcc 100644 --- a/Tests/Manual/FontMetricsExplorer/Resources/MainMenu.cib +++ b/Tests/Manual/FontMetricsExplorer/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;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;27E;D;K;6;CP$UIDd;2;28E;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;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;59E;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;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;37E;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;60E;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;61E;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;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;44E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;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;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;60E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;75E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;76E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;77E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;78E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;79E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;33E;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;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;81E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;82E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;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;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;94E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;59E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;99E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;100E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;102E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;103E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;96E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;104E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;38E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;105E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;37E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;106E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;108E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;111E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;117E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;80E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;117E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;80E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;119E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;117E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;80E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;120E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;121E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;122E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;125E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;129E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;130E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;3;128E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;131E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;133E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;134E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;135E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;136E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;104E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;137E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;138E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;2;80E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;140E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;142E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;3;147E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;148E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;91E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;3;151E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;152E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;98E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;91E;K;31;CPTextFieldPlaceholderStringKeyD;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;153E;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;154E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;155E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;E;E;S;8;delegateS;12;ascenderTextS;12;baselineViewS;13;descenderTextS;8;fontMenuS;14;lineHeightTextS;11;metricsViewS;10;sizeSliderS;8;sizeTextS;9;theWindowS;10;sampleTextS;14;setFontFamily:S;12;setFontSize:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{408, 63}, {332, 290}}d;1;7S;21;Font Metrics Explorerd;1;0S;20;{{0, 0}, {332, 290}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;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;56E;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;35E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;53E;E;E;d;2;18S;6;normalS;22;{{282, 100}, {31, 17}}S;18;{{0, 0}, {31, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;156E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;157E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;d;1;2d;1;4T;S;2;12d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;97E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;158E;E;S;21;{{55, 58}, {237, 24}}S;19;{{0, 0}, {237, 24}}S;12;popup-buttonS;8;borderedS;0;d;2;12S;6;Item 1S;17;_popUpItemAction:d;1;1d;7;1048576S;20;{{19, 63}, {38, 17}}S;18;{{0, 0}, {38, 17}}S;5;Font:S;21;{{19, 193}, {67, 17}}S;18;{{0, 0}, {67, 17}}S;9;Ascender:S;21;{{99, 193}, {35, 17}}S;18;{{0, 0}, {35, 17}}S;1;0S;21;{{99, 218}, {35, 17}}S;21;{{99, 243}, {35, 17}}S;21;{{19, 218}, {75, 17}}S;18;{{0, 0}, {75, 17}}S;10;Descender:S;21;{{19, 243}, {80, 17}}S;18;{{0, 0}, {80, 17}}S;12;Line Height:S;20;{{17, 17}, {72, 24}}S;18;{{0, 0}, {72, 24}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;156E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;83E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;93E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;S;4;FontS;21;{{17, 152}, {72, 24}}S;7;MetricsS;21;{{19, 100}, {38, 17}}S;5;Size:S;21;{{57, 95}, {214, 21}}S;19;{{0, 0}, {214, 21}}S;6;sliderd;1;8d;2;48S;24;{{149, 155}, {163, 100}}S;20;{{0, 0}, {163, 100}}S;12;BaselineViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;E;E;S;11;MetricsViewS;21;{{-3, 42}, {169, 18}}S;19;{{0, 0}, {169, 18}}d;2;42D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;156E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;S;3;logS;23;{{146, 260}, {167, 14}}S;19;{{0, 0}, {167, 14}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;156E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;160E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;S;25;Click grid to change textS;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;S;28;_CPFontSystemFontPlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;107E;E;E;d;2;14d;2;11f;18;0.6862745098039216E;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;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;27E;D;K;6;CP$UIDd;2;28E;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;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;59E;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;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;37E;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;60E;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;61E;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;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;44E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;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;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;60E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;75E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;76E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;77E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;78E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;79E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;80E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;81E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;33E;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;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;83E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;83E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;84E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;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;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;87E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;59E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;6;$afontD;K;6;CP$UIDd;3;105E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;106E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;98E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;107E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;82E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;95E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;93E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;82E;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;38E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;108E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;37E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;110E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;59E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;117E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;125E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;128E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;3;131E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;132E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;3;134E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;135E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;136E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;92E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;140E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;107E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;94E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;141E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;142E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;2;82E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;143E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;144E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;143E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;144E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;148E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;149E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;3;151E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;152E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;33E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;3;155E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;156E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;100E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;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;157E;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;158E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;159E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;E;E;S;8;delegateS;12;ascenderTextS;12;baselineViewS;13;descenderTextS;8;fontMenuS;14;lineHeightTextS;11;metricsViewS;10;sizeSliderS;8;sizeTextS;9;theWindowS;10;sampleTextS;14;setFontFamily:S;12;setFontSize:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;23;{{408, 63}, {332, 290}}S;22;{{0, 0}, {1680, 1028}}d;1;7S;21;Font Metrics Explorerd;1;0S;20;{{0, 0}, {332, 290}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;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;56E;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;35E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;53E;E;E;d;2;18S;6;normalS;22;{{282, 101}, {25, 17}}S;18;{{0, 0}, {25, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;91E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;160E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;161E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;d;1;2d;1;4T;S;2;12d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;162E;E;S;21;{{54, 57}, {238, 25}}S;19;{{0, 0}, {238, 25}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;91E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;160E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;161E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;S;0;d;2;12S;6;Item 1S;17;_popUpItemAction:d;1;1d;7;1048576S;20;{{19, 64}, {32, 17}}S;18;{{0, 0}, {32, 17}}S;5;Font:S;21;{{19, 194}, {61, 17}}S;18;{{0, 0}, {61, 17}}S;9;Ascender:S;21;{{99, 194}, {29, 17}}S;18;{{0, 0}, {29, 17}}S;1;0S;21;{{99, 219}, {29, 17}}S;21;{{99, 244}, {29, 17}}S;21;{{19, 219}, {69, 17}}S;18;{{0, 0}, {69, 17}}S;10;Descender:S;21;{{19, 244}, {74, 17}}S;18;{{0, 0}, {74, 17}}S;12;Line Height:S;20;{{17, 19}, {66, 22}}S;18;{{0, 0}, {66, 22}}D;K;6;$classD;K;6;CP$UIDd;2;91E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;160E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;85E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;S;4;FontS;21;{{17, 154}, {66, 22}}D;K;6;$classD;K;6;CP$UIDd;2;91E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;160E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;85E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;S;7;MetricsS;21;{{19, 101}, {32, 17}}S;5;Size:S;21;{{57, 95}, {214, 21}}S;19;{{0, 0}, {214, 21}}S;6;sliderd;1;8d;2;48S;24;{{149, 155}, {163, 100}}S;20;{{0, 0}, {163, 100}}S;12;BaselineViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;E;E;S;11;MetricsViewS;21;{{-3, 43}, {163, 18}}S;19;{{0, 0}, {163, 18}}d;2;42D;K;6;$classD;K;6;CP$UIDd;2;91E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;160E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;163E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;S;3;logS;23;{{146, 261}, {161, 14}}S;19;{{0, 0}, {161, 14}}D;K;6;$classD;K;6;CP$UIDd;2;91E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;160E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;164E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;S;25;Click grid to change textS;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;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;110E;E;E;d;2;14d;2;11f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/LayoutTest/Resources/MainMenu.cib b/Tests/Manual/LayoutTest/Resources/MainMenu.cib index 08d3082eb..b757958af 100644 --- a/Tests/Manual/LayoutTest/Resources/MainMenu.cib +++ b/Tests/Manual/LayoutTest/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;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;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;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;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;58E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;59E;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;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;44E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;58E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;77E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;78E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;79E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;80E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;81E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;36E;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;35E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;83E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;83E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;86E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;95E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;97E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;103E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;107E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;97E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;108E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;114E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;119E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;97E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;123E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;126E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;E;E;S;8;delegateS;15;horizontalView0S;15;horizontalView1S;15;horizontalView2S;15;horizontalView3S;15;horizontalView4S;15;horizontalView5S;13;ninePartView0S;13;ninePartView1S;13;ninePartView2S;9;theWindowS;13;verticalView0S;13;verticalView1S;13;verticalView2S;13;verticalView3S;13;verticalView4S;13;verticalView5S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{137, 105}, {427, 241}}d;1;7S;11;Layout Testd;1;0S;20;{{0, 0}, {427, 241}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;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;38E;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;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;E;E;S;6;normalS;21;{{17, 20}, {170, 17}}S;19;{{0, 0}, {170, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;127E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;128E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;97E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;97E;E;d;1;2d;1;4T;S;26;Vertical Three Part Imagesd;4;3072F;S;20;{{20, 45}, {35, 35}}S;18;{{0, 0}, {35, 35}}S;6;CPViewS;20;{{20, 88}, {35, 50}}S;18;{{0, 0}, {35, 50}}S;21;{{20, 146}, {35, 65}}S;18;{{0, 0}, {35, 65}}S;22;{{222, 20}, {188, 17}}S;19;{{0, 0}, {188, 17}}S;28;Horizontal Three Part ImagesS;21;{{225, 45}, {35, 35}}S;21;{{268, 45}, {50, 35}}S;18;{{0, 0}, {50, 35}}S;21;{{326, 45}, {65, 35}}S;18;{{0, 0}, {65, 35}}S;20;{{63, 45}, {35, 35}}S;20;{{63, 88}, {35, 50}}S;21;{{63, 146}, {35, 65}}S;21;{{225, 88}, {35, 35}}S;21;{{268, 88}, {50, 35}}S;21;{{326, 88}, {65, 35}}S;23;{{222, 131}, {170, 17}}S;15;Nine Part ImageS;22;{{225, 186}, {35, 35}}S;22;{{268, 171}, {50, 50}}S;18;{{0, 0}, {50, 50}}S;22;{{326, 156}, {65, 65}}S;18;{{0, 0}, {65, 65}}S;13;AppControllerS;17;Arial, sans-serifd;2;12E;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;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;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;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;36E;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;58E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;59E;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;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;44E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;46E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;58E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;77E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;78E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;79E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;80E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;81E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;82E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;83E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;36E;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;35E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;95E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;97E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;95E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;108E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;95E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;111E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;95E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;119E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;108E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;120E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;95E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;95E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;36E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;130E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;E;E;S;8;delegateS;15;horizontalView0S;15;horizontalView1S;15;horizontalView2S;15;horizontalView3S;15;horizontalView4S;15;horizontalView5S;13;ninePartView0S;13;ninePartView1S;13;ninePartView2S;9;theWindowS;13;verticalView0S;13;verticalView1S;13;verticalView2S;13;verticalView3S;13;verticalView4S;13;verticalView5S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{137, 105}, {427, 241}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;11;Layout Testd;1;0S;20;{{0, 0}, {427, 241}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;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;38E;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;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;E;E;S;6;normalS;21;{{17, 21}, {164, 17}}S;19;{{0, 0}, {164, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;131E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;132E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;96E;E;d;1;2d;1;4T;S;26;Vertical Three Part Imagesd;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;100E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;133E;E;S;20;{{20, 45}, {35, 35}}S;18;{{0, 0}, {35, 35}}S;6;CPViewS;20;{{20, 88}, {35, 50}}S;18;{{0, 0}, {35, 50}}S;21;{{20, 146}, {35, 65}}S;18;{{0, 0}, {35, 65}}S;22;{{222, 21}, {182, 17}}S;19;{{0, 0}, {182, 17}}S;28;Horizontal Three Part ImagesS;21;{{225, 45}, {35, 35}}S;21;{{268, 45}, {50, 35}}S;18;{{0, 0}, {50, 35}}S;21;{{326, 45}, {65, 35}}S;18;{{0, 0}, {65, 35}}S;20;{{63, 45}, {35, 35}}S;20;{{63, 88}, {35, 50}}S;21;{{63, 146}, {35, 65}}S;21;{{225, 88}, {35, 35}}S;21;{{268, 88}, {50, 35}}S;21;{{326, 88}, {65, 35}}S;23;{{222, 132}, {164, 17}}S;15;Nine Part ImageS;22;{{225, 186}, {35, 35}}S;22;{{268, 171}, {50, 50}}S;18;{{0, 0}, {50, 50}}S;22;{{326, 156}, {65, 65}}S;18;{{0, 0}, {65, 65}}S;13;AppControllerS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;E;E;f;18;0.6862745098039216d;1;1E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/LongBindings/AppController.j b/Tests/Manual/LongBindings/AppController.j index ecf30f71d..7f90da839 100644 --- a/Tests/Manual/LongBindings/AppController.j +++ b/Tests/Manual/LongBindings/AppController.j @@ -23,7 +23,7 @@ - (void)awakeFromCib { - [[self mainWindow] setFullBridge:YES]; + [[self mainWindow] setFullPlatformWindow:YES]; orders = []; [orders addObject:[Order orderWithCustomer:[Customer customerWithName:@"Klaas Pieter" email:@"klaaspieter@madebysofa.com" job:@"Programmer"]]]; diff --git a/Tests/Manual/LongBindings/Resources/MainMenu.cib b/Tests/Manual/LongBindings/Resources/MainMenu.cib index d5193a6b4..20d906b2c 100644 --- a/Tests/Manual/LongBindings/Resources/MainMenu.cib +++ b/Tests/Manual/LongBindings/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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;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;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;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;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;3;103E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;85E;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;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;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;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;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;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;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;227E;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;229E;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;230E;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;228E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;231E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;225E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;226E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;233E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;208E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;234E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;227E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;217E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;236E;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;21E;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;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;239E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;240E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;241E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;243E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;245E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;246E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;205E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;206E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;229E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;298E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;299E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;300E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;301E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;88E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;301E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;304E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;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;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;310E;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;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;311E;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;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;312E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;313E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;313E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;314E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;316E;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;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;317E;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;318E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;319E;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;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;320E;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;321E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;322E;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;323E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;324E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;324E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;325E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;327E;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;318E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;329E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;329E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;332E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;333E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;111E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;333E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;335E;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;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;336E;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;337E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;338E;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;339E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;340E;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;341E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;342E;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;343E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;344E;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;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;346E;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;347E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;122E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;349E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;350E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;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;352E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;353E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;354E;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;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;355E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;356E;K;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;357E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;358E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;K;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;360E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;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;363E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;364E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;129E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;365E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;368E;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;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;135E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;373E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;374E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;139E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;377E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;363E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;139E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;364E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;K;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;360E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;139E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;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;352E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;139E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;353E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;144E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;382E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;383E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;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;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;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;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;394E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;395E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;403E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;163E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;408E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;409E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;165E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;410E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;411E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;412E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;360E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;415E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;416E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;363E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;352E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;421E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;423E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;424E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;175E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;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;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;431E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;186E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;434E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;435E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;439E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;441E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;343E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;444E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;445E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;447E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;449E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;452E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;343E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;457E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;458E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;459E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;357E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;301E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;210E;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;209E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;461E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;461E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;462E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;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;211E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;464E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;465E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;466E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;467E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;468E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;470E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;471E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;214E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;215E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;472E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;472E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;472E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;472E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;306E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;306E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;306E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;473E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;460E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;460E;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;213E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;474E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;475E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;476E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;477E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;478E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;479E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;460E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;212E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;480E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;423E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;460E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;481E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;213E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;482E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;482E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;476E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;477E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;478E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;483E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;460E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;212E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;484E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;423E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;460E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;485E;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;3;216E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;470E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;486E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;486E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;470E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;488E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;489E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;12;$agrid-colorD;K;6;CP$UIDd;3;490E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;423E;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;491E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;492E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;460E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;423E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;306E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;306E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;306E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;306E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;306E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;493E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;490E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;460E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;308E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;495E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;3;223E;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;218E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;496E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;497E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;498E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;499E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;501E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;502E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;352E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;308E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;306E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;218E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;503E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;504E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;498E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;499E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;505E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;506E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;352E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;308E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;306E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;218E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;507E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;508E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;472E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;499E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;509E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;510E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;352E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;308E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;306E;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;3;222E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;471E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;511E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;511E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;471E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;512E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;3;217E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;306E;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;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;513E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;514E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;517E;K;6;$afontD;K;6;CP$UIDd;3;519E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;423E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;306E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;520E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;306E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;488E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;360E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;423E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;522E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;514E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;517E;K;6;$afontD;K;6;CP$UIDd;3;519E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;423E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;306E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;520E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;306E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;488E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;360E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;423E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;524E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;514E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;517E;K;6;$afontD;K;6;CP$UIDd;3;519E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;423E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;306E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;520E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;306E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;488E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;360E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;423E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;525E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;526E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;208E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;15;ordersTableViewS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;107E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;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;3;102E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;98E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;109E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;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;120E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;134E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;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;126E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;124E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;133E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;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;136E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;147E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;152E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;197E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {480, 360}}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;212E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;E;E;S;6;normalS;22;{{-1, -1}, {482, 260}}S;20;{{0, 0}, {482, 260}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;470E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;471E;D;K;6;CP$UIDd;3;495E;D;K;6;CP$UIDd;3;473E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;469E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;486E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;486E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;476E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;3;469E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;529E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;530E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;531E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;476E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;223E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;E;S;22;{{467, 15}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9737373737373738S;20;{{0, 0}, {482, 243}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;487E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;533E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;487E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;534E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;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;494E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;460E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;535E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;536E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;537E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;E;S;4;named;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;500E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;539E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;460E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;525E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;540E;K;6;$afontD;K;6;CP$UIDd;3;542E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;423E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;460E;K;15;$acontent-insetD;K;6;CP$UIDd;3;544E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;520E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;423E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;460E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;307E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;500E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;545E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;539E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;460E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;521E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;540E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;423E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;460E;K;15;$acontent-insetD;K;6;CP$UIDd;3;547E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;520E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;423E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;460E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;307E;E;S;3;jobd;3;222D;K;6;$classD;K;6;CP$UIDd;3;500E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;539E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;460E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;523E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;540E;K;6;$afontD;K;6;CP$UIDd;3;549E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;423E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;460E;K;15;$acontent-insetD;K;6;CP$UIDd;3;550E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;520E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;423E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;460E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;307E;E;S;19;{{0, 0}, {482, 23}}S;14;tableHeaderRowS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;518E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;551E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;515E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;308E;E;d;4;3072S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;13;AppControllerD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;487E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;552E;E;S;21;{{0, 243}, {482, 17}}S;19;{{0, 0}, {482, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;223E;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;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;553E;D;K;6;CP$UIDd;3;553E;D;K;6;CP$UIDd;3;553E;D;K;6;CP$UIDd;3;363E;E;E;S;22;{{467, 237}, {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;555E;E;E;S;12;columnHeaderS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;541E;K;4;nameD;K;6;CP$UIDd;3;556E;K;12;defaultValueD;K;6;CP$UIDd;3;519E;K;6;valuesD;K;6;CP$UIDd;3;558E;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;543E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;560E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;541E;K;4;nameD;K;6;CP$UIDd;3;556E;K;12;defaultValueD;K;6;CP$UIDd;3;519E;K;6;valuesD;K;6;CP$UIDd;3;561E;E;D;K;6;$classD;K;6;CP$UIDd;3;543E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;559E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;562E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;541E;K;4;nameD;K;6;CP$UIDd;3;556E;K;12;defaultValueD;K;6;CP$UIDd;3;519E;K;6;valuesD;K;6;CP$UIDd;3;563E;E;D;K;6;$classD;K;6;CP$UIDd;3;543E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;559E;E;S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;E;E;f;3;0.5D;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;554E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;501E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;501E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;467E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;E;S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;557E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;564E;K;6;normalD;K;6;CP$UIDd;3;519E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;554E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;505E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;505E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;467E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;E;D;K;6;$classD;K;6;CP$UIDd;3;557E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;564E;K;6;normalD;K;6;CP$UIDd;3;519E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;554E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;509E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;509E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;467E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;E;D;K;6;$classD;K;6;CP$UIDd;3;557E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;564E;K;6;normalD;K;6;CP$UIDd;3;519E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;518E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;551E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;515E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;306E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;308E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;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;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;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;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;3;103E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;85E;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;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;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;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;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;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;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;227E;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;229E;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;230E;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;228E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;231E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;225E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;226E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;233E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;208E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;234E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;227E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;217E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;236E;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;21E;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;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;239E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;240E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;241E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;243E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;245E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;246E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;131E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;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;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;205E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;206E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;229E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;298E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;299E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;300E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;301E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;88E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;301E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;304E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;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;2;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;310E;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;88E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;311E;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;88E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;312E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;313E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;313E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;314E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;316E;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;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;317E;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;318E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;319E;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;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;320E;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;321E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;322E;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;323E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;324E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;324E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;325E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;327E;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;318E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;329E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;329E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;332E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;333E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;111E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;333E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;335E;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;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;336E;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;337E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;338E;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;339E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;340E;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;341E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;342E;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;343E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;344E;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;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;346E;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;347E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;122E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;349E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;350E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;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;352E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;353E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;354E;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;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;355E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;356E;K;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;357E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;358E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;K;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;360E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;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;363E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;122E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;364E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;129E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;365E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;368E;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;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;129E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;135E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;373E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;374E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;139E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;111E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;377E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;363E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;139E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;364E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;K;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;360E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;139E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;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;352E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;139E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;353E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;144E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;382E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;383E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;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;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;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;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;394E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;395E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;151E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;398E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;348E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;144E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;403E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;163E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;408E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;409E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;165E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;410E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;411E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;412E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;360E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;415E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;416E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;363E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;352E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;421E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;423E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;424E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;175E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;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;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;181E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;431E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;186E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;434E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;435E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;439E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;441E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;165E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;343E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;302E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;198E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;444E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;445E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;447E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;449E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;452E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;306E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;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;308E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;343E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;455E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;457E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;458E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;459E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;460E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;461E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;357E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;301E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;210E;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;209E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;463E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;463E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;464E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;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;211E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;466E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;467E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;468E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;469E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;470E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;472E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;473E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;214E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;215E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;474E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;474E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;474E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;474E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;306E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;306E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;306E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;475E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;462E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;462E;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;213E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;476E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;477E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;478E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;479E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;480E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;481E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;462E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;212E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;482E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;423E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;462E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;483E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;213E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;484E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;484E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;478E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;479E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;480E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;485E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;462E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;212E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;486E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;423E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;462E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;487E;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;3;216E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;472E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;488E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;488E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;472E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;490E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;491E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;12;$agrid-colorD;K;6;CP$UIDd;3;492E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;423E;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;493E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;494E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;462E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;423E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;306E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;306E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;306E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;306E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;306E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;495E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;492E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;462E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;308E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;497E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;3;223E;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;218E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;498E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;499E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;500E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;501E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;503E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;504E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;352E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;308E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;306E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;218E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;505E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;506E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;500E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;501E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;507E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;508E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;352E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;308E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;306E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;218E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;509E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;510E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;474E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;501E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;511E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;512E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;352E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;308E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;306E;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;3;222E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;473E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;513E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;473E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;3;217E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;306E;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;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;515E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;423E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;306E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;522E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;306E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;490E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;360E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;423E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;523E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;524E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;423E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;306E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;522E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;306E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;490E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;360E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;423E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;525E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;210E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;526E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;210E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;423E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;306E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;522E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;306E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;306E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;490E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;360E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;423E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;527E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;528E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;208E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;15;ordersTableViewS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;3;107E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;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;3;102E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;98E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;109E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;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;120E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;134E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;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;126E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;124E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;133E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;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;136E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;147E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;152E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;197E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;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;212E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;E;E;S;6;normalS;22;{{-1, -1}, {482, 260}}S;20;{{0, 0}, {482, 260}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;472E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;473E;D;K;6;CP$UIDd;3;497E;D;K;6;CP$UIDd;3;475E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;471E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;488E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;488E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;529E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;478E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;530E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;3;471E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;531E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;533E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;478E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;530E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;223E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;E;S;22;{{467, 15}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9737373737373738S;20;{{0, 0}, {482, 243}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;489E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;535E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;489E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;536E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;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;496E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;462E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;537E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;538E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;478E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;539E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;E;S;4;named;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;502E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;540E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;6;$afontD;K;6;CP$UIDd;3;542E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;462E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;527E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;542E;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;462E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;543E;K;6;$afontD;K;6;CP$UIDd;3;545E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;423E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;462E;K;15;$acontent-insetD;K;6;CP$UIDd;3;547E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;522E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;423E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;462E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;307E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;502E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;548E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;6;$afontD;K;6;CP$UIDd;3;542E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;462E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;523E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;542E;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;462E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;543E;K;6;$afontD;K;6;CP$UIDd;3;549E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;423E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;462E;K;15;$acontent-insetD;K;6;CP$UIDd;3;550E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;522E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;423E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;462E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;307E;E;S;3;jobd;3;222D;K;6;$classD;K;6;CP$UIDd;3;502E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;551E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;541E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;K;6;$afontD;K;6;CP$UIDd;3;542E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;462E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;525E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;542E;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;462E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;423E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;543E;K;6;$afontD;K;6;CP$UIDd;3;552E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;423E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;462E;K;15;$acontent-insetD;K;6;CP$UIDd;3;553E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;522E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;423E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;462E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;307E;E;S;19;{{0, 0}, {482, 23}}S;14;tableHeaderRowS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;28;bezeled+editable+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;554E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;555E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;306E;E;d;4;3072S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;13;AppControllerD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;489E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;556E;E;S;21;{{0, 243}, {482, 17}}S;19;{{0, 0}, {482, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;223E;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;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;557E;D;K;6;CP$UIDd;3;557E;D;K;6;CP$UIDd;3;557E;D;K;6;CP$UIDd;3;363E;E;E;S;22;{{467, 237}, {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;559E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;560E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;561E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;308E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;544E;K;4;nameD;K;6;CP$UIDd;3;562E;K;12;defaultValueD;K;6;CP$UIDd;3;521E;K;6;valuesD;K;6;CP$UIDd;3;564E;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;546E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;566E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;544E;K;4;nameD;K;6;CP$UIDd;3;562E;K;12;defaultValueD;K;6;CP$UIDd;3;521E;K;6;valuesD;K;6;CP$UIDd;3;567E;E;D;K;6;$classD;K;6;CP$UIDd;3;546E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;565E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;568E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;544E;K;4;nameD;K;6;CP$UIDd;3;562E;K;12;defaultValueD;K;6;CP$UIDd;3;521E;K;6;valuesD;K;6;CP$UIDd;3;569E;E;D;K;6;$classD;K;6;CP$UIDd;3;546E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;565E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;363E;E;E;f;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;558E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;503E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;503E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;469E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;E;S;13;Lucida Granded;2;11S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;563E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;570E;K;6;normalD;K;6;CP$UIDd;3;571E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;558E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;507E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;507E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;469E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;E;D;K;6;$classD;K;6;CP$UIDd;3;563E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;570E;K;6;normalD;K;6;CP$UIDd;3;571E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;558E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;511E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;511E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;469E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;465E;E;D;K;6;$classD;K;6;CP$UIDd;3;563E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;570E;K;6;normalD;K;6;CP$UIDd;3;571E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;572E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;517E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;306E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;554E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;517E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;308E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;306E;E;S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/NSBoxTest/Resources/MainMenu.cib b/Tests/Manual/NSBoxTest/Resources/MainMenu.cib index 44d857835..b6fef4f93 100644 --- a/Tests/Manual/NSBoxTest/Resources/MainMenu.cib +++ b/Tests/Manual/NSBoxTest/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;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;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;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;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;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;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;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;51E;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;52E;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;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;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;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;2;64E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;65E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;66E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;67E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;68E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;69E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;32E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;71E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;72E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;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;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;75E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;76E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;77E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;79E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;2;80E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;2;82E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;2;83E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;78E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;84E;K;10;CPBoxTitleD;K;6;CP$UIDd;2;85E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;70E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;2;86E;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;87E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;87E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;99E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;76E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;100E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;79E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;2;80E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;70E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;80E;K;10;CPBoxTitleD;K;6;CP$UIDd;2;85E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;70E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;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;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;104E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;103E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;105E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;106E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;16;$aimage-positionD;K;6;CP$UIDd;2;70E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;112E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;98E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;70E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;70E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;16;$aimage-positionD;K;6;CP$UIDd;2;70E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;115E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;98E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;70E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;70E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;117E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;118E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;120E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;121E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;43E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;16;$aimage-positionD;K;6;CP$UIDd;2;70E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;123E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;98E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;70E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;70E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;43E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;129E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;130E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;16;$aimage-positionD;K;6;CP$UIDd;2;70E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;79E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;132E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;98E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;70E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;70E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;76E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;97E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;98E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;98E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;94E;K;31;CPTextFieldPlaceholderStringKeyD;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;137E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;E;E;S;8;delegateS;9;customBoxS;13;customDrawBoxS;10;dynamicBoxS;12;dynamicLabelS;11;standardBoxS;9;theWindowS;16;changeFillColor:S;18;changeBorderWidth:S;18;changeBorderColor:S;18;changeContentView:S;10;{992, 318}S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{116, 63}, {992, 296}}d;2;15S;10;NSBox Testd;1;0S;20;{{0, 0}, {992, 296}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;48E;E;E;d;2;18S;6;normalS;23;{{518, 20}, {217, 217}}S;20;{{0, 0}, {217, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;87E;E;E;d;2;17d;1;4d;1;1D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;139E;E;d;1;3S;3;BoxS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;S;21;{{37, 98}, {136, 17}}S;19;{{0, 0}, {136, 17}}d;2;37S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;140E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;141E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;E;d;1;2T;S;10;Custom boxd;4;3072F;S;23;{{281, 20}, {217, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;103E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;150E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;151E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;S;21;{{39, 99}, {136, 17}}S;12;Standard boxS;23;{{314, 251}, {148, 24}}S;19;{{0, 0}, {148, 24}}d;1;9S;6;buttonS;17;selected+borderedD;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;140E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;141E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;98E;E;S;19;Change Border WidthS;23;{{518, 251}, {213, 24}}S;19;{{0, 0}, {213, 24}}S;28;Change Border Color/RoundingS;22;{{20, 20}, {241, 256}}S;20;{{0, 0}, {241, 256}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;E;E;S;6;CPViewS;22;{{59, 232}, {123, 24}}S;19;{{0, 0}, {123, 24}}d;2;13S;17;Change Fill ColorS;20;{{0, 0}, {241, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;E;E;S;9;BezelViewS;22;{{46, 100}, {150, 17}}S;19;{{0, 0}, {150, 17}}S;21;drawRect override boxS;23;{{787, 251}, {150, 24}}S;19;{{0, 0}, {150, 24}}S;19;Change Content ViewS;23;{{755, 20}, {217, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;E;E;S;22;{{40, 100}, {136, 17}}S;11;Dynamic boxS;13;AppControllerD;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;70E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;80E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;80E;E;E;S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;3;153E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;70E;E;E;S;20;{{3, 3}, {211, 211}}S;20;{{0, 0}, {211, 211}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;f;12;0.6064262111f;12;0.7461743972f;12;0.9993416667S;20;{{1, 1}, {215, 215}}S;20;{{0, 0}, {215, 215}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;38E;E;E;f;4;0.42E;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;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;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;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;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;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;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;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;51E;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;52E;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;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;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;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;2;64E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;65E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;66E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;67E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;68E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;69E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;70E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;71E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;32E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;73E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;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;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;77E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;78E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;80E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;81E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;2;82E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;2;84E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;2;85E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;80E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;86E;K;10;CPBoxTitleD;K;6;CP$UIDd;2;87E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;72E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;2;88E;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;89E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;92E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;6;$afontD;K;6;CP$UIDd;2;95E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;96E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;97E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;98E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;96E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;96E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;78E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;80E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;81E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;2;82E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;104E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;105E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;72E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;82E;K;10;CPBoxTitleD;K;6;CP$UIDd;2;87E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;72E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;106E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;92E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;6;$afontD;K;6;CP$UIDd;2;95E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;96E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;97E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;108E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;96E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;96E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;113E;K;16;$aimage-positionD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;115E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;116E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;117E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;72E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;97E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;72E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;72E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;113E;K;16;$aimage-positionD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;120E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;116E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;117E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;72E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;97E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;72E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;122E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;123E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;43E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;113E;K;16;$aimage-positionD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;128E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;116E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;117E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;72E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;97E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;72E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;72E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;43E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;132E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;92E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;6;$afontD;K;6;CP$UIDd;2;95E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;96E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;97E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;96E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;96E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;135E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;113E;K;16;$aimage-positionD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;81E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;137E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;116E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;117E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;72E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;97E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;72E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;72E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;78E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;80E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;140E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;48E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;92E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;6;$afontD;K;6;CP$UIDd;2;95E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;96E;K;11;$aalignmentD;K;6;CP$UIDd;2;96E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;97E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;141E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;96E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;96E;K;31;CPTextFieldPlaceholderStringKeyD;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;142E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;E;E;S;8;delegateS;9;customBoxS;13;customDrawBoxS;10;dynamicBoxS;12;dynamicLabelS;11;standardBoxS;9;theWindowS;16;changeFillColor:S;18;changeBorderWidth:S;18;changeBorderColor:S;18;changeContentView:S;10;{992, 318}S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;23;{{116, 63}, {992, 296}}S;22;{{0, 0}, {1680, 1028}}d;2;15S;10;NSBox Testd;1;0S;20;{{0, 0}, {992, 296}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;48E;E;E;d;2;18S;6;normalS;23;{{518, 20}, {217, 217}}S;20;{{0, 0}, {217, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;89E;E;E;d;2;17d;1;4d;1;1D;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;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;144E;E;d;1;3S;3;BoxS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;150E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;151E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;E;S;21;{{37, 99}, {130, 17}}S;19;{{0, 0}, {130, 17}}d;2;37S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;145E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;146E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;97E;E;d;1;2T;S;10;Custom boxd;4;3072F;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;147E;E;S;23;{{281, 20}, {217, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;106E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;72E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;E;S;22;{{39, 100}, {130, 17}}S;12;Standard boxS;23;{{314, 250}, {148, 25}}S;19;{{0, 0}, {148, 25}}d;1;9S;6;buttonS;17;selected+borderedD;K;6;$classD;K;6;CP$UIDd;2;94E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;145E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;146E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;97E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;97E;E;S;19;Change Border WidthS;0;d;2;14S;23;{{518, 250}, {213, 25}}S;19;{{0, 0}, {213, 25}}S;28;Change Border Color/RoundingS;22;{{20, 20}, {241, 256}}S;20;{{0, 0}, {241, 256}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;E;E;S;6;CPViewS;22;{{59, 231}, {123, 25}}S;19;{{0, 0}, {123, 25}}d;2;13S;17;Change Fill ColorS;20;{{0, 0}, {241, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;E;E;S;9;BezelViewS;22;{{46, 101}, {144, 17}}S;19;{{0, 0}, {144, 17}}S;21;drawRect override boxS;23;{{787, 250}, {150, 25}}S;19;{{0, 0}, {150, 25}}S;19;Change Content ViewS;23;{{755, 20}, {217, 217}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;E;E;S;22;{{40, 101}, {130, 17}}S;11;Dynamic boxS;13;AppControllerD;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;72E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;82E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;2;82E;E;E;D;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;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;160E;E;E;D;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;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;72E;E;E;S;20;{{3, 3}, {211, 211}}S;20;{{0, 0}, {211, 211}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;f;12;0.6064262111f;12;0.7461743972f;12;0.9993416667f;18;0.6862745098039216S;20;{{1, 1}, {215, 215}}S;20;{{0, 0}, {215, 215}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;38E;E;E;f;4;0.42E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib b/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib index 08de4e205..43c816a0e 100644 --- a/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib +++ b/Tests/Manual/Nib2CibAlignment/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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;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;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;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;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;81E;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;3;107E;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;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;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;3;118E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;134E;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;2;81E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;263E;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;271E;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;272E;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;269E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;269E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;204E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;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;17E;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;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;165E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;180E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;271E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;336E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;337E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;338E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;339E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;84E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;339E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;342E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;347E;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;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;348E;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;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;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;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;350E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;90E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;351E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;352E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;354E;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;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;356E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;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;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;359E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;100E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;362E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;363E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;364E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;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;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;356E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;367E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;368E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;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;104E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;370E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;371E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;375E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;377E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;379E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;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;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;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;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;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;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;387E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;387E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;390E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;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;395E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;396E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;398E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;402E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;125E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;403E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;407E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;131E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;411E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;412E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;135E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;402E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;398E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;390E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;140E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;420E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;423E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;427E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;429E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;431E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;432E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;433E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;434E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;435E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;441E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;442E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;446E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;447E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;161E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;448E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;449E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;450E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;452E;K;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;398E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;453E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;455E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;457E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;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;390E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;459E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;461E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;462E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;463E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;469E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;177E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;469E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;470E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;471E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;182E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;472E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;479E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;194E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;483E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;485E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;487E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;490E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;493E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;203E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;495E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;496E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;497E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;395E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;339E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;206E;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;205E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;499E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;500E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;501E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;503E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;510E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;512E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;516E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;520E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;521E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;522E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;523E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;524E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;526E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;527E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;528E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;529E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;530E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;532E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;533E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;535E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;536E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;537E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;538E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;539E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;541E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;543E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;544E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;545E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;528E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;546E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;523E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;547E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;510E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;548E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;550E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;551E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;549E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;552E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;553E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;554E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;532E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;555E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;535E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;556E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;557E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;538E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;558E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;560E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;561E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;528E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;563E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;523E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;564E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;510E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;565E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;566E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;532E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;535E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;568E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;538E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;570E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;571E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;572E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;573E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;528E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;574E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;510E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;575E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;576E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;531E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;532E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;577E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;535E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;578E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;579E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;538E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;580E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;583E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;584E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;585E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;586E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;587E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;588E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;589E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;590E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;591E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;592E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;593E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;594E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;595E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;596E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;597E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;598E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;600E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;601E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;602E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;603E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;604E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;605E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;606E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;608E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;609E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;610E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;611E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;612E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;613E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;599E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;614E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;615E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;532E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;506E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;507E;K;16;$aimage-positionD;K;6;CP$UIDd;3;498E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;523E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;511E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;498E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;616E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;582E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;498E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;502E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;617E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;517E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;498E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;518E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;498E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;519E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;262E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;270E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;618E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;504E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;542E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;534E;K;6;$afontD;K;6;CP$UIDd;3;509E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;461E;K;11;$aalignmentD;K;6;CP$UIDd;3;498E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;498E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;532E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;498E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;498E;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;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;620E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;621E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;622E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;621E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;623E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;621E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;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;267E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;498E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;624E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;505E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;626E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;627E;K;6;$afontD;K;6;CP$UIDd;3;628E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;398E;K;11;$aalignmentD;K;6;CP$UIDd;3;461E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;344E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;345E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;629E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;344E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;344E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;344E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;630E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;398E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;461E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;631E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;632E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;633E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;204E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;9;AMainMenuS;11;_CPMainMenuD;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;3;139E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;103E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;94E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;105E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;130E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;120E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;129E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;143E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;193E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;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;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, -79}, {870, 717}}d;1;0S;21;{{7, 11}, {870, 717}}S;20;{{0, 0}, {870, 717}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;268E;E;E;S;6;normalS;21;{{18, 18}, {230, 24}}S;19;{{0, 0}, {230, 24}}d;2;36S;6;buttonS;17;selected+borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;635E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;26;CPTexturedSquareBezelStyled;2;14S;19;{{18, 0}, {5, 717}}S;18;{{0, 0}, {5, 717}}d;2;20D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;636E;E;D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;637E;E;S;3;BoxS;6;{0, 0}S;20;{{247, 0}, {5, 717}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;638E;E;S;21;{{18, 58}, {230, 24}}S;27;CPTexturedRoundedBezelStyleS;21;{{18, 99}, {230, 24}}S;23;CPSmallSquareBezelStyleS;22;{{18, 139}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;21;CPRoundRectBezelStyleS;22;{{18, 177}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;20;CPRecessedBezelStyled;2;12S;22;{{18, 215}, {230, 24}}S;8;borderedS;28;CPShadowlessSquareBezelStyleS;22;{{18, 255}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;599E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;25;CPRegularSquareBezelStyleS;22;{{18, 296}, {230, 24}}S;19;CPRoundedBezelStyleS;23;{{618, 296}, {230, 24}}d;2;33S;22;{{618, 99}, {230, 24}}S;23;{{618, 139}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{618, 58}, {230, 24}}S;22;{{618, 18}, {230, 24}}S;20;{{618, 0}, {5, 717}}d;2;17D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;639E;E;S;20;{{847, 0}, {5, 717}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;640E;E;S;23;{{618, 177}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 215}, {230, 24}}S;23;{{618, 255}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;599E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 667}, {230, 24}}d;1;9S;23;{{618, 470}, {230, 24}}S;23;{{618, 510}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 429}, {230, 24}}S;23;{{618, 389}, {230, 24}}S;23;{{618, 548}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 586}, {230, 24}}S;23;{{618, 626}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;599E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{18, 667}, {230, 24}}S;22;{{18, 470}, {230, 24}}S;22;{{18, 510}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{18, 389}, {230, 24}}S;22;{{18, 548}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;532E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{18, 586}, {230, 24}}S;22;{{18, 626}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;599E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;19;{{0, 18}, {870, 5}}S;18;{{0, 0}, {870, 5}}d;2;34D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;641E;E;S;19;{{0, 58}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;642E;E;S;19;{{0, 99}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;643E;E;S;20;{{0, 139}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;644E;E;S;20;{{0, 177}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;645E;E;S;20;{{0, 215}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;646E;E;S;20;{{0, 255}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;647E;E;S;20;{{0, 296}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;648E;E;S;20;{{0, 389}, {870, 5}}d;2;10D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;649E;E;S;20;{{0, 429}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;650E;E;S;20;{{0, 470}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;651E;E;S;20;{{0, 510}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;652E;E;S;20;{{0, 548}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;653E;E;S;20;{{0, 586}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;654E;E;S;20;{{0, 626}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;655E;E;S;20;{{0, 667}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;656E;E;S;22;{{18, 429}, {230, 24}}S;21;{{12, 331}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;657E;E;S;23;{{618, 331}, {230, 24}}S;12;popup-buttonS;6;Item 1S;17;_popUpItemAction:S;6;Item 2S;6;Item 3S;22;{{14, 329}, {238, 29}}S;19;{{0, 0}, {238, 29}}S;9;textfieldS;19;bezeled+placeholderD;K;6;$classD;K;6;CP$UIDd;3;508E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;634E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;635E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;515E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;658E;E;S;13;AppControllerS;10;OtherViewsD;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;265E;D;K;6;CP$UIDd;3;266E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;498E;D;K;6;CP$UIDd;3;659E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;401E;E;E;f;4;0.42E;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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;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;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;269E;D;K;6;CP$UIDd;3;270E;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;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;81E;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;3;107E;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;3;107E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;107E;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;3;118E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;134E;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;2;81E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;263E;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;271E;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;272E;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;269E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;269E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;204E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;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;17E;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;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;136E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;165E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;183E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;178E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;180E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;172E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;271E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;336E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;337E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;338E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;339E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;84E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;339E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;342E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;347E;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;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;348E;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;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;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;84E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;350E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;90E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;351E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;352E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;354E;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;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;356E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;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;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;359E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;361E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;100E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;362E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;363E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;364E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;90E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;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;90E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;356E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;367E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;368E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;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;104E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;370E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;371E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;372E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;375E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;376E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;377E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;379E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;380E;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;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;382E;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;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;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;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;387E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;387E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;388E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;390E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;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;395E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;396E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;398E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;400E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;118E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;402E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;125E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;403E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;404E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;405E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;407E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;125E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;131E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;411E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;412E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;135E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;107E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;402E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;398E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;399E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;390E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;140E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;420E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;421E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;423E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;425E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;427E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;429E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;431E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;432E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;433E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;434E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;435E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;386E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;140E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;441E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;441E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;442E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;443E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;155E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;446E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;447E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;161E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;448E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;449E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;450E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;444E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;452E;K;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;398E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;453E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;454E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;455E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;457E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;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;390E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;459E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;461E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;462E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;463E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;464E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;467E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;469E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;177E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;469E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;470E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;471E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;182E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;472E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;465E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;474E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;479E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;161E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;366E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;340E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;194E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;483E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;485E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;487E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;490E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;344E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;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;346E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;383E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;381E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;493E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;203E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;495E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;496E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;497E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;498E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;499E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;395E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;339E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;206E;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;205E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;501E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;502E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;503E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;505E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;512E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;514E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;515E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;518E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;522E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;515E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;523E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;524E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;526E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;527E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;528E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;529E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;530E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;531E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;532E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;533E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;534E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;535E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;537E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;538E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;539E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;541E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;542E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;543E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;542E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;545E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;527E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;546E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;547E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;530E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;548E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;549E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;512E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;550E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;515E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;551E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;552E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;553E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;515E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;551E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;554E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;555E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;556E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;533E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;534E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;557E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;537E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;558E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;559E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;560E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;542E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;562E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;527E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;563E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;564E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;530E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;565E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;566E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;512E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;568E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;533E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;534E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;569E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;537E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;570E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;561E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;571E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;572E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;542E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;573E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;527E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;574E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;575E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;530E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;576E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;401E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;512E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;401E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;577E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;578E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;533E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;534E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;579E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;537E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;580E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;581E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;540E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;582E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;585E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;586E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;587E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;588E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;589E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;590E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;591E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;592E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;593E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;594E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;595E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;596E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;597E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;598E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;599E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;600E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;602E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;603E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;604E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;605E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;606E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;608E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;609E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;610E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;611E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;612E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;613E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;614E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;615E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;601E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;616E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;6;$classD;K;6;CP$UIDd;3;207E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;617E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;508E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;509E;K;16;$aimage-positionD;K;6;CP$UIDd;3;500E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;500E;K;11;$aalignmentD;K;6;CP$UIDd;3;398E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;525E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;513E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;500E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;209E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;618E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;584E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;500E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;398E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;390E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;619E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;519E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;500E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;401E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;520E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;500E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;521E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;262E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;270E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;620E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;621E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;622E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;536E;K;6;$afontD;K;6;CP$UIDd;3;511E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;461E;K;11;$aalignmentD;K;6;CP$UIDd;3;500E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;500E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;461E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;345E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;346E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;534E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;500E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;344E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;398E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;500E;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;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;623E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;624E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;401E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;625E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;624E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;626E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;624E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;270E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;341E;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;267E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;500E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;627E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;628E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;507E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;629E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;630E;K;6;$afontD;K;6;CP$UIDd;3;631E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;398E;K;11;$aalignmentD;K;6;CP$UIDd;3;461E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;344E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;345E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;632E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;344E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;344E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;344E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;633E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;398E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;461E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;634E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;635E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;636E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;204E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;9;AMainMenuS;11;_CPMainMenuD;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;3;139E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;3;103E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;94E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;105E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;130E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;120E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;129E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;143E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;193E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;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;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, -79}, {870, 717}}S;22;{{0, 0}, {1680, 1028}}d;1;0S;21;{{7, 11}, {870, 717}}S;20;{{0, 0}, {870, 717}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;217E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;219E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;221E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;251E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;268E;E;E;S;6;normalS;21;{{18, 17}, {230, 25}}S;19;{{0, 0}, {230, 25}}d;2;36S;6;buttonS;17;selected+borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;638E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;26;CPTexturedSquareBezelStyled;2;14S;19;{{18, 0}, {5, 717}}S;18;{{0, 0}, {5, 717}}d;2;20D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;639E;E;D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;640E;E;S;3;BoxS;6;{0, 0}S;20;{{247, 0}, {5, 717}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;641E;E;S;21;{{18, 57}, {230, 25}}S;27;CPTexturedRoundedBezelStyleS;21;{{18, 98}, {230, 25}}S;23;CPSmallSquareBezelStyleS;22;{{18, 138}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;21;CPRoundRectBezelStyleS;22;{{18, 176}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;20;CPRecessedBezelStyled;2;12S;22;{{18, 214}, {230, 25}}S;8;borderedS;28;CPShadowlessSquareBezelStyleS;22;{{18, 254}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;601E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;25;CPRegularSquareBezelStyleS;22;{{18, 295}, {230, 25}}S;19;CPRoundedBezelStyleS;23;{{618, 295}, {230, 25}}d;2;33S;22;{{618, 98}, {230, 25}}S;23;{{618, 138}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{618, 57}, {230, 25}}S;22;{{618, 17}, {230, 25}}S;20;{{618, 0}, {5, 717}}d;2;17D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;642E;E;S;20;{{847, 0}, {5, 717}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;643E;E;S;23;{{618, 176}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 214}, {230, 25}}S;23;{{618, 254}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;601E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 666}, {230, 25}}d;1;9S;23;{{618, 469}, {230, 25}}S;23;{{618, 509}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 428}, {230, 25}}S;23;{{618, 388}, {230, 25}}S;23;{{618, 547}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;23;{{618, 585}, {230, 25}}S;23;{{618, 625}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;601E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{18, 666}, {230, 25}}S;22;{{18, 469}, {230, 25}}S;22;{{18, 509}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{18, 388}, {230, 25}}S;22;{{18, 547}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;534E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;344E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;22;{{18, 585}, {230, 25}}S;22;{{18, 625}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;601E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;S;19;{{0, 18}, {870, 5}}S;18;{{0, 0}, {870, 5}}d;2;34D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;644E;E;S;19;{{0, 58}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;645E;E;S;19;{{0, 99}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;646E;E;S;20;{{0, 139}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;647E;E;S;20;{{0, 177}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;648E;E;S;20;{{0, 215}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;649E;E;S;20;{{0, 255}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;650E;E;S;20;{{0, 296}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;651E;E;S;20;{{0, 389}, {870, 5}}d;2;10D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;652E;E;S;20;{{0, 429}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;653E;E;S;20;{{0, 470}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;654E;E;S;20;{{0, 510}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;655E;E;S;20;{{0, 548}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;656E;E;S;20;{{0, 586}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;657E;E;S;20;{{0, 626}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;658E;E;S;20;{{0, 667}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;659E;E;S;22;{{18, 428}, {230, 25}}S;21;{{12, 331}, {870, 5}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;660E;E;S;23;{{617, 330}, {231, 25}}S;19;{{0, 0}, {231, 25}}S;12;popup-buttonS;6;Item 1S;17;_popUpItemAction:S;6;Item 2S;6;Item 3S;22;{{14, 329}, {238, 29}}S;19;{{0, 0}, {238, 29}}S;9;textfieldS;28;bezeled+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;3;510E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;637E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;638E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;346E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;344E;E;d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;517E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;661E;E;S;13;AppControllerS;10;OtherViewsD;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;265E;D;K;6;CP$UIDd;3;266E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;500E;D;K;6;CP$UIDd;3;662E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;401E;D;K;6;CP$UIDd;3;401E;E;E;f;4;0.42E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/Nib2CibBaselineAlignementTest/AppController.j b/Tests/Manual/Nib2CibBaselineAlignementTest/AppController.j index 53149c48c..ad47fd229 100644 --- a/Tests/Manual/Nib2CibBaselineAlignementTest/AppController.j +++ b/Tests/Manual/Nib2CibBaselineAlignementTest/AppController.j @@ -12,6 +12,25 @@ @implementation AppController : CPObject { CPWindow theWindow; //this "outlet" is connected automatically by the Cib + @outlet CPView view1; + @outlet CPView view2; + @outlet CPView view3; + @outlet CPView view4; + @outlet CPView view5; + @outlet CPView view6; + @outlet CPView view7; + @outlet CPView view8; + @outlet CPTextField t1; + @outlet CPTextField t2; + @outlet CPTextField t3; + @outlet CPTextField t4; + @outlet CPTextField t5; + @outlet CPTextField t6; + @outlet CPTextField t7; + @outlet CPTextField t8; + + @outlet CPCheckBox swicth; + } - (void)applicationDidFinishLaunching:(CPNotification)aNotification @@ -21,12 +40,31 @@ - (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. + [view1 setBackgroundColor:[CPColor redColor]]; + [view2 setBackgroundColor:[CPColor redColor]]; + [view3 setBackgroundColor:[CPColor redColor]]; + [view4 setBackgroundColor:[CPColor redColor]]; + [view5 setBackgroundColor:[CPColor redColor]]; + [view6 setBackgroundColor:[CPColor redColor]]; + [view7 setBackgroundColor:[CPColor redColor]]; + [view8 setBackgroundColor:[CPColor redColor]]; - // In this case, we want the window from Cib to become our full browser window + [self switchBg:swicth]; [theWindow setFullPlatformWindow:YES]; } +- (IBAction)switchBg:(id)aSender +{ + var color = [aSender state] ? [CPColor greenColor] : [CPColor colorWithCalibratedRed:0 green:1 blue:0 alpha:0.5]; + + [t1 setBackgroundColor:color]; + [t2 setBackgroundColor:color]; + [t3 setBackgroundColor:color]; + [t4 setBackgroundColor:color]; + [t5 setBackgroundColor:color]; + [t6 setBackgroundColor:color]; + [t7 setBackgroundColor:color]; + [t8 setBackgroundColor:color]; +} + @end diff --git a/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.cib b/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.cib index 7cbaa47e8..4103a62f7 100644 --- a/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.cib +++ b/Tests/Manual/Nib2CibBaselineAlignementTest/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;D;K;6;CP$UIDd;2;19E;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;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;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;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;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;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;49E;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;51E;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;52E;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;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;41E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;56E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;57E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;58E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;59E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;60E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;24E;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;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;62E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;62E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;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;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;65E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;78E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;80E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;82E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;83E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;87E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;80E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;82E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;83E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;91E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;92E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;94E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;92E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;96E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;97E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;106E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;108E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;80E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;82E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;83E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;80E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;82E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;82E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;83E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;3;116E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;72E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;72E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;2;71E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;100E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;101E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;102E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;2;61E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;2;72E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;103E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;2;61E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;3;120E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;121E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;72E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;81E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;123E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;2;70E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;61E;K;11;$aalignmentD;K;6;CP$UIDd;2;61E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;61E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;61E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;61E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;64E;K;6;$afontD;K;6;CP$UIDd;3;126E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;61E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;75E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;75E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;77E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;71E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;61E;K;31;CPTextFieldPlaceholderStringKeyD;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;127E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;E;E;S;8;delegateS;9;theWindowS;11;nextKeyViewS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 141}, {316, 347}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {316, 347}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;49E;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;E;E;S;6;normalS;21;{{37, 194}, {71, 20}}S;18;{{0, 0}, {71, 20}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;d;1;2d;1;1S;6;pdpdpdd;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;130E;E;S;23;{{113, 217}, {163, 29}}S;19;{{0, 0}, {163, 29}}S;7;bezeledd;1;4T;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;131E;E;S;12;john@doe.comS;21;{{37, 225}, {71, 17}}S;18;{{0, 0}, {71, 17}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;23;{{113, 245}, {163, 29}}S;8;John DoeS;21;{{37, 253}, {71, 17}}S;23;{{116, 194}, {155, 20}}S;19;{{0, 0}, {155, 20}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;21;{{37, 169}, {71, 20}}S;23;{{116, 169}, {155, 20}}S;21;{{37, 141}, {71, 20}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;21;{{20, 179}, {276, 5}}S;18;{{0, 0}, {276, 5}}d;1;3D;K;6;$classD;K;6;CP$UIDd;2;76E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;133E;E;S;3;BoxS;6;{0, 0}S;21;{{20, 151}, {276, 5}}S;21;{{20, 204}, {276, 5}}S;21;{{20, 235}, {276, 5}}S;21;{{20, 263}, {276, 5}}S;23;{{113, 273}, {163, 29}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;21;{{37, 281}, {71, 17}}S;21;{{20, 291}, {276, 5}}S;23;{{113, 301}, {163, 29}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;21;{{37, 309}, {71, 17}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;21;{{20, 319}, {276, 5}}S;21;{{25, 21}, {163, 22}}S;19;{{0, 0}, {163, 22}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;134E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;17;Alignment testingS;21;{{25, 46}, {246, 68}}S;19;{{0, 0}, {246, 68}}S;156;The following labels and text fields content should all have their baselines aligned to the blue lines (last pixel on the line) and should not be truncated.S;22;{{116, 141}, {71, 20}}D;K;6;$classD;K;6;CP$UIDd;2;69E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;75E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;82E;E;S;13;AppControllerS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;2;72E;E;E;D;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;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;72E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;138E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;3;138E;E;E;d;2;17f;18;0.6862745098039216f;12;0.3450980484f;12;0.6352941394f;4;0.52E;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;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;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;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;1;0E;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;2;85E;D;K;6;CP$UIDd;1;0E;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;1;0E;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;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;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;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;1;0E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;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;3;115E;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;11E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;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;116E;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;117E;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;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;79E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;85E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;93E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;42E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;82E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;84E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;90E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;40E;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;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;63E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;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;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;40E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;139E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;140E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;141E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;142E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;143E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;144E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;145E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;146E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;44E;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;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;148E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;148E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;149E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;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;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;152E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;165E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;167E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;168E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;169E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;171E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;172E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;173E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;167E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;168E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;169E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;172E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;177E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;179E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;182E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;183E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;187E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;192E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;193E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;194E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;195E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;197E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;199E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;200E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;167E;K;6;$afontD;K;6;CP$UIDd;3;201E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;168E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;169E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;172E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;203E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;205E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;206E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;167E;K;6;$afontD;K;6;CP$UIDd;3;207E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;168E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;169E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;208E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;172E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;209E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;159E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;159E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;210E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;211E;K;14;$aborder-colorD;K;6;CP$UIDd;3;188E;K;18;$abackground-colorD;K;6;CP$UIDd;3;189E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;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;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;214E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;159E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;215E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;159E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;147E;K;11;$aalignmentD;K;6;CP$UIDd;3;147E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;218E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;147E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;147E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;219E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;153E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;220E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;147E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;147E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;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;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;223E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;225E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;226E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;227E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;228E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;229E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;230E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;213E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;231E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;159E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;232E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;159E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;233E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;234E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;235E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;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;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;237E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;237E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;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;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;241E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;242E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;243E;K;16;$aimage-positionD;K;6;CP$UIDd;3;158E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;147E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;159E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;150E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;244E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;245E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;159E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;168E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;158E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;147E;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;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;246E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;246E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;248E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;249E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;250E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;249E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;250E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;251E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;252E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;237E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;252E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;237E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;253E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;254E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;255E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;250E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;254E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;256E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;255E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;250E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;257E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;260E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;261E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;239E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;264E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;265E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;266E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;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;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;269E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;272E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;273E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;274E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;275E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;277E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;278E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;279E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;280E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;281E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;282E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;283E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;284E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;285E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;286E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;287E;K;14;$aborder-colorD;K;6;CP$UIDd;3;288E;K;18;$abackground-colorD;K;6;CP$UIDd;3;289E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;286E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;291E;K;14;$aborder-colorD;K;6;CP$UIDd;3;292E;K;18;$abackground-colorD;K;6;CP$UIDd;3;293E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;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;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;296E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;297E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;299E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;300E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;299E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;299E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;302E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;299E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;303E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;299E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;304E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;299E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;305E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;306E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;308E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;306E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;45E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;309E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;310E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;311E;K;6;$afontD;K;6;CP$UIDd;3;157E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;168E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;245E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;168E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;168E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;169E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;158E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;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;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;314E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;315E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;316E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;317E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;318E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;319E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;147E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;320E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;318E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;154E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;16;$acontent-marginD;K;6;CP$UIDd;3;321E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;158E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;190E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;191E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;147E;K;14;CPBoxTitleViewD;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;2;42E;E;E;S;8;delegateS;6;swicthS;2;t1S;2;t2S;2;t3S;2;t4S;2;t5S;2;t6S;2;t7S;2;t8S;9;theWindowS;5;view1S;5;view2S;5;view3S;5;view4S;5;view5S;5;view6S;5;view7S;5;view8S;11;nextKeyViewS;9;switchBg:S;13;AppControllerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;26;{{335, -104}, {1114, 592}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;21;{{0, 0}, {1114, 592}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;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;96E;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;68E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;77E;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;79E;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;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;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;102E;D;K;6;CP$UIDd;3;115E;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;E;E;d;1;4S;6;normalS;21;{{40, 193}, {71, 20}}S;18;{{0, 0}, {71, 20}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;d;1;2d;1;1S;7;gfgfgfgd;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;324E;E;S;23;{{114, 217}, {154, 29}}S;19;{{0, 0}, {154, 29}}S;16;bezeled+editableT;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;325E;E;S;12;john@doe.comS;21;{{40, 224}, {71, 17}}S;18;{{0, 0}, {71, 17}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;23;{{114, 245}, {154, 29}}S;8;John DoeS;21;{{40, 252}, {71, 17}}S;21;{{40, 168}, {71, 20}}S;23;{{118, 168}, {134, 20}}S;19;{{0, 0}, {134, 20}}S;21;{{28, 140}, {83, 20}}S;18;{{0, 0}, {83, 20}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;21;{{28, 179}, {246, 5}}S;18;{{0, 0}, {246, 5}}S;3;boxD;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;328E;E;d;1;3S;3;BoxS;21;{{28, 151}, {246, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{28, 204}, {246, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{28, 235}, {246, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{28, 263}, {246, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;23;{{114, 273}, {154, 29}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;21;{{40, 280}, {71, 17}}S;25;{{28.5, 291}, {245.5, 5}}S;20;{{0, 0}, {245.5, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;23;{{114, 301}, {154, 29}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;21;{{40, 308}, {71, 17}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;25;{{28.5, 319}, {245.5, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{28, 20}, {246, 22}}S;19;{{0, 0}, {246, 22}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;329E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;17;Alignment testingS;21;{{28, 45}, {246, 68}}S;19;{{0, 0}, {246, 68}}S;156;The following labels and text fields content should all have their baselines aligned to the blue lines (last pixel on the line) and should not be truncated.S;22;{{118, 140}, {71, 20}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;21;{{271, 20}, {5, 390}}S;18;{{0, 0}, {5, 390}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;20;{{28, 18}, {246, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;20;{{26, 20}, {5, 390}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;25;{{28.5, 407}, {245.5, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;22;{{321, 20}, {246, 22}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;329E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;14;Labels sizingsS;22;{{321, 50}, {203, 17}}S;19;{{0, 0}, {203, 17}}S;31;You shouldn't see any red belowS;22;{{321, 98}, {436, 13}}S;19;{{0, 0}, {436, 13}}S;6;CPViewS;55;abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZS;21;{{570, 51}, {61, 18}}S;18;{{0, 0}, {61, 18}}S;9;check-boxS;8;selectedS;5;CheckS;0;S;23;{{321, 129}, {436, 11}}S;19;{{0, 0}, {436, 11}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;330E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;22;{{321, 160}, {436, 9}}S;18;{{0, 0}, {436, 9}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;331E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;23;{{321, 183}, {436, 13}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;23;{{321, 214}, {436, 11}}S;22;{{321, 245}, {436, 9}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;330E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;331E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;25;{{321, 273.5}, {436, 60}}S;19;{{0, 0}, {436, 60}}S;23;{{321, 274}, {436, 60}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;332E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;25;{{321, 348.5}, {436, 21}}S;19;{{0, 0}, {436, 21}}S;23;{{321, 349}, {436, 21}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;329E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;26;abcdefghijklmnopqrstuvwxyzS;24;{{108, 140}, {5, 193.5}}S;20;{{0, 0}, {5, 193.5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;22;{{116, 140}, {5, 194}}S;18;{{0, 0}, {5, 194}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;22;{{118, 193}, {86, 20}}S;18;{{0, 0}, {86, 20}}D;K;6;$classD;K;6;CP$UIDd;3;156E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;322E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;323E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;168E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;168E;E;S;21;{{319, 98}, {5, 269}}S;18;{{0, 0}, {5, 269}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{754, 98}, {5, 272}}S;18;{{0, 0}, {5, 272}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;24;{{261, 213}, {5, 120.5}}S;20;{{0, 0}, {5, 120.5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;22;{{321, 109}, {436, 5}}S;18;{{0, 0}, {436, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;334E;E;S;21;{{321, 95}, {436, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;336E;E;S;20;{{28, 128}, {83, 5}}S;17;{{0, 0}, {83, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{765, 96}, {59, 17}}S;18;{{0, 0}, {59, 17}}S;9;truncatedS;22;{{765, 126}, {59, 17}}S;22;{{765, 156}, {59, 17}}S;22;{{765, 181}, {59, 17}}S;22;{{765, 211}, {59, 17}}S;22;{{765, 241}, {59, 17}}S;22;{{765, 271}, {84, 17}}S;18;{{0, 0}, {84, 17}}S;13;not truncatedS;22;{{765, 351}, {84, 17}}S;22;{{88, 360}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;28;bezeled+editable+placeholderS;20;{{90, 349}, {5, 51}}S;17;{{0, 0}, {5, 51}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{185, 349}, {5, 51}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{74, 361}, {130, 5}}S;18;{{0, 0}, {130, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;21;{{74, 383}, {130, 5}}D;K;6;$classD;K;6;CP$UIDd;3;186E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;326E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;337E;D;K;6;CP$UIDd;3;159E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;159E;E;E;S;22;{"width":0,"height":0}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;340E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;340E;E;E;d;2;17d;2;11d;1;9d;2;10D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;340E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;340E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;340E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;338E;D;K;6;CP$UIDd;3;339E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;340E;E;E;f;18;0.6862745098039216f;12;0.3450980484f;12;0.6352941394f;4;0.52E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.xib b/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.xib index 5ad092d75..f440a6e6f 100644 --- a/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.xib +++ b/Tests/Manual/Nib2CibBaselineAlignementTest/Resources/MainMenu.xib @@ -2,22 +2,25 @@ 1050 - 11E2620 - 2182 - 1138.47 - 569.00 + 12D54 + 2844 + 1187.37 + 626.00 com.apple.InterfaceBuilder.CocoaPlugin - 2182 + 2844 YES - NSTextField NSBox - NSWindowTemplate - NSView - NSTextFieldCell + NSButton + NSButtonCell NSCustomObject + NSCustomView + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate YES @@ -38,10 +41,13 @@ NSApplication + + AppController + 7 2 - {{335, 390}, {316, 347}} + {{335, 390}, {1114, 592}} 1946157056 Window NSWindow @@ -49,21 +55,21 @@ - 256 + 260 YES 268 - {{37, 134}, {77, 20}} + {{37, 379}, {77, 20}} - + YES - 68288064 + 68157504 67109888 - pdpdpd + gfgfgfg LucidaGrande 13 @@ -89,18 +95,20 @@ + NO 268 - {{119, 104}, {155, 22}} + {{118, 349}, {146, 22}} + YES - -1804468671 + -1804599231 268436480 - pdpdpd + gfgfgfg LucidaGrande 13 @@ -125,19 +133,20 @@ + NO 268 - {{37, 106}, {77, 17}} + {{37, 351}, {77, 17}} - + YES - 68288064 + 68157504 71304192 - pdpdpd + gfgfgfg LucidaGrande-Bold 13 @@ -147,18 +156,20 @@ + NO 268 - {{119, 76}, {155, 22}} + {{118, 321}, {146, 22}} + YES - -1804468671 + -1804599231 268436480 - pdpdpd + gfgfgfg John Doe @@ -166,120 +177,137 @@ + NO 268 - {{37, 78}, {77, 17}} + {{37, 323}, {77, 17}} YES - 68288064 + 68157504 71304192 - pdpdpd + gfgfgfg + NO 268 - {{116, 134}, {161, 20}} + {{115, 379}, {92, 20}} + YES - 68288064 + 68157504 268436480 - pdpdpd + gfgfgfg + NO 268 - {{37, 159}, {77, 20}} + {{37, 404}, {77, 20}} + YES - 68288064 + 68157504 67109888 - pdpdpd + gfgfgfg + NO 268 - {{116, 159}, {161, 20}} + {{115, 404}, {140, 20}} + YES - 68288064 + 68157504 268436480 - pdpdpd + gfgfgfg + NO 268 - {{37, 187}, {77, 20}} + {{25, 432}, {89, 20}} + YES - 68288064 + 68157504 67109888 - pdpdpd - + gfgfgfg + + LucidaGrande-Bold + 13 + 2072 + + NO 268 - {{116, 187}, {77, 20}} + {{115, 432}, {77, 20}} + YES - 68288064 + 68157504 1024 - pdpdpd - + gfgfgfg + + NO 12 - {{20, 163}, {276, 5}} + {{28, 408}, {246, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 0 Box @@ -305,13 +333,14 @@ 12 - {{20, 191}, {276, 5}} + {{28, 436}, {246, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 0 Box @@ -328,16 +357,83 @@ - + 12 - {{20, 138}, {276, 5}} + {{321, 478}, {436, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + 2 + MC4zNDUwOTgwNDg0IDAuNjM1Mjk0MTM5NCAxIDAuNTIAA + + + 2 + MC4zNDUwOTgwNDg0IDAuNjM1Mjk0MTM5NCAxIDAuNTIAA + + + + + 12 + {{321, 492}, {436, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + 2 + MC4zNDUwOTgwNDg0IDAuNjM1Mjk0MTM5NCAxIDAuNTIAA + + + 2 + MC4zNDUwOTgwNDg0IDAuNjM1Mjk0MTM5NCAxIDAuNTIAA + + + + + 12 + {{28, 383}, {246, 5}} + + + + _NS:9 + {0, 0} + + 67108864 0 Box @@ -357,13 +453,14 @@ 12 - {{20, 107}, {276, 5}} + {{28, 352}, {246, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 0 Box @@ -383,13 +480,14 @@ 12 - {{20, 79}, {276, 5}} + {{28, 324}, {246, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 0 Box @@ -409,54 +507,54 @@ 268 - {{119, 48}, {155, 22}} + {{118, 293}, {146, 22}} + YES - -1804468671 + -1804599231 268436480 - pdpdpd - - LucidaGrande-Bold - 13 - 2072 - + gfgfgfg + John Doe YES + NO 268 - {{37, 50}, {77, 17}} + {{37, 295}, {77, 17}} YES - 68288064 + 68157504 71304192 - pdpdpd + gfgfgfg + NO 12 - {{20, 51}, {276, 5}} + {{28.5, 296}, {245.5, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 0 Box @@ -476,14 +574,15 @@ 268 - {{119, 20}, {155, 22}} + {{118, 265}, {146, 22}} + YES - -1804468671 + -1804599231 268436480 - pdpdpd + gfgfgfg John Doe @@ -491,35 +590,38 @@ + NO 268 - {{37, 22}, {77, 17}} + {{37, 267}, {77, 17}} YES - 68288064 + 68157504 71304192 - pdpdpd + gfgfgfg + NO 12 - {{20, 23}, {276, 5}} + {{28.5, 268}, {245.5, 5}} + _NS:9 {0, 0} - 67239424 + 67108864 0 Box @@ -539,15 +641,16 @@ 268 - {{25, 305}, {169, 22}} + {{25, 550}, {252, 22}} + YES - 67239424 + 67108864 268435968 Alignment testing - + LucidaGrande-Bold 17 16 @@ -556,36 +659,937 @@ + NO + + + + 268 + {{318, 550}, {252, 22}} + + + + YES + + 67108864 + 268435968 + Labels sizings + + + + + + NO 268 - {{25, 234}, {252, 68}} + {{25, 479}, {252, 68}} + YES - 67239424 + 67108864 0 The following labels and text fields content should all have their baselines aligned to the blue lines (last pixel on the line) and should not be truncated. - + + NO + + + + 12 + {{271, 182}, {5, 390}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{26, 182}, {5, 390}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{28, 569}, {246, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{28.5, 180}, {245.5, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 268 + + YES + + {{321, 481}, {436, 13}} + + + + _NS:9 + NSView + + + + 268 + {{318, 525}, {209, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + You shouldn't see any red below + + _NS:1535 + + + + + NO + + + + 268 + {{318, 481}, {442, 13}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + _NS:1535 + + + + + NO + + + + 268 + + YES + + {{321, 452}, {436, 11}} + + + + _NS:9 + NSView + + + + 268 + {{318, 452}, {442, 11}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + LucidaGrande + 11 + 3100 + + _NS:1535 + + + + + NO + + + + 268 + + YES + + {{321, 423}, {436, 9}} + + + + _NS:9 + NSView + + + + 268 + {{318, 423}, {442, 9}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + LucidaGrande + 9 + 3614 + + _NS:1535 + + + + + NO + + + + 268 + + YES + + {{321, 396}, {436, 13}} + + + + _NS:9 + NSView + + + + 268 + {{318, 396}, {442, 13}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + _NS:1535 + + + + + NO + + + + 268 + + YES + + {{321, 367}, {436, 11}} + + + + _NS:9 + NSView + + + + 268 + + YES + + {{321, 338}, {436, 9}} + + + + _NS:9 + NSView + + + + 268 + {{570, 523}, {61, 18}} + + + + _NS:9 + YES + + -2080374784 + 268435456 + Check + + _NS:9 + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + + 268 + {{318, 367}, {442, 11}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + LucidaGrande-Bold + 11 + 3357 + + _NS:1535 + + + + + NO + + + + 268 + {{318, 338}, {442, 9}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + LucidaGrande-Bold + 9 + 3871 + + _NS:1535 + + + + + NO + + + + 268 + + YES + + {{321, 258.5}, {436, 60}} + + + + _NS:9 + NSView + + + + 268 + {{318, 258}, {442, 60}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz - ABCDEFGHIJKLMNOPQRSTUVWXYZ + + LucidaGrande-Bold + 10 + 16 + + _NS:1535 + + + + + NO + + + + 268 + + YES + + {{321, 222.5}, {436, 21}} + + + + _NS:9 + NSView + + + + 268 + {{318, 222}, {442, 21}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + abcdefghijklmnopqrstuvwxyz + + LucidaGrande + 17 + 16 + + _NS:1535 + + + + + NO + + + + 12 + {{108, 258.5}, {5, 193.5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{116, 258}, {5, 194}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{319, 225}, {5, 269}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{754, 222}, {5, 272}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{261, 258.5}, {5, 120.5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 268 + {{92, 206}, {96, 22}} + + + + _NS:9 + YES + + -1804599231 + 272630784 + + + _NS:9 + + YES + + + + NO + + + + 12 + {{90, 192}, {5, 51}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{185, 192}, {5, 51}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{74, 226}, {130, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{28, 459}, {83, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 12 + {{74, 204}, {130, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 268 + {{762, 479}, {65, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 449}, {65, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 419}, {65, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 394}, {65, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 364}, {65, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 334}, {65, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 304}, {90, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + not truncated + + _NS:1535 + + + + + NO + + + + 268 + {{762, 224}, {90, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + not truncated + + _NS:1535 + + + + + NO - {316, 347} + {1114, 592} + {{0, 0}, {1440, 878}} {10000000000000, 10000000000000} YES - - AppController - @@ -606,6 +1610,150 @@ 459 + + + view1 + + + + 638 + + + + t1 + + + + 647 + + + + switchBg: + + + + 657 + + + + view2 + + + + 661 + + + + t2 + + + + 662 + + + + view3 + + + + 666 + + + + t3 + + + + 667 + + + + view4 + + + + 677 + + + + view5 + + + + 678 + + + + view6 + + + + 679 + + + + t4 + + + + 680 + + + + t5 + + + + 681 + + + + t6 + + + + 682 + + + + view7 + + + + 687 + + + + t7 + + + + 688 + + + + swicth + + + + 689 + + + + t8 + + + + 693 + + + + view8 + + + + 694 + nextKeyView @@ -679,7 +1827,6 @@ - @@ -697,6 +1844,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -964,6 +2156,421 @@ + + 622 + + + + + 623 + + + + + 624 + + + + + 625 + + + + + 626 + + + YES + + + + + + 627 + + + + + 631 + + + YES + + + + + 651 + + + YES + + + + + + 652 + + + + + 629 + + + YES + + + + + + 630 + + + + + 655 + + + YES + + + + + + 656 + + + + + 658 + + + YES + + + + + 659 + + + YES + + + + + + 660 + + + + + 663 + + + + + 664 + + + YES + + + + + + 665 + + + + + 668 + + + + + 669 + + + YES + + + + + + 670 + + + YES + + + + + 672 + + + YES + + + + + 676 + + + + + 671 + + + YES + + + + + + 675 + + + + + 673 + + + YES + + + + + + 674 + + + + + 683 + + + YES + + + + + 684 + + + YES + + + + + + 685 + + + + + 690 + + + + + 691 + + + YES + + + + + + 692 + + + + + 695 + + + + + 697 + + + + + 698 + + + + + 699 + + + + + 709 + + + + + 710 + + + + + 711 + + + + + 712 + + + YES + + + + + + 713 + + + + + 715 + + + + + 716 + + + + + 717 + + + + + 718 + + + + + 721 + + + + + 722 + + + YES + + + + + + 723 + + + + + 724 + + + YES + + + + + + 725 + + + + + 726 + + + YES + + + + + + 727 + + + + + 728 + + + YES + + + + + + 729 + + + + + 730 + + + YES + + + + + + 731 + + + + + 732 + + + YES + + + + + + 733 + + + + + 734 + + + YES + + + + + + 735 + + + + + 736 + + + YES + + + + + + 737 + + + @@ -1017,6 +2624,71 @@ 558.IBPluginDependency 559.IBPluginDependency 560.IBPluginDependency + 622.IBPluginDependency + 623.IBPluginDependency + 624.IBPluginDependency + 625.IBPluginDependency + 626.IBPluginDependency + 627.IBPluginDependency + 629.IBPluginDependency + 630.IBPluginDependency + 631.IBPluginDependency + 651.IBPluginDependency + 652.IBPluginDependency + 655.CustomClassName + 655.IBPluginDependency + 656.IBPluginDependency + 658.IBPluginDependency + 659.IBPluginDependency + 660.IBPluginDependency + 663.IBPluginDependency + 664.IBPluginDependency + 665.IBPluginDependency + 668.IBPluginDependency + 669.IBPluginDependency + 670.IBPluginDependency + 671.IBPluginDependency + 672.IBPluginDependency + 673.IBPluginDependency + 674.IBPluginDependency + 675.IBPluginDependency + 676.IBPluginDependency + 683.IBPluginDependency + 684.IBPluginDependency + 685.IBPluginDependency + 690.IBPluginDependency + 691.IBPluginDependency + 692.IBPluginDependency + 695.IBPluginDependency + 697.IBPluginDependency + 698.IBPluginDependency + 699.IBPluginDependency + 709.IBPluginDependency + 710.IBPluginDependency + 711.IBPluginDependency + 712.IBPluginDependency + 713.IBPluginDependency + 715.IBPluginDependency + 716.IBPluginDependency + 717.IBPluginDependency + 718.IBPluginDependency + 721.IBPluginDependency + 722.IBPluginDependency + 723.IBPluginDependency + 724.IBPluginDependency + 725.IBPluginDependency + 726.IBPluginDependency + 727.IBPluginDependency + 728.IBPluginDependency + 729.IBPluginDependency + 730.IBPluginDependency + 731.IBPluginDependency + 732.IBPluginDependency + 733.IBPluginDependency + 734.IBPluginDependency + 735.IBPluginDependency + 736.IBPluginDependency + 737.IBPluginDependency YES @@ -1067,6 +2739,71 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + CPCheckBox + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -1081,7 +2818,7 @@ - 560 + 749 @@ -1089,6 +2826,168 @@ AppController NSObject + + switchBg: + id + + + switchBg: + + switchBg: + id + + + + YES + + YES + swicth + t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + view1 + view10 + view2 + view3 + view4 + view5 + view6 + view7 + view8 + view9 + + + YES + CPCheckBox + NSTextField + NSTextField + NSTextField + NSTextField + NSTextField + NSTextField + NSTextField + NSTextField + NSView + NSView + NSView + NSView + NSView + NSView + NSView + NSView + NSView + NSView + + + + YES + + YES + swicth + t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + view1 + view10 + view2 + view3 + view4 + view5 + view6 + view7 + view8 + view9 + + + YES + + swicth + CPCheckBox + + + t1 + NSTextField + + + t2 + NSTextField + + + t3 + NSTextField + + + t4 + NSTextField + + + t5 + NSTextField + + + t6 + NSTextField + + + t7 + NSTextField + + + t8 + NSTextField + + + view1 + NSView + + + view10 + NSView + + + view2 + NSView + + + view3 + NSView + + + view4 + NSView + + + view5 + NSView + + + view6 + NSView + + + view7 + NSView + + + view8 + NSView + + + view9 + NSView + + + IBProjectSource ./Classes/AppController.h @@ -1108,5 +3007,9 @@ YES 3 + + NSSwitch + {15, 15} + diff --git a/Tests/Manual/NibAppRemixed/Resources/MainMenu.cib b/Tests/Manual/NibAppRemixed/Resources/MainMenu.cib index 2d9b326b5..938e53f51 100644 --- a/Tests/Manual/NibAppRemixed/Resources/MainMenu.cib +++ b/Tests/Manual/NibAppRemixed/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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;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;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;91E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;271E;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;93E;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;93E;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;3;102E;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;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;271E;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;272E;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;273E;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;254E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;254E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;216E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;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;17E;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;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;210E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;222E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;223E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;229E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;230E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;230E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;229E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;225E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;228E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;228E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;226E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;236E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;237E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;340E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;231E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;232E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;233E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;234E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;235E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;272E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;346E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;347E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;348E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;349E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;352E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;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;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;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;360E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;361E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;362E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;364E;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;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;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;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;366E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;368E;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;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;372E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;373E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;374E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;366E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;377E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;380E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;381E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;382E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;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;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;130E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;397E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;K;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;400E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;404E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;405E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;411E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;412E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;137E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;413E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;414E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;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;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;416E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;143E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;421E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;422E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;411E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;412E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;K;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;400E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;152E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;430E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;431E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;433E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;435E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;441E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;442E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;443E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;444E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;447E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;449E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;167E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;451E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;452E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;454E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;456E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;458E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;459E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;460E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;454E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;462E;K;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;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;463E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;K;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;411E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;465E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;467E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;400E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;469E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;471E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;472E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;473E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;473E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;474E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;189E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;479E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;480E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;194E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;483E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;489E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;206E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;492E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;495E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;497E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;499E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;500E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;502E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;503E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;503E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;505E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;3;242E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;506E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;507E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;405E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;349E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;218E;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;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;509E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;509E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;512E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;516E;K;16;$aimage-positionD;K;6;CP$UIDd;3;508E;K;6;$afontD;K;6;CP$UIDd;3;518E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;519E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;508E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;508E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPColorWellK;8;$classesA;S;11;CPColorWellS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;520E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;521E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;523E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;524E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;521E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;525E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;354E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;526E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;529E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;508E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;531E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;532E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;533E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;508E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;534E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;529E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;508E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;531E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;508E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;535E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;508E;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;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;536E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;537E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;539E;K;6;$afontD;K;6;CP$UIDd;3;540E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;355E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;542E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;543E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;529E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;508E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;508E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;535E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;508E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;544E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;528E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;529E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;508E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;531E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;508E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;535E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;508E;E;D;K;6;$classD;K;6;CP$UIDd;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;545E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;546E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;516E;K;16;$aimage-positionD;K;6;CP$UIDd;3;508E;K;6;$afontD;K;6;CP$UIDd;3;540E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;547E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;508E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;508E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;548E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;549E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;516E;K;16;$aimage-positionD;K;6;CP$UIDd;3;508E;K;6;$afontD;K;6;CP$UIDd;3;550E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;551E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;508E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;508E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;552E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;553E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;516E;K;16;$aimage-positionD;K;6;CP$UIDd;3;508E;K;6;$afontD;K;6;CP$UIDd;3;554E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;508E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;508E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;556E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;553E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;515E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;516E;K;16;$aimage-positionD;K;6;CP$UIDd;3;508E;K;6;$afontD;K;6;CP$UIDd;3;557E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;558E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;508E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;508E;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;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;559E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;560E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;561E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;563E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;542E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;564E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;537E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;561E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;565E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;542E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;566E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;537E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;539E;K;6;$afontD;K;6;CP$UIDd;3;550E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;355E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;542E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;564E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;537E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;539E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;355E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;542E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;9;CPWebViewK;8;$classesA;S;9;CPWebViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;239E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;567E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;568E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;569E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;E;D;K;10;$classnameS;9;CPToolbarK;8;$classesA;S;9;CPToolbarS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;241E;K;22;CPToolbarIdentifierKeyD;K;6;CP$UIDd;3;570E;K;23;CPToolbarDisplayModeKeyD;K;6;CP$UIDd;3;411E;K;34;CPToolbarShowsBaselineSeparatorKeyD;K;6;CP$UIDd;3;354E;K;35;CPToolbarAllowsUserCustomizationKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarIsVisibleKeyD;K;6;CP$UIDd;3;354E;K;20;CPToolbarSizeModeKeyD;K;6;CP$UIDd;3;411E;K;27;CPToolbarIdentifiedItemsKeyD;K;6;CP$UIDd;3;572E;K;24;CPToolbarDefaultItemsKeyD;K;6;CP$UIDd;3;573E;K;24;CPToolbarAllowedItemsKeyD;K;6;CP$UIDd;3;574E;K;27;CPToolbarSelectableItemsKeyD;K;6;CP$UIDd;3;575E;K;20;CPToolbarDelegateKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPToolbarItemK;8;$classesA;S;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;576E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;577E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;577E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;578E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;579E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;322E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;581E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;582E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;582E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;508E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;583E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;584E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;584E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;585E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;579E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;586E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;587E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;582E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;582E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;508E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;588E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;589E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;589E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;589E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;579E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;590E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;591E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;582E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;582E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;508E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;10;$classnameS;19;_CPToolbarSpaceItemK;8;$classesA;S;19;_CPToolbarSpaceItemS;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;247E;E;D;K;10;$classnameS;27;_CPToolbarFlexibleSpaceItemK;8;$classesA;S;27;_CPToolbarFlexibleSpaceItemS;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;249E;E;D;K;10;$classnameS;23;_CPToolbarSeparatorItemK;8;$classesA;S;23;_CPToolbarSeparatorItemS;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;592E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;593E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;593E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;594E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;579E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;309E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;595E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;582E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;582E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;508E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;596E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;505E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;506E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;597E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;598E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;599E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;3;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;600E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;600E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;601E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;602E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;603E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;604E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;605E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;606E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;607E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;608E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;603E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;562E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;609E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;610E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;611E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;612E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;607E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;613E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;603E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;614E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;615E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;616E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;617E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;618E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;607E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;619E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;603E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;614E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;620E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;621E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;603E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;614E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;622E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;624E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;625E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;607E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;626E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;627E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;628E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;607E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;505E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;506E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;629E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;598E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;630E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;3;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;631E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;631E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;632E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;E;D;K;10;$classnameS;12;CPTokenFieldK;8;$classesA;S;12;CPTokenFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;269E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;268E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;633E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;634E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;268E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;635E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;636E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;561E;K;6;$afontD;K;6;CP$UIDd;3;614E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;508E;K;11;$aalignmentD;K;6;CP$UIDd;3;508E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;637E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;542E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;508E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;508E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;355E;K;37;CPTokenFieldTokenizingCharacterSetKeyD;K;6;CP$UIDd;1;0E;K;27;CPTokenFieldCompletionDelayD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;268E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;508E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;638E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;639E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;268E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;538E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;511E;K;6;$afontD;K;6;CP$UIDd;3;612E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;640E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;541E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;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;216E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;267E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;14;takeColorFrom:S;19;takeFloatValueFrom:S;17;takeIntValueFrom:S;20;takeStringValueFrom:S;7;reload:S;12;stopLoading:S;10;goForward:S;7;goBack:S;18;takeStringURLFrom:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;3;115E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;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;110E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;106E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;142E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;141E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;155E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;205E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;7;Use AllS;8;BaselineD;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;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;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;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{50, 331}, {613, 375}}d;1;0S;20;{{0, 0}, {613, 375}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;E;E;S;6;normalS;21;{{18, 233}, {92, 24}}S;18;{{0, 0}, {92, 24}}d;2;36S;6;buttonS;17;selected+borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;5;Open!S;21;{{20, 260}, {44, 23}}S;18;{{0, 0}, {44, 23}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;522E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;643E;E;S;21;{{72, 260}, {44, 23}}D;K;6;$classD;K;6;CP$UIDd;3;522E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;644E;E;S;21;{{18, 204}, {96, 21}}S;18;{{0, 0}, {96, 21}}S;6;sliderD;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;645E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;d;2;50d;2;68d;2;20d;2;80S;21;{{18, 184}, {96, 21}}d;3;100S;22;{{14, 152}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;9;textfieldS;19;bezeled+placeholderD;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;522E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;646E;E;S;21;{{20, 115}, {96, 21}}S;20;{{20, 92}, {96, 21}}S;21;{{404, 21}, {54, 24}}S;18;{{0, 0}, {54, 24}}S;6;ReloadS;21;{{356, 21}, {40, 24}}S;18;{{0, 0}, {40, 24}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;4;StopS;21;{{317, 21}, {31, 24}}S;18;{{0, 0}, {31, 24}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;2;->S;21;{{278, 21}, {31, 24}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;2;<-S;22;{{118, 16}, {156, 29}}S;19;{{0, 0}, {156, 29}}S;7;bezeledD;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;647E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;19;http://280north.comS;21;{{14, 16}, {104, 29}}S;8;actions!S;21;{{14, 48}, {104, 29}}S;23;{{122, 52}, {471, 303}}S;20;{{0, 0}, {471, 303}}d;2;18S;36;446EC275-83E5-4DC9-8F8A-050814261D8DD;K;10;$classnameS;19;CPMutableDictionaryK;8;$classesA;S;19;CPMutableDictionaryS;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;571E;K;10;CP.objectsD;K;22;CPToolbarShowFontsItemD;K;6;CP$UIDd;3;245E;K;26;CPToolbarFlexibleSpaceItemD;K;6;CP$UIDd;3;250E;K;18;CPToolbarSpaceItemD;K;6;CP$UIDd;3;248E;K;23;CPToolbarShowColorsItemD;K;6;CP$UIDd;3;244E;K;18;CPToolbarPrintItemD;K;6;CP$UIDd;3;246E;K;29;CPToolbarCustomizeToolbarItemD;K;6;CP$UIDd;3;253E;K;22;CPToolbarSeparatorItemD;K;6;CP$UIDd;3;252E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;250E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;CPToolbarShowColorsItemS;6;ColorsS;16;Show Color Paneld;2;-1D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;580E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;648E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;649E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;651E;E;S;6;{0, 0}S;22;CPToolbarShowFontsItemS;5;FontsS;15;Show Font PanelS;20;orderFrontFontPanel:D;K;6;$classD;K;6;CP$UIDd;3;580E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;648E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;652E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;653E;E;S;18;CPToolbarPrintItemS;5;PrintS;14;printDocument:D;K;6;$classD;K;6;CP$UIDd;3;580E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;648E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;654E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;655E;E;S;29;CPToolbarCustomizeToolbarItemS;9;CustomizeS;17;Customize ToolbarD;K;6;$classD;K;6;CP$UIDd;3;580E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;648E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;656E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;657E;E;S;13;AppControllerS;23;{{50, 549}, {504, 157}}d;2;15S;13;Default FontsS;20;{{0, 0}, {504, 157}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;E;E;S;21;{{17, 20}, {351, 17}}S;19;{{0, 0}, {351, 17}}S;56;Default Font (Lucide Grande in IB, Arial in Cappuccino):S;22;{{370, 20}, {117, 17}}S;19;{{0, 0}, {117, 17}}S;12;Abracadabra.S;21;{{17, 45}, {351, 17}}S;50;Arial Font 12 (Cappuccino default for comparison):S;22;{{370, 44}, {117, 18}}S;19;{{0, 0}, {117, 18}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;647E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;21;{{17, 70}, {351, 17}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;18;Bold Default Font:S;22;{{370, 69}, {117, 19}}S;19;{{0, 0}, {117, 19}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;641E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;354E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;21;{{17, 95}, {351, 17}}S;11;Bold Arial:S;22;{{17, 120}, {351, 17}}S;7;Impact:S;23;{{370, 116}, {117, 22}}S;19;{{0, 0}, {117, 22}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;658E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;659E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;354E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;22;{{370, 93}, {117, 20}}S;19;{{0, 0}, {117, 20}}D;K;6;$classD;K;6;CP$UIDd;3;517E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;647E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;642E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;354E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;E;S;22;{{50, 644}, {480, 62}}S;13;Other WidgetsS;19;{{0, 0}, {480, 62}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;E;E;S;21;{{98, 16}, {364, 29}}S;19;{{0, 0}, {364, 29}}d;2;34S;10;tokenfieldD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{17, 22}, {82, 17}}S;18;{{0, 0}, {82, 17}}S;12;Token Field:S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;660E;D;K;6;CP$UIDd;3;660E;D;K;6;CP$UIDd;3;411E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;661E;D;K;6;CP$UIDd;3;662E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;E;E;S;9;HelveticaD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;E;E;S;5;ArialS;7;CPImageS;19;NSToolbarShowColorsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;650E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;664E;E;E;S;18;NSToolbarShowFontsD;K;6;$classD;K;6;CP$UIDd;3;650E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;665E;E;E;S;14;NSToolbarPrintD;K;6;$classD;K;6;CP$UIDd;3;650E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;666E;E;E;S;18;NSToolbarCustomizeD;K;6;$classD;K;6;CP$UIDd;3;650E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;667E;E;E;S;6;Impactd;2;13f;10;0.17283952f;10;0.37523037f;10;0.45619714D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;663E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;663E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;663E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;663E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;668E;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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;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;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;91E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;254E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;271E;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;93E;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;93E;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;3;102E;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;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;265E;D;K;6;CP$UIDd;3;256E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;271E;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;272E;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;273E;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;254E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;254E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;216E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;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;17E;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;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;210E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;321E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;322E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;325E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;334E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;222E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;223E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;229E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;230E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;230E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;229E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;225E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;228E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;228E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;226E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;236E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;237E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;340E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;231E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;232E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;233E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;343E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;234E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;235E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;240E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;272E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;346E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;347E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;348E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;349E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;352E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;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;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;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;360E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;361E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;362E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;363E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;364E;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;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;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;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;366E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;368E;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;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;369E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;372E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;373E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;374E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;366E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;377E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;380E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;381E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;382E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;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;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;385E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;130E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;397E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;K;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;400E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;402E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;404E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;405E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;406E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;407E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;411E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;412E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;413E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;137E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;413E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;414E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;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;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;416E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;417E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;143E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;421E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;422E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;411E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;412E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;428E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;409E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;K;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;400E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;401E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;152E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;430E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;431E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;433E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;435E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;441E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;442E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;443E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;444E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;445E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;446E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;447E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;396E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;449E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;451E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;167E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;451E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;452E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;454E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;456E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;456E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;458E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;459E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;460E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;461E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;454E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;462E;K;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;408E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;463E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;K;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;411E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;465E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;467E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;400E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;469E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;471E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;472E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;473E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;473E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;474E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;189E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;479E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;480E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;476E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;482E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;194E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;482E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;483E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;485E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;489E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;491E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;350E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;206E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;492E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;493E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;495E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;497E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;499E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;500E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;351E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;354E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;356E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;502E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;503E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;503E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;505E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;3;242E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;506E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;507E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;508E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;509E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;405E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;349E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;218E;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;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;511E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;511E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;512E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;514E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;515E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;518E;K;16;$aimage-positionD;K;6;CP$UIDd;3;510E;K;6;$afontD;K;6;CP$UIDd;3;520E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;521E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;355E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;522E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;510E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;354E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;510E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;510E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPColorWellK;8;$classesA;S;11;CPColorWellS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;523E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;524E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;525E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;527E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;528E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;529E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;525E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;530E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;531E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;3;354E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;533E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;535E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;510E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;536E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;537E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;538E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;539E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;510E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;540E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;533E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;535E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;510E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;536E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;537E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;510E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;541E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;510E;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;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;542E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;543E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;545E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;355E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;548E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;549E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;533E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;535E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;510E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;536E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;510E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;541E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;510E;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;550E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;533E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;535E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;510E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;536E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;537E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;510E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;541E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;510E;E;D;K;6;$classD;K;6;CP$UIDd;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;551E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;552E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;518E;K;16;$aimage-positionD;K;6;CP$UIDd;3;510E;K;6;$afontD;K;6;CP$UIDd;3;553E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;554E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;355E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;522E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;510E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;354E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;510E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;510E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;555E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;556E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;518E;K;16;$aimage-positionD;K;6;CP$UIDd;3;510E;K;6;$afontD;K;6;CP$UIDd;3;557E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;558E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;355E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;522E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;510E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;354E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;510E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;510E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;559E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;560E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;518E;K;16;$aimage-positionD;K;6;CP$UIDd;3;510E;K;6;$afontD;K;6;CP$UIDd;3;561E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;562E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;355E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;522E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;510E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;354E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;510E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;510E;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;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;563E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;560E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;517E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;518E;K;16;$aimage-positionD;K;6;CP$UIDd;3;510E;K;6;$afontD;K;6;CP$UIDd;3;564E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;408E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;411E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;471E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;565E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;355E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;356E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;522E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;510E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;354E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;510E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;510E;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;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;566E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;567E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;568E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;569E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;548E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;570E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;543E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;568E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;571E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;548E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;572E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;543E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;545E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;355E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;548E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;570E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;543E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;545E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;355E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;548E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;9;CPWebViewK;8;$classesA;S;9;CPWebViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;239E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;573E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;574E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;575E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;E;D;K;10;$classnameS;9;CPToolbarK;8;$classesA;S;9;CPToolbarS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;241E;K;22;CPToolbarIdentifierKeyD;K;6;CP$UIDd;3;576E;K;23;CPToolbarDisplayModeKeyD;K;6;CP$UIDd;3;411E;K;34;CPToolbarShowsBaselineSeparatorKeyD;K;6;CP$UIDd;3;354E;K;35;CPToolbarAllowsUserCustomizationKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarIsVisibleKeyD;K;6;CP$UIDd;3;354E;K;20;CPToolbarSizeModeKeyD;K;6;CP$UIDd;3;411E;K;27;CPToolbarIdentifiedItemsKeyD;K;6;CP$UIDd;3;578E;K;24;CPToolbarDefaultItemsKeyD;K;6;CP$UIDd;3;579E;K;24;CPToolbarAllowedItemsKeyD;K;6;CP$UIDd;3;580E;K;27;CPToolbarSelectableItemsKeyD;K;6;CP$UIDd;3;581E;K;20;CPToolbarDelegateKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPToolbarItemK;8;$classesA;S;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;582E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;583E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;583E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;584E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;585E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;322E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;587E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;588E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;588E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;510E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;589E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;590E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;590E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;591E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;585E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;592E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;593E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;588E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;588E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;510E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;594E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;595E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;595E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;595E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;585E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;596E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;597E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;588E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;588E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;510E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;10;$classnameS;19;_CPToolbarSpaceItemK;8;$classesA;S;19;_CPToolbarSpaceItemS;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;247E;E;D;K;10;$classnameS;27;_CPToolbarFlexibleSpaceItemK;8;$classesA;S;27;_CPToolbarFlexibleSpaceItemS;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;249E;E;D;K;10;$classnameS;23;_CPToolbarSeparatorItemK;8;$classesA;S;23;_CPToolbarSeparatorItemS;13;CPToolbarItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;3;243E;K;30;CPToolbarItemItemIdentifierKeyD;K;6;CP$UIDd;3;598E;K;21;CPToolbarItemLabelKeyD;K;6;CP$UIDd;3;599E;K;28;CPToolbarItemPaletteLabelKeyD;K;6;CP$UIDd;3;599E;K;23;CPToolbarItemToolTipKeyD;K;6;CP$UIDd;3;600E;K;19;CPToolbarItemTagKeyD;K;6;CP$UIDd;3;585E;K;22;CPToolbarItemTargetKeyD;K;6;CP$UIDd;1;0E;K;22;CPToolbarItemActionKeyD;K;6;CP$UIDd;3;309E;K;23;CPToolbarItemEnabledKeyD;K;6;CP$UIDd;3;354E;K;21;CPToolbarItemImageKeyD;K;6;CP$UIDd;3;601E;K;30;CPToolbarItemAlternateImageKeyD;K;6;CP$UIDd;1;0E;K;20;CPToolbarItemViewKeyD;K;6;CP$UIDd;1;0E;K;23;CPToolbarItemMinSizeKeyD;K;6;CP$UIDd;3;588E;K;23;CPToolbarItemMaxSizeKeyD;K;6;CP$UIDd;3;588E;K;34;CPToolbarItemVisibilityPriorityKeyD;K;6;CP$UIDd;3;510E;K;29;CPToolbarItemAutovalidatesKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;602E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;505E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;506E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;603E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;604E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;509E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;605E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;606E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;3;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;607E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;607E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;608E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;609E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;610E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;611E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;613E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;614E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;615E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;616E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;610E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;617E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;618E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;619E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;620E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;615E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;621E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;610E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;622E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;614E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;624E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;615E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;610E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;626E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;627E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;610E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;628E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;629E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;630E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;631E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;615E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;256E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;632E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;619E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;256E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;633E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;471E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;615E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;471E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;505E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;506E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;634E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;635E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;509E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;605E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;636E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;3;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;637E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;637E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;E;D;K;10;$classnameS;12;CPTokenFieldK;8;$classesA;S;12;CPTokenFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;269E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;268E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;639E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;640E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;268E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;641E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;642E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;568E;K;6;$afontD;K;6;CP$UIDd;3;643E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;510E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;644E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;354E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;354E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;548E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;510E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;510E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;355E;K;37;CPTokenFieldTokenizingCharacterSetKeyD;K;6;CP$UIDd;1;0E;K;27;CPTokenFieldCompletionDelayD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;268E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;510E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;645E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;646E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;268E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;516E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;544E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;513E;K;6;$afontD;K;6;CP$UIDd;3;546E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;408E;K;11;$aalignmentD;K;6;CP$UIDd;3;411E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;647E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;612E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;408E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;411E;K;31;CPTextFieldPlaceholderStringKeyD;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;216E;D;K;6;CP$UIDd;3;255E;D;K;6;CP$UIDd;3;267E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;14;takeColorFrom:S;19;takeFloatValueFrom:S;17;takeIntValueFrom:S;20;takeStringValueFrom:S;7;reload:S;12;stopLoading:S;10;goForward:S;7;goBack:S;18;takeStringURLFrom:S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;3;115E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;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;110E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;106E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;142E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;141E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;155E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;205E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;7;Use AllS;8;BaselineD;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;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;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;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1948778496S;23;{{50, 331}, {613, 375}}S;22;{{0, 0}, {2560, 1418}}d;1;0S;20;{{0, 0}, {613, 375}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;223E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;E;E;S;6;normalS;21;{{18, 232}, {92, 25}}S;18;{{0, 0}, {92, 25}}d;2;36S;6;buttonS;17;selected+borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;S;5;Open!d;2;14S;21;{{20, 260}, {44, 23}}S;18;{{0, 0}, {44, 23}}S;9;colorwellD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;526E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;650E;E;S;21;{{69, 259}, {44, 24}}S;18;{{0, 0}, {44, 24}}S;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;526E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;651E;E;S;21;{{18, 204}, {96, 21}}S;18;{{0, 0}, {96, 21}}S;6;sliderD;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;652E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;d;2;50d;2;68d;2;20d;2;80S;21;{{18, 184}, {96, 21}}d;3;100S;22;{{14, 152}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;9;textfieldS;28;bezeled+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;585E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;526E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;653E;E;S;21;{{20, 115}, {96, 21}}S;20;{{20, 92}, {96, 21}}S;21;{{404, 20}, {54, 25}}S;18;{{0, 0}, {54, 25}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;S;6;ReloadS;21;{{356, 20}, {40, 25}}S;18;{{0, 0}, {40, 25}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;S;4;StopS;21;{{317, 20}, {31, 25}}S;18;{{0, 0}, {31, 25}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;S;2;->S;21;{{278, 20}, {31, 25}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;S;2;<-S;22;{{118, 16}, {156, 29}}S;19;{{0, 0}, {156, 29}}S;16;bezeled+editableS;19;http://280north.comS;21;{{14, 16}, {104, 29}}S;8;actions!S;21;{{14, 48}, {104, 29}}S;23;{{122, 52}, {471, 303}}S;20;{{0, 0}, {471, 303}}d;2;18S;36;446EC275-83E5-4DC9-8F8A-050814261D8DD;K;10;$classnameS;19;CPMutableDictionaryK;8;$classesA;S;19;CPMutableDictionaryS;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;577E;K;10;CP.objectsD;K;22;CPToolbarShowFontsItemD;K;6;CP$UIDd;3;245E;K;26;CPToolbarFlexibleSpaceItemD;K;6;CP$UIDd;3;250E;K;18;CPToolbarSpaceItemD;K;6;CP$UIDd;3;248E;K;23;CPToolbarShowColorsItemD;K;6;CP$UIDd;3;244E;K;22;CPToolbarSeparatorItemD;K;6;CP$UIDd;3;252E;K;29;CPToolbarCustomizeToolbarItemD;K;6;CP$UIDd;3;253E;K;18;CPToolbarPrintItemD;K;6;CP$UIDd;3;246E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;250E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;252E;D;K;6;CP$UIDd;3;253E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;CPToolbarShowColorsItemS;6;ColorsS;16;Show Color Paneld;2;-1D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;586E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;654E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;655E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;657E;E;S;6;{0, 0}S;22;CPToolbarShowFontsItemS;5;FontsS;15;Show Font PanelS;20;orderFrontFontPanel:D;K;6;$classD;K;6;CP$UIDd;3;586E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;654E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;658E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;659E;E;S;18;CPToolbarPrintItemS;5;PrintS;14;printDocument:D;K;6;$classD;K;6;CP$UIDd;3;586E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;654E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;660E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;661E;E;S;29;CPToolbarCustomizeToolbarItemS;9;CustomizeS;17;Customize ToolbarD;K;6;$classD;K;6;CP$UIDd;3;586E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;654E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;662E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;663E;E;S;13;AppControllerd;9;606601216S;23;{{50, 549}, {504, 157}}d;2;15S;13;Default FontsS;20;{{0, 0}, {504, 157}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;D;K;6;CP$UIDd;3;258E;D;K;6;CP$UIDd;3;259E;D;K;6;CP$UIDd;3;260E;D;K;6;CP$UIDd;3;261E;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;266E;D;K;6;CP$UIDd;3;264E;D;K;6;CP$UIDd;3;265E;E;E;S;21;{{17, 21}, {345, 17}}S;19;{{0, 0}, {345, 17}}S;56;Default Font (Lucide Grande in IB, Arial in Cappuccino):D;K;6;$classD;K;6;CP$UIDd;3;526E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;664E;E;S;22;{{370, 21}, {111, 17}}S;19;{{0, 0}, {111, 17}}S;12;Abracadabra.S;21;{{17, 46}, {345, 17}}S;50;Arial Font 12 (Cappuccino default for comparison):S;22;{{370, 45}, {111, 18}}S;19;{{0, 0}, {111, 18}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;665E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;S;21;{{17, 71}, {345, 17}}S;18;Bold Default Font:S;22;{{370, 71}, {111, 17}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;585E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;354E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;S;21;{{17, 96}, {345, 17}}S;11;Bold Arial:S;22;{{17, 121}, {345, 17}}S;7;Impact:S;23;{{370, 118}, {111, 20}}S;19;{{0, 0}, {111, 20}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;666E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;667E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;354E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;S;22;{{370, 95}, {111, 18}}D;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;665E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;354E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;d;9;606602240S;22;{{50, 644}, {480, 62}}S;13;Other WidgetsS;19;{{0, 0}, {480, 62}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;270E;D;K;6;CP$UIDd;3;271E;E;E;S;21;{{98, 16}, {364, 29}}S;19;{{0, 0}, {364, 29}}d;2;34S;10;tokenfieldD;K;6;$classD;K;6;CP$UIDd;3;519E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;648E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;649E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{17, 23}, {76, 17}}S;18;{{0, 0}, {76, 17}}S;12;Token Field:S;28;_CPFontSystemFacePlaceholderd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;668E;D;K;6;CP$UIDd;3;668E;D;K;6;CP$UIDd;3;411E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;669E;D;K;6;CP$UIDd;3;670E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;E;E;S;9;HelveticaD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;D;K;6;CP$UIDd;3;411E;E;E;S;7;CPImageS;19;NSToolbarShowColorsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;656E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;672E;E;E;S;18;NSToolbarShowFontsD;K;6;$classD;K;6;CP$UIDd;3;656E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;673E;E;E;S;14;NSToolbarPrintD;K;6;$classD;K;6;CP$UIDd;3;656E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;674E;E;E;S;18;NSToolbarCustomizeD;K;6;$classD;K;6;CP$UIDd;3;656E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;675E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;676E;D;K;6;CP$UIDd;3;676E;D;K;6;CP$UIDd;3;676E;D;K;6;CP$UIDd;3;411E;E;E;S;5;ArialS;6;Impactd;2;13f;10;0.17283952f;10;0.37523037f;10;0.45619714D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;671E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;677E;E;D;K;6;$classD;K;6;CP$UIDd;3;671E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;677E;E;D;K;6;$classD;K;6;CP$UIDd;3;671E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;677E;E;D;K;6;$classD;K;6;CP$UIDd;3;671E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;677E;E;f;18;0.6862745098039216S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/PlatformWindows/AppController.j b/Tests/Manual/PlatformWindows/AppController.j index 5c4ba77ed..3d9a3a476 100644 --- a/Tests/Manual/PlatformWindows/AppController.j +++ b/Tests/Manual/PlatformWindows/AppController.j @@ -52,7 +52,7 @@ [theWindow orderOut:self]; [theWindow setPlatformWindow:platformWindow]; [theWindow orderFront:self]; - [theWindow setFullBridge:YES]; + [theWindow setFullPlatformWindow:YES]; var button = [[theWindow contentView] subviews][2]; [button setTarget:self]; diff --git a/Tests/Manual/PlatformWindows/Resources/MainMenu.cib b/Tests/Manual/PlatformWindows/Resources/MainMenu.cib index 87f7691bc..7a894ab34 100644 --- a/Tests/Manual/PlatformWindows/Resources/MainMenu.cib +++ b/Tests/Manual/PlatformWindows/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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;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;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;80E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;212E;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;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;194E;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;195E;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;195E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;211E;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;213E;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;214E;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;212E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;205E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;216E;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;17E;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;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;218E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;219E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;221E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;225E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;227E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;229E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;230E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;231E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;233E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;234E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;236E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;239E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;240E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;241E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;243E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;245E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;246E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;180E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;181E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;211E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;213E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;279E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;280E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;281E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;85E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;282E;K;13;CPMenuNameKeyD;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;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;290E;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;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;291E;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;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;2;85E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;293E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;294E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;91E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;294E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;295E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;297E;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;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;298E;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;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;299E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;300E;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;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;301E;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;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;302E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;2;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;304E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;305E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;306E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;308E;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;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;299E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;310E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;105E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;310E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;312E;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;105E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;313E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;314E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;314E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;316E;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;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;317E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;318E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;319E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;320E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;321E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;322E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;323E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;325E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;326E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;327E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;328E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;330E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;330E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;332E;K;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;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;334E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;335E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;336E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;337E;K;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;338E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;339E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;340E;K;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;341E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;342E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;343E;K;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;344E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;346E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;126E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;346E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;347E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;348E;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;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;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;350E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;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;352E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;353E;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;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;354E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;132E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;354E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;356E;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;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;136E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;358E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;344E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;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;341E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;342E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;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;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;334E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;363E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;141E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;363E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;364E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;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;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;366E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;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;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;370E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;372E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;374E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;148E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;375E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;376E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;377E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;380E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;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;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;382E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;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;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;156E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;384E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;385E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;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;156E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;156E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;160E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;389E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;390E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;162E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;391E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;392E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;393E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;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;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;395E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;341E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;396E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;344E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;398E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;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;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;400E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;401E;K;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;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;402E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;404E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;406E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;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;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;178E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;412E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;413E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;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;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;422E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;326E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;195E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;428E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;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;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;430E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;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;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;433E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;435E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;326E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;436E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;436E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;204E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;438E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;439E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;440E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;338E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;282E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;207E;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;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;441E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;442E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;442E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;443E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;444E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;208E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;207E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;441E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;445E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;446E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;207E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;447E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;448E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;444E;K;6;$afontD;K;6;CP$UIDd;3;450E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;441E;K;11;$aalignmentD;K;6;CP$UIDd;3;441E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;451E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;404E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;441E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;452E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;441E;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;210E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;207E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;441E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;453E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;454E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;207E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;447E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;455E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;456E;K;6;$afontD;K;6;CP$UIDd;3;457E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;341E;K;11;$aalignmentD;K;6;CP$UIDd;3;404E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;287E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;288E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;458E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;287E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;287E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;287E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;460E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;341E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;404E;K;31;CPTextFieldPlaceholderStringKeyD;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;461E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;205E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;20;takeDoubleValueFrom:S;9;AMainMenuS;11;_CPMainMenuD;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;140E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;104E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;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;88E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;95E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;106E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;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;117E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;131E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;121E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;130E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;133E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;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;145E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;144E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;149E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;194E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {480, 360}}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;209E;D;K;6;CP$UIDd;3;211E;E;E;S;6;normalS;22;{{192, 196}, {96, 21}}S;18;{{0, 0}, {96, 21}}d;2;45S;6;sliderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;449E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;462E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;463E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;289E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;289E;E;d;2;50d;3;100S;23;{{186, 143}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;9;textfieldS;19;bezeled+placeholderD;K;6;$classD;K;6;CP$UIDd;3;449E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;464E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;463E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;289E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;289E;E;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;459E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;465E;E;S;13;AppControllerS;9;Helveticad;2;12S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;344E;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;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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;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;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;80E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;212E;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;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;194E;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;195E;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;195E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;211E;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;213E;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;214E;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;212E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;205E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;216E;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;17E;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;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;218E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;219E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;221E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;142E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;225E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;227E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;229E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;230E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;231E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;233E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;234E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;236E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;239E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;240E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;241E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;243E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;245E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;246E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;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;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;130E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;180E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;181E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;173E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;175E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;176E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;211E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;213E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;279E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;280E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;281E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;85E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;282E;K;13;CPMenuNameKeyD;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;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;290E;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;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;291E;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;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;2;85E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;293E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;294E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;91E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;294E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;295E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;297E;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;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;298E;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;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;299E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;300E;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;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;301E;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;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;302E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;2;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;304E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;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;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;305E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;306E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;91E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;308E;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;91E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;299E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;310E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;105E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;310E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;312E;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;105E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;313E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;314E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;108E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;314E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;316E;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;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;317E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;318E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;319E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;320E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;321E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;322E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;323E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;325E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;326E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;327E;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;108E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;328E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;330E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;330E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;332E;K;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;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;334E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;335E;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;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;336E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;337E;K;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;338E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;339E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;340E;K;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;341E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;342E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;343E;K;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;344E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;346E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;126E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;346E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;347E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;348E;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;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;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;350E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;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;352E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;353E;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;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;354E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;132E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;354E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;356E;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;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;132E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;136E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;358E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;359E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;344E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;345E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;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;341E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;342E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;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;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;334E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;363E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;141E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;363E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;364E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;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;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;366E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;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;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;370E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;371E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;372E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;373E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;374E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;375E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;148E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;375E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;376E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;377E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;378E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;380E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;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;141E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;382E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;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;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;141E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;384E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;156E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;384E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;385E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;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;156E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;156E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;389E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;160E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;389E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;390E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;391E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;162E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;391E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;392E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;393E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;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;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;395E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;341E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;396E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;397E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;344E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;398E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;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;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;400E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;401E;K;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;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;402E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;403E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;404E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;406E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;407E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;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;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;410E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;411E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;178E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;412E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;413E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;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;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;414E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;408E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;419E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;421E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;422E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;326E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;424E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;162E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;283E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;195E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;160E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;425E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;426E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;428E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;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;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;430E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;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;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;433E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;287E;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;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;289E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;435E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;326E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;436E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;437E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;436E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;204E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;438E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;439E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;440E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;441E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;442E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;338E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;282E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;207E;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;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;443E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;444E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;444E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;445E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;446E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;208E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;207E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;443E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;447E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;448E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;207E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;449E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;450E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;446E;K;6;$afontD;K;6;CP$UIDd;3;452E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;443E;K;11;$aalignmentD;K;6;CP$UIDd;3;443E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;453E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;404E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;3;443E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;454E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;3;443E;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;210E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;207E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;443E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;455E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;456E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;207E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;449E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;457E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;458E;K;6;$afontD;K;6;CP$UIDd;3;459E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;341E;K;11;$aalignmentD;K;6;CP$UIDd;3;404E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;287E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;288E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;460E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;287E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;287E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;287E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;462E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;341E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;404E;K;31;CPTextFieldPlaceholderStringKeyD;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;463E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;205E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;20;takeDoubleValueFrom:S;9;AMainMenuS;11;_CPMainMenuD;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;140E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;104E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;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;88E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;95E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;106E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;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;117E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;131E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;121E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;130E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;133E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;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;145E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;144E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;149E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;194E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;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;209E;D;K;6;CP$UIDd;3;211E;E;E;S;6;normalS;22;{{192, 196}, {96, 21}}S;18;{{0, 0}, {96, 21}}d;2;45S;6;sliderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;451E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;464E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;465E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;289E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;289E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;289E;E;d;2;50d;3;100S;23;{{186, 143}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;9;textfieldS;28;bezeled+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;3;451E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;466E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;467E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;289E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;289E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;287E;E;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;461E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;468E;E;S;13;AppControllerS;9;Helveticad;2;12S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;344E;D;K;6;CP$UIDd;3;344E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/ScrollviewTheming/AppController.j b/Tests/Manual/ScrollviewTheming/AppController.j index 1026c7663..925ae5b48 100644 --- a/Tests/Manual/ScrollviewTheming/AppController.j +++ b/Tests/Manual/ScrollviewTheming/AppController.j @@ -20,13 +20,13 @@ var headerView = [[CPView alloc] initWithFrame:CGRectMakeZero()]; [headerView setBackgroundColor:[CPColor blueColor]]; - [[self window] setFullBridge:YES]; + [[self window] setFullPlatformWindow:YES]; } - (@action)changeBorderType:(id)aSender { var borderType = CPNoBorder; - + switch ([aSender title]) { default: @@ -37,11 +37,11 @@ case @"CPLineBorder": borderType = CPLineBorder; break; - + case @"CPBezelBorder": borderType = CPBezelBorder; break; - + case @"CPGrooveBorder": borderType = CPGrooveBorder; break; diff --git a/Tests/Manual/ScrollviewTheming/Resources/MainMenu.cib b/Tests/Manual/ScrollviewTheming/Resources/MainMenu.cib index c5d8849d9..608f9df05 100644 --- a/Tests/Manual/ScrollviewTheming/Resources/MainMenu.cib +++ b/Tests/Manual/ScrollviewTheming/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;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;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;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;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;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;52E;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;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;40E;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;2;52E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;40E;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;53E;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;54E;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;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;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;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;53E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;61E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;62E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;64E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;65E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;29E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;67E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;70E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;72E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;74E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;76E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;33E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;34E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;77E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;77E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;77E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;77E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;78E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;78E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;79E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;80E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;81E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;66E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;83E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;87E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;31E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;88E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;89E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;66E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;90E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;91E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;92E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;31E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;94E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;89E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;66E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;95E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;76E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;96E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;96E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;76E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;97E;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;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;6;$afontD;K;6;CP$UIDd;3;103E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;104E;K;11;$aalignmentD;K;6;CP$UIDd;2;89E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;78E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;105E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;106E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;79E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;79E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;79E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;104E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;89E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;52E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;108E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;110E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;89E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;89E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;79E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;104E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;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;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;115E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;2;81E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;116E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;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;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;16;$aimage-positionD;K;6;CP$UIDd;3;104E;K;6;$afontD;K;6;CP$UIDd;3;103E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;89E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;121E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;79E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;104E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPColorWellK;8;$classesA;S;11;CPColorWellS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;123E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;89E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;125E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;2;78E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;126E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;51E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;127E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;128E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;E;E;S;8;delegateS;10;scrollViewS;6;windowS;17;changeBorderType:S;17;toggleHeaderView:S;18;changeBorderColor:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {757, 547}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {757, 547}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;E;E;S;6;normalS;22;{{20, 20}, {717, 399}}S;20;{{0, 0}, {717, 399}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;80E;E;E;d;2;18S;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;75E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;96E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;36E;E;d;2;10T;F;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;69E;E;d;1;1S;22;{{701, 16}, {15, 382}}S;19;{{0, 0}, {15, 382}}d;1;8S;8;scrollerS;17;disabled+verticalf;18;0.9738219895287958S;27;_verticalScrollerDidScroll:d;1;4f;18;0.9636362791061401S;19;{{1, 1}, {700, 15}}S;19;{{0, 0}, {700, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.5060241222381592S;20;{{0, 0}, {700, 382}}S;12;DocumentViewS;21;{{17, 440}, {84, 17}}S;18;{{0, 0}, {84, 17}}d;2;12S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;102E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;132E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;100E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;79E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;79E;E;d;1;2S;13;Border style:d;4;3072S;22;{{18, 463}, {162, 24}}S;19;{{0, 0}, {162, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;102E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;132E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;100E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;78E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;79E;E;S;10;CPNoBorderS;17;_popUpItemAction:d;7;1048576S;12;CPLineBorderS;13;CPBezelBorderS;14;CPGrooveBorderS;22;{{18, 503}, {131, 18}}S;19;{{0, 0}, {131, 18}}S;9;check-boxS;15;Show headerviewS;22;{{210, 464}, {44, 23}}S;18;{{0, 0}, {44, 23}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;124E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;133E;E;S;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;E;E;S;21;{{1, 16}, {700, 382}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;S;16;{{0, 0}, {0, 0}}S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;3;134E;E;E;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;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;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;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;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;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;52E;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;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;40E;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;2;52E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;40E;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;53E;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;54E;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;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;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;2;42E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;44E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;53E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;61E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;62E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;63E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;64E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;65E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;66E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;67E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;29E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;69E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;69E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;72E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;74E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;78E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;33E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;34E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;79E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;79E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;79E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;79E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;80E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;80E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;81E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;82E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;83E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;68E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;89E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;31E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;90E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;68E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;92E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;93E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;94E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;31E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;68E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;97E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;78E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;98E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;78E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;100E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;101E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;6;$afontD;K;6;CP$UIDd;3;105E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;106E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;80E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;107E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;108E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;81E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;81E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;81E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;110E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;106E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;91E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;52E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;114E;K;6;$afontD;K;6;CP$UIDd;3;115E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;83E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;116E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;81E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;68E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;80E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;106E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;68E;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;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;120E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;118E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;2;83E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;122E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;40E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;52E;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;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;16;$aimage-positionD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;105E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;126E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;116E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;81E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;83E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;83E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;80E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;106E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;68E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPColorWellK;8;$classesA;S;11;CPColorWellS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;19;CPColorWellColorKeyD;K;6;CP$UIDd;3;130E;K;22;CPColorWellBorderedKeyD;K;6;CP$UIDd;2;80E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;131E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;51E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;132E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;133E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;E;E;S;8;delegateS;10;scrollViewS;6;windowS;17;changeBorderType:S;17;toggleHeaderView:S;18;changeBorderColor:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {757, 547}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {757, 547}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;E;E;S;6;normalS;22;{{20, 20}, {717, 399}}S;20;{{0, 0}, {717, 399}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;82E;E;E;d;2;18S;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;77E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;134E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;98E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;135E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;110E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;36E;E;d;2;10T;F;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;136E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;136E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;E;d;1;1S;22;{{701, 16}, {15, 382}}S;19;{{0, 0}, {15, 382}}d;1;8S;8;scrollerS;17;disabled+verticalf;18;0.9738219895287958S;27;_verticalScrollerDidScroll:d;1;4f;18;0.9636362791061401S;19;{{1, 1}, {700, 15}}S;19;{{0, 0}, {700, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.5060241222381592S;20;{{0, 0}, {700, 382}}S;12;DocumentViewS;21;{{17, 441}, {78, 17}}S;18;{{0, 0}, {78, 17}}d;2;12S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;104E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;137E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;138E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;81E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;81E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;d;1;2S;13;Border style:d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;139E;E;S;22;{{17, 462}, {163, 25}}S;19;{{0, 0}, {163, 25}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;104E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;137E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;138E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;80E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;81E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;80E;E;S;0;S;10;CPNoBorderS;17;_popUpItemAction:d;7;1048576S;12;CPLineBorderS;13;CPBezelBorderS;14;CPGrooveBorderS;22;{{18, 503}, {131, 18}}S;19;{{0, 0}, {131, 18}}S;9;check-boxS;15;Show headerviewS;22;{{207, 463}, {44, 24}}S;18;{{0, 0}, {44, 24}}S;9;colorwellD;K;6;$classD;K;6;CP$UIDd;3;109E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;140E;E;S;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;E;E;S;21;{{1, 16}, {700, 382}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;S;16;{{0, 0}, {0, 0}}S;28;_CPFontSystemFacePlaceholderd;2;-1D;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;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;83E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;3;142E;E;E;f;18;0.6862745098039216f;3;0.2E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/SmartFoldersDemo/AppController.j b/Tests/Manual/SmartFoldersDemo/AppController.j index b9a4da2ab..45dcf399d 100644 --- a/Tests/Manual/SmartFoldersDemo/AppController.j +++ b/Tests/Manual/SmartFoldersDemo/AppController.j @@ -104,7 +104,7 @@ var rootItems = [CPArray arrayWithObject:[CPDictionary dictionaryWithObjectsAndK [buttonBar setButtons:[CPArray arrayWithObjects:plusButton, minusButton]]; [superView addSubview:buttonBar]; - [theWindow setFullBridge:YES]; + [theWindow setFullPlatformWindow:YES]; } // Get the table data - (void)connection:(CPURLConnection)connection didReceiveData:(CPString)dataString diff --git a/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j b/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j index 8bf191afb..d8c244bd5 100644 --- a/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j +++ b/Tests/Manual/SmartFoldersDemo/BadgedOutlineView.j @@ -171,7 +171,7 @@ var CPSourceListDataSource_sourceList_itemHasBadge_ = 1 << 1, /* This CPOutlineView subclass is necessary only if you want to delete items by dragging them to the trash. In order to support drags to the trash, you need to implement draggedImage:endedAt:operation: and handle the CPDragOperationDelete operation. For any other operation, pass the message to the superclass */ -- (void)draggedImage:(CPImage)image endedAt:(CPPoint)screenPoint operation:(CPDragOperation)operation +- (void)draggedImage:(CPImage)image endedAt:(CGPoint)screenPoint operation:(CPDragOperation)operation { if (operation == CPDragOperationDelete) { diff --git a/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib b/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib index 821482efb..36bcbca73 100644 --- a/Tests/Manual/SmartFoldersDemo/Resources/MainMenu.cib +++ b/Tests/Manual/SmartFoldersDemo/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;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;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;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;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;66E;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;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;54E;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;2;67E;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;68E;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;33E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;58E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;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;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;77E;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;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;78E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;79E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;79E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;82E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;83E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;84E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;86E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;88E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;91E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;94E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;67E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;96E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;97E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;98E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;99E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;100E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;37E;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;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;102E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;D;K;10;$classnameS;11;CPSplitViewK;8;$classesA;S;11;CPSplitViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;105E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;22;CPSplitViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;24;CPSplitViewIsVerticalKeyD;K;6;CP$UIDd;3;109E;K;28;CPSplitViewIsPaneSplitterKeyD;K;6;CP$UIDd;3;110E;K;26;CPSplitViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;111E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;114E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;116E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;48E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;47E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;117E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;110E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;110E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;110E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;118E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;119E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;101E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;116E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;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;3;116E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;12;$agrid-colorD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;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;126E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;127E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;128E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;128E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;110E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;109E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;110E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;110E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;129E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;124E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;101E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;110E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;K;34;CPOutlineViewOutlineTableColumnKeyD;K;6;CP$UIDd;2;45E;K;35;CPOutlineViewIndentationPerLevelKeyD;K;6;CP$UIDd;3;130E;K;26;CPOutlineViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;24;CPOutlineViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;131E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;132E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;133E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;134E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;135E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;136E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;138E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;140E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;141E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;109E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;41E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;101E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;148E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;41E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;152E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;101E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;153E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;49E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;156E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;117E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;49E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;158E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;50E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;161E;E;D;K;10;$classnameS;13;CPSearchFieldK;8;$classesA;S;13;CPSearchFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;162E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;163E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;168E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;125E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;169E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;170E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;109E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;109E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;109E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;171E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;119E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;125E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;172E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;110E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;110E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;173E;K;24;CPRecentsAutosaveNameKeyD;K;6;CP$UIDd;3;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;175E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;176E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;177E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;50E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;114E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;178E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;179E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;63E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;62E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;117E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;117E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;109E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;110E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;109E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;180E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;119E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;101E;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;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;179E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;58E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;178E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;183E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;178E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;12;$agrid-colorD;K;6;CP$UIDd;3;124E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;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;185E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;186E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;101E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;101E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;110E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;109E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;109E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;109E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;109E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;187E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;124E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;128E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;109E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;189E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;56E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;190E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;191E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;117E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;192E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;193E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;194E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;141E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;109E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;195E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;191E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;196E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;136E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;197E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;198E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;141E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;109E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;199E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;200E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;196E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;136E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;201E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;202E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;141E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;109E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;203E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;54E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;101E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;205E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;206E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;207E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;151E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;54E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;152E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;125E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;101E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;208E;K;18;CPScrollerStyleKeyD;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;209E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;65E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;210E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;109E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;110E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;109E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;110E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;109E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;109E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;109E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;110E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;110E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;35E;E;E;S;8;delegateS;9;searchBarS;11;searchFieldS;16;smartOutlineViewS;5;tableS;15;tableControllerS;9;theWindowS;10;dataSourceS;18;searchFieldFilter:S;32;filterPredicate: filterPredicateS;15;filterPredicateD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;24;contentArray: tableArrayS;12;contentArrayS;10;tableArrayD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.ageS;5;valueS;19;arrangedObjects.ageD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;31;value: arrangedObjects.lastNameS;24;arrangedObjects.lastNameD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;32;value: arrangedObjects.firstNameS;25;arrangedObjects.firstNameD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;25;{{347, 158}, {1137, 682}}d;2;15S;7;Fenêtred;1;0S;21;{{0, 0}, {1137, 682}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;S;6;normalS;21;{{0, 0}, {1137, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;50E;E;E;d;2;18S;9;splitviewT;F;S;20;{{0, 0}, {180, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;118E;E;E;d;2;28S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;120E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;212E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;43E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;d;1;2S;20;{{0, 0}, {178, 682}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;121E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;215E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;121E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;216E;E;d;1;4d;2;20S;6;{3, 0}d;1;1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;E;E;d;1;8S;17;BadgedOutlineViewS;13;CPOutlineViewS;4;NAMEd;3;175d;2;16d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;217E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;101E;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;168E;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;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;101E;K;15;$acontent-insetD;K;6;CP$UIDd;3;224E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;169E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;170E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;101E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;169E;E;d;1;3S;24;{{-100, 769}, {238, 15}}S;19;{{0, 0}, {238, 15}}d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9933774834437086S;24;{{-100, 682}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9984871406959153S;22;{{181, 0}, {956, 684}}S;20;{{0, 0}, {956, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;51E;E;E;S;6;CPViewS;19;{{0, 0}, {956, 34}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;E;E;d;2;34S;12;NSCustomViewS;21;{{742, 1}, {196, 30}}S;19;{{0, 0}, {196, 30}}d;2;33S;11;searchfieldS;27;bezeled+rounded+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;167E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;225E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;226E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;110E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;110E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;121E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;227E;E;S;22;First Name | Last Named;3;254S;8;autosaveS;21;{{0, 31}, {956, 653}}S;20;{{0, 0}, {956, 653}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;180E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;228E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;230E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;231E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;S;19;{{0, 0}, {954, 23}}S;14;tableHeaderRowS;20;{{0, 0}, {954, 635}}D;K;6;$classD;K;6;CP$UIDd;3;121E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;233E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;59E;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;188E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;235E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;S;3;aged;3;305f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;137E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;237E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;101E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;238E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;239E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;101E;K;15;$acontent-insetD;K;6;CP$UIDd;3;240E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;169E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;170E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;101E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;169E;E;S;8;lastNamed;2;40D;K;6;$classD;K;6;CP$UIDd;3;137E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;101E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;242E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;101E;K;15;$acontent-insetD;K;6;CP$UIDd;3;244E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;169E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;170E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;101E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;169E;E;S;9;firstNamed;3;335D;K;6;$classD;K;6;CP$UIDd;3;137E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;101E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;246E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;247E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;125E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;119E;K;11;$aalignmentD;K;6;CP$UIDd;3;101E;K;15;$acontent-insetD;K;6;CP$UIDd;3;248E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;169E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;170E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;125E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;101E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;169E;E;S;24;{{-100, 738}, {713, 15}}S;19;{{0, 0}, {713, 15}}f;18;0.9106002554278416S;24;{{-100, 249}, {15, 504}}S;19;{{0, 0}, {15, 504}}f;18;0.9752883031301482S;13;AppControllerS;19;CPMutableDictionaryS;20;{{1, 1}, {178, 682}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;121E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;249E;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;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;250E;D;K;6;CP$UIDd;3;128E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;252E;E;E;S;12;columnHeaderS;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;4;nameD;K;6;CP$UIDd;3;253E;K;12;defaultValueD;K;6;CP$UIDd;3;168E;K;6;valuesD;K;6;CP$UIDd;3;254E;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;223E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;255E;E;S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;E;E;S;20;{{1, 1}, {954, 635}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;E;E;S;21;{{1, 636}, {954, 17}}S;19;{{0, 0}, {954, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;E;E;S;22;{{758, 630}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;256E;E;E;S;3;AgeD;K;6;$classD;K;6;CP$UIDd;3;221E;K;4;nameD;K;6;CP$UIDd;3;253E;K;12;defaultValueD;K;6;CP$UIDd;3;168E;K;6;valuesD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;3;223E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;258E;E;E;S;9;Last NameD;K;6;$classD;K;6;CP$UIDd;3;221E;K;4;nameD;K;6;CP$UIDd;3;253E;K;12;defaultValueD;K;6;CP$UIDd;3;168E;K;6;valuesD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;3;223E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;260E;E;E;S;9;FirstNameD;K;6;$classD;K;6;CP$UIDd;3;221E;K;4;nameD;K;6;CP$UIDd;3;253E;K;12;defaultValueD;K;6;CP$UIDd;3;168E;K;6;valuesD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;3;223E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;262E;D;K;6;CP$UIDd;3;263E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;128E;E;E;f;3;0.5D;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;251E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;138E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;138E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;264E;K;6;normalD;K;6;CP$UIDd;3;168E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;251E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;193E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;264E;K;6;normalD;K;6;CP$UIDd;3;168E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;251E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;197E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;197E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;264E;K;6;normalD;K;6;CP$UIDd;3;168E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;251E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;201E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;201E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;264E;K;6;normalD;K;6;CP$UIDd;3;168E;E;E;f;12;0.7549452686f;12;0.8328956135D;K;6;$classD;K;6;CP$UIDd;3;167E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;225E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;226E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;109E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;110E;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;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;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;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;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;66E;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;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;54E;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;2;67E;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;68E;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;33E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;53E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;58E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;64E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;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;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;77E;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;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;78E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;79E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;79E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;66E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;64E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;82E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;83E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;84E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;86E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;88E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;91E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;66E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;87E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;94E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;67E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;96E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;97E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;98E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;99E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;100E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;101E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;102E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;37E;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;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;104E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;104E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;D;K;10;$classnameS;11;CPSplitViewK;8;$classesA;S;11;CPSplitViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;108E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;110E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;22;CPSplitViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;24;CPSplitViewIsVerticalKeyD;K;6;CP$UIDd;3;111E;K;28;CPSplitViewIsPaneSplitterKeyD;K;6;CP$UIDd;3;112E;K;26;CPSplitViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;118E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;48E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;47E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;119E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;112E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;112E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;112E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;120E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;121E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;103E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;122E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;118E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;124E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;12;$agrid-colorD;K;6;CP$UIDd;3;126E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;128E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;129E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;130E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;130E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;112E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;111E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;112E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;112E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;131E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;126E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;103E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;112E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;K;34;CPOutlineViewOutlineTableColumnKeyD;K;6;CP$UIDd;2;45E;K;35;CPOutlineViewIndentationPerLevelKeyD;K;6;CP$UIDd;3;132E;K;26;CPOutlineViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;24;CPOutlineViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;133E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;134E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;135E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;136E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;137E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;138E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;140E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;142E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;143E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;41E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;149E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;150E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;151E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;41E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;155E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;49E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;156E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;49E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;160E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;160E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;161E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;50E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;162E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;163E;E;D;K;10;$classnameS;13;CPSearchFieldK;8;$classesA;S;13;CPSearchFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;165E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;170E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;121E;K;11;$aalignmentD;K;6;CP$UIDd;3;127E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;172E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;111E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;111E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;173E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;121E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;127E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;174E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;112E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;112E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;175E;K;24;CPRecentsAutosaveNameKeyD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;177E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;179E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;50E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;180E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;181E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;63E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;62E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;119E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;111E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;112E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;111E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;182E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;121E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;103E;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;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;181E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;183E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;58E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;111E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;180E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;185E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;180E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;12;$agrid-colorD;K;6;CP$UIDd;3;126E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;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;187E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;188E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;103E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;103E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;112E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;111E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;111E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;111E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;111E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;189E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;126E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;130E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;111E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;191E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;56E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;192E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;193E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;194E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;195E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;196E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;143E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;197E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;193E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;198E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;138E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;199E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;200E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;143E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;201E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;202E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;198E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;138E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;203E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;204E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;143E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;111E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;206E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;54E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;149E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;207E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;208E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;209E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;103E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;54E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;154E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;127E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;103E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;210E;K;18;CPScrollerStyleKeyD;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;211E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;65E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;212E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;111E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;112E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;111E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;112E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;111E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;111E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;111E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;112E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;112E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;35E;E;E;S;8;delegateS;9;searchBarS;11;searchFieldS;16;smartOutlineViewS;5;tableS;15;tableControllerS;9;theWindowS;10;dataSourceS;18;searchFieldFilter:S;32;filterPredicate: filterPredicateS;15;filterPredicateD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;24;contentArray: tableArrayS;12;contentArrayS;10;tableArrayD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.ageS;5;valueS;19;arrangedObjects.ageD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;31;value: arrangedObjects.lastNameS;24;arrangedObjects.lastNameD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;32;value: arrangedObjects.firstNameS;25;arrangedObjects.firstNameD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;9;611844096S;25;{{347, 158}, {1137, 682}}S;22;{{0, 0}, {1680, 1028}}d;2;15S;7;Fenêtred;1;0S;21;{{0, 0}, {1137, 682}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;S;6;normalS;21;{{0, 0}, {1137, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;50E;E;E;d;2;18S;9;splitviewT;F;S;20;{{0, 0}, {180, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;3;120E;E;E;d;2;28S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;213E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;122E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;215E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;43E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;d;1;2S;20;{{0, 0}, {178, 682}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;217E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;123E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;218E;E;d;1;4d;2;20S;6;{3, 0}d;1;1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;E;E;d;1;8S;17;BadgedOutlineViewS;13;CPOutlineViewS;4;NAMEd;3;175d;2;16d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;221E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;221E;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;103E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;127E;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;141E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;223E;K;6;$afontD;K;6;CP$UIDd;3;225E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;127E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;121E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;227E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;172E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;127E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;d;1;3S;24;{{-100, 769}, {238, 15}}S;19;{{0, 0}, {238, 15}}d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9933774834437086S;24;{{-100, 682}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9984871406959153S;22;{{181, 0}, {956, 684}}S;20;{{0, 0}, {956, 684}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;51E;E;E;S;6;CPViewS;19;{{0, 0}, {956, 34}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;E;E;d;2;34S;12;NSCustomViewS;21;{{742, 1}, {196, 30}}S;19;{{0, 0}, {196, 30}}d;2;33S;11;searchfieldS;36;bezeled+editable+rounded+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;228E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;229E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;111E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;123E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;230E;E;S;22;First Name | Last Named;3;254S;8;autosaveS;21;{{0, 31}, {956, 653}}S;20;{{0, 0}, {956, 653}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;182E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;233E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;234E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;235E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;S;19;{{0, 0}, {954, 23}}S;14;tableHeaderRowS;20;{{0, 0}, {954, 635}}D;K;6;$classD;K;6;CP$UIDd;3;123E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;236E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;59E;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;190E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;54E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;103E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;238E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;54E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;239E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;S;3;aged;3;305f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;221E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;241E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;221E;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;103E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;3;141E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;223E;K;6;$afontD;K;6;CP$UIDd;3;242E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;127E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;121E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;243E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;172E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;127E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;S;8;lastNamed;2;40D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;221E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;245E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;221E;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;103E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;3;141E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;223E;K;6;$afontD;K;6;CP$UIDd;3;246E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;127E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;121E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;247E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;172E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;127E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;S;9;firstNamed;3;335D;K;6;$classD;K;6;CP$UIDd;3;139E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;248E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;221E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;103E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;249E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;221E;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;103E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;3;141E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;223E;K;6;$afontD;K;6;CP$UIDd;3;250E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;127E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;121E;K;11;$aalignmentD;K;6;CP$UIDd;3;103E;K;15;$acontent-insetD;K;6;CP$UIDd;3;251E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;172E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;127E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;103E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;S;24;{{-100, 738}, {713, 15}}S;19;{{0, 0}, {713, 15}}f;18;0.9106002554278416S;24;{{-100, 249}, {15, 504}}S;19;{{0, 0}, {15, 504}}f;18;0.9752883031301482S;13;AppControllerS;19;CPMutableDictionaryS;20;{{1, 1}, {178, 682}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;123E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;252E;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;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;253E;D;K;6;CP$UIDd;3;130E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;255E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;169E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;256E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;257E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;112E;E;S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;224E;K;4;nameD;K;6;CP$UIDd;3;258E;K;12;defaultValueD;K;6;CP$UIDd;3;170E;K;6;valuesD;K;6;CP$UIDd;3;259E;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;226E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;260E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;E;E;S;20;{{1, 1}, {954, 635}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;E;E;S;21;{{1, 636}, {954, 17}}S;19;{{0, 0}, {954, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;E;E;S;22;{{758, 630}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;261E;E;E;S;3;AgeD;K;6;$classD;K;6;CP$UIDd;3;224E;K;4;nameD;K;6;CP$UIDd;3;258E;K;12;defaultValueD;K;6;CP$UIDd;3;170E;K;6;valuesD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;3;226E;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;3;263E;E;E;S;9;Last NameD;K;6;$classD;K;6;CP$UIDd;3;224E;K;4;nameD;K;6;CP$UIDd;3;258E;K;12;defaultValueD;K;6;CP$UIDd;3;170E;K;6;valuesD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;3;226E;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;3;265E;E;E;S;9;FirstNameD;K;6;$classD;K;6;CP$UIDd;3;224E;K;4;nameD;K;6;CP$UIDd;3;258E;K;12;defaultValueD;K;6;CP$UIDd;3;170E;K;6;valuesD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;3;226E;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;3;267E;D;K;6;CP$UIDd;3;268E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;E;E;f;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;254E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;140E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;140E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;269E;K;6;normalD;K;6;CP$UIDd;3;270E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;254E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;195E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;195E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;269E;K;6;normalD;K;6;CP$UIDd;3;270E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;199E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;199E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;269E;K;6;normalD;K;6;CP$UIDd;3;270E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;203E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;203E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;269E;K;6;normalD;K;6;CP$UIDd;3;270E;E;E;f;12;0.7549452686f;12;0.8328956135D;K;6;$classD;K;6;CP$UIDd;3;169E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;271E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;272E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;111E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;228E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;272E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;112E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;111E;E;S;17;Arial, sans-serifd;2;12E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib b/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib index ecd53aa21..4c90bab7f 100644 --- a/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.cib +++ b/Tests/Manual/SmartFoldersDemo/Resources/PredicateEditor.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;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;60E;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;2;64E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;65E;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;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;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;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;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;68E;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;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;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;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;71E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;2;72E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;73E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;74E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;75E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;76E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;77E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;26E;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;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;79E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;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;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;83E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;2;88E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;89E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;92E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;91E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;95E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;89E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;90E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;96E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;97E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;98E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;K;6;$afontD;K;6;CP$UIDd;2;88E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;89E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;99E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;100E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;100E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;89E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;90E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;101E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;104E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;16;$aimage-positionD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;3;107E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;11;$aalignmentD;K;6;CP$UIDd;2;89E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;108E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;78E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;109E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;110E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;104E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;16;$aimage-positionD;K;6;CP$UIDd;2;78E;K;6;$afontD;K;6;CP$UIDd;3;107E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;78E;K;11;$aalignmentD;K;6;CP$UIDd;2;89E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;111E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;78E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;112E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;113E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;116E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;118E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;36E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;37E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;119E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;119E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;91E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;100E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;91E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;120E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;89E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;78E;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;122E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;123E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;124E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;78E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;128E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;123E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;124E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;131E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;132E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;78E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;101E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;118E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;2;91E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;100E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;2;91E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;136E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;137E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;138E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;1;0E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;139E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;140E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;141E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;142E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;143E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;144E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;146E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;147E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;2;89E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;2;78E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;2;78E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;2;78E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;2;78E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;100E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;100E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;92E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;149E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;150E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;153E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;92E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;154E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;155E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;101E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;138E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;2;78E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;2;78E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;156E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;100E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;2;91E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;92E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;159E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;162E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;92E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;164E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;165E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;166E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;101E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;2;78E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;2;78E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;2;78E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;169E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;100E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;2;91E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;92E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;172E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;92E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;175E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;60E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;60E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;78E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;60E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;89E;E;S;13;AppControllerD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;24E;E;E;S;8;delegateS;15;folderNameFieldS;15;predicateEditorS;14;predicateSheetS;11;closeSheet:S;13;CPApplicationS;10;{200, 172}S;10;{700, 522}S;8;CPWindowS;24;{{571, 305}, {553, 292}}d;2;79S;16;Predicate Editord;1;0S;20;{{0, 0}, {553, 292}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;E;E;S;6;normalS;21;{{61, 11}, {474, 29}}S;19;{{0, 0}, {474, 29}}d;2;34S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;179E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;180E;E;S;20;{{17, 18}, {45, 17}}S;18;{{0, 0}, {45, 17}}d;2;36S;5;Name:F;d;1;1S;22;{{479, 243}, {51, 24}}S;18;{{0, 0}, {51, 24}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;179E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;91E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;2;OKS;22;{{393, 243}, {76, 24}}S;18;{{0, 0}, {76, 24}}S;6;CancelS;22;{{20, 55}, {512, 184}}S;20;{{0, 0}, {512, 184}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;120E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;123E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;39E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;E;S;22;{{491, 110}, {15, 73}}S;18;{{0, 0}, {15, 73}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9733333333333334S;24;{{-100, 269}, {360, 15}}S;19;{{0, 0}, {360, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:S;20;{{0, 0}, {510, 182}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;186E;E;E;S;11;rule-editord;2;75d;2;25d;1;3S;7;rowTypeS;8;criteriaS;13;displayValuesS;10;boundArrayS;7;subrowsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;33;_CPRuleEditorViewUnboundRowHolderK;8;$classesA;S;33;_CPRuleEditorViewUnboundRowHolderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;145E;K;12;CPBoundArrayD;K;6;CP$UIDd;3;187E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;57E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;E;E;S;3;AnyS;17;_popUpItemAction:d;7;1048576S;3;AllD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;E;E;S;25;of the following are trued;3;700D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;E;E;S;9;firstNameD;K;10;$classnameS;20;_CPKeyPathExpressionK;8;$classesA;S;20;_CPKeyPathExpressionS;21;_CPFunctionExpressionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;160E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;194E;K;11;CPArgumentsD;K;6;CP$UIDd;3;195E;K;9;CPOperandD;K;6;CP$UIDd;3;197E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;138E;E;S;8;lastNameD;K;6;$classD;K;6;CP$UIDd;3;160E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;194E;K;11;CPArgumentsD;K;6;CP$UIDd;3;198E;K;9;CPOperandD;K;6;CP$UIDd;3;197E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;138E;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;55E;D;K;6;CP$UIDd;2;56E;E;E;S;11;begins withS;9;ends withS;8;containsd;2;99d;3;300D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;59E;E;E;S;3;ageD;K;6;$classD;K;6;CP$UIDd;3;160E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;194E;K;11;CPArgumentsD;K;6;CP$UIDd;3;202E;K;9;CPOperandD;K;6;CP$UIDd;3;197E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;E;E;S;2;isS;12;is less thanS;15;is greater thanS;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;101E;E;E;S;20;{{1, 1}, {510, 182}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;203E;E;S;16;{{0, 0}, {0, 0}}D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;185E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;204E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;43E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;208E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;89E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;47E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;209E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;211E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;89E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;50E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;214E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;89E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;215E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;216E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;217E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;89E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;218E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;3;220E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;89E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;92E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;91E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;95E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;89E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;78E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;222E;E;E;D;K;10;$classnameS;17;_CPSelfExpressionK;8;$classesA;S;17;_CPSelfExpressionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;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;223E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;58E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;226E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;89E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;188E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;227E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;228E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;106E;K;6;$afontD;K;6;CP$UIDd;3;229E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;100E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;89E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;78E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;78E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;230E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;231E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;86E;K;6;$afontD;K;6;CP$UIDd;3;232E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;89E;K;11;$aalignmentD;K;6;CP$UIDd;2;78E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;92E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;91E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;91E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;95E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;89E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;78E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;233E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;234E;D;K;6;CP$UIDd;3;101E;E;E;S;21;{{1, -1}, {510, 182}}S;19;{{2, -4}, {64, 24}}S;18;{{0, 0}, {64, 24}}S;12;popup-buttonD;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;21;{{66, -4}, {173, 24}}S;19;{{0, 0}, {173, 24}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;20;{{32, -4}, {95, 24}}S;18;{{0, 0}, {95, 24}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;22;{{127, -4}, {105, 24}}S;19;{{0, 0}, {105, 24}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;21;{{231, 1}, {168, 25}}S;19;{{0, 0}, {168, 25}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;D;K;10;$classnameS;26;_CPConstantValueExpressionK;8;$classesA;S;26;_CPConstantValueExpressionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;15;CPConstantValueD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;15;CPConstantValueD;K;6;CP$UIDd;3;162E;E;S;20;{{32, -4}, {63, 24}}S;18;{{0, 0}, {63, 24}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;21;{{95, -4}, {121, 24}}S;19;{{0, 0}, {121, 24}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;S;20;{{215, 1}, {33, 25}}S;18;{{0, 0}, {33, 25}}D;K;6;$classD;K;6;CP$UIDd;2;87E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;235E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;100E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;15;CPConstantValueD;K;6;CP$UIDd;3;172E;E;f;12;0.9100000262d;2;11E;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;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;60E;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;2;64E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;65E;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;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;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;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;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;68E;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;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;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;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;71E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;2;72E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;73E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;74E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;75E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;76E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;77E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;78E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;79E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;26E;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;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;81E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;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;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;94E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;93E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;6;$afontD;K;6;CP$UIDd;2;90E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;101E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;102E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;102E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;102E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;103E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;104E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;16;$aimage-positionD;K;6;CP$UIDd;2;80E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;111E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;94E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;80E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;113E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;16;$aimage-positionD;K;6;CP$UIDd;2;80E;K;6;$afontD;K;6;CP$UIDd;3;110E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;115E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;94E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;80E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;117E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;118E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;122E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;36E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;37E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;123E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;123E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;123E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;123E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;93E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;102E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;93E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;124E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;91E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;80E;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;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;131E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;80E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;132E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;80E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;104E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPPredicateEditorK;8;$classesA;S;17;CPPredicateEditorS;12;CPRuleEditorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;122E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;137E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;137E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;138E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;122E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;20;CPRuleEditorEditableD;K;6;CP$UIDd;2;93E;K;35;CPRuleEditorAllowsEmptyCompoundRowsD;K;6;CP$UIDd;3;102E;K;25;CPRuleEditorDisallowEmptyD;K;6;CP$UIDd;2;93E;K;30;CPRuleEditorAlignmentGridWidthD;K;6;CP$UIDd;3;140E;K;23;CPRuleEditorSliceHeightD;K;6;CP$UIDd;3;141E;K;23;CPRuleEditorNestingModeD;K;6;CP$UIDd;3;142E;K;27;CPRuleEditorStringsFilenameD;K;6;CP$UIDd;1;0E;K;26;CPRuleEditorRowTypeKeyPathD;K;6;CP$UIDd;3;143E;K;24;CPRuleEditorItemsKeyPathD;K;6;CP$UIDd;3;144E;K;25;CPRuleEditorValuesKeyPathD;K;6;CP$UIDd;3;145E;K;29;CPRuleEditorBoundArrayKeyPathD;K;6;CP$UIDd;3;146E;K;31;CPRuleEditorSubrowsArrayKeyPathD;K;6;CP$UIDd;3;147E;K;24;CPRuleEditorSlicesHolderD;K;6;CP$UIDd;1;0E;K;18;CPRuleEditorSlicesD;K;6;CP$UIDd;3;148E;K;27;CPRuleEditorBoundArrayOwnerD;K;6;CP$UIDd;3;150E;K;20;CPPredicateTemplatesD;K;6;CP$UIDd;3;151E;E;D;K;10;$classnameS;28;CPPredicateEditorRowTemplateK;8;$classesA;S;28;CPPredicateEditorRowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;2;91E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;2;80E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;2;80E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;2;80E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;2;80E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;102E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;3;102E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;152E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;94E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;153E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;154E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;157E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;43E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;94E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;158E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;159E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;47E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;104E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;3;142E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;2;80E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;2;80E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;160E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;102E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;2;93E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;161E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;94E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;163E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;165E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;166E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;94E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;169E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;127E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;171E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;23;CPPredicateTemplateTypeD;K;6;CP$UIDd;3;104E;K;26;CPPredicateTemplateOptionsD;K;6;CP$UIDd;2;80E;K;27;CPPredicateTemplateModifierD;K;6;CP$UIDd;2;80E;K;36;CPPredicateTemplateLeftAttributeTypeD;K;6;CP$UIDd;2;80E;K;37;CPPredicateTemplateRightAttributeTypeD;K;6;CP$UIDd;3;173E;K;33;CPPredicateTemplateLeftIsWildcardD;K;6;CP$UIDd;3;102E;K;34;CPPredicateTemplateRightIsWildcardD;K;6;CP$UIDd;2;93E;K;24;CPPredicateTemplateViewsD;K;6;CP$UIDd;3;174E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;94E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;3;177E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;2;94E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;60E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;60E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;80E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;181E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;155E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;60E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;156E;K;30;CPMenuItemRepresentedObjectKeyD;K;6;CP$UIDd;2;91E;E;S;13;AppControllerD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;24E;E;E;S;8;delegateS;15;folderNameFieldS;15;predicateEditorS;14;predicateSheetS;11;closeSheet:S;13;CPApplicationS;10;{200, 172}S;10;{700, 522}S;8;CPWindowd;9;611844096S;24;{{571, 305}, {553, 292}}S;22;{{0, 0}, {1680, 1028}}d;2;79S;16;Predicate Editord;1;0S;20;{{0, 0}, {553, 292}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;E;E;S;6;normalS;21;{{61, 11}, {474, 29}}S;19;{{0, 0}, {474, 29}}d;2;34S;9;textfieldS;28;bezeled+editable+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;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;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;184E;E;S;20;{{17, 19}, {39, 17}}S;18;{{0, 0}, {39, 17}}d;2;36S;5;Name:F;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;185E;E;d;1;1S;22;{{479, 242}, {51, 25}}S;18;{{0, 0}, {51, 25}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;89E;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;93E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;S;2;OKd;2;14S;22;{{393, 242}, {76, 25}}S;18;{{0, 0}, {76, 25}}S;6;CancelS;22;{{20, 55}, {512, 184}}S;20;{{0, 0}, {512, 184}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;3;124E;E;E;d;2;18S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;121E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;137E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;187E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;39E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;189E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;S;22;{{491, 110}, {15, 73}}S;18;{{0, 0}, {15, 73}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9733333333333334S;24;{{-100, 269}, {360, 15}}S;19;{{0, 0}, {360, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:S;20;{{0, 0}, {510, 182}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;191E;E;E;S;11;rule-editord;2;75d;2;25d;1;3S;7;rowTypeS;8;criteriaS;13;displayValuesS;10;boundArrayS;7;subrowsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;33;_CPRuleEditorViewUnboundRowHolderK;8;$classesA;S;33;_CPRuleEditorViewUnboundRowHolderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;149E;K;12;CPBoundArrayD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;57E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;E;E;S;3;AnyS;17;_popUpItemAction:d;7;1048576S;3;AllD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;E;E;S;25;of the following are trued;3;700D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;E;E;S;9;firstNameD;K;10;$classnameS;20;_CPKeyPathExpressionK;8;$classesA;S;20;_CPKeyPathExpressionS;21;_CPFunctionExpressionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;199E;K;11;CPArgumentsD;K;6;CP$UIDd;3;200E;K;9;CPOperandD;K;6;CP$UIDd;3;202E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;142E;E;S;8;lastNameD;K;6;$classD;K;6;CP$UIDd;3;164E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;199E;K;11;CPArgumentsD;K;6;CP$UIDd;3;203E;K;9;CPOperandD;K;6;CP$UIDd;3;202E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;142E;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;55E;D;K;6;CP$UIDd;2;56E;E;E;S;11;begins withS;9;ends withS;8;containsd;2;99d;3;300D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;59E;E;E;S;3;ageD;K;6;$classD;K;6;CP$UIDd;3;164E;K;14;CPSelectorNameD;K;6;CP$UIDd;3;199E;K;11;CPArgumentsD;K;6;CP$UIDd;3;207E;K;9;CPOperandD;K;6;CP$UIDd;3;202E;K;16;CPExpressionTypeD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;E;E;S;2;isS;12;is less thanS;15;is greater thanS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;104E;E;E;S;20;{{1, 1}, {510, 182}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;209E;E;S;16;{{0, 0}, {0, 0}}D;K;10;$classnameS;28;_CPRuleEditorViewSliceHolderK;8;$classesA;S;28;_CPRuleEditorViewSliceHolderS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;190E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;210E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;137E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;43E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;214E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;7;$aimageD;K;6;CP$UIDd;3;216E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;47E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;219E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;7;$aimageD;K;6;CP$UIDd;3;220E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;50E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;223E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;7;$aimageD;K;6;CP$UIDd;3;224E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;225E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;226E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;227E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;7;$aimageD;K;6;CP$UIDd;3;228E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;6;$afontD;K;6;CP$UIDd;3;231E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;94E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;93E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;80E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;12;valueForKey:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;233E;E;E;D;K;10;$classnameS;17;_CPSelfExpressionK;8;$classesA;S;17;_CPSelfExpressionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;234E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;58E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;7;$aimageD;K;6;CP$UIDd;3;238E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;193E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;60E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;241E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;7;$aimageD;K;6;CP$UIDd;3;242E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;80E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;112E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;80E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;93E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;80E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;6;$afontD;K;6;CP$UIDd;3;245E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;80E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;93E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;94E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;93E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;97E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;80E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;E;E;f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;104E;E;E;S;21;{{1, -1}, {510, 182}}S;19;{{1, -4}, {65, 25}}S;18;{{0, 0}, {65, 25}}S;12;popup-buttonD;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;4;nameD;K;6;CP$UIDd;3;249E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;250E;K;5;valueD;K;6;CP$UIDd;3;251E;E;S;21;{{65, -4}, {174, 25}}S;19;{{0, 0}, {174, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;4;nameD;K;6;CP$UIDd;3;249E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;250E;K;5;valueD;K;6;CP$UIDd;3;251E;E;S;20;{{31, -4}, {96, 25}}S;18;{{0, 0}, {96, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;4;nameD;K;6;CP$UIDd;3;249E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;250E;K;5;valueD;K;6;CP$UIDd;3;251E;E;S;22;{{126, -4}, {106, 25}}S;19;{{0, 0}, {106, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;4;nameD;K;6;CP$UIDd;3;249E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;250E;K;5;valueD;K;6;CP$UIDd;3;251E;E;S;21;{{231, 1}, {168, 25}}S;19;{{0, 0}, {168, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;10;$classnameS;26;_CPConstantValueExpressionK;8;$classesA;S;26;_CPConstantValueExpressionS;12;CPExpressionS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;232E;K;15;CPConstantValueD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;3;232E;K;15;CPConstantValueD;K;6;CP$UIDd;3;166E;E;S;20;{{31, -4}, {64, 25}}S;18;{{0, 0}, {64, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;4;nameD;K;6;CP$UIDd;3;249E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;250E;K;5;valueD;K;6;CP$UIDd;3;251E;E;S;21;{{94, -4}, {122, 25}}S;19;{{0, 0}, {122, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;4;nameD;K;6;CP$UIDd;3;249E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;250E;K;5;valueD;K;6;CP$UIDd;3;251E;E;S;20;{{215, 1}, {33, 25}}S;18;{{0, 0}, {33, 25}}D;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;3;232E;K;15;CPConstantValueD;K;6;CP$UIDd;3;176E;E;f;12;0.9100000262d;2;11S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;2;89E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;252E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;102E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;102E;E;S;13;Lucida GrandeE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/BorderTableTest/Resources/MainMenu.cib b/Tests/Manual/TableTest/BorderTableTest/Resources/MainMenu.cib index 7e19561f5..88b819929 100644 --- a/Tests/Manual/TableTest/BorderTableTest/Resources/MainMenu.cib +++ b/Tests/Manual/TableTest/BorderTableTest/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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;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;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;45E;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;54E;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;55E;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;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;25E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;54E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;63E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;64E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;65E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;66E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;67E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;27E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;69E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;69E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;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;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;72E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;73E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;74E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;78E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;79E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;31E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;32E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;80E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;80E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;80E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;80E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;81E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;81E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;81E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;82E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;83E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;68E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;89E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;29E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;90E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;68E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;92E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;93E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;94E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;95E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;29E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;96E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;68E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;97E;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;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;78E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;98E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;78E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;100E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;12;$agrid-colorD;K;6;CP$UIDd;3;102E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;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;103E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;104E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;68E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;91E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;105E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;105E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;105E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;105E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;105E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;106E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;102E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;68E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;105E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;108E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;40E;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;35E;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;111E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;114E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;115E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;105E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;81E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;117E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;112E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;120E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;105E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;81E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;121E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;122E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;80E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;123E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;125E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;105E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;81E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;34E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;81E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;83E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;105E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;83E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;91E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;136E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;137E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;83E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;138E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;105E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;105E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;83E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;68E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;53E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;141E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;142E;K;6;$afontD;K;6;CP$UIDd;3;143E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;105E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;83E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;68E;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;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;144E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;146E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;149E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;150E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;145E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;2;83E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;151E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;152E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;153E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;E;E;S;8;delegateS;18;theBorderTypePopupS;13;theScrollViewS;12;theTableViewS;9;theWindowS;10;dataSourceS;10;setBorder:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {941, 593}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {941, 593}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;43E;E;E;S;6;normalS;22;{{20, 20}, {901, 249}}S;20;{{0, 0}, {901, 249}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;82E;E;E;d;2;18S;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;77E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;98E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;34E;E;D;K;6;$classD;K;6;CP$UIDd;2;77E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;40E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;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;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;E;d;1;2S;22;{{885, 16}, {15, 215}}S;19;{{0, 0}, {15, 215}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9956896551724138S;19;{{1, 1}, {884, 15}}S;19;{{0, 0}, {884, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9988888888888889S;20;{{0, 0}, {899, 231}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;161E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;99E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;162E;E;d;2;23S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;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;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;68E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;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;113E;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;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;68E;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;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;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;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;6;$afontD;K;6;CP$UIDd;3;171E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;83E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;15;$acontent-insetD;K;6;CP$UIDd;3;173E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;68E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;174E;E;d;1;3S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;3;113E;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;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;68E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;176E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;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;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;6;$afontD;K;6;CP$UIDd;3;177E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;83E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;15;$acontent-insetD;K;6;CP$UIDd;3;178E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;68E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;174E;E;S;1;3d;3;188f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;113E;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;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;68E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;121E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;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;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;169E;K;6;$afontD;K;6;CP$UIDd;3;180E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;83E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;15;$acontent-insetD;K;6;CP$UIDd;3;181E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;91E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;68E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;174E;E;S;19;{{0, 0}, {899, 23}}S;14;tableHeaderRowS;22;{{25, 288}, {109, 17}}S;19;{{0, 0}, {109, 17}}d;2;12S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;130E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;105E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;105E;E;S;17;Visual Attributesd;4;3072S;21;{{45, 316}, {57, 17}}S;18;{{0, 0}, {57, 17}}S;7;Border:S;23;{{105, 311}, {141, 24}}S;19;{{0, 0}, {141, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;130E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;81E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;105E;E;S;6;GrooveS;17;_popUpItemAction:S;4;Noned;1;1d;7;1048576S;4;LineS;5;BezelS;13;AppControllerS;6;BorderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;47E;E;E;S;20;{{1, 1}, {899, 231}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;183E;E;S;21;{{1, 232}, {899, 17}}S;19;{{0, 0}, {899, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;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;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;147E;E;E;S;22;{{885, 225}, {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;186E;E;E;S;12;columnHeaderS;8;Column 1S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;170E;K;4;nameD;K;6;CP$UIDd;3;187E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;189E;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;172E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;190E;E;S;0;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;191E;E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;170E;K;4;nameD;K;6;CP$UIDd;3;187E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;3;172E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;193E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;170E;K;4;nameD;K;6;CP$UIDd;3;187E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;3;172E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;190E;E;S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;E;E;f;3;0.5D;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;185E;K;27;CPResponderNextResponderKeyD;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;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;114E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;E;S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;143E;K;6;normalD;K;6;CP$UIDd;3;133E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;185E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;119E;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;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;119E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;143E;K;6;normalD;K;6;CP$UIDd;3;133E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;185E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;124E;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;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;124E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;143E;K;6;normalD;K;6;CP$UIDd;3;133E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;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;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;45E;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;54E;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;55E;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;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;25E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;54E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;24E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;63E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;64E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;65E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;66E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;67E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;68E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;69E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;27E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;71E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;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;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;74E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;75E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;76E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;78E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;80E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;81E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;31E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;32E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;82E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;82E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;82E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;82E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;83E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;83E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;83E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;84E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;85E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;70E;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;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;86E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;91E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;70E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;29E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;92E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;70E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;94E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;96E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;97E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;70E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;29E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;98E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;70E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;99E;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;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;80E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;100E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;100E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;80E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;103E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;12;$agrid-colorD;K;6;CP$UIDd;3;104E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;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;105E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;106E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;70E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;93E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;107E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;107E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;107E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;107E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;107E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;108E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;104E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;70E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;107E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;110E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;40E;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;35E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;111E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;112E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;113E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;114E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;117E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;83E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;119E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;120E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;113E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;114E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;122E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;83E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;123E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;82E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;125E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;126E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;127E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;107E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;83E;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;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;81E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;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;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;34E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;83E;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;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;130E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;85E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;83E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;107E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;107E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;107E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;85E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;85E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;83E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;141E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;107E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;107E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;107E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;85E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;70E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;53E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;142E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;143E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;27E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;145E;K;6;$afontD;K;6;CP$UIDd;3;146E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;70E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;147E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;107E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;132E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;70E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;83E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;85E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;70E;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;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;148E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;149E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;118E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;150E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;149E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;153E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;149E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;151E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;154E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;45E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;149E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;2;85E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;53E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;155E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;156E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;157E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;E;E;S;8;delegateS;18;theBorderTypePopupS;13;theScrollViewS;12;theTableViewS;9;theWindowS;10;dataSourceS;10;setBorder:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {941, 593}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {941, 593}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;43E;E;E;S;6;normalS;22;{{20, 20}, {901, 249}}S;20;{{0, 0}, {901, 249}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;84E;E;E;d;2;18S;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;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;158E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;100E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;34E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;161E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;162E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;163E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;40E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;E;d;1;2S;22;{{885, 16}, {15, 215}}S;19;{{0, 0}, {15, 215}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9956896551724138S;19;{{1, 1}, {884, 15}}S;19;{{0, 0}, {884, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9988888888888889S;20;{{0, 0}, {899, 231}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;165E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;101E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;166E;E;d;2;23S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;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;109E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;167E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;168E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;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;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;6;$afontD;K;6;CP$UIDd;3;172E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;70E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;173E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;172E;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;70E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;176E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;85E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;15;$acontent-insetD;K;6;CP$UIDd;3;178E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;70E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;147E;E;d;1;3S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;6;$afontD;K;6;CP$UIDd;3;172E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;70E;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;172E;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;70E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;85E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;15;$acontent-insetD;K;6;CP$UIDd;3;182E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;70E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;147E;E;S;1;3d;3;188f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;171E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;K;6;$afontD;K;6;CP$UIDd;3;172E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;70E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;123E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;172E;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;70E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;184E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;85E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;15;$acontent-insetD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;70E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;147E;E;S;19;{{0, 0}, {899, 23}}S;14;tableHeaderRowS;22;{{25, 289}, {103, 17}}S;19;{{0, 0}, {103, 17}}d;2;12S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;187E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;83E;E;S;17;Visual Attributesd;4;3072D;K;6;$classD;K;6;CP$UIDd;3;101E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;188E;E;S;21;{{45, 317}, {51, 17}}S;18;{{0, 0}, {51, 17}}S;7;Border:S;23;{{104, 310}, {142, 25}}S;19;{{0, 0}, {142, 25}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;187E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;83E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;83E;E;S;0;S;6;GrooveS;17;_popUpItemAction:S;4;Noned;1;1d;7;1048576S;4;LineS;5;BezelS;13;AppControllerS;6;BorderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;47E;E;E;S;20;{{1, 1}, {899, 231}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;34E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;189E;E;S;21;{{1, 232}, {899, 17}}S;19;{{0, 0}, {899, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;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;151E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;151E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;151E;E;E;S;22;{{885, 225}, {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;192E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;193E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;194E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;107E;E;S;8;Column 1S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;4;nameD;K;6;CP$UIDd;3;195E;K;12;defaultValueD;K;6;CP$UIDd;3;135E;K;6;valuesD;K;6;CP$UIDd;3;197E;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;177E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;199E;E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;175E;K;4;nameD;K;6;CP$UIDd;3;195E;K;12;defaultValueD;K;6;CP$UIDd;3;135E;K;6;valuesD;K;6;CP$UIDd;3;200E;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;201E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;4;nameD;K;6;CP$UIDd;3;195E;K;12;defaultValueD;K;6;CP$UIDd;3;135E;K;6;valuesD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;198E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;151E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;151E;E;E;f;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;191E;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;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;116E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;E;S;13;Lucida Granded;2;11S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;204E;K;6;normalD;K;6;CP$UIDd;3;205E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;191E;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;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;121E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;204E;K;6;normalD;K;6;CP$UIDd;3;205E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;204E;K;6;normalD;K;6;CP$UIDd;3;205E;E;E;f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;206E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;132E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;83E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;186E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;132E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;107E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;83E;E;S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/EditingControls/Resources/MainMenu.cib b/Tests/Manual/TableTest/EditingControls/Resources/MainMenu.cib index 06996f31d..6e95bb16b 100644 --- a/Tests/Manual/TableTest/EditingControls/Resources/MainMenu.cib +++ b/Tests/Manual/TableTest/EditingControls/Resources/MainMenu.cib @@ -1,4 +1,4 @@ -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;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;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;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;50E;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;47E;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;2;51E;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;52E;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;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;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;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;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;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;60E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;61E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;64E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;65E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;66E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;67E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;68E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;70E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;70E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;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;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;73E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;74E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;75E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;77E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;79E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;80E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;41E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;38E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;81E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;81E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;81E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;81E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;82E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;82E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;82E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;83E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;84E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;69E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;12;$agrid-colorD;K;6;CP$UIDd;2;89E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;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;91E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;92E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;69E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;90E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;93E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;82E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;82E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;82E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;82E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;94E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;89E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;69E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;93E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;96E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;40E;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;33E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;97E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;98E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;99E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;100E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;104E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;105E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;93E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;82E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;106E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;107E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;81E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;108E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;109E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;110E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;105E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;93E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;82E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;111E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;112E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;81E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;108E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;113E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;114E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;105E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;93E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;82E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;115E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;117E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;69E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;69E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;121E;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;2;39E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;80E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;122E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;32E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;117E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;69E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;69E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;128E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;133E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;82E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;93E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;136E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;84E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;90E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;137E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;138E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;139E;K;6;$afontD;K;6;CP$UIDd;3;140E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;69E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;69E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;141E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;142E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;143E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;69E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;82E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;84E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;69E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;6;$afontD;K;6;CP$UIDd;3;140E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;69E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;147E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;2;69E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;148E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;149E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;49E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;150E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;82E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;93E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;2;82E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;2;82E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;2;82E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;2;82E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;2;82E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;2;93E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;2;93E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;8;delegateS;15;arrayControllerS;9;tableViewS;9;theWindowS;11;logContent:S;14;selectSegment:S;21;contentArray: contentS;12;contentArrayS;7;contentD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{547, 308}, {728, 366}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {728, 366}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;E;E;S;6;normalS;22;{{20, 81}, {239, 246}}S;20;{{0, 0}, {239, 246}}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;41E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;83E;E;E;d;2;36S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;151E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;117E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;32E;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;156E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;117E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;40E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;E;d;1;2S;20;{{0, 0}, {237, 228}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;158E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;86E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;159E;E;d;1;4d;2;23S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;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;95E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;69E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;160E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;161E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;117E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;162E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;E;S;8;checkboxd;2;85d;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;101E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;163E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;90E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;165E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;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;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;84E;K;16;$aimage-positionD;K;6;CP$UIDd;2;84E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;167E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;142E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;148E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;148E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;82E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;84E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;69E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;169E;E;d;1;3S;4;textd;2;80f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;69E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;172E;K;6;$afontD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;69E;K;15;$acontent-insetD;K;6;CP$UIDd;3;176E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;142E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;135E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;90E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;69E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;142E;E;S;6;buttond;2;60D;K;6;$classD;K;6;CP$UIDd;3;101E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;84E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;178E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;179E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;111E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;139E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;84E;K;16;$aimage-positionD;K;6;CP$UIDd;2;69E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;7;$aimageD;K;6;CP$UIDd;3;181E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;90E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;182E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;183E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;143E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;184E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;82E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;69E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;69E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;169E;E;S;19;{{1, 1}, {280, 15}}S;19;{{0, 0}, {280, 15}}d;1;8d;11;-2147483648S;8;scrollerS;29;_horizontalScrollerDidScroll:f;18;0.9916317991631799S;19;{{0, 0}, {237, 23}}S;14;tableHeaderRowS;23;{{224, 127}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9342105263157895S;23;{{294, 129}, {371, 99}}S;19;{{0, 0}, {371, 99}}S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;185E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;184E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;93E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;93E;E;S;164;Steps: In the table, Edit a CPTextField or click a CPButton . +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;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;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;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;50E;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;47E;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;2;51E;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;52E;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;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;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;2;45E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;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;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;59E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;60E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;61E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;64E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;65E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;66E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;67E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;68E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;69E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;70E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;72E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;72E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;73E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;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;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;75E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;76E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;77E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;79E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;81E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;82E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;41E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;38E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;83E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;83E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;83E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;83E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;84E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;84E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;84E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;85E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;86E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;71E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;81E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;87E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;81E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;12;$agrid-colorD;K;6;CP$UIDd;2;91E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;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;93E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;94E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;71E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;92E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;95E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;84E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;84E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;84E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;84E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;96E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;91E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;71E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;95E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;98E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;40E;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;33E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;99E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;100E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;101E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;102E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;104E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;106E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;107E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;95E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;84E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;108E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;109E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;83E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;110E;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;3;107E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;95E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;84E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;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;83E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;116E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;107E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;95E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;84E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;118E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;71E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;122E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;71E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;123E;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;2;39E;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;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;125E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;32E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;71E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;30E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;129E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;71E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;130E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;132E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;86E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;84E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;95E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;95E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;95E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;138E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;86E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;92E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;139E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;140E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;141E;K;6;$afontD;K;6;CP$UIDd;3;142E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;86E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;71E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;143E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;144E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;95E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;145E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;71E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;84E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;86E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;71E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;146E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;147E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;78E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;148E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;3;142E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;71E;K;11;$aalignmentD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;149E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;2;71E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;150E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;151E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;49E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;152E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;84E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;95E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;2;84E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;2;84E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;2;84E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;2;84E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;2;84E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;2;95E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;2;95E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;8;delegateS;15;arrayControllerS;9;tableViewS;9;theWindowS;11;logContent:S;14;selectSegment:S;21;contentArray: contentS;12;contentArrayS;7;contentD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1954021376S;24;{{547, 308}, {728, 366}}S;22;{{0, 0}, {1680, 1028}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {728, 366}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;E;E;S;6;normalS;22;{{20, 81}, {239, 246}}S;20;{{0, 0}, {239, 246}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;85E;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;80E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;32E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;156E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;40E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;d;1;2S;20;{{0, 0}, {237, 228}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;88E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;160E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;88E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;161E;E;d;1;4d;2;23S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;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;97E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;71E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;162E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;163E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;S;8;checkboxd;2;85d;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;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;71E;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;167E;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;71E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;92E;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;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;169E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;86E;K;16;$aimage-positionD;K;6;CP$UIDd;2;86E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;86E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;170E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;144E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;95E;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;84E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;86E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;71E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;171E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;172E;E;d;1;3S;4;textd;2;80f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;173E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;71E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;174E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;167E;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;71E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;K;6;$afontD;K;6;CP$UIDd;3;177E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;86E;K;11;$aalignmentD;K;6;CP$UIDd;2;71E;K;15;$acontent-insetD;K;6;CP$UIDd;3;179E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;137E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;71E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;144E;E;S;6;buttond;2;60D;K;6;$classD;K;6;CP$UIDd;3;103E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;71E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;181E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;167E;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;71E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;182E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;141E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;86E;K;16;$aimage-positionD;K;6;CP$UIDd;2;71E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;86E;K;11;$aalignmentD;K;6;CP$UIDd;2;86E;K;7;$aimageD;K;6;CP$UIDd;3;184E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;92E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;185E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;186E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;95E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;145E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;187E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;84E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;71E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;71E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;171E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;172E;E;S;19;{{1, 1}, {280, 15}}S;19;{{0, 0}, {280, 15}}d;1;8d;11;-2147483648S;8;scrollerS;29;_horizontalScrollerDidScroll:f;18;0.9916317991631799S;19;{{0, 0}, {237, 23}}S;14;tableHeaderRowS;23;{{224, 127}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9342105263157895S;23;{{294, 130}, {365, 99}}S;19;{{0, 0}, {365, 99}}S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;188E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;84E;E;S;164;Steps: In the table, Edit a CPTextField or click a CPButton . Log Model and see the result in the console. -Expected: The model should reflect UI changes.d;4;3072D;K;6;$classD;K;6;CP$UIDd;2;86E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;186E;E;S;22;{{295, 79}, {166, 24}}S;19;{{0, 0}, {166, 24}}S;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;185E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;184E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;82E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;93E;E;S;9;Log ModelS;0;d;2;14S;22;{{272, 19}, {177, 24}}S;19;{{0, 0}, {177, 24}}S;17;segmented-controlD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;E;E;d;1;1S;13;AppControllerS;19;CPMutableDictionaryS;20;{{1, 1}, {237, 228}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;86E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;190E;E;S;21;{{1, 229}, {237, 17}}S;19;{{0, 0}, {237, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;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;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;148E;E;E;S;22;{{224, 223}, {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;193E;E;E;S;12;columnHeaderS;9;Check BoxS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;194E;E;E;S;10;Text FieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;173E;K;4;nameD;K;6;CP$UIDd;3;195E;K;12;defaultValueD;K;6;CP$UIDd;3;133E;K;6;valuesD;K;6;CP$UIDd;3;196E;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;175E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;197E;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;6;ButtonS;19;{{4, 6}, {-12, 24}}S;19;{{0, 0}, {-12, 24}}D;K;6;$classD;K;6;CP$UIDd;3;173E;K;4;nameD;K;6;CP$UIDd;3;199E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;200E;K;5;valueD;K;6;CP$UIDd;3;201E;E;S;2;OnS;3;Offd;2;12S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;148E;E;E;D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;203E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;2;82E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;2;82E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;2;69E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;204E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;2;93E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;2;82E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;148E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;E;E;f;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;192E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;102E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;3;192E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;109E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;109E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;62E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;140E;K;6;normalD;K;6;CP$UIDd;3;133E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;192E;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;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;113E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;E;S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;132E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;206E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;207E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;93E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;93E;E;f;18;0.6862745098039216S;8;BindingsS;11;Data Sourced;2;18S;13;Lucida Granded;2;13E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +Expected: The model should reflect UI changes.d;4;3072D;K;6;$classD;K;6;CP$UIDd;2;88E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;190E;E;S;22;{{295, 78}, {166, 25}}S;19;{{0, 0}, {166, 25}}S;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;188E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;84E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;84E;E;S;9;Log ModelS;0;d;2;14S;22;{{276, 19}, {177, 24}}S;19;{{0, 0}, {177, 24}}S;17;segmented-controlD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;E;E;d;1;1S;13;AppControllerS;19;CPMutableDictionaryS;20;{{1, 1}, {237, 228}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;88E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;194E;E;S;21;{{1, 229}, {237, 17}}S;19;{{0, 0}, {237, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;40E;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;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;150E;E;E;S;22;{{224, 223}, {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;197E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;198E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;199E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;S;9;Check BoxS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;200E;E;E;S;10;Text FieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;176E;K;4;nameD;K;6;CP$UIDd;3;201E;K;12;defaultValueD;K;6;CP$UIDd;3;135E;K;6;valuesD;K;6;CP$UIDd;3;202E;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;178E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;203E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;204E;E;E;S;6;ButtonS;19;{{4, 6}, {-12, 25}}S;19;{{0, 0}, {-12, 25}}D;K;6;$classD;K;6;CP$UIDd;3;176E;K;4;nameD;K;6;CP$UIDd;3;205E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;206E;K;5;valueD;K;6;CP$UIDd;3;207E;E;S;2;OnS;3;Offd;2;12S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;150E;E;E;D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;209E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;2;84E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;2;84E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;2;71E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;210E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;2;95E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;2;84E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;150E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;2;71E;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;f;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;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;211E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;S;13;Lucida Granded;2;11D;K;6;$classD;K;6;CP$UIDd;3;196E;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;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;111E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;211E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;62E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;212E;K;6;normalD;K;6;CP$UIDd;3;213E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;196E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;159E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;159E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;211E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;74E;E;S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;198E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;214E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;f;18;0.6862745098039216S;8;BindingsS;11;Data Sourced;2;18D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;215E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;187E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;84E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;188E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;187E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;95E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;84E;E;d;2;13S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/HeaderCornerView/Resources/MainMenu.cib b/Tests/Manual/TableTest/HeaderCornerView/Resources/MainMenu.cib index d1f2c8e42..892a5c5dd 100644 --- a/Tests/Manual/TableTest/HeaderCornerView/Resources/MainMenu.cib +++ b/Tests/Manual/TableTest/HeaderCornerView/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;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;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;26E;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;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;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;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;54E;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;2;58E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;59E;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;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;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;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;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;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;65E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;65E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;70E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;73E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;73E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;70E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;58E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;77E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;78E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;79E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;80E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;81E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;83E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;83E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;86E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;87E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;95E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;97E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;100E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;104E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;42E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;41E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;105E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;94E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;94E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;94E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;106E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;92E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;82E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;104E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;107E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;104E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;110E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;12;$agrid-colorD;K;6;CP$UIDd;3;111E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;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;112E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;113E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;82E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;93E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;97E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;94E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;94E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;94E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;94E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;114E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;111E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;82E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;97E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;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;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;117E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;120E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;97E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;94E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;122E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;117E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;123E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;124E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;97E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;94E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;131E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;82E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;132E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;82E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;137E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;140E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;97E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;97E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;141E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;99E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;142E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;143E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;102E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;144E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;145E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;45E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;48E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;105E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;105E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;94E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;94E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;94E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;146E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;121E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;134E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;135E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;147E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;44E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;82E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;148E;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;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;145E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;149E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;145E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;150E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;49E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;125E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;129E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;130E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;44E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;131E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;82E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;151E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;144E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;152E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;144E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;109E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;110E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;12;$agrid-colorD;K;6;CP$UIDd;3;111E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;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;112E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;113E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;82E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;93E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;97E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;94E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;94E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;94E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;94E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;153E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;111E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;82E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;97E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;155E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;47E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;156E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;117E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;157E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;158E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;97E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;94E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;117E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;159E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;160E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;121E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;97E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;94E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;161E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;162E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;163E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;166E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;167E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;97E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;92E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;82E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;169E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;163E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;164E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;165E;K;6;$afontD;K;6;CP$UIDd;3;166E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;82E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;170E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;97E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;92E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;82E;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;171E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;172E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;94E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;97E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;2;94E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;2;94E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;2;94E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;2;94E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;2;94E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;2;97E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;2;97E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;E;E;S;8;delegateS;9;theWindowS;13;takeManyRows:S;12;takeFewRows:S;26;contentArray: contentArrayS;12;contentArrayD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.col0S;5;valueS;20;arrangedObjects.col0D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.col1S;20;arrangedObjects.col1D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 620}, {528, 408}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {528, 408}}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;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;53E;E;E;S;6;normalS;21;{{17, 20}, {264, 17}}S;19;{{0, 0}, {264, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;173E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;174E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;97E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;97E;E;d;1;2d;1;4T;S;41;This table should not have a corner view.d;4;3072F;S;22;{{20, 45}, {488, 135}}S;20;{{0, 0}, {488, 135}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;3;106E;E;E;d;2;34S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;103E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;175E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;107E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;176E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;36E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;S;20;{{0, 0}, {486, 133}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;108E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;179E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;108E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;180E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;E;E;d;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;118E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;82E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;183E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;185E;K;6;$afontD;K;6;CP$UIDd;3;187E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;15;$acontent-insetD;K;6;CP$UIDd;3;189E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;183E;E;d;1;3d;3;379D;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;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;82E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;183E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;185E;K;6;$afontD;K;6;CP$UIDd;3;191E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;15;$acontent-insetD;K;6;CP$UIDd;3;192E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;183E;E;S;19;{{1, 1}, {223, 15}}S;19;{{0, 0}, {223, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;16;0.99581589958159S;22;{{224, 16}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9925373134328358S;22;{{17, 188}, {494, 17}}S;19;{{0, 0}, {494, 17}}S;81;This table should have a corner view if, and only if, a vertical scrollbar shows.S;23;{{20, 213}, {488, 135}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;146E;E;E;d;2;26D;K;6;$classD;K;6;CP$UIDd;3;103E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;193E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;49E;E;D;K;6;$classD;K;6;CP$UIDd;3;103E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;195E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;196E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;177E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;d;2;37f;18;0.1947367936372757S;19;{{0, 0}, {484, 23}}S;14;tableHeaderRowf;18;0.5714285969734192S;20;{{0, 0}, {484, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;50E;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;154E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;82E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;199E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;200E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;d;3;377D;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;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;82E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;183E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;185E;K;6;$afontD;K;6;CP$UIDd;3;202E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;15;$acontent-insetD;K;6;CP$UIDd;3;203E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;183E;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;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;204E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;182E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;82E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;183E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;184E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;185E;K;6;$afontD;K;6;CP$UIDd;3;205E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;82E;K;15;$acontent-insetD;K;6;CP$UIDd;3;206E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;96E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;93E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;82E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;183E;E;S;22;{{416, 366}, {90, 24}}S;18;{{0, 0}, {90, 24}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;90E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;173E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;174E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;94E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;97E;E;S;8;Few RowsS;22;{{305, 366}, {99, 24}}S;18;{{0, 0}, {99, 24}}S;9;Many RowsS;13;AppControllerS;19;CPMutableDictionaryS;17;Arial, sans-serifd;2;12S;20;{{1, 1}, {486, 133}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;108E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;207E;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;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;208E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;211E;E;E;S;12;columnHeaderS;0;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;173E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;174E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;97E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;97E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;186E;K;4;nameD;K;6;CP$UIDd;3;212E;K;12;defaultValueD;K;6;CP$UIDd;3;184E;K;6;valuesD;K;6;CP$UIDd;3;213E;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;188E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;214E;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;186E;K;4;nameD;K;6;CP$UIDd;3;212E;K;12;defaultValueD;K;6;CP$UIDd;3;184E;K;6;valuesD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;214E;E;S;20;{{2, 2}, {484, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;E;E;S;21;{{2, 116}, {484, 17}}S;19;{{0, 0}, {484, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;E;E;S;22;{{224, 112}, {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;217E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;186E;K;4;nameD;K;6;CP$UIDd;3;212E;K;12;defaultValueD;K;6;CP$UIDd;3;184E;K;6;valuesD;K;6;CP$UIDd;3;218E;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;214E;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;3;186E;K;4;nameD;K;6;CP$UIDd;3;212E;K;12;defaultValueD;K;6;CP$UIDd;3;184E;K;6;valuesD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;214E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;208E;E;E;d;1;1f;3;0.5D;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;210E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;119E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;119E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;221E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;166E;K;6;normalD;K;6;CP$UIDd;3;184E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;210E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;123E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;123E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;221E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;166E;K;6;normalD;K;6;CP$UIDd;3;184E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;210E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;157E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;157E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;221E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;166E;K;6;normalD;K;6;CP$UIDd;3;184E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;210E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;159E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;159E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;221E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;166E;K;6;normalD;K;6;CP$UIDd;3;184E;E;E;d;2;18E;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;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;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;26E;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;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;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;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;54E;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;2;58E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;59E;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;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;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;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;53E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;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;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;65E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;65E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;67E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;70E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;71E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;73E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;74E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;72E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;73E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;75E;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;70E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;58E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;77E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;78E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;79E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;80E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;81E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;82E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;83E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;88E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;89E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;90E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;95E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;97E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;95E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;104E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;105E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;108E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;42E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;41E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;109E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;109E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;109E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;109E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;96E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;96E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;96E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;110E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;94E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;84E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;108E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;111E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;108E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;12;$agrid-colorD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;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;115E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;116E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;84E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;95E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;99E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;96E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;96E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;96E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;96E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;117E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;114E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;84E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;99E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;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;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;122E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;123E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;99E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;96E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;125E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;126E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;127E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;99E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;96E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;133E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;84E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;135E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;136E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;137E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;138E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;34E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;84E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;140E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;141E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;142E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;93E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;95E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;96E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;143E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;99E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;99E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;101E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;94E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;95E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;144E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;145E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;106E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;147E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;148E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;45E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;48E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;109E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;109E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;109E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;109E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;96E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;96E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;96E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;149E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;124E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;136E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;137E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;138E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;150E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;44E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;139E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;84E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;151E;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;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;148E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;152E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;148E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;49E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;133E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;44E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;134E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;84E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;154E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;147E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;155E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;12;$agrid-colorD;K;6;CP$UIDd;3;114E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;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;115E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;116E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;84E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;95E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;99E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;96E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;96E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;96E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;96E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;156E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;114E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;84E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;99E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;158E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;47E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;159E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;160E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;161E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;99E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;96E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;37E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;118E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;119E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;120E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;162E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;163E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;124E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;99E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;96E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;165E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;170E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;171E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;99E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;96E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;94E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;84E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;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;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;84E;K;11;$aalignmentD;K;6;CP$UIDd;2;94E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;95E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;175E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;171E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;99E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;96E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;94E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;84E;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;176E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;177E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;96E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;99E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;2;96E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;2;96E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;2;96E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;2;96E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;2;96E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;2;99E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;2;99E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;E;E;S;8;delegateS;9;theWindowS;13;takeManyRows:S;12;takeFewRows:S;26;contentArray: contentArrayS;12;contentArrayD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.col0S;5;valueS;20;arrangedObjects.col0D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.col1S;20;arrangedObjects.col1D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 620}, {528, 408}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {528, 408}}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;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;53E;E;E;S;6;normalS;21;{{17, 21}, {258, 17}}S;19;{{0, 0}, {258, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;179E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;96E;E;d;1;2d;1;4T;S;41;This table should not have a corner view.d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;100E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;180E;E;S;22;{{20, 45}, {488, 135}}S;20;{{0, 0}, {488, 135}}D;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;2;42E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;3;110E;E;E;d;2;34S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;111E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;36E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;34E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;34E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;S;20;{{0, 0}, {486, 133}}D;K;6;$classD;K;6;CP$UIDd;3;100E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;185E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;100E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;186E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;E;E;d;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;121E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;84E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;189E;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;84E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;190E;K;6;$afontD;K;6;CP$UIDd;3;192E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;95E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;15;$acontent-insetD;K;6;CP$UIDd;3;194E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;95E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;84E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;d;1;3d;3;379D;K;6;$classD;K;6;CP$UIDd;3;121E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;84E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;189E;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;84E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;190E;K;6;$afontD;K;6;CP$UIDd;3;196E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;95E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;15;$acontent-insetD;K;6;CP$UIDd;3;197E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;95E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;84E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;S;19;{{1, 1}, {223, 15}}S;19;{{0, 0}, {223, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;16;0.99581589958159S;22;{{224, 16}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9925373134328358S;22;{{17, 189}, {488, 17}}S;19;{{0, 0}, {488, 17}}S;81;This table should have a corner view if, and only if, a vertical scrollbar shows.S;23;{{20, 213}, {488, 135}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;149E;E;E;d;2;26D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;199E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;49E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;200E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;201E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;202E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;d;2;37f;18;0.1947367936372757S;19;{{0, 0}, {484, 23}}S;14;tableHeaderRowf;18;0.5714285969734192S;20;{{0, 0}, {484, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;50E;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;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;84E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;203E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;44E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;205E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;d;3;377D;K;6;$classD;K;6;CP$UIDd;3;121E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;84E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;189E;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;84E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;190E;K;6;$afontD;K;6;CP$UIDd;3;207E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;95E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;15;$acontent-insetD;K;6;CP$UIDd;3;208E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;95E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;84E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;3;121E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;209E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;84E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;189E;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;84E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;91E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;190E;K;6;$afontD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;95E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;94E;K;11;$aalignmentD;K;6;CP$UIDd;2;84E;K;15;$acontent-insetD;K;6;CP$UIDd;3;211E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;98E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;95E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;84E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;S;22;{{416, 365}, {90, 25}}S;18;{{0, 0}, {90, 25}}d;1;9S;6;buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;179E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;96E;E;S;8;Few RowsS;0;d;2;14S;22;{{305, 365}, {99, 25}}S;18;{{0, 0}, {99, 25}}S;9;Many RowsS;13;AppControllerS;19;CPMutableDictionaryS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;E;E;S;20;{{1, 1}, {486, 133}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;100E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;214E;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;213E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;213E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;215E;D;K;6;CP$UIDd;3;213E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;217E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;218E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;219E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;99E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;4;nameD;K;6;CP$UIDd;3;220E;K;12;defaultValueD;K;6;CP$UIDd;2;93E;K;6;valuesD;K;6;CP$UIDd;3;221E;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;193E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;222E;E;D;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;3;191E;K;4;nameD;K;6;CP$UIDd;3;220E;K;12;defaultValueD;K;6;CP$UIDd;2;93E;K;6;valuesD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;193E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;222E;E;S;20;{{2, 2}, {484, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;E;E;S;21;{{2, 116}, {484, 17}}S;19;{{0, 0}, {484, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;E;E;S;22;{{224, 112}, {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;225E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;4;nameD;K;6;CP$UIDd;3;220E;K;12;defaultValueD;K;6;CP$UIDd;2;93E;K;6;valuesD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;3;193E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;227E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;191E;K;4;nameD;K;6;CP$UIDd;3;220E;K;12;defaultValueD;K;6;CP$UIDd;2;93E;K;6;valuesD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;3;193E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;222E;E;f;18;0.6862745098039216d;1;1D;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;213E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;213E;E;E;f;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;216E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;122E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;122E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;229E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;230E;K;6;normalD;K;6;CP$UIDd;3;231E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;216E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;229E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;230E;K;6;normalD;K;6;CP$UIDd;3;231E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;160E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;160E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;229E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;230E;K;6;normalD;K;6;CP$UIDd;3;231E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;216E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;162E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;162E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;229E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;230E;K;6;normalD;K;6;CP$UIDd;3;231E;E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;232E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;233E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;233E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;99E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;96E;E;S;17;Arial, sans-serifd;2;12E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/TableBindings/AppController.j b/Tests/Manual/TableTest/TableBindings/AppController.j index 424c21710..7eae4f723 100644 --- a/Tests/Manual/TableTest/TableBindings/AppController.j +++ b/Tests/Manual/TableTest/TableBindings/AppController.j @@ -33,7 +33,7 @@ request = [CPURLRequest requestWithURL:path], connection = [CPURLConnection connectionWithRequest:request delegate:self]; - [theWindow setFullBridge:YES]; + [theWindow setFullPlatformWindow:YES]; } - (void)connection:(CPURLConnection)connection didReceiveData:(CPString)dataString diff --git a/Tests/Manual/TableTest/TableBindings/Resources/MainMenu.cib b/Tests/Manual/TableTest/TableBindings/Resources/MainMenu.cib index 6bd00af62..4d7e22808 100644 --- a/Tests/Manual/TableTest/TableBindings/Resources/MainMenu.cib +++ b/Tests/Manual/TableTest/TableBindings/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;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;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;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;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;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;71E;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;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;79E;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;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;55E;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;80E;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;81E;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;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;89E;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;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;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;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;93E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;94E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;97E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;101E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;106E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;80E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;108E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;109E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;110E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;111E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;112E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;37E;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;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;114E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;114E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;115E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;118E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;123E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;124E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;49E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;48E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;125E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;125E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;125E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;125E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;126E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;126E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;126E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;127E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;128E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;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;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;124E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;129E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;124E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;43E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;126E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;123E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;123E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;12;$agrid-colorD;K;6;CP$UIDd;3;135E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;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;137E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;138E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;113E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;139E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;140E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;126E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;126E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;126E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;126E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;141E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;135E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;126E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;143E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;41E;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;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;144E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;145E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;146E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;148E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;149E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;150E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;140E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;126E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;151E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;145E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;146E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;152E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;153E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;150E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;140E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;126E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;158E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;39E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;113E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;161E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;162E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;163E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;158E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;164E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;39E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;166E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;113E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;167E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;169E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;171E;K;6;$afontD;K;6;CP$UIDd;3;173E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;136E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;133E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;128E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;136E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;171E;K;6;$afontD;K;6;CP$UIDd;3;178E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;136E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;179E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;126E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;126E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;133E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;128E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;136E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;6;$afontD;K;6;CP$UIDd;3;182E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;136E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;140E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;128E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;136E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;79E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;187E;K;6;$afontD;K;6;CP$UIDd;3;188E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;136E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;140E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;128E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;113E;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;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;189E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;55E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;190E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;139E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;79E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;191E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;55E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;190E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;1;0E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;79E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;191E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;193E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;6;$afontD;K;6;CP$UIDd;3;182E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;136E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;195E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;140E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;128E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;136E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;9;CPStepperK;8;$classesA;S;9;CPStepperS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;198E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;113E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;199E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;139E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;151E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;200E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;198E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;113E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;201E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;199E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;139E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;151E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;203E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;205E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;206E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;64E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;65E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;125E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;125E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;125E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;125E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;126E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;126E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;126E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;207E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;128E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;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;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;162E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;163E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;158E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;164E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;165E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;63E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;166E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;113E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;167E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;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;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;158E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;63E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;113E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;161E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;205E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;208E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;208E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;205E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;12;$agrid-colorD;K;6;CP$UIDd;3;135E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;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;137E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;138E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;113E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;139E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;140E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;126E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;126E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;126E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;126E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;209E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;135E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;1;0E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;126E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;210E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;69E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;211E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;145E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;146E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;212E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;213E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;150E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;140E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;126E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;145E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;146E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;215E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;216E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;150E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;140E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;126E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;206E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;66E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;218E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;219E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;6;$afontD;K;6;CP$UIDd;3;182E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;136E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;220E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;140E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;128E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;136E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;219E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;6;$afontD;K;6;CP$UIDd;3;182E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;136E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;222E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;140E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;140E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;128E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;136E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;223E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;224E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;225E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;187E;K;6;$afontD;K;6;CP$UIDd;3;188E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;113E;K;11;$aalignmentD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;226E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;140E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;128E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;113E;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;72E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;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;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;225E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;187E;K;6;$afontD;K;6;CP$UIDd;3;188E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;113E;K;11;$aalignmentD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;113E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;136E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;229E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;140E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;128E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;113E;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;230E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;231E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;126E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;140E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;140E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;140E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;126E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;140E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;140E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;140E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;140E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;232E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;233E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;35E;E;E;S;8;delegateS;12;KeyPathPopupS;15;arrayControllerS;4;fromS;11;lengthFieldS;13;locationFieldS;9;theWindowS;2;toS;21;takeIntegerValueFrom:S;22;updateOrReloadContent:S;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;18;contentArray: rowsS;12;contentArrayS;4;rowsD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;29;value: arrangedObjects.colTwoS;5;valueS;22;arrangedObjects.colTwoD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;29;value: arrangedObjects.colOneS;22;arrangedObjects.colOneD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 266}, {999, 454}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {999, 454}}D;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;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;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;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;E;E;S;6;normalS;23;{{478, 31}, {501, 360}}S;20;{{0, 0}, {501, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;127E;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;3;122E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;235E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;238E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;239E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;41E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;d;1;2S;19;{{0, 0}, {499, 23}}S;14;tableHeaderRowS;20;{{0, 0}, {499, 342}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;241E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;132E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;242E;E;d;1;4d;2;23S;6;{3, 2}d;1;1F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;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;142E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;d;3;393d;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;147E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;246E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;113E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;248E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;249E;K;6;$afontD;K;6;CP$UIDd;3;251E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;136E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;15;$acontent-insetD;K;6;CP$UIDd;3;253E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;248E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;136E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;113E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;248E;E;d;1;3d;3;100D;K;6;$classD;K;6;CP$UIDd;3;147E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;113E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;248E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;249E;K;6;$afontD;K;6;CP$UIDd;3;255E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;136E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;15;$acontent-insetD;K;6;CP$UIDd;3;256E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;248E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;136E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;113E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;248E;E;S;21;{{1, -23}, {461, 15}}S;19;{{0, 0}, {461, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;17;0.878095238095238S;23;{{224, 241}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticald;2;37S;27;_verticalScrollerDidScroll:f;18;0.1947367936372757S;22;{{510, 408}, {34, 29}}S;18;{{0, 0}, {34, 29}}S;9;textfieldS;7;bezeledD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;172E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;257E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;258E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;140E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;140E;E;S;1;0d;4;3072S;22;{{581, 408}, {35, 29}}S;18;{{0, 0}, {35, 29}}D;K;6;$classD;K;6;CP$UIDd;3;172E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;257E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;258E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;140E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;140E;E;S;1;5S;23;{{179, 417}, {171, 17}}S;19;{{0, 0}, {171, 17}}D;K;6;$classD;K;6;CP$UIDd;3;172E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;257E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;258E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;140E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;140E;E;S;26;Model values for Key Path:S;22;{{353, 412}, {74, 24}}S;18;{{0, 0}, {74, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;172E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;257E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;258E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;126E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;140E;E;S;6;colOneS;17;_popUpItemAction:d;7;1048576S;6;colTwoS;22;{{452, 417}, {59, 17}}S;18;{{0, 0}, {59, 17}}S;8;In RangeS;22;{{547, 410}, {19, 27}}S;18;{{0, 0}, {19, 27}}S;7;stepperd;5;65540S;22;{{619, 410}, {19, 27}}d;1;5S;22;{{20, 31}, {450, 360}}S;20;{{0, 0}, {450, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;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;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;259E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;208E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;3;122E;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;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;261E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;262E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;156E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;236E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;63E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;S;20;{{0, 0}, {448, 342}}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;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;142E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;113E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;245E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;d;2;76D;K;6;$classD;K;6;CP$UIDd;3;147E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;264E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;113E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;248E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;249E;K;6;$afontD;K;6;CP$UIDd;3;265E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;136E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;15;$acontent-insetD;K;6;CP$UIDd;3;266E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;248E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;136E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;113E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;248E;E;d;3;366D;K;6;$classD;K;6;CP$UIDd;3;147E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;267E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;247E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;113E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;248E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;249E;K;6;$afontD;K;6;CP$UIDd;3;268E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;136E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;128E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;15;$acontent-insetD;K;6;CP$UIDd;3;269E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;248E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;175E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;136E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;113E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;248E;E;S;19;{{0, 0}, {448, 23}}S;20;{{17, 6}, {244, 17}}S;19;{{0, 0}, {244, 17}}S;26;Table Column Value BindingS;21;{{478, 6}, {244, 17}}S;26;Table View Content BindingS;22;{{930, 414}, {47, 24}}S;18;{{0, 0}, {47, 24}}S;6;buttonS;3;SetS;22;{{834, 414}, {84, 24}}S;18;{{0, 0}, {84, 24}}S;8;MutationS;13;AppControllerS;19;CPMutableDictionaryS;10;OtherViewsD;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;58E;E;E;S;20;{{1, 1}, {499, 342}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;132E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;270E;E;S;21;{{1, 343}, {499, 17}}S;19;{{0, 0}, {499, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;271E;D;K;6;CP$UIDd;3;139E;E;E;S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;273E;E;E;S;12;columnHeaderS;0;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;250E;K;4;nameD;K;6;CP$UIDd;3;274E;K;12;defaultValueD;K;6;CP$UIDd;3;182E;K;6;valuesD;K;6;CP$UIDd;3;275E;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;252E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;277E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;250E;K;4;nameD;K;6;CP$UIDd;3;274E;K;12;defaultValueD;K;6;CP$UIDd;3;182E;K;6;valuesD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;3;252E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;276E;E;S;17;Arial, sans-serifd;2;12S;20;{{1, 1}, {448, 342}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;66E;E;E;S;21;{{1, 343}, {448, 17}}S;19;{{0, 0}, {448, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;69E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;279E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;250E;K;4;nameD;K;6;CP$UIDd;3;274E;K;12;defaultValueD;K;6;CP$UIDd;3;182E;K;6;valuesD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;3;252E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;281E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;250E;K;4;nameD;K;6;CP$UIDd;3;274E;K;12;defaultValueD;K;6;CP$UIDd;3;182E;K;6;valuesD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;3;252E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;139E;E;E;f;3;0.5D;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;272E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;148E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;148E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;188E;K;6;normalD;K;6;CP$UIDd;3;182E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;272E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;152E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;152E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;188E;K;6;normalD;K;6;CP$UIDd;3;182E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;272E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;188E;K;6;normalD;K;6;CP$UIDd;3;182E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;272E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;215E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;215E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;188E;K;6;normalD;K;6;CP$UIDd;3;182E;E;E;d;2;18E;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;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;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;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;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;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;71E;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;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;79E;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;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;55E;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;80E;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;81E;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;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;82E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;84E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;35E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;89E;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;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;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;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;43E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;93E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;94E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;75E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;97E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;100E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;101E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;67E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;106E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;80E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;108E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;109E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;110E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;111E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;112E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;113E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;114E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;37E;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;36E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;116E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;117E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;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;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;119E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;120E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;121E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;125E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;126E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;49E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;48E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;127E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;128E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;128E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;128E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;129E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;130E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;115E;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;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;126E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;131E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;43E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;128E;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;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;125E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;133E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;125E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;136E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;12;$agrid-colorD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;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;139E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;140E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;115E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;141E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;142E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;128E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;128E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;128E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;128E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;143E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;137E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;115E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;128E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;145E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;41E;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;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;146E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;147E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;148E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;150E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;151E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;152E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;142E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;128E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;153E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;147E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;148E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;154E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;155E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;152E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;142E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;128E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;156E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;115E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;39E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;162E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;115E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;163E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;165E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;39E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;168E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;115E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;169E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;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;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;170E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;171E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;173E;K;6;$afontD;K;6;CP$UIDd;3;175E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;138E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;176E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;135E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;130E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;138E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;178E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;179E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;173E;K;6;$afontD;K;6;CP$UIDd;3;175E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;138E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;180E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;128E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;128E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;135E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;130E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;138E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;181E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;175E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;138E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;183E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;142E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;184E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;130E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;138E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;79E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;185E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;186E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;188E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;138E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;115E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;190E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;142E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;191E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;115E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;128E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;130E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;115E;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;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;192E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;55E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;193E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;141E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;79E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;195E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;55E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;193E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;79E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;175E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;138E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;198E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;142E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;184E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;130E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;138E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;9;CPStepperK;8;$classesA;S;9;CPStepperS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;201E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;115E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;115E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;202E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;141E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;153E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;203E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;201E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;115E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;204E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;202E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;141E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;153E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;206E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;207E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;208E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;209E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;64E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;65E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;127E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;127E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;128E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;128E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;128E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;210E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;130E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;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;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;165E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;63E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;168E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;115E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;169E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;47E;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;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;156E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;115E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;63E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;162E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;115E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;163E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;208E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;211E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;208E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;136E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;12;$agrid-colorD;K;6;CP$UIDd;3;137E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;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;139E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;140E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;115E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;141E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;142E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;128E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;128E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;128E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;128E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;212E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;137E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;115E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;128E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;213E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;69E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;147E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;148E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;215E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;216E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;152E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;142E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;128E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;217E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;147E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;148E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;218E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;219E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;152E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;142E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;128E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;40E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;209E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;220E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;209E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;66E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;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;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;175E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;138E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;142E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;184E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;130E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;138E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;175E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;138E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;128E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;225E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;142E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;142E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;184E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;130E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;138E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;226E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;227E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;228E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;188E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;115E;K;11;$aalignmentD;K;6;CP$UIDd;3;130E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;115E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;229E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;190E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;142E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;115E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;128E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;130E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;115E;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;72E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;148E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;122E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;228E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;188E;K;6;$afontD;K;6;CP$UIDd;3;189E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;115E;K;11;$aalignmentD;K;6;CP$UIDd;3;130E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;115E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;138E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;190E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;142E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;115E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;128E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;130E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;115E;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;234E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;235E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;128E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;142E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;142E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;142E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;128E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;142E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;142E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;142E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;142E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;236E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;237E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;35E;E;E;S;8;delegateS;12;KeyPathPopupS;15;arrayControllerS;4;fromS;11;lengthFieldS;13;locationFieldS;9;theWindowS;2;toS;21;takeIntegerValueFrom:S;22;updateOrReloadContent:S;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;18;contentArray: rowsS;12;contentArrayS;4;rowsD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;29;value: arrangedObjects.colTwoS;5;valueS;22;arrangedObjects.colTwoD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;29;value: arrangedObjects.colOneS;22;arrangedObjects.colOneD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 266}, {999, 454}}S;22;{{0, 0}, {1680, 1028}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {999, 454}}D;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;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;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;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;E;E;S;6;normalS;23;{{478, 31}, {501, 360}}S;20;{{0, 0}, {501, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;129E;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;3;124E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;133E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;239E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;3;124E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;241E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;243E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;41E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;d;1;2S;19;{{0, 0}, {499, 23}}S;14;tableHeaderRowS;20;{{0, 0}, {499, 342}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;245E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;134E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;246E;E;d;1;4d;2;23S;6;{3, 2}d;1;1F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;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;144E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;247E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;248E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;249E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;d;3;393d;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;149E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;250E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;251E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;252E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;115E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;190E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;252E;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;115E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;6;$afontD;K;6;CP$UIDd;3;255E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;138E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;15;$acontent-insetD;K;6;CP$UIDd;3;257E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;190E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;138E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;115E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;190E;E;d;1;3d;3;100D;K;6;$classD;K;6;CP$UIDd;3;149E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;258E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;251E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;252E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;115E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;190E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;252E;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;115E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;6;$afontD;K;6;CP$UIDd;3;259E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;138E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;15;$acontent-insetD;K;6;CP$UIDd;3;260E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;190E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;138E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;115E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;190E;E;S;21;{{1, -23}, {461, 15}}S;19;{{0, 0}, {461, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;17;0.878095238095238S;23;{{224, 241}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticald;2;37S;27;_verticalScrollerDidScroll:f;18;0.1947367936372757S;22;{{510, 408}, {34, 29}}S;18;{{0, 0}, {34, 29}}S;9;textfieldS;16;bezeled+editableD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;174E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;261E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;262E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;1;0d;4;3072S;22;{{581, 408}, {35, 29}}S;18;{{0, 0}, {35, 29}}S;1;5S;23;{{179, 418}, {165, 17}}S;19;{{0, 0}, {165, 17}}S;26;Model values for Key Path:D;K;6;$classD;K;6;CP$UIDd;3;134E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;263E;E;S;22;{{352, 411}, {75, 25}}S;18;{{0, 0}, {75, 25}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;174E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;261E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;262E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;0;d;2;12S;6;colOneS;17;_popUpItemAction:d;7;1048576S;6;colTwoS;22;{{452, 418}, {53, 17}}S;18;{{0, 0}, {53, 17}}S;8;In RangeS;22;{{547, 410}, {19, 25}}S;18;{{0, 0}, {19, 25}}S;7;stepperd;5;65540S;22;{{619, 410}, {19, 25}}d;1;5S;22;{{20, 31}, {450, 360}}S;20;{{0, 0}, {450, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;124E;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;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;264E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;211E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;3;124E;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;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;158E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;63E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;S;20;{{0, 0}, {448, 342}}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;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;115E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;247E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;248E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;249E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;d;2;76D;K;6;$classD;K;6;CP$UIDd;3;149E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;269E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;251E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;252E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;115E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;190E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;252E;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;115E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;6;$afontD;K;6;CP$UIDd;3;270E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;138E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;15;$acontent-insetD;K;6;CP$UIDd;3;271E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;190E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;138E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;115E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;190E;E;d;3;366D;K;6;$classD;K;6;CP$UIDd;3;149E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;251E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;K;6;$afontD;K;6;CP$UIDd;3;252E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;115E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;190E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;252E;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;115E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;172E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;253E;K;6;$afontD;K;6;CP$UIDd;3;273E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;138E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;130E;K;11;$aalignmentD;K;6;CP$UIDd;3;115E;K;15;$acontent-insetD;K;6;CP$UIDd;3;274E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;190E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;177E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;138E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;115E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;190E;E;S;19;{{0, 0}, {448, 23}}S;20;{{17, 7}, {238, 17}}S;19;{{0, 0}, {238, 17}}S;26;Table Column Value BindingS;21;{{478, 7}, {238, 17}}S;26;Table View Content BindingS;22;{{930, 413}, {47, 25}}S;18;{{0, 0}, {47, 25}}S;6;buttonS;3;Setd;2;14S;22;{{834, 413}, {84, 25}}S;18;{{0, 0}, {84, 25}}S;8;MutationS;13;AppControllerS;19;CPMutableDictionaryS;10;OtherViewsD;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;58E;E;E;S;20;{{1, 1}, {499, 342}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;275E;E;S;21;{{1, 343}, {499, 17}}S;19;{{0, 0}, {499, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;276E;D;K;6;CP$UIDd;3;141E;E;E;S;20;{{224, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;278E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;174E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;279E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;280E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;142E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;4;nameD;K;6;CP$UIDd;3;281E;K;12;defaultValueD;K;6;CP$UIDd;3;175E;K;6;valuesD;K;6;CP$UIDd;3;282E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;284E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;4;nameD;K;6;CP$UIDd;3;281E;K;12;defaultValueD;K;6;CP$UIDd;3;175E;K;6;valuesD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;286E;D;K;6;CP$UIDd;3;141E;E;E;S;20;{{1, 1}, {448, 342}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;66E;E;E;S;21;{{1, 343}, {448, 17}}S;19;{{0, 0}, {448, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;69E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;287E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;4;nameD;K;6;CP$UIDd;3;281E;K;12;defaultValueD;K;6;CP$UIDd;3;175E;K;6;valuesD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;289E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;254E;K;4;nameD;K;6;CP$UIDd;3;281E;K;12;defaultValueD;K;6;CP$UIDd;3;175E;K;6;valuesD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;3;256E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;141E;E;E;f;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;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;150E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;150E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;291E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;293E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;291E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;293E;E;E;f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;215E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;215E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;291E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;293E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;277E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;244E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;291E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;292E;K;6;normalD;K;6;CP$UIDd;3;293E;E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;3;174E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;294E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;191E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;128E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;3;174E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;261E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;191E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;142E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;128E;E;S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/TableCibTest/AppController.j b/Tests/Manual/TableTest/TableCibTest/AppController.j index bb0eebbc4..e99ed7c94 100644 --- a/Tests/Manual/TableTest/TableCibTest/AppController.j +++ b/Tests/Manual/TableTest/TableCibTest/AppController.j @@ -28,7 +28,7 @@ CPLogRegister(CPLogConsole); // It's a useful hook for setting up current UI values, and other things. // In this case, we want the window from Cib to become our full browser window - [theWindow setFullBridge:YES]; + [theWindow setFullPlatformWindow:YES]; } - (int)numberOfRowsInTableView:(CPTableView)tableView diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib index 02eee7113..c748c68cc 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;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;18E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;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;37E;D;K;6;CP$UIDd;2;38E;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;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;24E;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;39E;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;40E;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;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;41E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;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;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;44E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;45E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;47E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;22E;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;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;50E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;50E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;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;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;54E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;55E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;56E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;59E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;60E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;26E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;27E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;61E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;61E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;61E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;61E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;62E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;62E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;62E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;63E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;64E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;49E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;65E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;49E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;71E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;49E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;73E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;74E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;75E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;49E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;77E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;49E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;78E;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;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;59E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;79E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;59E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;12;$agrid-colorD;K;6;CP$UIDd;2;83E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;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;84E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;85E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;49E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;72E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;86E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;62E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;62E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;62E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;62E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;87E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;83E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;88E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;62E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;37E;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;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;91E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;92E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;93E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;94E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;96E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;2;98E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;99E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;100E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;93E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;94E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;101E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;102E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;103E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;104E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;61E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;105E;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;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;109E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;61E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;113E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;114E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;61E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;117E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;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;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;60E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;118E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;60E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;29E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;120E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {686, 348}}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;24E;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;59E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;63E;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;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;122E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}S;8;disabledS;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;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;127E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;128E;E;d;2;43S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;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;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;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;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;136E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;135E;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;49E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;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;97E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;137E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;138E;K;6;$afontD;K;6;CP$UIDd;3;140E;K;12;$atext-colorD;K;6;CP$UIDd;3;141E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;15;$acontent-insetD;K;6;CP$UIDd;3;143E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;145E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;72E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;49E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;144E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;147E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;148E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;149E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;147E;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;148E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;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;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;137E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;138E;K;6;$afontD;K;6;CP$UIDd;3;150E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;3;148E;K;15;$acontent-insetD;K;6;CP$UIDd;3;151E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;145E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;72E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;148E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;144E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;64E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;154E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;153E;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;64E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;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;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;49E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;49E;E;f;9;94.078125f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;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;135E;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;49E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;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;112E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;64E;K;16;$aimage-positionD;K;6;CP$UIDd;2;64E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;158E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;144E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;148E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;148E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;62E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;64E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;49E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;159E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;160E;E;d;2;92D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;162E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;135E;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;49E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;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;116E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;64E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;49E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;88E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;88E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;88E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;49E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;49E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;86E;E;S;19;{{0, 0}, {644, 23}}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;29E;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;37E;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;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;148E;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;165E;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;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;166E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;167E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;8;Column 1S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;139E;K;4;nameD;K;6;CP$UIDd;3;168E;K;12;defaultValueD;K;6;CP$UIDd;3;169E;K;6;valuesD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;172E;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;142E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;173E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;166E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;62E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;d;1;1S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;139E;K;4;nameD;K;6;CP$UIDd;3;168E;K;12;defaultValueD;K;6;CP$UIDd;3;169E;K;6;valuesD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;3;142E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;177E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;167E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;5;ImageD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;E;E;S;20;Checkbox really longS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;180E;E;E;S;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;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;134E;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;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;62E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;170E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;184E;K;6;normalD;K;6;CP$UIDd;3;185E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;101E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;101E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;d;2;20D;K;6;$classD;K;6;CP$UIDd;3;170E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;186E;K;6;normalD;K;6;CP$UIDd;3;187E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;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;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;3;164E;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;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;111E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;d;2;18S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;188E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;62E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;190E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;62E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;190E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;17;Arial, sans-serifd;2;12S;15;Times New RomanE;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;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;18E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;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;37E;D;K;6;CP$UIDd;2;38E;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;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;24E;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;39E;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;40E;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;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;41E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;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;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;44E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;45E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;46E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;48E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;49E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;50E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;22E;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;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;52E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;52E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;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;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;55E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;56E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;57E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;61E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;62E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;26E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;27E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;63E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;63E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;63E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;63E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;64E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;64E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;64E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;65E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;66E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;68E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;69E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;51E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;75E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;76E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;77E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;69E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;71E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;78E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;51E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;80E;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;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;61E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;81E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;61E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;84E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;12;$agrid-colorD;K;6;CP$UIDd;2;85E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;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;86E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;87E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;51E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;74E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;88E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;64E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;64E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;64E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;64E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;89E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;85E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;90E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;64E;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;37E;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;30E;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;88E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;64E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;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;88E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;64E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;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;63E;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;88E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;64E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;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;63E;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;88E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;64E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;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;63E;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;88E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;64E;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;36E;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;51E;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;62E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;121E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;29E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;64E;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;20E;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;24E;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;61E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;65E;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;60E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;124E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;69E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;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;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;69E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;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;24E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}S;8;disabledS;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;82E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;129E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;82E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;130E;E;d;2;43S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;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;51E;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;54E;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;54E;K;6;$afontD;K;6;CP$UIDd;3;137E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;51E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;138E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;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;51E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;74E;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;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;140E;K;6;$afontD;K;6;CP$UIDd;3;142E;K;12;$atext-colorD;K;6;CP$UIDd;3;143E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;74E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;51E;K;15;$acontent-insetD;K;6;CP$UIDd;3;145E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;147E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;74E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;51E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;146E;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;148E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;3;149E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;150E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;151E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;149E;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;74E;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;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;139E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;140E;K;6;$afontD;K;6;CP$UIDd;3;152E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;74E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;3;150E;K;15;$acontent-insetD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;147E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;74E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;150E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;146E;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;54E;K;6;$afontD;K;6;CP$UIDd;3;155E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;66E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;156E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;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;66E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;74E;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;2;54E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;51E;K;11;$aalignmentD;K;6;CP$UIDd;2;51E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;51E;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;157E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;3;137E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;51E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;158E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;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;51E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;74E;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;128E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;128E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;66E;K;16;$aimage-positionD;K;6;CP$UIDd;2;66E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;160E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;146E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;88E;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;64E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;66E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;51E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;161E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;162E;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;163E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;135E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;3;137E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;51E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;164E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;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;51E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;74E;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;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;11;$aalignmentD;K;6;CP$UIDd;2;51E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;66E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;51E;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;51E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;51E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;88E;E;S;19;{{0, 0}, {644, 23}}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;29E;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;37E;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;165E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;165E;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;167E;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;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;168E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;169E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;88E;E;S;8;Column 1S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;141E;K;4;nameD;K;6;CP$UIDd;3;170E;K;12;defaultValueD;K;6;CP$UIDd;3;171E;K;6;valuesD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;174E;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;144E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;175E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;176E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;168E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;177E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;64E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;88E;E;d;1;1S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;141E;K;4;nameD;K;6;CP$UIDd;3;170E;K;12;defaultValueD;K;6;CP$UIDd;3;171E;K;6;valuesD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;180E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;169E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;88E;E;S;5;ImageD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;181E;E;E;S;20;Checkbox really longS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;E;E;S;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;166E;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;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;184E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;185E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;64E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;172E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;186E;K;6;normalD;K;6;CP$UIDd;3;187E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;150E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;166E;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;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;E;d;2;20D;K;6;$classD;K;6;CP$UIDd;3;172E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;188E;K;6;normalD;K;6;CP$UIDd;3;189E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;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;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;E;S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;3;166E;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;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;3;166E;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;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;E;d;2;18S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;190E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;191E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;64E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;184E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;191E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;177E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;64E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;192E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;177E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;88E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;88E;E;S;17;Arial, sans-serifd;2;12S;15;Times New RomanE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/ThemeBrowser/Resources/MainMenu.cib b/Tests/Manual/ThemeBrowser/Resources/MainMenu.cib index 924913833..f0be6b3b2 100644 --- a/Tests/Manual/ThemeBrowser/Resources/MainMenu.cib +++ b/Tests/Manual/ThemeBrowser/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;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;17E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;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;19E;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;23E;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;24E;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;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;25E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;19E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;26E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;23E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;27E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;28E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;29E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;30E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;31E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;21E;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;20E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;32E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;33E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;33E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;34E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;35E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;36E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;19E;E;E;S;8;delegateS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{408, 63}, {569, 418}}d;1;7S;15;CPTheme Browserd;1;0S;20;{{0, 0}, {569, 418}}d;2;18S;6;normalS;13;AppControllerE;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;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;17E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;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;19E;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;23E;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;24E;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;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;25E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;22E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;19E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;26E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;23E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;18E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;27E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;28E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;29E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;30E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;31E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;32E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;33E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;21E;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;20E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;34E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;35E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;35E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;36E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;37E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;38E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;19E;E;E;S;8;delegateS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;23;{{408, 63}, {569, 418}}S;22;{{0, 0}, {1680, 1028}}d;1;7S;15;CPTheme Browserd;1;0S;20;{{0, 0}, {569, 418}}d;2;18S;6;normalS;13;AppControllerE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/UserlandNSTest/Resources/MainMenu.cib b/Tests/Manual/UserlandNSTest/Resources/MainMenu.cib index 8c521e059..05a2154ff 100644 --- a/Tests/Manual/UserlandNSTest/Resources/MainMenu.cib +++ b/Tests/Manual/UserlandNSTest/Resources/MainMenu.cib @@ -1,5 +1,5 @@ -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;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;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;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;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;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;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;35E;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;37E;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;38E;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;36E;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;36E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;2;39E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;2;40E;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;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;30E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;2;41E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;2;42E;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;36E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;23E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;45E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;37E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;46E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;47E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;48E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;49E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;50E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;25E;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;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;52E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;52E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;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;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;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;55E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;56E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;58E;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;28E;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;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;59E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;60E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;2;63E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;51E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;65E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;67E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;68E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;51E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;64E;K;31;CPTextFieldPlaceholderStringKeyD;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;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;69E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;56E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;70E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;60E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;2;63E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;51E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;65E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;71E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;67E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;68E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;51E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;64E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;72E;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;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;75E;K;6;$afontD;K;6;CP$UIDd;2;63E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;65E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;77E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;67E;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;65E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;79E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;76E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;64E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;76E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;80E;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;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;75E;K;6;$afontD;K;6;CP$UIDd;2;63E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;65E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;77E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;67E;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;65E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;79E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;76E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;64E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;81E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;2;63E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;65E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;83E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;67E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;68E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;76E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;64E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;51E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;2;63E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;76E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;65E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;67E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;68E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;68E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;76E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;64E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;87E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;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;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;E;E;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;96E;E;E;S;8;delegateS;6;field1S;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{145, 79}, {428, 398}}d;1;7S;40;Runtime Attributes & Userland NS Classesd;1;0S;20;{{0, 0}, {428, 398}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;E;E;S;6;normalS;22;{{220, 34}, {163, 96}}S;19;{{0, 0}, {163, 96}}d;2;36S;10;BorderViewS;21;{{32, 42}, {183, 88}}S;19;{{0, 0}, {183, 88}}S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;13;CPFontNameKeyD;K;6;CP$UIDd;2;97E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;98E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;68E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;68E;E;d;1;4T;S;44;Default: +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;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;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;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;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;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;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;35E;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;37E;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;38E;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;36E;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;36E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;2;39E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;2;40E;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;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;2;30E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;2;41E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;2;42E;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;36E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;32E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;44E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;36E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;23E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;45E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;37E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;46E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;47E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;49E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;51E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;52E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;25E;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;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;54E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;54E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;55E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;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;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;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;57E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;58E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;60E;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;28E;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;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;61E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;2;65E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;53E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;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;70E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;72E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;53E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;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;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;73E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;58E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;74E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;2;65E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;53E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;75E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;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;70E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;72E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;53E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;76E;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;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;79E;K;6;$afontD;K;6;CP$UIDd;2;65E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;82E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;80E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;80E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;83E;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;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;79E;K;6;$afontD;K;6;CP$UIDd;2;65E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;82E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;80E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;2;65E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;86E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;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;70E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;72E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;80E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;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;53E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;87E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;56E;K;6;$afontD;K;6;CP$UIDd;2;65E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;80E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;67E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;89E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;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;70E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;72E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;80E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;66E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;90E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;E;E;S;8;delegateS;6;field1S;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;23;{{145, 79}, {428, 398}}S;22;{{0, 0}, {1920, 1178}}d;1;7S;40;Runtime Attributes & Userland NS Classesd;1;0S;20;{{0, 0}, {428, 398}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;E;E;S;6;normalS;22;{{220, 34}, {163, 96}}S;19;{{0, 0}, {163, 96}}d;2;36S;10;BorderViewS;21;{{32, 43}, {177, 88}}S;19;{{0, 0}, {177, 88}}S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;64E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;100E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;101E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;67E;E;d;1;4T;S;44;Default: borderWidth: 1 -borderColor: #0000ffd;4;3072F;S;23;{{220, 156}, {163, 96}}S;22;{{32, 164}, {183, 88}}S;43;Custom: +borderColor: #0000ffd;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;102E;E;S;23;{{220, 156}, {163, 96}}S;22;{{32, 165}, {177, 88}}S;43;Custom: borderWidth: 6 -borderColor: #006600d;1;1S;23;{{276, 297}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;19;bezeled+placeholderd;1;2S;0;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;78E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;99E;E;S;23;{{276, 338}, {104, 29}}S;22;{{32, 301}, {220, 17}}S;19;{{0, 0}, {220, 17}}S;32;Ordinarily this would have focusS;22;{{32, 342}, {234, 17}}S;19;{{0, 0}, {234, 17}}S;37;This gets focus via runtime attributeS;13;AppControllerS;21;initialResponderByTagS;16;undefinedKeyPathS;18;field1.stringValueS;4;oopsS;8;runtime!S;11;borderWidthS;24;borderColorWithHexStringd;1;6S;6;006600S;17;Arial, sans-serifd;2;12D;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;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;72E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +borderColor: #006600d;1;1S;23;{{276, 297}, {104, 29}}S;19;{{0, 0}, {104, 29}}S;28;bezeled+editable+placeholderd;1;2S;0;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;103E;E;S;23;{{276, 338}, {104, 29}}S;22;{{32, 302}, {214, 17}}S;19;{{0, 0}, {214, 17}}S;32;Ordinarily this would have focusS;22;{{32, 343}, {228, 17}}S;19;{{0, 0}, {228, 17}}S;37;This gets focus via runtime attributeS;13;AppControllerS;21;initialResponderByTagS;16;undefinedKeyPathS;18;field1.stringValueS;4;oopsS;8;runtime!S;11;borderWidthS;24;borderColorWithHexStringd;1;6S;6;006600S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;E;E;f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/performKeyEquivalentTest/Resources/MainMenu.cib b/Tests/Manual/performKeyEquivalentTest/Resources/MainMenu.cib index 38e20c559..ff09cab2a 100644 --- a/Tests/Manual/performKeyEquivalentTest/Resources/MainMenu.cib +++ b/Tests/Manual/performKeyEquivalentTest/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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;31E;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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;43E;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;44E;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;45E;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;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;46E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;48E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;49E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;50E;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;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;44E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;52E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;53E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;54E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;55E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;56E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;26E;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;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;58E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;58E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;59E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;60E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;61E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;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;65E;K;6;$afontD;K;6;CP$UIDd;2;67E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;11;$aalignmentD;K;6;CP$UIDd;2;69E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;71E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;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;70E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;74E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;68E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;69E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;2;75E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;2;76E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;77E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;62E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;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;65E;K;6;$afontD;K;6;CP$UIDd;2;67E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;68E;K;11;$aalignmentD;K;6;CP$UIDd;2;69E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;71E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;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;70E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;74E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;68E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;69E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;2;75E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;2;76E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;78E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;80E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;81E;K;16;$aimage-positionD;K;6;CP$UIDd;2;68E;K;6;$afontD;K;6;CP$UIDd;2;67E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;57E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;83E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;68E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;90E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;92E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;93E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;94E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;96E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;97E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;99E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;100E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;101E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;52E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;53E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;102E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;55E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;103E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;58E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;58E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;104E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;60E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;99E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;100E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;96E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;97E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;92E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;93E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;94E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;57E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;63E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;88E;K;16;$aimage-positionD;K;6;CP$UIDd;2;57E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;82E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;69E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;90E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;57E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;91E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;57E;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;E;E;S;8;delegateS;9;textFieldS;14;theOtherWindowS;9;theWindowS;10;useNewCodeS;15;setUsesNewCode:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{100, 58}, {480, 360}}d;1;7S;14;Text + Buttonsd;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;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;E;E;S;6;normalS;22;{{183, 44}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;36S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;105E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;106E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;84E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;84E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;73E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;107E;E;S;11;MyTextFieldS;11;CPTextFieldS;22;{{183, 97}, {104, 29}}S;23;{{187, 164}, {109, 18}}S;19;{{0, 0}, {109, 18}}S;9;check-boxS;8;selectedd;1;1S;12;Use new codeF;S;23;{{104, 235}, {118, 24}}S;19;{{0, 0}, {118, 24}}S;6;buttonS;17;selected+borderedD;K;6;$classD;K;6;CP$UIDd;2;66E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;105E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;106E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;70E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;84E;E;S;6;EscapeS;4;GwA=S;23;{{256, 235}, {118, 24}}S;9;BackspaceS;4;fwA=S;23;{{104, 276}, {118, 24}}S;5;SpaceS;4;IAA=S;23;{{256, 276}, {118, 24}}S;10;Down arrowS;4;Afc=S;13;AppControllerS;23;{{700, 58}, {480, 360}}S;7;ButtonsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;40E;E;E;S;17;Arial, sans-serifd;2;12D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;82E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;31E;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;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;43E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;39E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;43E;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;44E;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;45E;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;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;46E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;47E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;48E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;24E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;49E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;37E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;31E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;50E;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;2;31E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;37E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;51E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;44E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;52E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;54E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;55E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;56E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;57E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;58E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;26E;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;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;60E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;60E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;62E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;63E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;64E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;66E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;2;69E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;72E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;76E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;70E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;71E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;2;77E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;2;78E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;79E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;64E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;66E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;67E;K;6;$afontD;K;6;CP$UIDd;2;69E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;70E;K;11;$aalignmentD;K;6;CP$UIDd;2;71E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;72E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;73E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;74E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;72E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;76E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;70E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;71E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;2;77E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;2;78E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;80E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;81E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;83E;K;16;$aimage-positionD;K;6;CP$UIDd;2;70E;K;6;$afontD;K;6;CP$UIDd;2;69E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;59E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;85E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;84E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;84E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;70E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;87E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;92E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;94E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;96E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;97E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;99E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;100E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;26E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;26E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;102E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;103E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;52E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;53E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;54E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;105E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;56E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;57E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;106E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;39E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;60E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;60E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;101E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;102E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;103E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;98E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;99E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;3;100E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;95E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;96E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;97E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;32E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;39E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;59E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;87E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;88E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;39E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;89E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;90E;K;16;$aimage-positionD;K;6;CP$UIDd;2;59E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;59E;K;11;$aalignmentD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;71E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;92E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;73E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;93E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;59E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;72E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;59E;K;24;CPButtonKeyEquivalentKeyD;K;6;CP$UIDd;2;94E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;59E;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;E;E;S;8;delegateS;9;textFieldS;14;theOtherWindowS;9;theWindowS;10;useNewCodeS;15;setUsesNewCode:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;23;{{100, 58}, {480, 360}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;14;Text + Buttonsd;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;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;E;E;S;6;normalS;22;{{183, 44}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;36S;9;textfieldS;28;bezeled+editable+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;108E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;109E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;72E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;75E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;110E;E;S;11;MyTextFieldS;11;CPTextFieldS;22;{{183, 97}, {104, 29}}S;23;{{187, 164}, {109, 18}}S;19;{{0, 0}, {109, 18}}S;9;check-boxS;8;selectedd;1;1S;12;Use new codeF;S;23;{{104, 234}, {118, 25}}S;19;{{0, 0}, {118, 25}}S;6;buttonS;17;selected+borderedD;K;6;$classD;K;6;CP$UIDd;2;68E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;108E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;109E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;72E;E;S;6;Escaped;2;14S;4;GwA=S;23;{{256, 234}, {118, 25}}S;9;BackspaceS;4;fwA=S;23;{{104, 275}, {118, 25}}S;5;SpaceS;4;IAA=S;23;{{256, 275}, {118, 25}}S;10;Down arrowS;4;Afc=S;13;AppControllerS;23;{{700, 58}, {480, 360}}S;7;ButtonsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;40E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;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;84E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;84E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/predicateWithFormat/Resources/MainMenu.cib b/Tests/Manual/predicateWithFormat/Resources/MainMenu.cib index b581316c3..557886bc7 100644 --- a/Tests/Manual/predicateWithFormat/Resources/MainMenu.cib +++ b/Tests/Manual/predicateWithFormat/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;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;23E;D;K;6;CP$UIDd;2;25E;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;26E;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;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;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;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;54E;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;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;34E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;59E;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;60E;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;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;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;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;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;24E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;70E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;71E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;59E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;74E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;75E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;76E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;77E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;78E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;80E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;80E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;82E;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;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;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;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;86E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;16;$aimage-positionD;K;6;CP$UIDd;2;79E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;90E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;92E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;79E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;79E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;58E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;94E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;95E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;96E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;90E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;79E;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;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;2;97E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;100E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;57E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;102E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;96E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;90E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;79E;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;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;104E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;105E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;106E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;107E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;56E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;108E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;103E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;96E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;87E;K;6;$afontD;K;6;CP$UIDd;2;89E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;91E;K;11;$aalignmentD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;90E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;79E;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;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;109E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;106E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;110E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;104E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;2;98E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;101E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;2;99E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;111E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;112E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;113E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;82E;K;16;$aimage-positionD;K;6;CP$UIDd;2;90E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;79E;K;11;$aalignmentD;K;6;CP$UIDd;2;79E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;79E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;91E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;115E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;93E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;90E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;79E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;79E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;116E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;117E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;85E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;118E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;82E;K;6;$afontD;K;6;CP$UIDd;3;114E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;90E;K;11;$aalignmentD;K;6;CP$UIDd;2;91E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;119E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;120E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;121E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;93E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;93E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;90E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;91E;K;31;CPTextFieldPlaceholderStringKeyD;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;122E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;123E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;119E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;93E;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;124E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;124E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;126E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;124E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;127E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;E;E;S;8;delegateS;14;comparisonMenuS;8;dataMenuS;8;nameMenuS;12;resultsFieldS;9;theWindowS;7;contentS;7;search:S;27;value: selection.useNewCodeS;5;valueS;20;selection.useNewCodeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {571, 179}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {571, 179}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;49E;E;E;S;6;normalS;21;{{422, 25}, {77, 24}}S;18;{{0, 0}, {77, 24}}d;2;36S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;88E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;119E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;93E;E;d;1;2d;1;4S;6;SearchF;S;22;{{154, 26}, {123, 24}}S;19;{{0, 0}, {123, 24}}S;12;popup-buttonS;8;endsWithS;17;_popUpItemAction:d;7;1048576S;10;beginsWithd;1;1S;21;{{303, 26}, {94, 24}}S;18;{{0, 0}, {94, 24}}S;2;ToS;2;omS;4;TombS;3;boyS;20;{{33, 26}, {94, 24}}S;6;TomboyS;3;TomS;21;{{39, 74}, {109, 18}}S;19;{{0, 0}, {109, 18}}S;9;check-boxD;K;6;$classD;K;6;CP$UIDd;2;88E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;128E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;129E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;93E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;93E;E;S;12;Use new codeS;22;{{38, 128}, {321, 17}}S;19;{{0, 0}, {321, 17}}S;9;textfieldT;S;7;Result:d;4;3072S;13;AppControllerS;19;CPMutableDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;44E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;36E;E;E;S;17;Arial, sans-serifd;2;12E;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;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;23E;D;K;6;CP$UIDd;2;25E;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;26E;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;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;1;0E;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;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;54E;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;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;34E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;59E;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;60E;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;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;61E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;34E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;65E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;52E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;54E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;67E;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;22E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;32E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;52E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;68E;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;24E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;54E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;69E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;70E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;71E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;73E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;59E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;74E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;75E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;76E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;77E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;78E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;79E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;80E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;30E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;82E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;82E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;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;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;85E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;89E;K;16;$aimage-positionD;K;6;CP$UIDd;2;81E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;92E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;2;94E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;95E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;96E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;2;97E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;81E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;98E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;81E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;81E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;58E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;99E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;100E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;89E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;95E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;96E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;81E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;98E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;92E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;81E;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;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;106E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;34E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;58E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;57E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;108E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;109E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;89E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;95E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;96E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;81E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;98E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;92E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;81E;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;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;110E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;111E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;113E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;38E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;56E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;114E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;109E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;101E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;89E;K;6;$afontD;K;6;CP$UIDd;2;91E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;93E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;95E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;96E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;102E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;81E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;98E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;92E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;81E;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;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;115E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;116E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;110E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;43E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;104E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;107E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;56E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;105E;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;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;118E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;16;$aimage-positionD;K;6;CP$UIDd;2;92E;K;6;$afontD;K;6;CP$UIDd;3;120E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;81E;K;11;$aalignmentD;K;6;CP$UIDd;2;81E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;81E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;93E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;121E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;2;95E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;96E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;107E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;107E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;98E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;92E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;81E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;81E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;123E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;124E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;84E;K;6;$afontD;K;6;CP$UIDd;3;120E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;92E;K;11;$aalignmentD;K;6;CP$UIDd;2;93E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;98E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;125E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;126E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;96E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;96E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;128E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;92E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;93E;K;31;CPTextFieldPlaceholderStringKeyD;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;129E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;130E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;2;98E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;2;96E;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;131E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;131E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;131E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;134E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;28E;E;E;S;8;delegateS;14;comparisonMenuS;8;dataMenuS;8;nameMenuS;12;resultsFieldS;9;theWindowS;7;contentS;7;search:S;27;value: selection.useNewCodeS;5;valueS;20;selection.useNewCodeD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;72E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 128}, {571, 179}}S;21;{{0, 0}, {1440, 878}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {571, 179}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;49E;E;E;S;6;normalS;21;{{422, 24}, {77, 25}}S;18;{{0, 0}, {77, 25}}d;2;36S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;90E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;135E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;136E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;98E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;98E;E;d;1;2d;1;4S;6;SearchS;0;F;d;2;14T;S;22;{{153, 25}, {124, 25}}S;19;{{0, 0}, {124, 25}}S;12;popup-buttond;2;12S;8;endsWithS;17;_popUpItemAction:d;7;1048576S;10;beginsWithd;1;1S;21;{{302, 25}, {95, 25}}S;18;{{0, 0}, {95, 25}}S;2;ToS;2;omS;4;TombS;3;boyS;20;{{32, 25}, {95, 25}}S;6;TomboyS;3;TomS;21;{{39, 74}, {109, 18}}S;19;{{0, 0}, {109, 18}}S;9;check-boxD;K;6;$classD;K;6;CP$UIDd;2;90E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;135E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;136E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;96E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;98E;E;S;12;Use new codeS;22;{{38, 129}, {315, 17}}S;19;{{0, 0}, {315, 17}}S;9;textfieldS;7;Result:d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;127E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;137E;E;S;13;AppControllerS;19;CPMutableDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;44E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;36E;E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;107E;E;E;f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/resignFirstResponder-CPControlTextDidEndEditing/Resources/MainMenu.cib b/Tests/Manual/resignFirstResponder-CPControlTextDidEndEditing/Resources/MainMenu.cib index 92f7c4333..42e06f426 100644 --- a/Tests/Manual/resignFirstResponder-CPControlTextDidEndEditing/Resources/MainMenu.cib +++ b/Tests/Manual/resignFirstResponder-CPControlTextDidEndEditing/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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;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;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;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;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;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;29E;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;31E;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;32E;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;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;33E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;23E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;34E;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;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;35E;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;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;36E;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;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;37E;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;23E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;38E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;31E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;39E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;40E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;41E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;42E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;43E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;25E;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;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;44E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;45E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;45E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;46E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;47E;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;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;44E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;48E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;49E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;50E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;2;54E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;55E;K;11;$aalignmentD;K;6;CP$UIDd;2;56E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;57E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;58E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;59E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;57E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;57E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;57E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;61E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;55E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;56E;K;31;CPTextFieldPlaceholderStringKeyD;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;44E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;62E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;49E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;50E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;2;54E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;55E;K;11;$aalignmentD;K;6;CP$UIDd;2;56E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;57E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;58E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;59E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;57E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;57E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;57E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;61E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;55E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;56E;K;31;CPTextFieldPlaceholderStringKeyD;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;44E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;63E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;64E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;65E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;47E;K;6;$afontD;K;6;CP$UIDd;2;54E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;44E;K;11;$aalignmentD;K;6;CP$UIDd;2;55E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;57E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;59E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;67E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;67E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;44E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;55E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;68E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;E;E;S;8;delegateS;21;initialFirstResponderS;6;field1S;6;field2S;6;statusS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{131, 90}, {480, 360}}d;1;7S;6;Windowd;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;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;E;E;S;6;normalS;22;{{186, 59}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;45S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;53E;K;13;CPFontNameKeyD;K;6;CP$UIDd;2;69E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;70E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;67E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;67E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;60E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;71E;E;S;23;{{186, 114}, {104, 29}}S;22;{{17, 190}, {446, 94}}S;19;{{0, 0}, {446, 94}}d;2;36S;15;Multiline LabelF;S;13;AppControllerS;17;Arial, sans-serifd;2;12D;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;72E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;72E;E;E;d;1;1E;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;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;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;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;1;0E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;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;23E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;29E;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;31E;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;32E;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;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;33E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;23E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;34E;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;27E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;35E;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;28E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;36E;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;29E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;37E;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;23E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;38E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;31E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;39E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;40E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;41E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;42E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;43E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;44E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;45E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;25E;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;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;46E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;47E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;47E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;48E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;49E;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;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;46E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;50E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;51E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;52E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;2;56E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;58E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;59E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;60E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;61E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;59E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;59E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;59E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;63E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;57E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;58E;K;31;CPTextFieldPlaceholderStringKeyD;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;46E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;64E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;51E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;52E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;54E;K;6;$afontD;K;6;CP$UIDd;2;56E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;57E;K;11;$aalignmentD;K;6;CP$UIDd;2;58E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;59E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;60E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;61E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;59E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;59E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;59E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;63E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;57E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;58E;K;31;CPTextFieldPlaceholderStringKeyD;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;46E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;65E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;25E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;49E;K;6;$afontD;K;6;CP$UIDd;2;56E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;46E;K;11;$aalignmentD;K;6;CP$UIDd;2;57E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;59E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;68E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;61E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;69E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;69E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;69E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;70E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;46E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;57E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;71E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;23E;E;E;S;8;delegateS;21;initialFirstResponderS;6;field1S;6;field2S;6;statusS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;23;{{131, 90}, {480, 360}}S;22;{{0, 0}, {1920, 1178}}d;1;7S;6;Windowd;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;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;E;E;S;6;normalS;22;{{186, 59}, {104, 29}}S;19;{{0, 0}, {104, 29}}d;2;45S;9;textfieldS;28;bezeled+editable+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;13;CPFontNameKeyD;K;6;CP$UIDd;2;72E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;73E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;69E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;69E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;59E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;74E;E;S;23;{{186, 114}, {104, 29}}S;22;{{17, 191}, {440, 94}}S;19;{{0, 0}, {440, 94}}d;2;36S;15;Multiline LabelF;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;75E;E;S;13;AppControllerS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;76E;E;E;d;1;1f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Objective-J/CFPropertyListTest.j b/Tests/Objective-J/CFPropertyListTest.j index 9534a81f2..ad6e9c643 100644 --- a/Tests/Objective-J/CFPropertyListTest.j +++ b/Tests/Objective-J/CFPropertyListTest.j @@ -1,3 +1,4 @@ +@global module var FILE = require("file"), FileList = require("jake").FileList; @@ -19,7 +20,7 @@ var FILE = require("file"), var path = FILE.join(FILE.dirname(module.path), "PropertyLists/XMLDate.plist"), object = CFPropertyList.readPropertyListFromFile(path), date = [object objectForKey:@"date"]; - + [self assert:[CPDate class] equals:[date class]]; [self assert:[[CPDate alloc] initWithString:"2012-01-01 10:00:00 +0100"] equals:date]; } diff --git a/Tests/Objective-J/MethodDispatchTest.j b/Tests/Objective-J/MethodDispatchTest.j index 99732d967..377d039eb 100644 --- a/Tests/Objective-J/MethodDispatchTest.j +++ b/Tests/Objective-J/MethodDispatchTest.j @@ -37,6 +37,7 @@ @implementation RootClassWithForwardingTarget { + Class isa; } + (void)initialize diff --git a/Tests/Objective-J/Preprocessor/BehaviorTests/IvarTest.j b/Tests/Objective-J/Preprocessor/BehaviorTests/IvarTest.j index 443ea10a4..40ca2c958 100644 --- a/Tests/Objective-J/Preprocessor/BehaviorTests/IvarTest.j +++ b/Tests/Objective-J/Preprocessor/BehaviorTests/IvarTest.j @@ -41,6 +41,31 @@ self.ivar1 = ivar1; } +- (void)returnShadowingLocalVariable +{ + var ivar1 = 2; + + return ivar1; +} + +- (void)returnShadowingHoistedLocalVariable +{ + return ivar1; + + var ivar1; +} + +- (void)returnFunctionWithShadowingFunctionParameter +{ + return function(ivar1) { return ivar1 }; +} + +- (void)returnFunctionWithShadowingHoistedLocalVariable +{ + return function() { return ivar1; } + var ivar1; +} + @end @implementation IvarTest : OJTestCase @@ -60,33 +85,34 @@ [self assert:5 equals:testClass.ivar1]; } -- (void)testWithStatementInMethod +// I'm turning this test off as we move to the new compiler. +// We have to figure out how this should work. - Martin +/*- (void)testWithStatementInMethod { [self assert:nil equals:testClass.ivar1]; [testClass setIvar1DespiteAWithStatement:5]; [self assert:5 equals:testClass.ivar1]; [testClass doNothingToIvar1BecauseOfWithStatement:10]; [self assert:5 equals:testClass.ivar1]; -} +}*/ -- (void)testEvalInMethod +// I'm turning this test off as we move to the new compiler. +// We have to figure out how this should work. - Martin +/*- (void)testEvalInMethod { [self assert:nil equals:testClass.ivar1]; [testClass setIvar1UsingEval:5]; [self assert:5 equals:testClass.ivar1]; [testClass doNothingToIvar1UsingEval:10]; [self assert:5 equals:testClass.ivar1]; -} - -/* -TODO Reactivate this test after issue #498 is resolved. +}*/ - (void)testIvarShadowing { [self assert:nil equals:testClass.ivar1]; [testClass setIvar1UsingAShadowingLocalVariable:5]; [self assert:5 equals:testClass.ivar1]; -}*/ +} - (void)testAccessorGeneration { @@ -117,4 +143,37 @@ TODO Reactivate this test after issue #498 is resolved. [self assert:nil equals:testClass.ivar3]; } +- (void)testShadowingLocalVariable +{ + [self assert:nil equals:testClass.ivar1]; + testClass.ivar1 = 99; + var x = [testClass returnShadowingLocalVariable]; + [self assert:2 equals:x]; +} + +- (void)testShadowingHoistedLocalVariable +{ + [self assert:nil equals:testClass.ivar1]; + testClass.ivar1 = 99; + var x = [testClass returnShadowingHoistedLocalVariable]; + [self assert:"undefined" equals:typeof x]; +} + +- (void)testFunctionWithShadowingFunctionParameter +{ + [self assert:nil equals:testClass.ivar1]; + testClass.ivar1 = 99; + var f = [testClass returnFunctionWithShadowingFunctionParameter]; + [self assert:8 equals:f(8)]; +} + +- (void)testFunctionWithShadowingHoistedLocalVariable +{ + [self assert:nil equals:testClass.ivar1]; + testClass.ivar1 = 99; + var f = [testClass returnFunctionWithShadowingHoistedLocalVariable]; + + [self assert:"undefined" equals:typeof f()]; +} + @end diff --git a/Tests/Objective-J/Preprocessor/BehaviorTests/MethodTest.j b/Tests/Objective-J/Preprocessor/BehaviorTests/MethodTest.j index 6aba67c39..99aef883b 100644 --- a/Tests/Objective-J/Preprocessor/BehaviorTests/MethodTest.j +++ b/Tests/Objective-J/Preprocessor/BehaviorTests/MethodTest.j @@ -1,5 +1,7 @@ @import +@import + @implementation MathClass : CPObject { } @@ -29,6 +31,16 @@ return product; } +- (id)in:(int)aNumber void:(int)anotherNumber +{ + return aNumber - anotherNumber; +} + +- (id)void:(int)aNumber in:(int)anotherNumber +{ + return anotherNumber - aNumber; +} + @end @implementation MethodTest : OJTestCase @@ -58,8 +70,14 @@ - (void)testVarArgs { - [self assert:30 equals:[testClass multiply:2,3,5]]; - [self assert:2310 equals:[testClass multiply:2,3,5,7,11]]; + [self assert:30 equals:[testClass multiply:2, 3, 5]]; + [self assert:2310 equals:[testClass multiply:2, 3, 5, 7, 11]]; +} + +- (void)testKeywordsInSelector +{ + [self assert:6 equals:[testClass in:10 void:4]]; + [self assert:-6 equals:[testClass void:10 in:4]]; } @end diff --git a/Tools/Documentation/Cappuccino.doxygen b/Tools/Documentation/Cappuccino.doxygen index 078f0945e..9ffc4f361 100644 --- a/Tools/Documentation/Cappuccino.doxygen +++ b/Tools/Documentation/Cappuccino.doxygen @@ -31,7 +31,7 @@ PROJECT_NAME = " API" # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 0.9.5 +PROJECT_NUMBER = 0.9.7 PROJECT_LOGO = ./Tools/Documentation/logo.png diff --git a/Tools/NativeHost/AppController+WebPolicyDelegate.m b/Tools/NativeHost/AppController+WebPolicyDelegate.m index 209870a55..2c098dcd0 100644 --- a/Tools/NativeHost/AppController+WebPolicyDelegate.m +++ b/Tools/NativeHost/AppController+WebPolicyDelegate.m @@ -12,13 +12,13 @@ @implementation AppController (WebPolicyDelegate) -- (void)webView:(WebView *)aWebView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)aRequest newFrameName:(NSString *)aFrameName decisionListener:(id < WebPolicyDecisionListener >)aListener +- (void)webView:(WebView *)aWebView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)aRequest newFrameName:(NSString *)aFrameName decisionListener:(id /*< WebPolicyDecisionListener >*/)aListener { [[NSWorkspace sharedWorkspace] openURL:[actionInformation objectForKey:WebActionOriginalURLKey]]; [aListener ignore]; } -- (void)webView:(WebView *)aWebView decidePolicyForNavigationAction:(NSDictionary *)aDictionary request:(NSURLRequest *)aRequest frame:(WebFrame *)aWebFrame decisionListener:(id )aDecisionListener +- (void)webView:(WebView *)aWebView decidePolicyForNavigationAction:(NSDictionary *)aDictionary request:(NSURLRequest *)aRequest frame:(WebFrame *)aWebFrame decisionListener:(id /**/)aDecisionListener { NSURL * requestURL = [aRequest URL]; diff --git a/Tools/XcodeCapp/AppController.h b/Tools/XcodeCapp/AppController.h index 5f0eb52cc..08b48ebe3 100644 --- a/Tools/XcodeCapp/AppController.h +++ b/Tools/XcodeCapp/AppController.h @@ -20,6 +20,7 @@ #import #import "PRHEmptyGrowlDelegate.h" #import "TNXCodeCapp.h" +#import "TNErrorDataView.h" @interface AppController : NSObject { @@ -38,12 +39,14 @@ IBOutlet TNXCodeCapp *xcc; IBOutlet NSWindow *windowDebug; IBOutlet NSMenuItem *menuDebug; + IBOutlet TNErrorDataView *dataViewError; NSImage *_iconActive; NSImage *_iconInactive; NSImage *_iconWorking; NSStatusItem *_statusItem; PRHEmptyGrowlDelegate *growlDelegateRef; + NSData *_archivedDataView; } @property BOOL supportsFileModeListening; @@ -53,7 +56,6 @@ - (BOOL)validateMenuItem:(NSMenuItem*)menuItem; - (void)registerDefaults; -- (void)updateErrorTable; - (void)growlWithTitle:(NSString *)aTitle message:(NSString *)aMessage; - (void)openCenteredWindow:(NSWindow *)aWindow; diff --git a/Tools/XcodeCapp/AppController.m b/Tools/XcodeCapp/AppController.m index 453bba7d2..176e90624 100644 --- a/Tools/XcodeCapp/AppController.m +++ b/Tools/XcodeCapp/AppController.m @@ -25,6 +25,20 @@ AppController *SharedAppControllerInstance = nil; +float heightForStringDrawing(NSString *myString, NSFont *myFont, float myWidth) +{ + NSTextStorage *textStorage = [[[NSTextStorage alloc] initWithString:myString] autorelease]; + NSTextContainer *textContainer = [[[NSTextContainer alloc] initWithContainerSize:NSMakeSize(myWidth, FLT_MAX)] autorelease]; + NSLayoutManager *layoutManager = [[[NSLayoutManager alloc] init] autorelease]; + + [layoutManager addTextContainer:textContainer]; + [textStorage addLayoutManager:layoutManager]; + [textStorage addAttribute:NSFontAttributeName value:myFont range:NSMakeRange(0, [textStorage length])]; + [textContainer setLineFragmentPadding:0.0]; + + (void) [layoutManager glyphRangeForTextContainer:textContainer]; + return [layoutManager usedRectForTextContainer:textContainer].size.height; +} @implementation AppController @@ -46,6 +60,8 @@ AppController *SharedAppControllerInstance = nil; { SharedAppControllerInstance = self; + _archivedDataView = [NSKeyedArchiver archivedDataWithRootObject:dataViewError]; + if (!growlDelegateRef) growlDelegateRef = [[[PRHEmptyGrowlDelegate alloc] init] autorelease]; @@ -152,6 +168,9 @@ AppController *SharedAppControllerInstance = nil; - (void)XCodeCappConversionDidStop:(NSNotification *)aNotification { [_statusItem setImage:_iconActive]; + + if ([errorsPanel isVisible]) + [errorsTable reloadData]; } /*! @@ -262,17 +281,6 @@ AppController *SharedAppControllerInstance = nil; system([[NSString stringWithFormat:@"open \"%@\"", [[xcc XCodeSupportProject] path]] UTF8String]); } -/*! - reload error table data and show it - @param aSender the sender of the action - */ -- (void)updateErrorTable -{ - [errorsTable reloadData]; - [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; - [errorsPanel orderFront:self]; -} - /*! Open the errors window @param aSender the sender of the action @@ -357,24 +365,21 @@ AppController *SharedAppControllerInstance = nil; - (void)tableViewColumnDidResize:(NSNotification *)tableView { [errorsTable noteHeightOfRowsWithIndexesChanged: - [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [[xcc errorList] count])]]; + [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [[xcc errorList] count])]]; +} + +- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row +{ + return [NSKeyedUnarchiver unarchiveObjectWithData:_archivedDataView]; } - (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)aRow { - // Get column you want - first in this case: - NSTableColumn *tabCol = [[tableView tableColumns] objectAtIndex:0]; - float width = [tabCol width]; - NSRect r = NSMakeRect(0,0,width,1000.0); - NSCell *cell = [tabCol dataCellForRow:aRow]; - NSString *content = [[xcc errorList] objectAtIndex:aRow]; - [cell setObjectValue:content]; - float height = [cell cellSizeForBounds:r].height; - - if (height <= 0) - height = 16.0; // Ensure miniumum height is 16.0 - - return height; + NSString *content = [[[xcc errorList] objectAtIndex:aRow] objectForKey:@"message"]; + NSFont *currentFont = [[dataViewError fieldMessage] font]; + float height = heightForStringDrawing(content, currentFont, [tableView frame].size.width); + + return height + 25; } @end diff --git a/Tools/XcodeCapp/English.lproj/MainMenu.nib/designable.nib b/Tools/XcodeCapp/English.lproj/MainMenu.nib/designable.nib index b8987770e..c200e4951 100644 --- a/Tools/XcodeCapp/English.lproj/MainMenu.nib/designable.nib +++ b/Tools/XcodeCapp/English.lproj/MainMenu.nib/designable.nib @@ -2,32 +2,33 @@ 1050 - 11C74 - 1938 - 1138.23 - 567.00 + 12D54 + 2844 + 1187.37 + 626.00 com.apple.InterfaceBuilder.CocoaPlugin - 1938 + 2844 - NSPopUpButtonCell - NSUserDefaultsController - NSScroller - NSPopUpButton - NSMenuItem - NSMenu - NSScrollView - NSTextFieldCell NSButton NSButtonCell - NSTableView NSCustomObject + NSCustomView + NSMenu + NSMenuItem + NSPopUpButton + NSPopUpButtonCell + NSScrollView + NSScroller + NSTableColumn + NSTableView + NSTextField + NSTextFieldCell NSTextView + NSUserDefaultsController NSView NSWindowTemplate - NSTextField - NSTableColumn com.apple.InterfaceBuilder.CocoaPlugin @@ -70,7 +71,7 @@ YES - 68288064 + 68157504 138544128 WGNvZGVDYXBwIGRldmVsb3BlZCBieSBBbnRvaW5lIE1lcmNhZGFsCnByaW1hbG1vdGlvbkBhcmNoaXBl bHByb2plY3Qub3JnCgp3aXRoIGNvbnRyaWJ1dGlvbnMgZnJvbSBBcGFyYWppdGEgRmlzaG1hbgphcGFy @@ -95,6 +96,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ MQA + NO @@ -103,7 +105,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ YES - 68288064 + 68157504 138544128 LABEL VERSION @@ -111,12 +113,13 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ + NO {375, 153} - {{0, 0}, {2560, 1418}} + {{0, 0}, {1440, 878}} {10000000000000, 10000000000000} YES @@ -202,14 +205,14 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ 95 2 - {{987, 547}, {512, 285}} + {{462, 324}, {512, 285}} 1685585920 Errors and Warnings NSPanel - + 256 @@ -225,8 +228,11 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ 256 {512, 249} + YES + NO + YES -2147483392 @@ -240,7 +246,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ 40 1000 - 75628096 + 75497536 2048 Error @@ -259,7 +265,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ - 337772032 + 337641472 0 Text Cell @@ -307,6 +313,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ {{1, 1}, {512, 249}} + @@ -317,7 +324,9 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ -2147483392 {{413, 17}, {15, 166}} + + NO _doScroller: 0.99494949494949492 @@ -327,7 +336,9 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ -2147483392 {{1, 183}, {427, 15}} + + NO 1 _doScroller: @@ -336,22 +347,27 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ {{-1, 35}, {514, 251}} + 133682 QSAAAEEgAABBmAAAQZgAAA + 0.25 + 4 + 1 289 {{314, 8}, {85, 19}} + YES - -2080244224 + -2080374784 134217728 Clear @@ -360,39 +376,45 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ 16 - -2038152961 + -2038153216 164 400 75 + NO 289 {{407, 8}, {85, 19}} + + YES - -2080244224 + -2080374784 134217728 Close - -2038152961 + -2038153216 164 400 75 + NO {512, 285} + + - {{0, 0}, {2560, 1418}} + {{0, 0}, {1440, 878}} {10000000000000, 10000000000000} YES @@ -406,7 +428,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ - + 256 @@ -420,9 +442,9 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ 2322 - {716, 14} + {716, 571} - + @@ -434,7 +456,7 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ - 134 + 166 @@ -478,7 +500,6 @@ YWppdGFAYXBhcmFqaXRhLmNvbQ 6 {716, 10000000} - {238, 0} @@ -516,9 +537,9 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 256 - {{702, 1}, {15, 571}} + {{701, 1}, {16, 571}} - + NO _doScroller: 1 @@ -530,6 +551,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {{-100, -100}, {87, 18}} + NO 1 _doScroller: @@ -539,18 +561,20 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {{-1, -1}, {718, 573}} - + 133138 + 0.25 + 4 + 1 {716, 571} - - {{0, 0}, {2560, 1418}} + {{0, 0}, {1440, 878}} {10000000000000, 10000000000000} YES @@ -564,7 +588,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - + 256 @@ -575,12 +599,12 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - -2080244224 + -2080374784 0 Inode meta information changes - 1211912703 + 1211912448 2 NSImage @@ -594,6 +618,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 200 25 + NO @@ -603,11 +628,11 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - -2076049856 + -2076180416 2048 - 109199615 + 109199360 129 @@ -660,6 +685,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES 2 + NO @@ -669,7 +695,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - 68288064 + 68157504 272630784 React To: @@ -677,6 +703,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + NO @@ -686,7 +713,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - 68288064 + 68157504 272630784 API Mode: @@ -694,6 +721,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + NO @@ -703,7 +731,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - 68288064 + 68157504 272630784 Current API Mode @@ -711,16 +739,16 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + NO 268 {{103, 16}, {284, 17}} - YES - 68288064 + 68157504 272630784 In "File level" API mode, react to touch, chown, etc. @@ -735,6 +763,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA MC4zNDU1Mjg0ODM0IDAuMzQ1NTI4NDgzNCAwLjM0NTUyODQ4MzQAA + NO @@ -744,12 +773,12 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - -2080244224 + -2080374784 0 Listen to the most recent project - 1211912703 + 1211912448 2 @@ -758,6 +787,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 200 25 + NO @@ -767,7 +797,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - 68288064 + 68157504 272630784 On Launch: @@ -775,6 +805,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + NO @@ -784,7 +815,7 @@ AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES - 68288064 + 68157504 272630784 RmlsZSBtb2RlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggT1MgWCAxMC42LgpVbmxlc3MgeW91IGtub3cg d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 @@ -796,13 +827,13 @@ d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 MC4zNDU1Mjg0ODM0IDAuMzQ1NTI4NDgzNCAwLjM0NTUyODQ4MzQAA + NO {435, 199} - - {{0, 0}, {2560, 1418}} + {{0, 0}, {1440, 878}} {10000000000000, 10000000000000} xcc-prefs YES @@ -820,6 +851,89 @@ d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 + + + 268 + + + + 297 + {{182, 19}, {18, 19}} + + + + YES + + -2080374784 + 134217728 + + + + -2033958912 + 164 + + NSImage + NSFollowLinkFreestandingTemplate + + + + 400 + 75 + + NO + + + + 274 + {{7, 9}, {170, 18}} + + + + YES + + 67108864 + 272629760 + Label + + + + + + NO + + + + 266 + {{7, 30}, {170, 17}} + + + + YES + + 67108928 + 272632320 + Label + + LucidaGrande-Bold + 13 + 2072 + + + + + 1 + MC43NzU1OTkzNjA1IDAuMjQ2OTMyOTIzOCAwLjIxOTQ4OTQ4NQA + + + NO + + + {209, 57} + + + + TNErrorDataView + @@ -1031,6 +1145,14 @@ d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 660 + + + dataViewError + + + + 682 + performClose: @@ -1201,6 +1323,38 @@ d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 657 + + + fieldFileName + + + + 678 + + + + fieldMessage + + + + 681 + + + + openFile: + + + + 689 + + + + buttonOpenFile + + + + 690 + @@ -1641,6 +1795,55 @@ d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 + + 675 + + + + + + + + + + 676 + + + + + + + + 677 + + + + + 679 + + + + + + + + 680 + + + + + 687 + + + + + + + + 688 + + + @@ -1716,29 +1919,218 @@ d2hhdCB5b3UgYXJlIGRvaW5nLCBsZWF2ZSB0aGlzIG9uICJBdXRvIi4 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - 674 + 690 + + + + + AppController + NSObject + + id + id + id + id + id + id + id + id + + + + chooseFolder: + id + + + clearErrors: + id + + + openAbout: + id + + + openErrors: + id + + + openHelp: + id + + + openXCode: + id + + + stopListener: + id + + + updatePreferences: + id + + + + NSPanel + NSPopUpButton + NSButton + TNErrorDataView + NSPanel + NSTableView + NSTextView + NSWindow + NSTextField + NSMenuItem + NSMenuItem + NSMenuItem + NSUserDefaultsController + NSMenu + NSWindow + TNXCodeCapp + + + + aboutWindow + NSPanel + + + buttonPreferencesAPIMode + NSPopUpButton + + + checkBoxPreferencesReactMode + NSButton + + + dataViewError + TNErrorDataView + + + errorsPanel + NSPanel + + + errorsTable + NSTableView + + + helpTextView + NSTextView + + + helpWindow + NSWindow + + + labelVersion + NSTextField + + + menuDebug + NSMenuItem + + + menuItemOpenXCode + NSMenuItem + + + menuItemStartStop + NSMenuItem + + + preferencesController + NSUserDefaultsController + + + statusMenu + NSMenu + + + windowDebug + NSWindow + + + xcc + TNXCodeCapp + + + + IBProjectSource + ./Classes/AppController.h + + + + TNErrorDataView + NSView + + openFile: + id + + + openFile: + + openFile: + id + + + + NSButton + NSTextField + NSTextField + + + + buttonOpenFile + NSButton + + + fieldFileName + NSTextField + + + fieldMessage + NSTextField + + + + IBProjectSource + ./Classes/TNErrorDataView.h + + + + TNXCodeCapp + NSObject + + IBProjectSource + ./Classes/TNXCodeCapp.h + + + - 0 IBCocoaFramework com.apple.InterfaceBuilder.CocoaPlugin.macosx - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - YES 3 - {9, 8} - {7, 2} + {10, 10} + {11, 11} + {10, 3} {15, 15} diff --git a/Tools/XcodeCapp/English.lproj/MainMenu.nib/keyedobjects.nib b/Tools/XcodeCapp/English.lproj/MainMenu.nib/keyedobjects.nib index 7509b08c1..3d5aee710 100644 Binary files a/Tools/XcodeCapp/English.lproj/MainMenu.nib/keyedobjects.nib and b/Tools/XcodeCapp/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/Tools/XcodeCapp/TNErrorDataView.h b/Tools/XcodeCapp/TNErrorDataView.h new file mode 100644 index 000000000..b988f3578 --- /dev/null +++ b/Tools/XcodeCapp/TNErrorDataView.h @@ -0,0 +1,34 @@ +/* + * This file is a part of program XcodeCapp + * Copyright (C) 2013 Antoine Mercadal () + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#import + +@interface TNErrorDataView : NSView +{ + IBOutlet NSTextField *fieldFileName; + IBOutlet NSTextField *fieldMessage; + IBOutlet NSButton *buttonOpenFile; + + NSString *_fullPath; +} + +@property (assign) NSTextField *fieldMessage; + +- (IBAction)openFile:(id)aSender; + +@end diff --git a/Tools/XcodeCapp/TNErrorDataView.m b/Tools/XcodeCapp/TNErrorDataView.m new file mode 100644 index 000000000..a8a49d31f --- /dev/null +++ b/Tools/XcodeCapp/TNErrorDataView.m @@ -0,0 +1,75 @@ +/* + * This file is a part of program XcodeCapp + * Copyright (C) 2013 Antoine Mercadal () + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#import "TNErrorDataView.h" + +@implementation TNErrorDataView + +@synthesize fieldMessage; + +/*! + Set the data view's object value + @param aValue the dictionary representing the error + */ +- (void)setObjectValue:(NSDictionary *)aValue +{ + [fieldMessage setStringValue:[aValue valueForKey:@"message"]]; + [fieldFileName setStringValue:[aValue valueForKey:@"file"]]; + _fullPath = [aValue valueForKey:@"path"]; +} + + +#pragma - +#pragma Actions + +/*! + Open the errored file in default editor + @param aSender the sender of the action + */ +- (IBAction)openFile:(id)aSender +{ + NSWorkspace *workspace = [NSWorkspace sharedWorkspace]; + [workspace openFile:_fullPath]; +} + + +#pragma - +#pragma CPCoding + +- (id)initWithCoder:(NSCoder*)aCoder +{ + if (self = [super initWithCoder:aCoder]) + { + fieldFileName = [aCoder decodeObjectForKey:@"fieldFileName"]; + fieldMessage = [aCoder decodeObjectForKey:@"fieldMessage"]; + buttonOpenFile = [aCoder decodeObjectForKey:@"buttonOpenFile"]; + } + + return self; +} + +- (void)encodeWithCoder:(NSCoder*)aCoder +{ + [super encodeWithCoder:aCoder]; + + [aCoder encodeObject:fieldFileName forKey:@"fieldFileName"]; + [aCoder encodeObject:fieldMessage forKey:@"fieldMessage"]; + [aCoder encodeObject:buttonOpenFile forKey:@"buttonOpenFile"]; +} + +@end diff --git a/Tools/XcodeCapp/TNXCodeCapp.m b/Tools/XcodeCapp/TNXCodeCapp.m index debbdf0d1..a440498d7 100644 --- a/Tools/XcodeCapp/TNXCodeCapp.m +++ b/Tools/XcodeCapp/TNXCodeCapp.m @@ -537,6 +537,24 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification response = [statusInfo objectAtIndex:1]; DLog(@"handleFileModification:notify: Conversion task result/response: %@/%@", status, response); + + if ([status intValue] == 0 && shouldNotify) + { + [delegate performSelector:@selector(growlWithTitle:message:) withObject:successTitle withObject:successMsg]; + } + else if (![status intValue] == 0) + { + if (response) + { + NSDictionary *errorDictionary = [NSDictionary dictionaryWithObjectsAndKeys:response, @"message", + splitPath, @"file", + fullPath, @"path", nil]; + + [errorList addObject:errorDictionary]; + } + + [delegate performSelector:@selector(growlWithTitle:message:) withObject:@"Error processing file" withObject:splitPath]; + } } if (PBXArguments) @@ -548,18 +566,6 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification DLog(@"handleFileModification:notify: Update PBX Task result/response: %@/%@", status, response); } - if ([status intValue] == 0 && shouldNotify) - { - [delegate performSelector:@selector(growlWithTitle:message:) withObject:successTitle withObject:successMsg]; - } - else if (![status intValue] == 0) - { - if (response) - [errorList addObject:response]; - - [delegate performSelector:@selector(growlWithTitle:message:) withObject:@"Error processing file" withObject:splitPath]; - } - [[NSNotificationCenter defaultCenter] postNotificationName:XCCConversionStopNotification object:self]; DLog(@"handleFileModification:notify: Processed: %@", fullPath); } diff --git a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj index 7e0c5e38e..b99ab8bb7 100644 --- a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj +++ b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj @@ -26,6 +26,7 @@ 02998CEB1369BF7D006C73DB /* Growl Registration Ticket.growlRegDict in Resources */ = {isa = PBXBuildFile; fileRef = 02998CEA1369BF7D006C73DB /* Growl Registration Ticket.growlRegDict */; }; 02998CF71369C339006C73DB /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02998CF61369C339006C73DB /* Growl.framework */; }; 02998CF91369C38A006C73DB /* Growl.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 02998CF61369C339006C73DB /* Growl.framework */; }; + 02B1C8D816B25C74003C6E82 /* TNErrorDataView.m in Sources */ = {isa = PBXBuildFile; fileRef = 02B1C8D716B25C74003C6E82 /* TNErrorDataView.m */; }; 4E2D0D01154840B400475C01 /* help.rtfd in Resources */ = {isa = PBXBuildFile; fileRef = 4E2D0D00154840B400475C01 /* help.rtfd */; }; 4E2D0D03154840BC00475C01 /* help.rtfd in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4E2D0D00154840B400475C01 /* help.rtfd */; }; 651DAE1F13B0CAB900ECA3F0 /* PRHEmptyGrowlDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 651DAE1D13B0CAB900ECA3F0 /* PRHEmptyGrowlDelegate.m */; }; @@ -62,6 +63,8 @@ 0294F09215D345A500840547 /* mod_pbxproj.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = mod_pbxproj.py; sourceTree = ""; }; 02998CEA1369BF7D006C73DB /* Growl Registration Ticket.growlRegDict */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Growl Registration Ticket.growlRegDict"; sourceTree = ""; }; 02998CF61369C339006C73DB /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Growl.framework; sourceTree = ""; }; + 02B1C8D616B25C74003C6E82 /* TNErrorDataView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TNErrorDataView.h; sourceTree = ""; }; + 02B1C8D716B25C74003C6E82 /* TNErrorDataView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TNErrorDataView.m; sourceTree = ""; }; 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; @@ -98,6 +101,8 @@ children = ( 651DAE1C13B0CAB900ECA3F0 /* PRHEmptyGrowlDelegate.h */, 651DAE1D13B0CAB900ECA3F0 /* PRHEmptyGrowlDelegate.m */, + 02B1C8D616B25C74003C6E82 /* TNErrorDataView.h */, + 02B1C8D716B25C74003C6E82 /* TNErrorDataView.m */, 8E01A91D0DE9EED20008BB35 /* AppController.h */, 8E01A91E0DE9EED20008BB35 /* AppController.m */, 027FE49B1462D74C00B1AB92 /* TNXCodeCapp.h */, @@ -285,6 +290,7 @@ 651DAE1F13B0CAB900ECA3F0 /* PRHEmptyGrowlDelegate.m in Sources */, 027FE49D1462D74C00B1AB92 /* TNXCodeCapp.m in Sources */, 027FE4BD1462F7EB00B1AB92 /* FSEventCallback.m in Sources */, + 02B1C8D816B25C74003C6E82 /* TNErrorDataView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Tools/XcodeCapp/parser.j b/Tools/XcodeCapp/parser.j index 664202a9f..61ebb656d 100644 --- a/Tools/XcodeCapp/parser.j +++ b/Tools/XcodeCapp/parser.j @@ -2,7 +2,8 @@ * parser.j * * Created by Francisco Tolmasky. - * Copyright 2008, 280 North, Inc. + * Modified by Antoine Mercadal, with great help of Martin Carlberg + * Copyright 2008-2013, 280 North, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -23,483 +24,531 @@ var FILE = require("file"); +// Debug function to print some JS objects +function dump(obj) +{ + CPLogPrint(JSON.stringify(obj)); +} + +var xcc = ObjectiveJ.acorn.walk.make( + { + ClassDeclarationStatement: function(node, st, c) + { + if (node.categoryname) + { + CPLogPrint("Categories are not supported yet. Ignoring it."); + return; + } + + var className = node.classname.name, + superclassname = node.superclassname.name, + declaredOutletsName = [], + classInfo = { + "name": className, + "superClass": superclassname, + "outlets": [], + "actions": [], + "actionNames": [] + }; + + if (node.ivardeclarations) + { + for (var i = 0; i < node.ivardeclarations.length; ++i) + { + var ivarDecl = node.ivardeclarations[i], + ivarType = ivarDecl.ivartype ? ivarDecl.ivartype.name : null, + ivarName = ivarDecl.id.name, + ivarHasOutlet = ivarDecl.outlet ? "@outlet" : null; + + if (ivarHasOutlet) + { + if (declaredOutletsName.indexOf(ivarName) !== -1) + throw("Outlet named '" + ivarName + "' is declared multiple times."); + + declaredOutletsName.push(ivarName); + classInfo.outlets.push({"type": ivarType, "name": ivarName}); + } + } + } + + st.push(classInfo) + + for (var i = 0; i < node.body.length; ++i) + c(node.body[i], classInfo, "Statement"); + }, + + MethodDeclarationStatement: function(node, st, c) + { + var selectors = node.selectors, + arguments = node.arguments, + methodReturnType = [node.returntype ? node.returntype.name : "id"], + methodHasAction = node.action ? "IBAction" : null, + selector = selectors[0].name, + actionInformations = {"name": selector, "arguments":[]}; + + if (methodHasAction && arguments.length == 1) + { + if (st.actionNames.indexOf(selector) !== -1) + throw("Action named '" + selector + "' is declared multiple times."); + + st.actionNames.push(selector); + + for (var i = 0; i < arguments.length; i++) + { + var argument = arguments[i], + argumentName = argument.identifier.name, + argumentType = argument.type ? argument.type.name : null; + + actionInformations.arguments.push({"type": argumentType, "name": argumentName}); + } + + st.actions.push(actionInformations) + } + else if (methodHasAction) + throw("Method '" + selector + "' is an action but has more than one parameter."); + + } + } +); + +function compile(node, state, visitor) +{ + function c(node, st, override) + { + visitor[override || node.type](node, st, c); + } + + c(node, state); +}; + + function main(args) { var fileURL = new CFURL(args[1]), outputHeaderURL = new CFURL(args[2]), outputSourceURL = new CFURL(args[3]), source = FILE.read(fileURL, { charset: "UTF-8" }), - flags = ObjectiveJ.Preprocessor.Flags.IncludeDebugSymbols | - ObjectiveJ.Preprocessor.Flags.IncludeTypeSignatures, - superClasses = { }; - - source = ObjectiveJ.preprocess(source, fileURL, flags).code(); - - source = source.replace(/objj_allocateClassPair\([a-zA-Z_$](\w|$)*/g, function(aString) - { - var superClassName = aString.substr("objj_allocateClassPair(".length); - - return "objj_allocateClassPair(\"" + superClassName + "\", CPObject"; - }); - - var allocateClassPair = objj_allocateClassPair; - - objj_allocateClassPair = function(superClassName) - { - superClasses[arguments[2]] = superClassName; - return allocateClassPair(arguments[1], arguments[2]); - } - - var classes = [], - registerClassPair = objj_registerClassPair; - - objj_registerClassPair = function(aClass) - { - aClass.actual_super_class; - registerClassPair(aClass); - classes.push(aClass); - } - - objj_executeFile = function() - { - } - - eval(source); - - var ObjectiveCSource = "", + flags = ObjectiveJ.Preprocessor.Flags.IncludeDebugSymbols | ObjectiveJ.Preprocessor.Flags.IncludeTypeSignatures, + tokens = ObjectiveJ.acorn.parse(source), + classesInformation = [], + ObjectiveCSource = "", ObjectiveCHeader = ""; - classes.forEach(function(aClass) + + compile(tokens, classesInformation, xcc); + + // dump(classesInformation) + + ObjectiveCHeader += + "#import \n" + + "#import \n" + + "#import \"xcc_general_include.h\"\n\n"; + + ObjectiveCSource += "#import \"" + outputHeaderURL.absoluteString().replace(/\\/g,'/').replace(/(.*\/)/g, '') + "\"\n\n"; + + // Traverse each found classes + classesInformation.forEach(function(aClass) { - var outlets = []; + // add new class definition + ObjectiveCHeader += "@interface " + aClass.name + " : " + NSCompatibleClassName(aClass.superClass) + "\n\n"; - class_copyIvarList(aClass).forEach(function(anIvar) + // Add each outlets in header + aClass.outlets.forEach(function(anOutlet) { - var types = ivar_getTypeEncoding(anIvar).split(" "); - - if (types.indexOf("IBOutlet") !== CPNotFound || types.indexOf("@outlet") !== CPNotFound) - { - types.forEach(function(aType, anIndex) - { - if (aType === "@outlet") - types[anIndex] = "IBOutlet"; - - else if (aType !== "IBOutlet") - types[anIndex] = NSCompatibleClassName(aType, YES); - }); - - outlets.push("@property (assign) " + types.join(" ") + " " + ivar_getName(anIvar) + ";"); - } + ObjectiveCHeader += "@property (assign) IBOutlet " + NSCompatibleClassName(anOutlet.type, YES) + " " + anOutlet.name + ";\n"; }); - var actions = []; + ObjectiveCHeader += "\n"; - class_copyMethodList(aClass).forEach(function(aMethod) + // Add each actions in header + aClass.actions.forEach(function(anAction) { - var types = aMethod.types, - type = types[0]; - - if (type === "IBAction" || type === "@action") - actions.push("- (IBAction)" + method_getName(aMethod) + "(" + NSCompatibleClassName(types[1] || "id", YES)+ ")aSender;"); + ObjectiveCHeader += "- (IBAction)" + anAction.name + ":(" + anAction.arguments[0].type + ")" + anAction.arguments[0].name + ";\n"; }); - var className = class_getName(aClass), - superClassName = superClasses[className]; + ObjectiveCHeader += "\n@end\n\n\n"; - ObjectiveCHeader += - "#import \n" + - "#import \n" + - "#import \"xcc_general_include.h\"\n" + - "\n@interface " + class_getName(aClass) + - (superClassName === "Nil" ? "" : (" : " + NSCompatibleClassName(superClassName))) + - "\n\n" + - outlets.join("\n") + - "\n" + - actions.join("\n") + - "\n@end\n"; - - ObjectiveCSource += - "#import \"" + outputHeaderURL.absoluteString().replace(/\\/g,'/').replace(/(.*\/)/g, '') + "\"" + - "\n@implementation " + class_getName(aClass) + - "\n@end\n"; + // fill up the implementation file + ObjectiveCSource += "@implementation " + aClass.name + "\n@end\n\n"; }); - if (ObjectiveCSource.length) - FILE.write(outputSourceURL, ObjectiveCSource, { charset:"UTF-8" }); + // write files + if (ObjectiveCSource.length) + FILE.write(outputSourceURL, ObjectiveCSource, { charset:"UTF-8" }); - if (ObjectiveCHeader.length) - FILE.write(outputHeaderURL, ObjectiveCHeader, { charset:"UTF-8" }); + if (ObjectiveCHeader.length) + FILE.write(outputHeaderURL, ObjectiveCHeader, { charset:"UTF-8" }); } function NSCompatibleClassName(aClassName, asPointer) { - if (aClassName === "var" || aClassName === "id") - return "id"; + if (aClassName === "var" || aClassName === "id") + return "id"; - var prefix = aClassName.substr(0, 2), - asterisk = asPointer ? "*" : ""; + var prefix = aClassName.substr(0, 2), + asterisk = asPointer ? "*" : ""; - if (prefix !== "CP") - return aClassName + asterisk; + if (prefix !== "CP") + return aClassName + asterisk; - var NSClassName = "NS" + aClassName.substr(2); + var NSClassName = "NS" + aClassName.substr(2); - if (NSClasses[NSClassName]) - return NSClassName + asterisk; + if (NSClasses[NSClassName]) + return NSClassName + asterisk; - if (ReplacementClasses[aClassName]) - return ReplacementClasses[aClassName] + asterisk; - - return aClassName + asterisk; + if (ReplacementClasses[aClassName]) + return ReplacementClasses[aClassName] + asterisk; + + return aClassName + asterisk; } var ReplacementClasses = { - "CPWebView": "WebView" -}; - + "CPWebView": "WebView" + }; + var NSClasses = { - "NSAffineTransform" : YES, - "NSAppleEventDescriptor" : YES, - "NSAppleEventManager" : YES, - "NSAppleScript" : YES, - "NSArchiver" : YES, - "NSArray" : YES, - "NSAssertionHandler" : YES, - "NSAttributedString" : YES, - "NSAutoreleasePool" : YES, - "NSBlockOperation" : YES, - "NSBundle" : YES, - "NSCache" : YES, - "NSCachedURLResponse" : YES, - "NSCalendar" : YES, - "NSCharacterSet" : YES, - "NSClassDescription" : YES, - "NSCloneCommand" : YES, - "NSCloseCommand" : YES, - "NSCoder" : YES, - "NSComparisonPredicate" : YES, - "NSCompoundPredicate" : YES, - "NSCondition" : YES, - "NSConditionLock" : YES, - "NSConnection" : YES, - "NSCountCommand" : YES, - "NSCountedSet" : YES, - "NSCreateCommand" : YES, - "NSData" : YES, - "NSDate" : YES, - "NSDateComponents" : YES, - "NSDateFormatter" : YES, - "NSDecimalNumber" : YES, - "NSDecimalNumberHandler" : YES, - "NSDeleteCommand" : YES, - "NSDeserializer" : YES, - "NSDictionary" : YES, - "NSDirectoryEnumerator" : YES, - "NSDistantObject" : YES, - "NSDistantObjectRequest" : YES, - "NSDistributedLock" : YES, - "NSDistributedNotificationCenter" : YES, - "NSEnumerator" : YES, - "NSError" : YES, - "NSException" : YES, - "NSExistsCommand" : YES, - "NSExpression" : YES, - "NSFileHandle" : YES, - "NSFileManager" : YES, - "NSFileWrapper" : YES, - "NSFormatter" : YES, - "NSGarbageCollector" : YES, - "NSGetCommand" : YES, - "NSHashTable" : YES, - "NSHost" : YES, - "NSHTTPCookie" : YES, - "NSHTTPCookieStorage" : YES, - "NSHTTPURLResponse" : YES, - "NSIndexPath" : YES, - "NSIndexSet" : YES, - "NSIndexSpecifier" : YES, - "NSInputStream" : YES, - "NSInvocation" : YES, - "NSInvocationOperation" : YES, - "NSKeyedArchiver" : YES, - "NSKeyedUnarchiver" : YES, - "NSLocale" : YES, - "NSLock" : YES, - "NSLogicalTest" : YES, - "NSMachBootstrapServer" : YES, - "NSMachPort" : YES, - "NSMapTable" : YES, - "NSMessagePort" : YES, - "NSMessagePortNameServer" : YES, - "NSMetadataItem" : YES, - "NSMetadataQuery" : YES, - "NSMetadataQueryAttributeValueTuple" : YES, - "NSMetadataQueryResultGroup" : YES, - "NSMethodSignature" : YES, - "NSMiddleSpecifier" : YES, - "NSMoveCommand" : YES, - "NSMutableArray" : YES, - "NSMutableAttributedString" : YES, - "NSMutableCharacterSet" : YES, - "NSMutableData" : YES, - "NSMutableDictionary" : YES, - "NSMutableIndexSet" : YES, - "NSMutableSet" : YES, - "NSMutableString" : YES, - "NSMutableURLRequest" : YES, - "NSNameSpecifier" : YES, - "NSNetService" : YES, - "NSNetServiceBrowser" : YES, - "NSNotification" : YES, - "NSNotificationCenter" : YES, - "NSNotificationQueue" : YES, - "NSNull" : YES, - "NSNumber" : YES, - "NSNumberFormatter" : YES, - "NSObject" : YES, - "NSOperation" : YES, - "NSOperationQueue" : YES, - "NSOrthography" : YES, - "NSOutputStream" : YES, - "NSPipe" : YES, - "NSPointerArray" : YES, - "NSPointerFunctions" : YES, - "NSPort" : YES, - "NSPortCoder" : YES, - "NSPortMessage" : YES, - "NSPortNameServer" : YES, - "NSPositionalSpecifier" : YES, - "NSPredicate" : YES, - "NSProcessInfo" : YES, - "NSPropertyListSerialization" : YES, - "NSPropertySpecifier" : YES, - "NSProtocolChecker" : YES, - "NSProxy" : YES, - "NSPurgeableData" : YES, - "NSQuitCommand" : YES, - "NSRandomSpecifier" : YES, - "NSRangeSpecifier" : YES, - "NSRecursiveLock" : YES, - "NSRelativeSpecifier" : YES, - "NSRunLoop" : YES, - "NSScanner" : YES, - "NSScriptClassDescription" : YES, - "NSScriptCoercionHandler" : YES, - "NSScriptCommand" : YES, - "NSScriptCommandDescription" : YES, - "NSScriptExecutionContext" : YES, - "NSScriptObjectSpecifier" : YES, - "NSScriptSuiteRegistry" : YES, - "NSScriptWhoseTest" : YES, - "NSSerializer" : YES, - "NSSet" : YES, - "NSSetCommand" : YES, - "NSSocketPort" : YES, - "NSSocketPortNameServer" : YES, - "NSSortDescriptor" : YES, - "NSSpecifierTest" : YES, - "NSSpellServer" : YES, - "NSStream" : YES, - "NSString" : YES, - "NSTask" : YES, - "NSTextCheckingResult" : YES, - "NSThread" : YES, - "NSTimer" : YES, - "NSTimeZone" : YES, - "NSUnarchiver" : YES, - "NSUndoManager" : YES, - "NSUniqueIDSpecifier" : YES, - "NSURL" : YES, - "NSURLAuthenticationChallenge" : YES, - "NSURLCache" : YES, - "NSURLConnection" : YES, - "NSURLCredential" : YES, - "NSURLCredentialStorage" : YES, - "NSURLDownload" : YES, - "NSURLHandle" : YES, - "NSURLProtectionSpace" : YES, - "NSURLProtocol" : YES, - "NSURLRequest" : YES, - "NSURLResponse" : YES, - "NSUserDefaults" : YES, - "NSValue" : YES, - "NSValueTransformer" : YES, - "NSWhoseSpecifier" : YES, - "NSXMLDocument" : YES, - "NSXMLDTD" : YES, - "NSXMLDTDNode" : YES, - "NSXMLElement" : YES, - "NSXMLNode" : YES, - "NSXMLParser" : YES, - "NSActionCell" : YES, - "NSAffineTransform Additions" : YES, - "NSAlert" : YES, - "NSAnimation" : YES, - "NSAnimationContext" : YES, - "NSAppleScript Additions" : YES, - "NSApplication" : YES, - "NSArrayController" : YES, - "NSATSTypesetter" : YES, - "NSAttributedString Application Kit Additions" : YES, - "NSBezierPath" : YES, - "NSBitmapImageRep" : YES, - "NSBox" : YES, - "NSBrowser" : YES, - "NSBrowserCell" : YES, - "NSBundle Additions" : YES, - "NSButton" : YES, - "NSButtonCell" : YES, - "NSCachedImageRep" : YES, - "NSCell" : YES, - "NSCIImageRep" : YES, - "NSClipView" : YES, - "NSCoder Application Kit Additions" : YES, - "NSCollectionView" : YES, - "NSCollectionViewItem" : YES, - "NSColor" : YES, - "NSColorList" : YES, - "NSColorPanel" : YES, - "NSColorPicker" : YES, - "NSColorSpace" : YES, - "NSColorWell" : YES, - "NSComboBox" : YES, - "NSComboBoxCell" : YES, - "NSControl" : YES, - "NSController" : YES, - "NSCursor" : YES, - "NSCustomImageRep" : YES, - "NSDatePicker" : YES, - "NSDatePickerCell" : YES, - "NSDictionaryController" : YES, - "NSDockTile" : YES, - "NSDocument" : YES, - "NSDocumentController" : YES, - "NSDrawer" : YES, - "NSEPSImageRep" : YES, - "NSEvent" : YES, - "NSFileWrapper" : YES, - "NSFont" : YES, - "NSFontDescriptor" : YES, - "NSFontManager" : YES, - "NSFontPanel" : YES, - "NSForm" : YES, - "NSFormCell" : YES, - "NSGlyphGenerator" : YES, - "NSGlyphInfo" : YES, - "NSGradient" : YES, - "NSGraphicsContext" : YES, - "NSHelpManager" : YES, - "NSImage" : YES, - "NSImageCell" : YES, - "NSImageRep" : YES, - "NSImageView" : YES, - "NSLayoutManager" : YES, - "NSLevelIndicator" : YES, - "NSLevelIndicatorCell" : YES, - "NSMatrix" : YES, - "NSMenu" : YES, - "NSMenuItem" : YES, - "NSMenuItemCell" : YES, - "NSMenuView" : YES, - "NSMutableAttributedString Additions" : YES, - "NSMutableParagraphStyle" : YES, - "NSNib" : YES, - "NSNibConnector" : YES, - "NSNibControlConnector" : YES, - "NSNibOutletConnector" : YES, - "NSObjectController" : YES, - "NSOpenGLContext" : YES, - "NSOpenGLLayer" : YES, - "NSOpenGLPixelBuffer" : YES, - "NSOpenGLPixelFormat" : YES, - "NSOpenGLView" : YES, - "NSOpenPanel" : YES, - "NSOutlineView" : YES, - "NSPageLayout" : YES, - "NSPanel" : YES, - "NSParagraphStyle" : YES, - "NSPasteboard" : YES, - "NSPasteboardItem" : YES, - "NSPathCell" : YES, - "NSPathComponentCell" : YES, - "NSPathControl" : YES, - "NSPDFImageRep" : YES, - "NSPersistentDocument" : YES, - "NSPICTImageRep" : YES, - "NSPopUpButton" : YES, - "NSPopUpButtonCell" : YES, - "NSPredicateEditor" : YES, - "NSPredicateEditorRowTemplate" : YES, - "NSPrinter" : YES, - "NSPrintInfo" : YES, - "NSPrintOperation" : YES, - "NSPrintPanel" : YES, - "NSProgressIndicator" : YES, - "NSResponder" : YES, - "NSRuleEditor" : YES, - "NSRulerMarker" : YES, - "NSRulerView" : YES, - "NSRunningApplication" : YES, - "NSSavePanel" : YES, - "NSScreen" : YES, - "NSScroller" : YES, - "NSScrollView" : YES, - "NSSearchField" : YES, - "NSSearchFieldCell" : YES, - "NSSecureTextField" : YES, - "NSSecureTextFieldCell" : YES, - "NSSegmentedCell" : YES, - "NSSegmentedControl" : YES, - "NSShadow" : YES, - "NSSlider" : YES, - "NSSliderCell" : YES, - "NSSound" : YES, - "NSSpeechRecognizer" : YES, - "NSSpeechSynthesizer" : YES, - "NSSpellChecker" : YES, - "NSSplitView" : YES, - "NSStatusBar" : YES, - "NSStatusItem" : YES, - "NSStepper" : YES, - "NSStepperCell" : YES, - "NSString Application Kit Additions" : YES, - "NSTableColumn" : YES, - "NSTableHeaderCell" : YES, - "NSTableHeaderView" : YES, - "NSTableView" : YES, - "NSTabView" : YES, - "NSTabViewItem" : YES, - "NSText" : YES, - "NSTextAttachment" : YES, - "NSTextAttachmentCell" : YES, - "NSTextBlock" : YES, - "NSTextContainer" : YES, - "NSTextField" : YES, - "NSTextFieldCell" : YES, - "NSTextInputContext" : YES, - "NSTextList" : YES, - "NSTextStorage" : YES, - "NSTextTab" : YES, - "NSTextTable" : YES, - "NSTextTableBlock" : YES, - "NSTextView" : YES, - "NSTokenField" : YES, - "NSTokenFieldCell" : YES, - "NSToolbar" : YES, - "NSToolbarItem" : YES, - "NSToolbarItemGroup" : YES, - "NSTouch" : YES, - "NSTrackingArea" : YES, - "NSTreeController" : YES, - "NSTreeNode" : YES, - "NSTypesetter" : YES, - "NSURL Additions" : YES, - "NSUserDefaultsController" : YES, - "NSView" : YES, - "NSViewAnimation" : YES, - "NSViewController" : YES, - "NSWindow" : YES, - "NSWindowController" : YES, - "NSWorkspace" : YES, - "NSPopover": YES - }; + "NSAffineTransform" : YES, + "NSAppleEventDescriptor" : YES, + "NSAppleEventManager" : YES, + "NSAppleScript" : YES, + "NSArchiver" : YES, + "NSArray" : YES, + "NSAssertionHandler" : YES, + "NSAttributedString" : YES, + "NSAutoreleasePool" : YES, + "NSBlockOperation" : YES, + "NSBundle" : YES, + "NSCache" : YES, + "NSCachedURLResponse" : YES, + "NSCalendar" : YES, + "NSCharacterSet" : YES, + "NSClassDescription" : YES, + "NSCloneCommand" : YES, + "NSCloseCommand" : YES, + "NSCoder" : YES, + "NSComparisonPredicate" : YES, + "NSCompoundPredicate" : YES, + "NSCondition" : YES, + "NSConditionLock" : YES, + "NSConnection" : YES, + "NSCountCommand" : YES, + "NSCountedSet" : YES, + "NSCreateCommand" : YES, + "NSData" : YES, + "NSDate" : YES, + "NSDateComponents" : YES, + "NSDateFormatter" : YES, + "NSDecimalNumber" : YES, + "NSDecimalNumberHandler" : YES, + "NSDeleteCommand" : YES, + "NSDeserializer" : YES, + "NSDictionary" : YES, + "NSDirectoryEnumerator" : YES, + "NSDistantObject" : YES, + "NSDistantObjectRequest" : YES, + "NSDistributedLock" : YES, + "NSDistributedNotificationCenter" : YES, + "NSEnumerator" : YES, + "NSError" : YES, + "NSException" : YES, + "NSExistsCommand" : YES, + "NSExpression" : YES, + "NSFileHandle" : YES, + "NSFileManager" : YES, + "NSFileWrapper" : YES, + "NSFormatter" : YES, + "NSGarbageCollector" : YES, + "NSGetCommand" : YES, + "NSHashTable" : YES, + "NSHost" : YES, + "NSHTTPCookie" : YES, + "NSHTTPCookieStorage" : YES, + "NSHTTPURLResponse" : YES, + "NSIndexPath" : YES, + "NSIndexSet" : YES, + "NSIndexSpecifier" : YES, + "NSInputStream" : YES, + "NSInvocation" : YES, + "NSInvocationOperation" : YES, + "NSKeyedArchiver" : YES, + "NSKeyedUnarchiver" : YES, + "NSLocale" : YES, + "NSLock" : YES, + "NSLogicalTest" : YES, + "NSMachBootstrapServer" : YES, + "NSMachPort" : YES, + "NSMapTable" : YES, + "NSMessagePort" : YES, + "NSMessagePortNameServer" : YES, + "NSMetadataItem" : YES, + "NSMetadataQuery" : YES, + "NSMetadataQueryAttributeValueTuple" : YES, + "NSMetadataQueryResultGroup" : YES, + "NSMethodSignature" : YES, + "NSMiddleSpecifier" : YES, + "NSMoveCommand" : YES, + "NSMutableArray" : YES, + "NSMutableAttributedString" : YES, + "NSMutableCharacterSet" : YES, + "NSMutableData" : YES, + "NSMutableDictionary" : YES, + "NSMutableIndexSet" : YES, + "NSMutableSet" : YES, + "NSMutableString" : YES, + "NSMutableURLRequest" : YES, + "NSNameSpecifier" : YES, + "NSNetService" : YES, + "NSNetServiceBrowser" : YES, + "NSNotification" : YES, + "NSNotificationCenter" : YES, + "NSNotificationQueue" : YES, + "NSNull" : YES, + "NSNumber" : YES, + "NSNumberFormatter" : YES, + "NSObject" : YES, + "NSOperation" : YES, + "NSOperationQueue" : YES, + "NSOrthography" : YES, + "NSOutputStream" : YES, + "NSPipe" : YES, + "NSPointerArray" : YES, + "NSPointerFunctions" : YES, + "NSPort" : YES, + "NSPortCoder" : YES, + "NSPortMessage" : YES, + "NSPortNameServer" : YES, + "NSPositionalSpecifier" : YES, + "NSPredicate" : YES, + "NSProcessInfo" : YES, + "NSPropertyListSerialization" : YES, + "NSPropertySpecifier" : YES, + "NSProtocolChecker" : YES, + "NSProxy" : YES, + "NSPurgeableData" : YES, + "NSQuitCommand" : YES, + "NSRandomSpecifier" : YES, + "NSRangeSpecifier" : YES, + "NSRecursiveLock" : YES, + "NSRelativeSpecifier" : YES, + "NSRunLoop" : YES, + "NSScanner" : YES, + "NSScriptClassDescription" : YES, + "NSScriptCoercionHandler" : YES, + "NSScriptCommand" : YES, + "NSScriptCommandDescription" : YES, + "NSScriptExecutionContext" : YES, + "NSScriptObjectSpecifier" : YES, + "NSScriptSuiteRegistry" : YES, + "NSScriptWhoseTest" : YES, + "NSSerializer" : YES, + "NSSet" : YES, + "NSSetCommand" : YES, + "NSSocketPort" : YES, + "NSSocketPortNameServer" : YES, + "NSSortDescriptor" : YES, + "NSSpecifierTest" : YES, + "NSSpellServer" : YES, + "NSStream" : YES, + "NSString" : YES, + "NSTask" : YES, + "NSTextCheckingResult" : YES, + "NSThread" : YES, + "NSTimer" : YES, + "NSTimeZone" : YES, + "NSUnarchiver" : YES, + "NSUndoManager" : YES, + "NSUniqueIDSpecifier" : YES, + "NSURL" : YES, + "NSURLAuthenticationChallenge" : YES, + "NSURLCache" : YES, + "NSURLConnection" : YES, + "NSURLCredential" : YES, + "NSURLCredentialStorage" : YES, + "NSURLDownload" : YES, + "NSURLHandle" : YES, + "NSURLProtectionSpace" : YES, + "NSURLProtocol" : YES, + "NSURLRequest" : YES, + "NSURLResponse" : YES, + "NSUserDefaults" : YES, + "NSValue" : YES, + "NSValueTransformer" : YES, + "NSWhoseSpecifier" : YES, + "NSXMLDocument" : YES, + "NSXMLDTD" : YES, + "NSXMLDTDNode" : YES, + "NSXMLElement" : YES, + "NSXMLNode" : YES, + "NSXMLParser" : YES, + "NSActionCell" : YES, + "NSAffineTransform Additions" : YES, + "NSAlert" : YES, + "NSAnimation" : YES, + "NSAnimationContext" : YES, + "NSAppleScript Additions" : YES, + "NSApplication" : YES, + "NSArrayController" : YES, + "NSATSTypesetter" : YES, + "NSAttributedString Application Kit Additions" : YES, + "NSBezierPath" : YES, + "NSBitmapImageRep" : YES, + "NSBox" : YES, + "NSBrowser" : YES, + "NSBrowserCell" : YES, + "NSBundle Additions" : YES, + "NSButton" : YES, + "NSButtonCell" : YES, + "NSCachedImageRep" : YES, + "NSCell" : YES, + "NSCIImageRep" : YES, + "NSClipView" : YES, + "NSCoder Application Kit Additions" : YES, + "NSCollectionView" : YES, + "NSCollectionViewItem" : YES, + "NSColor" : YES, + "NSColorList" : YES, + "NSColorPanel" : YES, + "NSColorPicker" : YES, + "NSColorSpace" : YES, + "NSColorWell" : YES, + "NSComboBox" : YES, + "NSComboBoxCell" : YES, + "NSControl" : YES, + "NSController" : YES, + "NSCursor" : YES, + "NSCustomImageRep" : YES, + "NSDatePicker" : YES, + "NSDatePickerCell" : YES, + "NSDictionaryController" : YES, + "NSDockTile" : YES, + "NSDocument" : YES, + "NSDocumentController" : YES, + "NSDrawer" : YES, + "NSEPSImageRep" : YES, + "NSEvent" : YES, + "NSFileWrapper" : YES, + "NSFont" : YES, + "NSFontDescriptor" : YES, + "NSFontManager" : YES, + "NSFontPanel" : YES, + "NSForm" : YES, + "NSFormCell" : YES, + "NSGlyphGenerator" : YES, + "NSGlyphInfo" : YES, + "NSGradient" : YES, + "NSGraphicsContext" : YES, + "NSHelpManager" : YES, + "NSImage" : YES, + "NSImageCell" : YES, + "NSImageRep" : YES, + "NSImageView" : YES, + "NSLayoutManager" : YES, + "NSLevelIndicator" : YES, + "NSLevelIndicatorCell" : YES, + "NSMatrix" : YES, + "NSMenu" : YES, + "NSMenuItem" : YES, + "NSMenuItemCell" : YES, + "NSMenuView" : YES, + "NSMutableAttributedString Additions" : YES, + "NSMutableParagraphStyle" : YES, + "NSNib" : YES, + "NSNibConnector" : YES, + "NSNibControlConnector" : YES, + "NSNibOutletConnector" : YES, + "NSObjectController" : YES, + "NSOpenGLContext" : YES, + "NSOpenGLLayer" : YES, + "NSOpenGLPixelBuffer" : YES, + "NSOpenGLPixelFormat" : YES, + "NSOpenGLView" : YES, + "NSOpenPanel" : YES, + "NSOutlineView" : YES, + "NSPageLayout" : YES, + "NSPanel" : YES, + "NSParagraphStyle" : YES, + "NSPasteboard" : YES, + "NSPasteboardItem" : YES, + "NSPathCell" : YES, + "NSPathComponentCell" : YES, + "NSPathControl" : YES, + "NSPDFImageRep" : YES, + "NSPersistentDocument" : YES, + "NSPICTImageRep" : YES, + "NSPopUpButton" : YES, + "NSPopUpButtonCell" : YES, + "NSPredicateEditor" : YES, + "NSPredicateEditorRowTemplate" : YES, + "NSPrinter" : YES, + "NSPrintInfo" : YES, + "NSPrintOperation" : YES, + "NSPrintPanel" : YES, + "NSProgressIndicator" : YES, + "NSResponder" : YES, + "NSRuleEditor" : YES, + "NSRulerMarker" : YES, + "NSRulerView" : YES, + "NSRunningApplication" : YES, + "NSSavePanel" : YES, + "NSScreen" : YES, + "NSScroller" : YES, + "NSScrollView" : YES, + "NSSearchField" : YES, + "NSSearchFieldCell" : YES, + "NSSecureTextField" : YES, + "NSSecureTextFieldCell" : YES, + "NSSegmentedCell" : YES, + "NSSegmentedControl" : YES, + "NSShadow" : YES, + "NSSlider" : YES, + "NSSliderCell" : YES, + "NSSound" : YES, + "NSSpeechRecognizer" : YES, + "NSSpeechSynthesizer" : YES, + "NSSpellChecker" : YES, + "NSSplitView" : YES, + "NSStatusBar" : YES, + "NSStatusItem" : YES, + "NSStepper" : YES, + "NSStepperCell" : YES, + "NSString Application Kit Additions" : YES, + "NSTableColumn" : YES, + "NSTableHeaderCell" : YES, + "NSTableHeaderView" : YES, + "NSTableView" : YES, + "NSTabView" : YES, + "NSTabViewItem" : YES, + "NSText" : YES, + "NSTextAttachment" : YES, + "NSTextAttachmentCell" : YES, + "NSTextBlock" : YES, + "NSTextContainer" : YES, + "NSTextField" : YES, + "NSTextFieldCell" : YES, + "NSTextInputContext" : YES, + "NSTextList" : YES, + "NSTextStorage" : YES, + "NSTextTab" : YES, + "NSTextTable" : YES, + "NSTextTableBlock" : YES, + "NSTextView" : YES, + "NSTokenField" : YES, + "NSTokenFieldCell" : YES, + "NSToolbar" : YES, + "NSToolbarItem" : YES, + "NSToolbarItemGroup" : YES, + "NSTouch" : YES, + "NSTrackingArea" : YES, + "NSTreeController" : YES, + "NSTreeNode" : YES, + "NSTypesetter" : YES, + "NSURL Additions" : YES, + "NSUserDefaultsController" : YES, + "NSView" : YES, + "NSViewAnimation" : YES, + "NSViewController" : YES, + "NSWindow" : YES, + "NSWindowController" : YES, + "NSWorkspace" : YES, + "NSPopover": YES + }; diff --git a/Tools/capp/Configuration.j b/Tools/capp/Configuration.j index 6419cc209..bd00efebf 100644 --- a/Tools/capp/Configuration.j +++ b/Tools/capp/Configuration.j @@ -2,6 +2,8 @@ @import @import @import +@import + var FILE = require("file"), SYSTEM = require("system"); @@ -124,12 +126,12 @@ var DefaultDictionary = nil, - (void)save { - var path = [self path]; + var aPath = [self path]; - if (!path) + if (!aPath) return; - CFPropertyList.writePropertyListToFile(dictionary, path); + CFPropertyList.writePropertyListToFile(dictionary, aPath); } @end diff --git a/Tools/capp/Generate.j b/Tools/capp/Generate.j index 9f5b1e058..63288c6d2 100644 --- a/Tools/capp/Generate.j +++ b/Tools/capp/Generate.j @@ -1,3 +1,24 @@ +/* + * Generate.j + * capp + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ @import "Configuration.j" diff --git a/Tools/capp_lint/capp_lint b/Tools/capp_lint/capp_lint index 1fa0e5087..248adadc1 100755 --- a/Tools/capp_lint/capp_lint +++ b/Tools/capp_lint/capp_lint @@ -181,6 +181,7 @@ class LintChecker(object): METHOD_RE = ur'[-+]\s*\([a-zA-Z_$]\w*\)\s*[a-zA-Z_$]\w*' FUNCTION_RE = re.compile(ur'\s*function\s*(?P[a-zA-Z_$]\w*)?\(.*\)\s*\{?') RE_RE = re.compile(ur'(? -@import +@import +@import +@import @import var FILE = require("file"), OS = require("os"), - DefaultTheme = "Aristo", + DefaultTheme = "Aristo2", BuildTypes = ["Debug", "Release"], FILE = require("file"), @@ -133,7 +134,7 @@ function main(args) { var state = states[stateIndex], value = [theme valueForAttributeWithName:attributeName inState:state forClass:className], - description = [self descriptionForValue:value].replace(/^/mg, " "); + description = CPDescriptionOfObject(value).replace(/^/mg, " "); colorPrint("cyan", " " + CPThemeStateName(state)); stream.print(description + "\n"); @@ -144,47 +145,6 @@ function main(args) } } -- (CPString)descriptionForValue:(id)aValue -{ - var description = @""; - - if (!aValue) - return @""; - - if (!aValue.isa) - { - if (typeof(aValue) === "object") - { - if (aValue.hasOwnProperty("width") && aValue.hasOwnProperty("height")) - description = [CPString stringWithFormat:@"CGSize: { width:%f, height:%f }", aValue.width, aValue.height]; - else if (aValue.hasOwnProperty("x") && aValue.hasOwnProperty("y")) - description = [CPString stringWithFormat:@"CGPoint: { x:%f, y:%f }", aValue.x, aValue.y]; - else if (aValue.hasOwnProperty("origin") && aValue.hasOwnProperty("size")) - description = [CPString stringWithFormat:@"CGRect: { x:%f, y:%f }, { width:%f, height:%f }", aValue.origin.x, aValue.origin.y, aValue.size.width, aValue.size.height]; - else if (aValue.hasOwnProperty("top") && aValue.hasOwnProperty("right") && aValue.hasOwnProperty("bottom") && aValue.hasOwnProperty("left")) - description = [CPString stringWithFormat:@"CGInset: { top:%f, right:%f, bottom:%f, left:%f }", aValue.top, aValue.right, aValue.bottom, aValue.left]; - else - { - description = "Object\n{\n"; - - for (var property in aValue) - { - if (aValue.hasOwnProperty(property)) - description += " " + property + ":" + aValue[property] + "\n"; - } - - description += "}"; - } - } - else - description = "Unknown object"; - } - else - description = [aValue description]; - - return description; -} - // Returns undefined if $CAPP_BUILD is not defined, false if path cannot be found in $CAPP_BUILD - (id)findResourceInCappBuild:(CPString)path isDirectory:(BOOL)isDirectory callback:(SEL)callback { diff --git a/Tools/dump_theme/dump_theme.1 b/Tools/dump_theme/dump_theme.1 index 7bbab2631..2d965eb6b 100644 --- a/Tools/dump_theme/dump_theme.1 +++ b/Tools/dump_theme/dump_theme.1 @@ -21,7 +21,7 @@ prints a formatted dump of the contents of a Cappuccino theme. If you don't pass any arguments, .Nm will attempt to find the default AppKit theme from AppKit's Info.plist. If that cannot be -found, "Aristo" is used. +found, "Aristo2" is used. .Pp If you pass a theme name only (without a ".blend" suffix), .Nm diff --git a/Tools/nib2cib/Converter+Mac.j b/Tools/nib2cib/Converter+Mac.j index 7c48b77c4..74941e149 100644 --- a/Tools/nib2cib/Converter+Mac.j +++ b/Tools/nib2cib/Converter+Mac.j @@ -22,6 +22,8 @@ @import "Converter.j" +@import "Nib2CibKeyedUnarchiver.j" +@import "NSFont.j" @implementation Converter (Mac) @@ -55,9 +57,8 @@ [object setFrameOrigin:CGPointMake(CGRectGetMinX(frame), superviewHeight - CGRectGetMaxY(frame))]; - var NS_autoresizingMask = [object autoresizingMask]; - - autoresizingMask = NS_autoresizingMask & ~(CPViewMaxYMargin | CPViewMinYMargin); + var NS_autoresizingMask = [object autoresizingMask], + autoresizingMask = NS_autoresizingMask & ~(CPViewMaxYMargin | CPViewMinYMargin); if (!(NS_autoresizingMask & (CPViewMaxYMargin | CPViewMinYMargin | CPViewHeightSizable))) autoresizingMask |= CPViewMinYMargin; diff --git a/Tools/nib2cib/Converter.j b/Tools/nib2cib/Converter.j index 76ec766c3..c340b7f2c 100644 --- a/Tools/nib2cib/Converter.j +++ b/Tools/nib2cib/Converter.j @@ -20,10 +20,18 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import -@import +@import +@import +@import +@import +@import @import +@import "NSFoundation.j" +@import "NSAppKit.j" + +@global java + var FILE = require("file"), OS = require("os"), @@ -159,4 +167,4 @@ ConverterConversionException = @"ConverterConversionException"; @end -@import "Converter+Mac.j" +//@import "Converter+Mac.j" diff --git a/Tools/nib2cib/NSBox.j b/Tools/nib2cib/NSBox.j index 17ec6c6f1..51672c718 100644 --- a/Tools/nib2cib/NSBox.j +++ b/Tools/nib2cib/NSBox.j @@ -22,7 +22,7 @@ @import -@implementation CPBox (CPCoding) +@implementation CPBox (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder { @@ -33,13 +33,39 @@ _boxType = [aCoder decodeIntForKey:@"NSBoxType"]; _borderType = [aCoder decodeIntForKey:@"NSBorderType"]; - _borderColor = [aCoder decodeObjectForKey:@"NSBorderColor2"] || [CPColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.42]; - _fillColor = [aCoder decodeObjectForKey:@"NSFillColor2"] || [CPColor clearColor]; + var borderColor = [aCoder decodeObjectForKey:@"NSBorderColor2"], + fillColor = [aCoder decodeObjectForKey:@"NSFillColor2"], + cornerRadius = [aCoder decodeFloatForKey:@"NSCornerRadius2"], + borderWidth = [aCoder decodeFloatForKey:@"NSBorderWidth2"], + contentMargin = [aCoder decodeSizeForKey:@"NSOffsets"]; - _cornerRadius = [aCoder decodeFloatForKey:@"NSCornerRadius2"]; - _borderWidth = [aCoder decodeFloatForKey:@"NSBorderWidth2"] || 1.0; + // small hack to position the box pixel perfect + var frame = [self frame]; - _contentMargin = [aCoder decodeSizeForKey:@"NSOffsets"]; + if (_boxType !== CPBoxSeparator) + { + frame.origin.y += 4; + frame.origin.x += 4; + frame.size.width -= 8; + frame.size.height -= 6; + } + + [self setFrame:frame]; + + if (borderColor) + [self setBorderColor:borderColor]; + + if (fillColor) + [self setFillColor:fillColor]; + + if (cornerRadius) + [self setCornerRadius:cornerRadius]; + + if (borderWidth) + [self setBorderWidth:borderWidth]; + + if (contentMargin) + [self setContentViewMargins:contentMargin]; _title = [[aCoder decodeObjectForKey:@"NSTitleCell"] objectValue] || @""; _titlePosition = [aCoder decodeObjectForKey:@"NSTitlePosition"]; diff --git a/Tools/nib2cib/NSButton.j b/Tools/nib2cib/NSButton.j index 4b095bdce..da6ad9c72 100644 --- a/Tools/nib2cib/NSButton.j +++ b/Tools/nib2cib/NSButton.j @@ -30,6 +30,10 @@ @import "NSCell.j" @import "NSControl.j" +@class Converter + +@global NIB_CONNECTION_EQUIVALENCY_TABLE + var NSButtonIsBorderedMask = 0x00800000, NSButtonAllowsMixedStateMask = 0x1000000, diff --git a/Tools/nib2cib/NSCell.j b/Tools/nib2cib/NSCell.j index 47e6fb233..01307538a 100644 --- a/Tools/nib2cib/NSCell.j +++ b/Tools/nib2cib/NSCell.j @@ -24,6 +24,7 @@ */ @import +@import @import "NSFont.j" diff --git a/Tools/nib2cib/NSClassSwapper.j b/Tools/nib2cib/NSClassSwapper.j index 91e26c765..bbb4b1efa 100644 --- a/Tools/nib2cib/NSClassSwapper.j +++ b/Tools/nib2cib/NSClassSwapper.j @@ -20,7 +20,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "Converter.j" +@import +@import +@import + +@class Converter + +@global CP_NSMapClassName var NSClassSwapperClassNames = {}, NSClassSwapperOriginalClassNames = {}; diff --git a/Tools/nib2cib/NSColor.j b/Tools/nib2cib/NSColor.j index c4d3c830c..a9016610b 100644 --- a/Tools/nib2cib/NSColor.j +++ b/Tools/nib2cib/NSColor.j @@ -120,7 +120,7 @@ var NSUnknownColorSpaceModel = -1, break; default: - CPLog.warn(@"-[%@ %s] unknown color space %d", isa, _cmd, colorSpace); + CPLog.warn(@"-[%@ %s] unknown color space %d", self.isa, _cmd, colorSpace); result = [CPColor blackColor]; break; } diff --git a/Tools/nib2cib/NSComboBox.j b/Tools/nib2cib/NSComboBox.j index ee405c663..d59df7ca8 100644 --- a/Tools/nib2cib/NSComboBox.j +++ b/Tools/nib2cib/NSComboBox.j @@ -25,6 +25,8 @@ @import "NSTextField.j" +@class Converter + @implementation CPComboBox (NSCoding) diff --git a/Tools/nib2cib/NSCustomObject.j b/Tools/nib2cib/NSCustomObject.j index e74ed9447..6c675b803 100644 --- a/Tools/nib2cib/NSCustomObject.j +++ b/Tools/nib2cib/NSCustomObject.j @@ -22,6 +22,7 @@ @import +@global CP_NSMapClassName @implementation _CPCibCustomObject (NSCoding) @@ -51,4 +52,4 @@ return [_CPCibCustomObject class]; } -@end \ No newline at end of file +@end diff --git a/Tools/nib2cib/NSCustomResource.j b/Tools/nib2cib/NSCustomResource.j index 3c1370f08..4c641e9cd 100644 --- a/Tools/nib2cib/NSCustomResource.j +++ b/Tools/nib2cib/NSCustomResource.j @@ -25,6 +25,8 @@ @import +@global CP_NSMapClassName + var FILE = require("file"), imageSize = require("cappuccino/imagesize").imagesize; diff --git a/Tools/nib2cib/NSCustomView.j b/Tools/nib2cib/NSCustomView.j index 5c7cf26a8..2c97c3c14 100644 --- a/Tools/nib2cib/NSCustomView.j +++ b/Tools/nib2cib/NSCustomView.j @@ -24,6 +24,8 @@ @import "NSView.j" +@global CP_NSMapClassName + var _CPCibCustomViewClassNameKey = @"_CPCibCustomViewClassNameKey"; diff --git a/Tools/nib2cib/NSDictionary.j b/Tools/nib2cib/NSDictionary.j index d9b33b19a..eb57da8b8 100644 --- a/Tools/nib2cib/NSDictionary.j +++ b/Tools/nib2cib/NSDictionary.j @@ -23,6 +23,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import +@import + + @implementation NSDictionary : CPObject { } diff --git a/Tools/nib2cib/NSExpression.j b/Tools/nib2cib/NSExpression.j index da908860d..7fc3bf309 100644 --- a/Tools/nib2cib/NSExpression.j +++ b/Tools/nib2cib/NSExpression.j @@ -1,4 +1,11 @@ @import +@import +@import +@import +@import +@import +@import +@import @implementation NSKeyPathExpression : _CPKeyPathExpression { diff --git a/Tools/nib2cib/NSFormatter.j b/Tools/nib2cib/NSFormatter.j index e5352dc2d..9a8319876 100644 --- a/Tools/nib2cib/NSFormatter.j +++ b/Tools/nib2cib/NSFormatter.j @@ -1,3 +1,27 @@ +/* + * NSFont.j + * nib2cib + * + * Created by Klaas Pieter Annema. + * Copyright 2010 Cappuccino Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + @implementation NSFormatter : CPObject { } diff --git a/Tools/nib2cib/NSImageView.j b/Tools/nib2cib/NSImageView.j index 157ac3201..48f94a3f1 100644 --- a/Tools/nib2cib/NSImageView.j +++ b/Tools/nib2cib/NSImageView.j @@ -22,6 +22,8 @@ @import +@import "NSCell.j" + @implementation CPImageView (NSCoding) diff --git a/Tools/nib2cib/NSLevelIndicator.j b/Tools/nib2cib/NSLevelIndicator.j index 8e936d566..b65ac45c0 100644 --- a/Tools/nib2cib/NSLevelIndicator.j +++ b/Tools/nib2cib/NSLevelIndicator.j @@ -22,6 +22,9 @@ @import +@import "NSCell.j" + + @implementation CPLevelIndicator (CPCoding) - (id)NS_initWithCoder:(CPCoder)aCoder diff --git a/Tools/nib2cib/NSMatrix.j b/Tools/nib2cib/NSMatrix.j index f3d09cdd0..ca5cbdc69 100644 --- a/Tools/nib2cib/NSMatrix.j +++ b/Tools/nib2cib/NSMatrix.j @@ -21,10 +21,12 @@ */ @import +@import @import @import "NSView.j" +@global NIB_CONNECTION_EQUIVALENCY_TABLE var NSMatrixRadioModeMask = 0x40000000, NSMatrixDrawsBackgroundMask = 0x01000000; diff --git a/Tools/nib2cib/NSMenu.j b/Tools/nib2cib/NSMenu.j index e54284231..6a59da332 100644 --- a/Tools/nib2cib/NSMenu.j +++ b/Tools/nib2cib/NSMenu.j @@ -22,8 +22,6 @@ @import -@import "NSMenuItem.j" - NS_CPMenuNameMap = { diff --git a/Tools/nib2cib/NSMenuItem.j b/Tools/nib2cib/NSMenuItem.j index 2b4a6f222..39a4384f5 100644 --- a/Tools/nib2cib/NSMenuItem.j +++ b/Tools/nib2cib/NSMenuItem.j @@ -26,7 +26,6 @@ @import "NSEvent.j" @import "NSMenu.j" - @implementation CPMenuItem (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder diff --git a/Tools/nib2cib/NSMutableString.j b/Tools/nib2cib/NSMutableString.j index 641b27b5d..efc62a0e8 100644 --- a/Tools/nib2cib/NSMutableString.j +++ b/Tools/nib2cib/NSMutableString.j @@ -23,6 +23,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import + + @implementation NSMutableString : CPObject { } diff --git a/Tools/nib2cib/NSNibConnector.j b/Tools/nib2cib/NSNibConnector.j index e2bedde15..fe78a84e2 100644 --- a/Tools/nib2cib/NSNibConnector.j +++ b/Tools/nib2cib/NSNibConnector.j @@ -20,11 +20,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import @import @import @import @import @import +@import NIB_CONNECTION_EQUIVALENCY_TABLE = {}; diff --git a/Tools/nib2cib/NSObjectController.j b/Tools/nib2cib/NSObjectController.j index c141df0e9..f711ab093 100644 --- a/Tools/nib2cib/NSObjectController.j +++ b/Tools/nib2cib/NSObjectController.j @@ -22,6 +22,9 @@ @import +@global CP_NSMapClassName + + @implementation CPObjectController (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder diff --git a/Tools/nib2cib/NSPopUpButton.j b/Tools/nib2cib/NSPopUpButton.j index ece79a2f9..0a58d88b2 100644 --- a/Tools/nib2cib/NSPopUpButton.j +++ b/Tools/nib2cib/NSPopUpButton.j @@ -23,6 +23,7 @@ @import @import "NSMenu.j" +@import "NSMenuItem.j" @implementation CPPopUpButton (CPCoding) diff --git a/Tools/nib2cib/NSSearchField.j b/Tools/nib2cib/NSSearchField.j index ce762cc80..05fd4e50e 100644 --- a/Tools/nib2cib/NSSearchField.j +++ b/Tools/nib2cib/NSSearchField.j @@ -21,8 +21,11 @@ */ @import + @import "NSTextField.j" +@class Converter + @implementation CPSearchField (NSCoding) @@ -39,12 +42,13 @@ [self setSendsWholeSearchString:[cell sendsWholeSearchString]]; [self setSendsSearchStringImmediately:[cell sendsSearchStringImmediately]]; - if ([self isBezeled]) + if ([[[Converter sharedConverter] themes][0] name] == @"Aristo" && [self isBezeled]) { // NSTextField.j makes the field +7.0 pixels tall. We want +8.0 to go to 30. var frame = [self frame]; - [self setFrameSize:CGSizeMake(frame.size.width, frame.size.height + 1.0)]; + [self setFrameSize:CGSizeMake(frame.size.width, frame.size.height)]; } + } return self; diff --git a/Tools/nib2cib/NSSegmentedControl.j b/Tools/nib2cib/NSSegmentedControl.j index e696bb236..aef067f95 100644 --- a/Tools/nib2cib/NSSegmentedControl.j +++ b/Tools/nib2cib/NSSegmentedControl.j @@ -22,6 +22,11 @@ @import +@import "NSCell.j" + +@class Converter + + @implementation CPSegmentedControl (CPCoding) - (id)NS_initWithCoder:(CPCoder)aCoder @@ -59,6 +64,10 @@ // Adjust for differences between Cocoa and Cappuccino widget framing. frame.origin.x += 4; + + if ([[[Converter sharedConverter] themes][0] name] == @"Aristo2") + frame.size.height += 1; + frame.size.width = originalWidth; [self setFrame:frame]; } diff --git a/Tools/nib2cib/NSSlider.j b/Tools/nib2cib/NSSlider.j index 683c10be5..d842999ae 100644 --- a/Tools/nib2cib/NSSlider.j +++ b/Tools/nib2cib/NSSlider.j @@ -22,6 +22,9 @@ @import +@import "NSCell.j" + + @implementation CPSlider (CPCoding) - (id)NS_initWithCoder:(CPCoder)aCoder @@ -84,14 +87,14 @@ if (self) { - _objectValue = [aCoder decodeDoubleForKey:@"NSValue"]; + self._objectValue = [aCoder decodeDoubleForKey:@"NSValue"]; - _minValue = [aCoder decodeDoubleForKey:@"NSMinValue"]; - _maxValue = [aCoder decodeDoubleForKey:@"NSMaxValue"]; - _altIncrementValue = [aCoder decodeDoubleForKey:@"NSAltIncValue"]; - _isVertical = [aCoder decodeBoolForKey:@"NSVertical"]; + self._minValue = [aCoder decodeDoubleForKey:@"NSMinValue"]; + self._maxValue = [aCoder decodeDoubleForKey:@"NSMaxValue"]; + self._altIncrementValue = [aCoder decodeDoubleForKey:@"NSAltIncValue"]; + self._isVertical = [aCoder decodeBoolForKey:@"NSVertical"]; - _sliderType = [aCoder decodeIntForKey:@"NSSliderType"]; + self._sliderType = [aCoder decodeIntForKey:@"NSSliderType"]; } return self; diff --git a/Tools/nib2cib/NSSortDescriptor.j b/Tools/nib2cib/NSSortDescriptor.j index c4f0beb87..d245cf458 100644 --- a/Tools/nib2cib/NSSortDescriptor.j +++ b/Tools/nib2cib/NSSortDescriptor.j @@ -1,3 +1,25 @@ +/* + * NSSortDescriptor.j + * nib2cib + * + * Created by Francisco Tolmasky. + * Copyright 2009, 280 North, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + @import @implementation CPSortDescriptor (NSCoding) @@ -32,4 +54,4 @@ return [CPSortDescriptor class]; } -@end \ No newline at end of file +@end diff --git a/Tools/nib2cib/NSSplitView.j b/Tools/nib2cib/NSSplitView.j index 741b970af..95961cf5f 100644 --- a/Tools/nib2cib/NSSplitView.j +++ b/Tools/nib2cib/NSSplitView.j @@ -30,14 +30,14 @@ var NSThinDividerStyle = 2; { if (self = [super NS_initWithCoder:aCoder]) { - _isVertical = [aCoder decodeBoolForKey:@"NSIsVertical"]; + self._isVertical = [aCoder decodeBoolForKey:@"NSIsVertical"]; // The possible values appear to be: no value (thick divider), 2 (thin divider) and 3 (pane splitter). For // Cappuccino's purposes we treat thick divider and pane splitter as the same thing since the only difference // seems to be graphical. - _isPaneSplitter = [aCoder decodeIntForKey:@"NSDividerStyle"] != NSThinDividerStyle; + self._isPaneSplitter = [aCoder decodeIntForKey:@"NSDividerStyle"] != NSThinDividerStyle; - _autosaveName = [aCoder decodeObjectForKey:@"NSAutosaveName"]; + self._autosaveName = [aCoder decodeObjectForKey:@"NSAutosaveName"]; } return self; diff --git a/Tools/nib2cib/NSStepper.j b/Tools/nib2cib/NSStepper.j index c5b3746ae..d7e91f141 100644 --- a/Tools/nib2cib/NSStepper.j +++ b/Tools/nib2cib/NSStepper.j @@ -22,6 +22,9 @@ @import +@import "NSCell.j" + + @implementation CPStepper (CPCoding) - (id)NS_initWithCoder:(CPCoder)aCoder @@ -32,17 +35,17 @@ { var cell = [aCoder decodeObjectForKey:@"NSCell"]; - _minValue = [cell minValue]; - _maxValue = [cell maxValue]; - _increment = [cell increment]; - _valueWraps = [cell valueWraps]; - _autorepeat = [cell autorepeat]; - _objectValue = [cell objectValue]; + self._minValue = [cell minValue]; + self._maxValue = [cell maxValue]; + self._increment = [cell increment]; + self._valueWraps = [cell valueWraps]; + self._autorepeat = [cell autorepeat]; + self._objectValue = [cell objectValue]; // Convert Cocoa normal size to Cappuccino normal size. - _frame.origin.y += 2; - _frame.size.height -= 2; - _bounds.size.height -= 2; + self._frame.origin.y += 2; + self._frame.size.height -= 2; + self._bounds.size.height -= 2; } return self; diff --git a/Tools/nib2cib/NSTableColumn.j b/Tools/nib2cib/NSTableColumn.j index 4ed159db6..49aa57524 100644 --- a/Tools/nib2cib/NSTableColumn.j +++ b/Tools/nib2cib/NSTableColumn.j @@ -20,11 +20,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ - +@import @import @import @import +@import "NSButton.j" +@import "NSImageView.j" +@import "NSLevelIndicator.j" +@import "NSTextField.j" + @implementation CPTableColumn (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder @@ -45,7 +50,7 @@ } else if ([dataViewCell isKindOfClass:[NSTextFieldCell class]]) { - _dataView = [[CPTextField alloc] initWithFrame:CPRectMakeZero()]; + _dataView = [[CPTextField alloc] initWithFrame:CGRectMakeZero()]; var font = [dataViewCell font], selectedFont = nil; @@ -87,7 +92,7 @@ [_dataView setValue:[dataViewCell alignment] forThemeAttribute:@"alignment"]; var headerCell = [aCoder decodeObjectForKey:@"NSHeaderCell"], - headerView = [[_CPTableColumnHeaderView alloc] initWithFrame:CPRectMakeZero()]; + headerView = [[_CPTableColumnHeaderView alloc] initWithFrame:CGRectMakeZero()]; [headerView setStringValue:[headerCell objectValue]]; [headerView setFont:[headerCell font]]; diff --git a/Tools/nib2cib/NSTableHeaderView.j b/Tools/nib2cib/NSTableHeaderView.j index d40980bc4..2ed89607a 100644 --- a/Tools/nib2cib/NSTableHeaderView.j +++ b/Tools/nib2cib/NSTableHeaderView.j @@ -22,6 +22,10 @@ @import +@class Converter +@class CPTableView + + @implementation CPTableHeaderView (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder @@ -33,8 +37,11 @@ // change the default height if (_bounds.size.height === 17) { - _bounds.size.height = 23; - _frame.size.height = 23; + var theme = [[Converter sharedConverter] themes][0], + height = [theme valueForAttributeWithName:@"default-row-height" forClass:CPTableView]; + + _bounds.size.height = height; + _frame.size.height = height; } _drawsColumnLines = YES; diff --git a/Tools/nib2cib/NSTableView.j b/Tools/nib2cib/NSTableView.j index a41342a45..05bbb5ab1 100644 --- a/Tools/nib2cib/NSTableView.j +++ b/Tools/nib2cib/NSTableView.j @@ -20,9 +20,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ - @import +@class Converter + + @implementation CPTableView (NSCoding) - (id)NS_initWithCoder:(CPCoder)aCoder @@ -40,7 +42,13 @@ // Convert xib default to cib default if (_rowHeight == 17) - _rowHeight = 23; + { + var theme = [[Converter sharedConverter] themes][0], + height = [theme valueForAttributeWithName:@"default-row-height" forClass:CPTableView]; + + _rowHeight = height; + } + _headerView = [aCoder decodeObjectForKey:@"NSHeaderView"]; diff --git a/Tools/nib2cib/NSTextField.j b/Tools/nib2cib/NSTextField.j index 8c6d1241d..5f04b8551 100644 --- a/Tools/nib2cib/NSTextField.j +++ b/Tools/nib2cib/NSTextField.j @@ -20,11 +20,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import @import -@import "NSControl.j" @import "NSCell.j" -@import +@import "NSControl.j" @implementation CPTextField (NSCoding) @@ -65,16 +65,13 @@ if ([self isBezeled]) { - [self setFrameOrigin:CGPointMake(frame.origin.x - 6.0, frame.origin.y - 3.0)]; + [self setFrameOrigin:CGPointMake(frame.origin.x - 4.0, frame.origin.y - 3.0)]; [self setFrameSize:CGSizeMake(frame.size.width + 8.0, frame.size.height + 7.0)]; } else { - // Adjust frame for difference between layout->bounds rect in IB - [self setFrame:CGRectInset(frame, 3.0, 0.0)]; - - // Hack to get baselines to align - [self setFrameOrigin:CGPointMake(frame.origin.x, frame.origin.y - 1.0)]; + [self setFrameOrigin:CGPointMake(frame.origin.x + 3.0, frame.origin.y)]; + [self setFrameSize:CGSizeMake(frame.size.width - 6.0, frame.size.height)]; } CPLog.debug("NSTextField: title=\"" + [self stringValue] + "\", placeholder=" + ([cell placeholderString] == null ? "" : '"' + [cell placeholderString] + '"') + ", isBordered=" + [self isBordered] + ", isBezeled=" + [self isBezeled] + ", bezelStyle=" + [self bezelStyle]); diff --git a/Tools/nib2cib/NSTokenField.j b/Tools/nib2cib/NSTokenField.j index b6216d48a..a471542d1 100644 --- a/Tools/nib2cib/NSTokenField.j +++ b/Tools/nib2cib/NSTokenField.j @@ -20,12 +20,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import @import @import "NSControl.j" @import "NSCell.j" @import "NSTextField.j" -@import @implementation CPTokenField (NSCoding) diff --git a/Tools/nib2cib/NSToolbarItem.j b/Tools/nib2cib/NSToolbarItem.j index 892425295..78f88b133 100644 --- a/Tools/nib2cib/NSToolbarItem.j +++ b/Tools/nib2cib/NSToolbarItem.j @@ -23,6 +23,8 @@ @import +@class CPSearchField + NS_CPToolbarItemIdentifierMap = { diff --git a/Tools/nib2cib/NSWindowTemplate.j b/Tools/nib2cib/NSWindowTemplate.j index 7f8df2686..e9cb2adc7 100644 --- a/Tools/nib2cib/NSWindowTemplate.j +++ b/Tools/nib2cib/NSWindowTemplate.j @@ -20,8 +20,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@import @import +@global CP_NSMapClassName var NSBorderlessWindowMask = 0x00, NSTitledWindowMask = 0x01, @@ -58,7 +60,10 @@ var NSBorderlessWindowMask = 0x00, _viewClass = [aCoder decodeObjectForKey:@"NSViewClass"]; // references the toolbar if present (anything else?) _wtFlags = [aCoder decodeIntForKey:@"NSWTFlags"]; _windowAutorecalculatesKeyViewLoop = !!(_wtFlags & NSAutorecalculatesKeyViewLoopWTFlag); - _windowBacking = [aCoder decodeIntForKey:@"NSWindowBacking"]; + + // @TODO: this seems to not be used anywhere, maybe we should safely remove this + // from Antoine the 18 Jan 2013 + // _windowBacking = [aCoder decodeIntForKey:@"NSWindowBacking"]; // Convert NSWindows to CPWindows. _windowClass = CP_NSMapClassName([aCoder decodeObjectForKey:@"NSWindowClass"]); @@ -83,7 +88,7 @@ var NSBorderlessWindowMask = 0x00, (_windowStyleMask & NSDocModalWindowMask ? CPDocModalWindowMask : 0) | (_windowStyleMask & NSHUDBackgroundWindowMask ? CPHUDBackgroundWindowMask : 0); - _windowIsFullBridge = [aCoder decodeObjectForKey:"NSFrameAutosaveName"] === "CPBorderlessBridgeWindowMask"; + _windowIsFullPlatformWindow = [aCoder decodeObjectForKey:@"NSFrameAutosaveName"] === @"CPBorderlessBridgeWindowMask"; /*if (![_windowClass isEqualToString:@"NSPanel"]) _windowRect.origin.y -= [NSMainMenuView menuHeight]; // compensation for the additional menu bar diff --git a/Tools/nib2cib/Nib2Cib.j b/Tools/nib2cib/Nib2Cib.j index 76f79db66..74a91490e 100644 --- a/Tools/nib2cib/Nib2Cib.j +++ b/Tools/nib2cib/Nib2Cib.j @@ -20,15 +20,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import -@import +@import +@import +@import +@import +@import @import -@import "NSFoundation.j" -@import "NSAppKit.j" - @import "Nib2CibKeyedUnarchiver.j" @import "Converter.j" +@import "Converter+Mac.j" var FILE = require("file"), OS = require("os"), @@ -37,7 +38,7 @@ var FILE = require("file"), stream = require("narwhal/term").stream, StaticResource = require("objective-j").StaticResource, - DefaultTheme = "Aristo", + DefaultTheme = "Aristo2", BuildTypes = ["Debug", "Release"], DefaultFile = "MainMenu", AllowedStoredOptionsRe = new RegExp("^(defaultTheme|auxThemes|verbosity|quiet|frameworks|format)$"), @@ -390,6 +391,8 @@ var FILE = require("file"), - (void)printOptions:options { + var option; + for (option in options) { var value = options[option]; @@ -407,6 +410,8 @@ var FILE = require("file"), // Merges properties in sourceOptions into targetOptions, overriding properties in targetOptions - (void)mergeOptions:(JSObject)sourceOptions with:(JSObject)targetOptions { + var option; + for (option in sourceOptions) { // Make sure only a supported option is given diff --git a/Tools/nib2cib/_NSCornerView.j b/Tools/nib2cib/_NSCornerView.j index c7c4184b1..c8944c9e3 100644 --- a/Tools/nib2cib/_NSCornerView.j +++ b/Tools/nib2cib/_NSCornerView.j @@ -21,6 +21,7 @@ */ @import +@import @implementation _CPCornerView (NSCoding) diff --git a/Tools/nib2cib/main.j b/Tools/nib2cib/main.j index 3e5475c9d..b5296c7b8 100644 --- a/Tools/nib2cib/main.j +++ b/Tools/nib2cib/main.j @@ -22,9 +22,33 @@ @import "Nib2Cib.j" +var OS = require("os"), + stream = require("narwhal/term").stream; + + function main(args) { + checkUlimit(); + var nib2cib = [[Nib2Cib alloc] initWithArgs:args]; [nib2cib run]; } + +function checkUlimit() +{ + var minUlimit = 1024, + p = OS.popen(["ulimit", "-n"]); + + if (p.wait() === 0) + { + var limit = p.stdout.read().split("\n")[0]; + + if (Number(limit) < minUlimit) + { + stream.print("\0red(\0bold(WARNING:\0)\0) nib2cib may need to open more files than this terminal session currently allows (" + limit + "). Add the following line to your login configuration file (.bash_profile, .bashrc, etc.), start a new terminal session, then try again:\n"); + stream.print("ulimit -n " + minUlimit); + OS.exit(1); + } + } +} diff --git a/Tools/nib2cib/nib2cib.1 b/Tools/nib2cib/nib2cib.1 index e7498b902..95b33e6df 100644 --- a/Tools/nib2cib/nib2cib.1 +++ b/Tools/nib2cib/nib2cib.1 @@ -131,7 +131,7 @@ this is assumed. .\"----------------------------------------------------------------------------------------- To do its conversions accurately, .Nm -needs to access the themes you use. If you are using the standard Aristo theme, there is +needs to access the themes you use. If you are using the standard Aristo2 theme, there is nothing extra to do. .Pp If you are using a custom default theme, usually you specify this using a @@ -250,7 +250,7 @@ infers the "Resources" directory from the input file, so usually you will not ne this option. .It Fl \-default-theme Ar name Specifies the name of the default theme used by your application. This is only necessary -if you are not using Aristo and you have not specified the default theme in your application's +if you are not using Aristo2 and you have not specified the default theme in your application's Info.plist. For more information see .Sy Themes above. diff --git a/bootstrap.sh b/bootstrap.sh index 21b62cbea..2ce2943f8 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -139,7 +139,7 @@ install_directory="" tmp_zip="/tmp/cappuccino.zip" github_user="cappuccino" -github_ref="v0.9.6" +github_ref="v0.9.7-alpha1" noprompt="" install_capp="" diff --git a/common.jake b/common.jake index 9eded1280..839cce402 100644 --- a/common.jake +++ b/common.jake @@ -540,6 +540,30 @@ global.colorPrint = function(/* String */ message, /* String */ color) stream.print(colorize(message, color)); }; +var minUlimit = 1024; + +global.checkUlimit = function() +{ + var ulimitPath = executableExists("ulimit"); + + if (!ulimitPath) + return; + + var p = OS.popen([ulimitPath, "-n"]); + + if (p.wait() === 0) + { + var limit = p.stdout.read().split("\n")[0]; + + if (Number(limit) < minUlimit) + { + stream.print("\0red(\0bold(ERROR:\0)\0) Cappuccino may need to open more files than this terminal session currently allows (" + limit + "). Add the following line to your login configuration file (.bash_profile, .bashrc, etc.), start a new terminal session, then try again:\n"); + stream.print("ulimit -n " + minUlimit); + OS.exit(1); + } + } +} + // built in tasks diff --git a/narwhal.local.conf b/narwhal.local.conf index 235176eab..9fe4e691b 100644 --- a/narwhal.local.conf +++ b/narwhal.local.conf @@ -1,9 +1,3 @@ if [ -z "$NARWHAL_ENGINE" ] && [ -d "$NARWHAL_HOME/packages/narwhal-jsc" ]; then export NARWHAL_ENGINE=jsc fi - -if [ "$NARWHAL_ENGINE" == jsc ] && [ `ulimit -n` -lt 512 ]; then - # JSC and Narwhal together have some trouble closing files, leading to the Cappuccino - # build process crashing with a "popen error (pipe): Too many open files" error. - ulimit -n 512 -fi diff --git a/version.json b/version.json index 1a254d7f1..9863dbe63 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "version": "0.9.6" + "version": "0.9.7-alpha1" } \ No newline at end of file