Index: trunk/Cocoa/Pester/Source/English.lproj/Alarms.nib/classes.nib
===================================================================
--- trunk/Cocoa/Pester/Source/English.lproj/Alarms.nib/classes.nib	(revision 26)
+++ trunk/Cocoa/Pester/Source/English.lproj/Alarms.nib/classes.nib	(revision 26)
@@ -0,0 +1,14 @@
+{
+    IBClasses = (
+        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
+        {CLASS = NJRScrollView; LANGUAGE = ObjC; SUPERCLASS = NSScrollView; }, 
+        {
+            ACTIONS = {remove = id; }; 
+            CLASS = PSAlarmsController; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {removeButton = NSButton; tableView = NSTableView; }; 
+            SUPERCLASS = NSWindowController; 
+        }
+    ); 
+    IBVersion = 1; 
+}
Index: trunk/Cocoa/Pester/Source/English.lproj/Alarms.nib/info.nib
===================================================================
--- trunk/Cocoa/Pester/Source/English.lproj/Alarms.nib/info.nib	(revision 26)
+++ trunk/Cocoa/Pester/Source/English.lproj/Alarms.nib/info.nib	(revision 26)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+	<key>IBDocumentLocation</key>
+	<string>430 17 356 240 0 0 1280 832 </string>
+	<key>IBFramework Version</key>
+	<string>263.2</string>
+	<key>IBOpenObjects</key>
+	<array>
+		<integer>8</integer>
+	</array>
+	<key>IBSystem Version</key>
+	<string>5S66</string>
+</dict>
+</plist>
Index: trunk/Cocoa/Pester/Source/English.lproj/Credits.html
===================================================================
--- trunk/Cocoa/Pester/Source/English.lproj/Credits.html	(revision 26)
+++ trunk/Cocoa/Pester/Source/English.lproj/Credits.html	(revision 26)
@@ -0,0 +1,1 @@
+<font face="Lucida Grande" size="-1"><b>Icon by</b> <a href="mailto:excellence@global.co.za">Diederik Vemer</a></font>.
Index: trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib
===================================================================
--- trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib	(revision 24)
+++ trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib	(revision 26)
@@ -3,4 +3,10 @@
         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
         {CLASS = NJRDateFormatter; LANGUAGE = ObjC; SUPERCLASS = NSDateFormatter; }, 
+        {
+            ACTIONS = {clearAllEntries = id; removeEntry = id; }; 
+            CLASS = NJRHistoryTrackingComboBox; 
+            LANGUAGE = ObjC; 
+            SUPERCLASS = NSComboBox; 
+        }, 
         {CLASS = NJRIntegerFilter; LANGUAGE = ObjC; SUPERCLASS = NSNumberFormatter; }, 
         {
@@ -20,4 +26,16 @@
             }; 
             SUPERCLASS = NSWindowController; 
+        }, 
+        {
+            CLASS = PSAlarmsController; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {tableView = NSTableView; }; 
+            SUPERCLASS = NSWindowController; 
+        }, 
+        {
+            ACTIONS = {orderFrontAlarmsPanel = id; }; 
+            CLASS = PSApplication; 
+            LANGUAGE = ObjC; 
+            SUPERCLASS = NSApplication; 
         }
     ); 
Index: trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib
===================================================================
--- trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib	(revision 24)
+++ trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib	(revision 26)
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
 <dict>
 	<key>IBDocumentLocation</key>
-	<string>67 8 356 240 0 0 1600 1178 </string>
+	<string>21 12 356 240 0 0 1280 832 </string>
 	<key>IBEditorPositions</key>
 	<dict>
 		<key>29</key>
-		<string>69 252 273 44 0 0 1600 1178 </string>
+		<string>25 266 273 44 0 0 1280 832 </string>
 	</dict>
 	<key>IBFramework Version</key>
-	<string>286.0</string>
+	<string>263.2</string>
 	<key>IBOpenObjects</key>
 	<array>
+		<integer>21</integer>
 		<integer>29</integer>
-		<integer>21</integer>
 	</array>
 	<key>IBSystem Version</key>
-	<string>6D52</string>
+	<string>5S66</string>
 </dict>
 </plist>
Index: trunk/Cocoa/Pester/Source/English.lproj/Notifier.nib/info.nib
===================================================================
--- trunk/Cocoa/Pester/Source/English.lproj/Notifier.nib/info.nib	(revision 24)
+++ trunk/Cocoa/Pester/Source/English.lproj/Notifier.nib/info.nib	(revision 26)
@@ -1,16 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
 <dict>
 	<key>IBDocumentLocation</key>
-	<string>571 131 356 240 0 0 1600 1178 </string>
+	<string>424 83 356 240 0 0 1280 832 </string>
 	<key>IBFramework Version</key>
-	<string>286.0</string>
-	<key>IBOpenObjects</key>
-	<array>
-		<integer>5</integer>
-	</array>
+	<string>263.2</string>
 	<key>IBSystem Version</key>
-	<string>6D52</string>
+	<string>5S66</string>
 </dict>
 </plist>
Index: trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.h
===================================================================
--- trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.h	(revision 26)
+++ trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.h	(revision 26)
@@ -0,0 +1,19 @@
+//
+//  NJRHistoryTrackingComboBox.h
+//  DockCam
+//
+//  Created by Nicholas Riley on Fri Jun 28 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface NJRHistoryTrackingComboBox : NSComboBox {
+
+}
+
+- (IBAction)removeEntry:(id)sender;
+- (IBAction)clearAllEntries:(id)sender;
+
+@end
Index: trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.m
===================================================================
--- trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.m	(revision 26)
+++ trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.m	(revision 26)
@@ -0,0 +1,75 @@
+//
+//  NJRHistoryTrackingComboBox.m
+//  DockCam
+//
+//  Created by Nicholas Riley on Fri Jun 28 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import "NJRHistoryTrackingComboBox.h"
+
+#define NJRHistoryTrackingComboBoxMaxItems 10
+
+@implementation NJRHistoryTrackingComboBox
+
+- (NSString *)_defaultKey;
+{
+    NSAssert([self tag] != 0, @"CanÕt track history for combo box with tag 0: please set a tag");
+    return [NSString stringWithFormat: @"NJRHistoryTrackingComboBox tag %d", [self tag]];
+}
+
+- (void)awakeFromNib;
+{
+    NSAssert([self tag] != 0, @"CanÕt track history for combo box with tag 0: please set a tag");
+    [[NSNotificationCenter defaultCenter] addObserver: self
+                                             selector: @selector(textDidEndEditing:)
+                                                 name: NSTextDidEndEditingNotification
+                                               object: self];
+    [self removeAllItems];
+    [self addItemsWithObjectValues: [[NSUserDefaults standardUserDefaults] stringArrayForKey: [self _defaultKey]]];
+    [self setItemHeight: [self itemHeight] + 2];
+}
+
+- (void)_writeHistory;
+{
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    [defaults setObject: [self objectValues] forKey: [self _defaultKey]];
+    [defaults synchronize];
+}
+
+- (IBAction)removeEntry:(id)sender;
+{
+    int idx = [self indexOfSelectedItem];
+    if (idx == -1) {
+        [self selectItemWithObjectValue: [self stringValue]];
+        idx = [self indexOfSelectedItem];
+    }
+    if (idx != -1) [self removeItemAtIndex: idx];
+    [self setStringValue: @""];
+    [self _writeHistory];
+}
+
+- (IBAction)clearAllEntries:(id)sender;
+{
+    [self removeAllItems];
+    [self setStringValue: @""];
+    [self _writeHistory];
+}
+
+- (BOOL)textShouldEndEditing:(NSText *)textObject;
+{
+    NSString *newValue = [self stringValue];
+    int oldIndex = [self indexOfItemWithObjectValue: newValue];
+    [self removeItemWithObjectValue: newValue];
+    [self insertItemWithObjectValue: newValue atIndex: 0];
+    if (oldIndex == NSNotFound) {
+        int numItems = [self numberOfItems];
+        while (numItems-- > NJRHistoryTrackingComboBoxMaxItems) {
+            [self removeItemAtIndex: numItems - 1];
+        }
+    }
+    [self _writeHistory];
+    return YES;
+}
+
+@end
Index: trunk/Cocoa/Pester/Source/NSTableView-NJRExtensions.h
===================================================================
--- trunk/Cocoa/Pester/Source/NSTableView-NJRExtensions.h	(revision 26)
+++ trunk/Cocoa/Pester/Source/NSTableView-NJRExtensions.h	(revision 26)
@@ -0,0 +1,16 @@
+//
+//  NSTableView-NJRExtensions.h
+//  HostLauncher
+//
+//  Created by Nicholas Riley on Mon Apr 22 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface NSTableView (NJRExtensions)
+
+- (float)cellHeight;
+
+@end
Index: trunk/Cocoa/Pester/Source/NSTableView-NJRExtensions.m
===================================================================
--- trunk/Cocoa/Pester/Source/NSTableView-NJRExtensions.m	(revision 26)
+++ trunk/Cocoa/Pester/Source/NSTableView-NJRExtensions.m	(revision 26)
@@ -0,0 +1,25 @@
+//
+//  NSTableView-NJRExtensions.m
+//  HostLauncher
+//
+//  Created by Nicholas Riley on Mon Apr 22 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import "NSTableView-NJRExtensions.h"
+
+
+@implementation NSTableView (NJRExtensions)
+
+- (float)cellHeight;
+{
+    return [self rowHeight] + [self intercellSpacing].height;
+}
+
+// causes NSTableView to get keyboard focus (with thanks to Pierre-Olivier Latour)
+- (BOOL)needsPanelToBecomeKey
+{
+    return YES;
+}
+
+@end
Index: trunk/Cocoa/Pester/Source/PSAlarm.h
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarm.h	(revision 24)
+++ trunk/Cocoa/Pester/Source/PSAlarm.h	(revision 26)
@@ -10,8 +10,11 @@
 
 typedef enum {
-    PSAlarmInvalid, PSAlarmInterval, PSAlarmDate
+    PSAlarmInvalid, PSAlarmInterval, PSAlarmDate, PSAlarmSet
 } PSAlarmType;
 
-@interface PSAlarm : NSObject {
+extern NSString * const PSAlarmTimerSetNotification;
+extern NSString * const PSAlarmTimerExpiredNotification;
+
+@interface PSAlarm : NSObject <NSCoding> {
     PSAlarmType alarmType;
     NSCalendarDate *alarmDate;
@@ -19,8 +22,9 @@
     NSString *alarmMessage;
     NSString *invalidMessage;
+    NSTimer *timer;
 }
 
 - (void)setInterval:(NSTimeInterval)anInterval;
-- (void)setForDateAtTime:(NSDate *)dateTime;
+- (void)setForDateAtTime:(NSCalendarDate *)dateTime;
 - (void)setForDate:(NSDate *)date atTime:(NSDate *)time;
 - (void)setMessage:(NSString *)aMessage;
@@ -28,8 +32,11 @@
 - (NSDate *)date;
 - (NSTimeInterval)interval;
+- (NSString *)message;
+- (NSComparisonResult)compare:(PSAlarm *)otherAlarm;
 
 - (BOOL)isValid;
-- (NSString *)message;
 - (NSString *)invalidMessage;
 
+- (BOOL)setTimer;
+
 @end
Index: trunk/Cocoa/Pester/Source/PSAlarm.m
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarm.m	(revision 24)
+++ trunk/Cocoa/Pester/Source/PSAlarm.m	(revision 26)
@@ -9,6 +9,19 @@
 #import "PSAlarm.h"
 
+NSString * const PSAlarmTimerSetNotification = @"PSAlarmTimerSetNotification";
+NSString * const PSAlarmTimerExpiredNotification = @"PSAlarmTimerExpiredNotification";
 
 @implementation PSAlarm
+
+- (void)dealloc;
+{
+    // NSLog(@"DEALLOC %@", self);
+    alarmType = PSAlarmInvalid;
+    [alarmDate release]; alarmDate = nil;
+    [alarmMessage release]; alarmMessage = nil;
+    [invalidMessage release]; invalidMessage = nil;
+    [timer release]; timer = nil;
+    [super dealloc];
+}
 
 - (void)_setAlarmDate:(NSCalendarDate *)aDate;
@@ -54,4 +67,5 @@
         [self _invalidate: @"Please specify an alarm interval."]; return;
     }
+    [self _setDateFromInterval];
 }
 
@@ -66,11 +80,7 @@
 }
 
-- (void)setForDateAtTime:(NSDate *)dateTime;
-{
-    if (dateTime != alarmDate) {
-        [alarmDate release];
-        alarmDate = nil;
-        alarmDate = [dateTime retain];
-    }
+- (void)setForDateAtTime:(NSCalendarDate *)dateTime;
+{
+    [self _setAlarmDate: dateTime];
     [self _setIntervalFromDate];
 }
@@ -106,5 +116,6 @@
 - (BOOL)isValid;
 {
-    return (alarmType == PSAlarmInvalid);
+    if (alarmType == PSAlarmDate) [self _setIntervalFromDate];
+    return (alarmType != PSAlarmInvalid);
 }
 
@@ -127,4 +138,5 @@
 - (NSString *)invalidMessage;
 {
+    if (invalidMessage == nil) return @"";
     return invalidMessage;
 }
@@ -138,7 +150,109 @@
 - (NSTimeInterval)interval;
 {
+    if (alarmType == PSAlarmSet) return [timer timeInterval]; // XXX counts down?
     if (alarmType == PSAlarmDate) [self _setIntervalFromDate];
     return alarmInterval;
 }
 
+- (BOOL)setTimer;
+{
+    switch (alarmType) {
+        case PSAlarmDate: if (![self isValid]) return NO;
+        case PSAlarmInterval:
+            timer = [NSTimer scheduledTimerWithTimeInterval: alarmInterval
+                                                     target: self
+                                                   selector: @selector(_timerExpired:)
+                                                   userInfo: nil
+                                                    repeats: NO];
+            if (timer != nil) {
+                alarmType = PSAlarmSet;
+                [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmTimerSetNotification object: self];
+                return YES;
+            }
+        default:
+            return NO;
+    }
+}
+
+- (void)cancel;
+{
+    [timer release]; timer = nil;
+}
+
+- (void)_timerExpired:(NSTimer *)aTimer;
+{
+    [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmTimerExpiredNotification object: self];
+    timer = nil;
+    [timer release];
+}
+
+- (NSString *)_alarmTypeString;
+{
+    switch (alarmType) {
+        case PSAlarmDate: return @"PSAlarmDate";
+        case PSAlarmInterval: return @"PSAlarmInterval";
+        case PSAlarmSet: return @"PSAlarmSet";
+        case PSAlarmInvalid: return @"PSAlarmInvalid";
+        default: return [NSString stringWithFormat: @"<unknown: %u>", alarmType];
+    }
+}
+
+- (NSComparisonResult)compare:(PSAlarm *)otherAlarm;
+{
+    return [[self date] compare: [otherAlarm date]];
+}
+
+- (NSString *)description;
+{
+    return [NSString stringWithFormat: @"%@: type %@ date %@ interval %.1f%@",
+        [super description], [self _alarmTypeString], alarmDate, alarmInterval,
+        (alarmType == PSAlarmInvalid ?
+         [NSString stringWithFormat: @"\ninvalid message: %@", invalidMessage]
+        : (alarmType == PSAlarmSet ?
+           [NSString stringWithFormat: @"\ntimer: %@", timer] : @""))];
+}
+
+- (void)encodeWithCoder:(NSCoder *)coder;
+{
+    if (![self isValid]) return;
+    [coder encodeValueOfObjCType: @encode(PSAlarmType) at: &alarmType];
+    switch (alarmType) {
+        case PSAlarmDate:
+        case PSAlarmSet:
+            [coder encodeObject: alarmDate];
+            break;
+        case PSAlarmInterval:
+            [coder encodeValueOfObjCType: @encode(NSTimeInterval) at: &alarmInterval];
+            break;
+        default:
+            break;
+    }
+    [coder encodeObject: alarmMessage];
+    return;
+}
+
+- (id)initWithCoder:(NSCoder *)coder;
+{
+    if ( (self = [super init]) != nil) {
+        [coder decodeValueOfObjCType: @encode(PSAlarmType) at: &alarmType];
+        switch (alarmType) {
+            case PSAlarmDate:
+            case PSAlarmSet:
+                [self _setAlarmDate: [coder decodeObject]];
+                break;
+            case PSAlarmInterval:
+                [coder decodeValueOfObjCType: @encode(NSTimeInterval) at: &alarmInterval];
+                break;
+            default:
+                break;
+        }
+        [self setMessage: [coder decodeObject]];
+        if (alarmType == PSAlarmSet) {
+            alarmType = PSAlarmDate;
+            [self setTimer];
+        }
+    }
+    return self;
+}
+
 @end
Index: trunk/Cocoa/Pester/Source/PSAlarmNotifierController.h
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarmNotifierController.h	(revision 24)
+++ trunk/Cocoa/Pester/Source/PSAlarmNotifierController.h	(revision 26)
@@ -9,4 +9,5 @@
 #import <AppKit/AppKit.h>
 
+@class PSAlarm;
 
 @interface PSAlarmNotifierController : NSWindowController {
@@ -15,4 +16,8 @@
 }
 
++ (PSAlarmNotifierController *)controllerWithTimerExpiredNotification:(NSNotification *)notification;
+
+- (id)initWithAlarm:(PSAlarm *)alarm;
+
 - (IBAction)close:(NSButton *)sender;
 
Index: trunk/Cocoa/Pester/Source/PSAlarmNotifierController.m
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarmNotifierController.m	(revision 24)
+++ trunk/Cocoa/Pester/Source/PSAlarmNotifierController.m	(revision 26)
@@ -12,12 +12,17 @@
 @implementation PSAlarmNotifierController
 
-- (id)initWithTimer:(NSTimer *)timer;
+// XXX should use NSNonactivatingPanelMask on 10.2
+
++ (PSAlarmNotifierController *)controllerWithTimerExpiredNotification:(NSNotification *)notification;
+{
+    return [[self alloc] initWithAlarm: [notification object]];
+}
+
+- (id)initWithAlarm:(PSAlarm *)alarm;
 {
     if ([self initWithWindowNibName: @"Notifier"]) {
-        PSAlarm *alarm = [timer userInfo];
-
         [[self window] center];
         [messageField setStringValue: [alarm message]];
-        [dateField setObjectValue: [timer fireDate]];
+        [dateField setObjectValue: [alarm date]];
         [NSApp activateIgnoringOtherApps: YES];
         [[self window] makeKeyAndOrderFront: nil];
Index: trunk/Cocoa/Pester/Source/PSAlarmSetController.h
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarmSetController.h	(revision 24)
+++ trunk/Cocoa/Pester/Source/PSAlarmSetController.h	(revision 26)
@@ -20,7 +20,8 @@
     IBOutlet NSTextField *timeSummary;
     IBOutlet NSButton *setButton;
+    NSString *status;
+    NSTimer *updateTimer;
     PSAlarm *alarm;
-    NSString *status;
-    BOOL isIn;
+    BOOL isInterval;
 }
 
Index: trunk/Cocoa/Pester/Source/PSAlarmSetController.m
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarmSetController.m	(revision 24)
+++ trunk/Cocoa/Pester/Source/PSAlarmSetController.m	(revision 26)
@@ -28,4 +28,9 @@
 // XXX please expose the iCal controls!
 
+@interface PSAlarmSetController (Private)
+
+- (void)_stopUpdateTimer;
+
+@end
 
 @implementation PSAlarmSetController
@@ -33,22 +38,17 @@
 - (void)awakeFromNib;
 {
-    // NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    // XXX bugs prevent this code from working properly on Jaguar
+    /* NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    [timeOfDay setFormatter: [[NJRDateFormatter alloc] initWithDateFormat: [defaults objectForKey: NSTimeFormatString] allowNaturalLanguage: YES]];
+    [timeDate setFormatter: [[NJRDateFormatter alloc] initWithDateFormat: [defaults objectForKey: NSShortDateFormatString] allowNaturalLanguage: YES]]; */
+    alarm = [[PSAlarm alloc] init];
     [[self window] center];
-    // XXX bugs prevent these from working (sigh...)
-    // [timeOfDay setFormatter: [[NJRDateFormatter alloc] initWithDateFormat: [defaults objectForKey: NSTimeFormatString] allowNaturalLanguage: YES]];
-    // [timeDate setFormatter: [[NJRDateFormatter alloc] initWithDateFormat: [defaults objectForKey: NSShortDateFormatString] allowNaturalLanguage: YES]];
     [self inAtChanged: nil];
-    alarm = [[PSAlarm alloc] init];
     [[self window] makeKeyAndOrderFront: nil];
 }
 
-- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag;
-{
-    if (!flag) [self showWindow: self];
-    return YES;
-}
-
 - (void)setStatus:(NSString *)aString;
 {
+    // NSLog(@"%@", alarm);
     if (aString != status) {
         [status release]; status = nil;
@@ -74,5 +74,5 @@
 - (void)setAlarmDateAndInterval:(id)sender;
 {
-    if (isIn) {
+    if (isInterval) {
         [alarm setInterval:
             [[self objectValueForTextField: timeInterval whileEditing: sender] intValue] *
@@ -84,19 +84,36 @@
 }
 
-// XXX should set timer to update status every second while configuration is valid, application is in front, and isIn
+- (void)_stopUpdateTimer;
+{
+    if ([updateTimer isValid]) [updateTimer invalidate];
+    [updateTimer release]; updateTimer = nil;
+}
 
 // XXX use OACalendar?
 
-// Be careful not to hook up any of the text fields' actions to update: because we handle them in controlTextDidChange: instead.  If we could get the active text field somehow via public API (guess we could use controlTextDidBegin/controlTextDidEndEditing) then we'd not need to overload the update sender for this purpose.  Or, I guess, we could use another method other than update.  It should not be this hard to implement what is essentially standard behavior.  Sigh.
-
 - (IBAction)updateDateDisplay:(id)sender;
 {
+    // NSLog(@"updateDateDisplay: %@", sender);
     if ([alarm isValid]) {
         [self setStatus: [[alarm date] descriptionWithCalendarFormat: @"Alarm will be set for %X on %x" timeZone: nil locale: nil]];
         [setButton setEnabled: YES];
+        if (updateTimer == nil || ![updateTimer isValid]) {
+            // XXX this logic (and the timer) should really go into PSAlarm, to send notifications for status updates instead.  Timer starts when people are watching, stops when people aren't.
+            // NSLog(@"setting timer");
+            if (isInterval) {
+                updateTimer = [NSTimer scheduledTimerWithTimeInterval: 1 target: self selector: @selector(updateDateDisplay:) userInfo: nil repeats: YES];
+            } else {
+                updateTimer = [NSTimer scheduledTimerWithTimeInterval: [alarm interval] target: self selector: @selector(updateDateDisplay:) userInfo: nil repeats: NO];
+            }
+            [updateTimer retain];
+        }
     } else {
         [setButton setEnabled: NO];
-    }
-}
+        [self setStatus: [alarm invalidMessage]];
+        [self _stopUpdateTimer];
+    }
+}
+
+// Be careful not to hook up any of the text fields' actions to update: because we handle them in controlTextDidChange: instead.  If we could get the active text field somehow via public API (guess we could use controlTextDidBegin/controlTextDidEndEditing) then we'd not need to overload the update sender for this purpose.  Or, I guess, we could use another method other than update.  It should not be this hard to implement what is essentially standard behavior.  Sigh.
 
 - (IBAction)update:(id)sender;
@@ -109,15 +126,54 @@
 - (IBAction)inAtChanged:(id)sender;
 {
-    isIn = ([inAtMatrix selectedTag] == 0);
-    [timeInterval setEnabled: isIn];
-    [timeIntervalUnits setEnabled: isIn];
-    [timeOfDay setEnabled: !isIn];
-    [timeDate setEnabled: !isIn];
-    [timeDateCompletions setEnabled: !isIn];
+    isInterval = ([inAtMatrix selectedTag] == 0);
+    [timeInterval setEnabled: isInterval];
+    [timeIntervalUnits setEnabled: isInterval];
+    [timeOfDay setEnabled: !isInterval];
+    [timeDate setEnabled: !isInterval];
+    [timeDateCompletions setEnabled: !isInterval];
     if (sender != nil)
-        [[self window] makeFirstResponder: isIn ? timeInterval : timeOfDay];
+        [[self window] makeFirstResponder: isInterval ? timeInterval : timeOfDay];
     // NSLog(@"UPDATING FROM inAtChanged");
     [self update: nil];
 }
+
+- (IBAction)dateCompleted:(NSPopUpButton *)sender;
+{
+    [timeDate setStringValue: [sender titleOfSelectedItem]];
+    [self update: sender];
+}
+
+// to ensure proper updating of interval, this should be the only method by which the window is shown (e.g. from the Alarm menu)
+- (IBAction)showWindow:(id)sender;
+{
+    if (![[self window] isVisible]) {
+        // NSLog(@"UPDATING FROM showWindow");
+        [self update: self];
+    }
+    [super showWindow: sender];
+}
+
+- (IBAction)setAlarm:(NSButton *)sender;
+{
+    PSAlarmNotifierController *notifier = [PSAlarmNotifierController alloc];
+    if (notifier == nil) {
+        [self setStatus: @"Unable to set alarm."];
+        return;
+    }
+    [self setAlarmDateAndInterval: sender];
+    [alarm setMessage: [messageField stringValue]];
+    if (![alarm setTimer]) {
+        [self setStatus: [@"Unable to set alarm.  " stringByAppendingString: [alarm invalidMessage]]];
+        return;
+    }
+    [self setStatus: [[alarm date] descriptionWithCalendarFormat: @"Alarm set for %x at %X" timeZone: nil locale: nil]];
+    [[self window] close];
+    [alarm release];
+    alarm = [[PSAlarm alloc] init];
+}
+
+@end
+
+@implementation PSAlarmSetController (NSControlSubclassDelegate)
 
 - (void)control:(NSControl *)control didFailToValidatePartialString:(NSString *)string errorDescription:(NSString *)error;
@@ -140,40 +196,17 @@
 }
 
-- (IBAction)dateCompleted:(NSPopUpButton *)sender;
-{
-    [timeDate setStringValue: [sender titleOfSelectedItem]];
-}
-
-// to ensure proper updating of interval, this should be the only method by which the window is shown (e.g. from the Alarm menu)
-- (IBAction)showWindow:(id)sender;
-{
-    if (![[self window] isVisible]) {
-        // NSLog(@"UPDATING FROM showWindow");
-        [self update: self];
-    }
-    [super showWindow: sender];
-    
-}
-
-- (IBAction)setAlarm:(NSButton *)sender;
-{
-    PSAlarmNotifierController *notifier = [PSAlarmNotifierController alloc];
-    NSTimer *timer;
-    NSTimeInterval interval;
-    [self setAlarmDateAndInterval: sender];
-    if (notifier == nil || ( (interval = [alarm interval]) == 0)) {
-        [self setStatus: @"Unable to set alarm (time just passed?)"];
-        return;
-    }
-    [alarm setMessage: [messageField stringValue]];
-    // XXX should use alarm object instead for userInfo
-    timer = [NSTimer scheduledTimerWithTimeInterval: interval
-                                             target: notifier
-                                           selector: @selector(initWithTimer:)
-                                           userInfo: alarm
-                                            repeats: NO];
-    [self setStatus: [[alarm date] descriptionWithCalendarFormat: @"Alarm set for %x at %X" timeZone: nil locale: nil]];
-    [[self window] close];
-}
+@end
+
+@implementation PSAlarmSetController (NSWindowNotifications)
+
+- (void)windowWillClose:(NSNotification *)notification;
+{
+    // NSLog(@"stopping update timer");
+    [self _stopUpdateTimer];
+}
+
+@end
+
+@implementation PSAlarmSetController (NSControlSubclassNotifications)
 
 // called because we're the delegate
@@ -186,2 +219,12 @@
 
 @end
+
+@implementation PSAlarmSetController (NSApplicationDelegate)
+
+- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag;
+{
+    if (!flag) [self showWindow: self];
+    return YES;
+}
+
+@end
Index: trunk/Cocoa/Pester/Source/PSAlarms.h
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarms.h	(revision 26)
+++ trunk/Cocoa/Pester/Source/PSAlarms.h	(revision 26)
@@ -0,0 +1,27 @@
+//
+//  PSAlarms.h
+//  Pester
+//
+//  Created by Nicholas Riley on Fri Oct 11 2002.
+//  Copyright (c) 2002 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+extern NSString * const PSAlarmsDidChangeNotification;
+
+@class PSAlarm;
+
+@interface PSAlarms : NSObject {
+    NSMutableArray *alarms;
+}
+
++ (void)setUp;
++ (PSAlarms *)allAlarms;
+
+- (int)alarmCount;
+- (PSAlarm *)alarmAtIndex:(int)index;
+- (void)removeAlarmAtIndex:(int)index;
+- (void)removeAlarmsAtIndices:(NSArray *)indices;
+
+@end
Index: trunk/Cocoa/Pester/Source/PSAlarms.m
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarms.m	(revision 26)
+++ trunk/Cocoa/Pester/Source/PSAlarms.m	(revision 26)
@@ -0,0 +1,117 @@
+//
+//  PSAlarms.m
+//  Pester
+//
+//  Created by Nicholas Riley on Fri Oct 11 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import "PSAlarms.h"
+#import "PSAlarm.h"
+
+NSString * const PSAlarmsDidChangeNotification = @"PSAlarmsDidChangeNotification";
+
+static NSString * const PSPendingAlarms = @"Pester pending alarms"; // NSUserDefaults key
+
+static PSAlarms *PSAlarmsAllAlarms = nil;
+
+@implementation PSAlarms
+
++ (void)setUp; // XXX if you can think of a better name, please be my guest.
+{
+    if (PSAlarmsAllAlarms == nil) {
+        PSAlarmsAllAlarms = [[self alloc] init];
+    }
+}
+
++ (PSAlarms *)allAlarms;
+{
+    return PSAlarmsAllAlarms;
+}
+
+- (id)init;
+{
+    if ( (self = [super init]) != nil) {
+        NS_DURING
+            NSData *alarmData = [[NSUserDefaults standardUserDefaults] dataForKey: PSPendingAlarms];
+            if (alarmData != nil) {
+                alarms = [[NSUnarchiver unarchiveObjectWithData: alarmData] retain];
+            }
+        NS_HANDLER
+            // XXX need better error handling here, don't stomp on data
+            NSLog(@"An error occurred while attempting to restore the alarm list: %@", localException);
+        NS_ENDHANDLER
+        if (alarms == nil) alarms = [[NSMutableArray alloc] init];
+        [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmTimerSet:) name: PSAlarmTimerSetNotification object: nil];
+        [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmTimerExpired:) name: PSAlarmTimerExpiredNotification object: nil];
+    }
+    return self;
+}
+
+- (void)dealloc;
+{
+    [alarms dealloc];
+    [[NSNotificationCenter defaultCenter] removeObserver: self];
+    [super dealloc];
+}
+
+- (void)_changed;
+{
+    NSData *alarmData;
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    [alarms sortUsingSelector: @selector(compare:)];
+    alarmData = [NSArchiver archivedDataWithRootObject: alarms];
+    [defaults setObject: alarmData forKey: PSPendingAlarms];
+    [defaults synchronize];
+    // NSLog(@"PSAlarms changed: %@", alarms);
+    [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmsDidChangeNotification object: self];
+}
+
+- (void)_alarmTimerExpired:(NSNotification *)notification;
+{
+    [alarms removeObject: [notification object]];
+    [self _changed];
+}
+
+- (void)_alarmTimerSet:(NSNotification *)notification;
+{
+    [alarms addObject: [notification object]];
+    [self _changed];
+}
+
+- (int)alarmCount;
+{
+    return [alarms count];
+}
+
+- (PSAlarm *)alarmAtIndex:(int)index;
+{
+    return [alarms objectAtIndex: index];
+}
+
+- (void)removeAlarmAtIndex:(int)index;
+{
+    [alarms removeObjectAtIndex: index];
+}
+
+- (void)removeAlarmsAtIndices:(NSArray *)indices;
+{
+    NSEnumerator *e = [indices objectEnumerator];
+    NSNumber *n;
+    int indexCount = [indices count], i = 0;
+    int *indexArray = (int *)malloc(indexCount * sizeof(int));
+    NS_DURING
+        while ( (n = [e nextObject]) != nil) {
+            indexArray[i] = [n intValue];
+            i++;
+        }
+        [alarms removeObjectsFromIndices: indexArray numIndices: indexCount];
+        [self _changed];
+    NS_HANDLER
+        free(indexArray);
+        [self _changed];
+        [localException raise];
+    NS_ENDHANDLER
+}
+
+@end
Index: trunk/Cocoa/Pester/Source/PSAlarmsController.h
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarmsController.h	(revision 26)
+++ trunk/Cocoa/Pester/Source/PSAlarmsController.h	(revision 26)
@@ -0,0 +1,20 @@
+//
+//  PSAlarmsController.h
+//  Pester
+//
+//  Created by Nicholas Riley on Fri Oct 11 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import <AppKit/AppKit.h>
+#import "PSAlarms.h"
+
+@interface PSAlarmsController : NSWindowController {
+    IBOutlet NSTableView *tableView;
+    IBOutlet NSButton *removeButton;
+    PSAlarms *alarms;
+}
+
+- (IBAction)remove:(id)sender;
+
+@end
Index: trunk/Cocoa/Pester/Source/PSAlarmsController.m
===================================================================
--- trunk/Cocoa/Pester/Source/PSAlarmsController.m	(revision 26)
+++ trunk/Cocoa/Pester/Source/PSAlarmsController.m	(revision 26)
@@ -0,0 +1,107 @@
+//
+//  PSAlarmsController.m
+//  Pester
+//
+//  Created by Nicholas Riley on Fri Oct 11 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import "PSAlarmsController.h"
+#import "PSAlarm.h"
+#import "NSTableView-NJRExtensions.h"
+
+
+@implementation PSAlarmsController
+
+- (id)init;
+{
+    if ( (self = [super initWithWindowNibName: @"Alarms"]) != nil) {
+        alarms = [PSAlarms allAlarms];
+        [[self window] center];
+        [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(alarmsChanged) name: PSAlarmsDidChangeNotification object: alarms];
+        [tableView setAutosaveName: @"Alarm list"];
+        [tableView setAutosaveTableColumns: YES];
+        [tableView noteNumberOfRowsChanged];
+        [[self window] makeFirstResponder: tableView];
+    }
+    return self;
+}
+
+- (void)alarmsChanged; // XXX fix autoselection to be more reasonable, see whatever I did in that _Learning Cocoa_ project I think
+{
+    [tableView reloadData];
+    [tableView deselectAll: self];
+}
+
+- (IBAction)remove:(id)sender;
+{
+    [alarms removeAlarmsAtIndices: [[tableView selectedRowEnumerator] allObjects]];
+}
+
+@end
+
+@implementation PSAlarmsController (NSTableDataSource)
+
+- (int)numberOfRowsInTableView:(NSTableView *)tableView;
+{
+    return [alarms alarmCount];
+}
+
+- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row;
+{
+    PSAlarm *alarm = [alarms alarmAtIndex: row];
+
+    if ([[tableColumn identifier] isEqualToString: @"message"]) return [alarm message];
+    else {
+        NSCalendarDate *date = [alarm date];
+        if ([[tableColumn identifier] isEqualToString: @"date"]) return [date descriptionWithCalendarFormat: [[NSUserDefaults standardUserDefaults] stringForKey: NSShortDateFormatString]];
+        if ([[tableColumn identifier] isEqualToString: @"time"]) {
+            if (date == nil) return @"ÇexpiredÈ";
+            return [date descriptionWithCalendarFormat: @"%1I:%M:%S%p"]; // XXX regular format doesn't work
+        }
+    }
+    return nil;
+}
+@end
+
+@implementation PSAlarmsController (NSTableViewNotifications)
+
+- (void)tableViewSelectionDidChange:(NSNotification *)aNotification;
+{
+    [removeButton setEnabled: ([tableView numberOfSelectedRows] != 0)];
+}
+
+@end
+
+@implementation PSAlarmsController (NSWindowDelegate)
+
+- (NSRect)windowWillUseStandardFrame:(NSWindow *)sender defaultFrame:(NSRect)defaultFrame;
+{
+    NSWindow *window = [tableView window];
+    NSRect frame = [window frame];
+    NSScrollView *scrollView = [tableView enclosingScrollView];
+    float displayedHeight = [[scrollView contentView] bounds].size.height;
+    float heightChange = [[scrollView documentView] bounds].size.height - displayedHeight;
+    float heightExcess;
+
+    if (heightChange >= 0 && heightChange <= 1) {
+        // either the window is already optimal size, or it's too big
+        float rowHeight = [tableView cellHeight];
+        heightChange = (rowHeight * [tableView numberOfRows]) - displayedHeight;
+    }
+
+    frame.size.height += heightChange;
+
+    if ( (heightExcess = [window minSize].height - frame.size.height) > 1 ||
+         (heightExcess = [window maxSize].height - frame.size.height) < 1) {
+        heightChange += heightExcess;
+        frame.size.height += heightExcess;
+    }
+
+    frame.origin.y -= heightChange;
+
+    return frame;
+}
+
+@end
+
Index: trunk/Cocoa/Pester/Source/PSApplication.h
===================================================================
--- trunk/Cocoa/Pester/Source/PSApplication.h	(revision 26)
+++ trunk/Cocoa/Pester/Source/PSApplication.h	(revision 26)
@@ -0,0 +1,19 @@
+//
+//  PSApplication.h
+//  Pester
+//
+//  Created by Nicholas Riley on Fri Oct 11 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import <AppKit/AppKit.h>
+
+@class PSAlarmsController;
+
+@interface PSApplication : NSApplication {
+    PSAlarmsController *alarmsController;
+}
+
+- (IBAction)orderFrontAlarmsPanel:(id)sender;
+
+@end
Index: trunk/Cocoa/Pester/Source/PSApplication.m
===================================================================
--- trunk/Cocoa/Pester/Source/PSApplication.m	(revision 26)
+++ trunk/Cocoa/Pester/Source/PSApplication.m	(revision 26)
@@ -0,0 +1,32 @@
+//
+//  PSApplication.m
+//  Pester
+//
+//  Created by Nicholas Riley on Fri Oct 11 2002.
+//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
+//
+
+#import "PSApplication.h"
+#import "PSAlarmsController.h"
+#import "PSAlarmNotifierController.h"
+#import "PSAlarm.h"
+#import "PSAlarms.h"
+
+@implementation PSApplication
+
+- (void)finishLaunching;
+{
+    [[NSNotificationCenter defaultCenter] addObserver: [PSAlarmNotifierController class] selector: @selector(controllerWithTimerExpiredNotification:) name: PSAlarmTimerExpiredNotification object: nil];
+    [PSAlarms setUp];
+    [super finishLaunching];
+}
+
+- (IBAction)orderFrontAlarmsPanel:(id)sender;
+{
+    if (alarmsController == nil) {
+        alarmsController = [[PSAlarmsController alloc] init];
+    }
+    [alarmsController showWindow: self];
+}
+
+@end
Index: trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser
===================================================================
--- trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser	(revision 24)
+++ trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser	(revision 26)
@@ -6,7 +6,7 @@
 		activeTarget = 29B97326FDCFA39411CA2CEA;
 		addToTargets = (
-			29B97326FDCFA39411CA2CEA,
 		);
 		breakpoints = (
+			F596730D0355CFA301407038,
 		);
 		executables = (
@@ -14,126 +14,5 @@
 		);
 		perUserDictionary = {
-			PBXPerProjectTemplateStateSaveDate = 55895130;
-			"PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
-				ContentSize = "{668, 621}";
-				LeftSlideOut = {
-					Collapsed = NO;
-					Frame = "{{0, 0}, {668, 621}}";
-					Split0 = {
-						Collapsed = NO;
-						Frame = "{{0, 0}, {668, 621}}";
-						Split0 = {
-							Frame = "{{0, 0}, {668, 621}}";
-						};
-						SplitCount = 1;
-						Tab0 = {
-							Debugger = {
-								Collapsed = NO;
-								Frame = "{{0, 0}, {484, 208}}";
-								Split0 = {
-									Frame = "{{0, 24}, {484, 184}}";
-									Split0 = {
-										Frame = "{{0, 0}, {236, 184}}";
-									};
-									Split1 = {
-										DebugVariablesTableConfiguration = (
-											Name,
-											123,
-											Value,
-											85,
-											Summary,
-											62.123,
-										);
-										Frame = "{{245, 0}, {239, 184}}";
-									};
-									SplitCount = 2;
-								};
-								SplitCount = 1;
-								Tab0 = {
-									Frame = "{{0, 0}, {100, 50}}";
-								};
-								Tab1 = {
-									Frame = "{{0, 0}, {100, 50}}";
-								};
-								TabCount = 2;
-								TabsVisible = YES;
-							};
-							Frame = "{{0, 0}, {484, 208}}";
-							LauncherConfigVersion = 7;
-						};
-						Tab1 = {
-							Frame = "{{0, 0}, {664, 208}}";
-							LauncherConfigVersion = 3;
-							Runner = {
-								Frame = "{{0, 0}, {664, 208}}";
-							};
-						};
-						Tab2 = {
-							BuildMessageFrame = "{{0, 0}, {666, 43}}";
-							BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
-							Frame = "{{0, 0}, {664, 50}}";
-						};
-						Tab3 = {
-							Frame = "{{0, 0}, {612, 295}}";
-						};
-						TabCount = 4;
-						TabsVisible = NO;
-					};
-					SplitCount = 1;
-					Tab0 = {
-						Frame = "{{0, 0}, {313, 531}}";
-						GroupTreeTableConfiguration = (
-							TargetStatusColumn,
-							18,
-							MainColumn,
-							280,
-						);
-					};
-					Tab1 = {
-						ClassesFrame = "{{0, 0}, {280, 398}}";
-						ClassesTreeTableConfiguration = (
-							PBXBookColumnIdentifier,
-							20,
-							PBXClassColumnIdentifier,
-							237,
-						);
-						Frame = "{{0, 0}, {278, 659}}";
-						MembersFrame = "{{0, 407}, {280, 252}}";
-						MembersTreeTableConfiguration = (
-							PBXBookColumnIdentifier,
-							20,
-							PBXMethodColumnIdentifier,
-							236,
-						);
-					};
-					Tab2 = {
-						Frame = "{{0, 0}, {200, 100}}";
-					};
-					Tab3 = {
-						Frame = "{{0, 0}, {200, 557}}";
-						TargetTableConfiguration = (
-							ActiveObject,
-							16,
-							ObjectNames,
-							202.296,
-						);
-					};
-					Tab4 = {
-						BreakpointsTreeTableConfiguration = (
-							breakpointColumn,
-							197,
-							enabledColumn,
-							31,
-						);
-						Frame = "{{0, 0}, {250, 100}}";
-					};
-					TabCount = 5;
-					TabsVisible = NO;
-				};
-				StatusViewVisible = NO;
-				Template = F5CA7ECB015C094F0DCA290F;
-				ToolbarVisible = NO;
-				WindowLocation = "{48, 349}";
-			};
+			PBXPerProjectTemplateStateSaveDate = 56157147;
 			PBXWorkspaceContents = (
 				{
@@ -141,7 +20,355 @@
 						Split0 = {
 							Split0 = {
+								NavContent0 = {
+									bookmark = F59DD4910358E3F2017318D0;
+									history = (
+										F59B967803550EF801154278,
+										F596730F0355D73B01407038,
+										F52244F10356062A0129AC23,
+										F52244F20356062A0129AC23,
+										F52244F30356062A0129AC23,
+										F560E319035790B201A4E466,
+										F560E31A035790B201A4E466,
+										F560E31B035790B201A4E466,
+										F560E31E035790B201A4E466,
+										F560E320035790B201A4E466,
+										F560E321035790B201A4E466,
+										F560E322035790B201A4E466,
+										F560E324035790B201A4E466,
+										F560E326035790B201A4E466,
+										F560E32D035790B201A4E466,
+										F5DFBF0C0358010901661E33,
+										F5DFBF0D0358010901661E33,
+										F5DFBF0E0358010901661E33,
+										F5DFBF0F0358010901661E33,
+										F5DFBF120358010901661E33,
+										F5DFBF130358010901661E33,
+										F5DFBF140358010901661E33,
+										F5DFBF150358010901661E33,
+										F5DFBF170358010901661E33,
+										F5DFBF1C0358010901661E33,
+										F59DD43F03588762017318D0,
+										F59DD4540358BA75017318D0,
+										F59DD4550358BA75017318D0,
+										F59DD4560358BA75017318D0,
+										F59DD4570358BA75017318D0,
+										F59DD4580358BA75017318D0,
+										F59DD4590358BA75017318D0,
+										F59DD45A0358BA75017318D0,
+										F59DD45B0358BA75017318D0,
+										F59DD45C0358BA75017318D0,
+										F59DD45D0358BA75017318D0,
+										F59DD45E0358BA75017318D0,
+										F59DD45F0358BA75017318D0,
+										F59DD4600358BA75017318D0,
+										F59DD4610358BA75017318D0,
+										F59DD4620358BA75017318D0,
+										F59DD4630358BA75017318D0,
+										F59DD4640358BA75017318D0,
+										F59DD48D0358E3F2017318D0,
+										F59DD48E0358E3F2017318D0,
+									);
+									prevStack = (
+										F59B967B03550EF801154278,
+										F59B967C03550EF801154278,
+										F59B967D03550EF801154278,
+										F59B967E03550EF801154278,
+										F59B967F03550EF801154278,
+										F59B968003550EF801154278,
+										F59B968103550EF801154278,
+										F59B968203550EF801154278,
+										F59B968303550EF801154278,
+										F59B968403550EF801154278,
+										F59B968503550EF801154278,
+										F59B968603550EF801154278,
+										F59B968703550EF801154278,
+										F59B968803550EF801154278,
+										F59B968903550EF801154278,
+										F59B968A03550EF801154278,
+										F59B968B03550EF801154278,
+										F59B968C03550EF801154278,
+										F59B968D03550EF801154278,
+										F59B968E03550EF801154278,
+										F59B968F03550EF801154278,
+										F59B969003550EF801154278,
+										F59673150355D73B01407038,
+										F59673160355D73B01407038,
+										F59673170355D73B01407038,
+										F59673180355D73B01407038,
+										F59673190355D73B01407038,
+										F596731A0355D73B01407038,
+										F596731B0355D73B01407038,
+										F596731C0355D73B01407038,
+										F596731D0355D73B01407038,
+										F596731E0355D73B01407038,
+										F596731F0355D73B01407038,
+										F59673200355D73B01407038,
+										F59673210355D73B01407038,
+										F59673220355D73B01407038,
+										F59673230355D73B01407038,
+										F59673240355D73B01407038,
+										F59673250355D73B01407038,
+										F59673260355D73B01407038,
+										F59673270355D73B01407038,
+										F59673280355D73B01407038,
+										F59673290355D73B01407038,
+										F596732A0355D73B01407038,
+										F596732B0355D73B01407038,
+										F596732C0355D73B01407038,
+										F596732D0355D73B01407038,
+										F596732E0355D73B01407038,
+										F596732F0355D73B01407038,
+										F59673300355D73B01407038,
+										F59673310355D73B01407038,
+										F59673320355D73B01407038,
+										F59673330355D73B01407038,
+										F59673340355D73B01407038,
+										F59673350355D73B01407038,
+										F59673360355D73B01407038,
+										F59673370355D73B01407038,
+										F59673380355D73B01407038,
+										F59673390355D73B01407038,
+										F596733A0355D73B01407038,
+										F596733B0355D73B01407038,
+										F596733C0355D73B01407038,
+										F596733D0355D73B01407038,
+										F596733E0355D73B01407038,
+										F596733F0355D73B01407038,
+										F59673400355D73B01407038,
+										F59673410355D73B01407038,
+										F59673420355D73B01407038,
+										F59673440355D73B01407038,
+										F59673450355D73B01407038,
+										F59673460355D73B01407038,
+										F560E333035790B201A4E466,
+										F560E334035790B201A4E466,
+										F560E335035790B201A4E466,
+										F560E336035790B201A4E466,
+										F560E337035790B201A4E466,
+										F560E338035790B201A4E466,
+										F560E339035790B201A4E466,
+										F560E33A035790B201A4E466,
+										F560E33B035790B201A4E466,
+										F560E33C035790B201A4E466,
+										F560E33D035790B201A4E466,
+										F560E33E035790B201A4E466,
+										F560E33F035790B201A4E466,
+										F560E340035790B201A4E466,
+										F560E341035790B201A4E466,
+										F560E342035790B201A4E466,
+										F560E343035790B201A4E466,
+										F560E344035790B201A4E466,
+										F560E345035790B201A4E466,
+										F560E346035790B201A4E466,
+										F560E347035790B201A4E466,
+										F560E348035790B201A4E466,
+										F560E349035790B201A4E466,
+										F560E34A035790B201A4E466,
+										F560E34B035790B201A4E466,
+										F560E34C035790B201A4E466,
+										F560E34D035790B201A4E466,
+										F560E34E035790B201A4E466,
+										F560E34F035790B201A4E466,
+										F560E350035790B201A4E466,
+										F560E351035790B201A4E466,
+										F560E352035790B201A4E466,
+										F560E353035790B201A4E466,
+										F560E354035790B201A4E466,
+										F560E355035790B201A4E466,
+										F560E356035790B201A4E466,
+										F560E357035790B201A4E466,
+										F560E358035790B201A4E466,
+										F560E359035790B201A4E466,
+										F560E35A035790B201A4E466,
+										F560E35B035790B201A4E466,
+										F560E35C035790B201A4E466,
+										F560E35D035790B201A4E466,
+										F560E35E035790B201A4E466,
+										F560E35F035790B201A4E466,
+										F560E360035790B201A4E466,
+										F560E361035790B201A4E466,
+										F560E362035790B201A4E466,
+										F560E363035790B201A4E466,
+										F560E364035790B201A4E466,
+										F560E365035790B201A4E466,
+										F560E366035790B201A4E466,
+										F560E367035790B201A4E466,
+										F560E368035790B201A4E466,
+										F560E369035790B201A4E466,
+										F560E36A035790B201A4E466,
+										F560E36B035790B201A4E466,
+										F560E36C035790B201A4E466,
+										F560E36D035790B201A4E466,
+										F560E36E035790B201A4E466,
+										F560E36F035790B201A4E466,
+										F560E370035790B201A4E466,
+										F560E371035790B201A4E466,
+										F560E372035790B201A4E466,
+										F560E373035790B201A4E466,
+										F560E374035790B201A4E466,
+										F560E375035790B201A4E466,
+										F560E376035790B201A4E466,
+										F560E377035790B201A4E466,
+										F560E378035790B201A4E466,
+										F560E379035790B201A4E466,
+										F560E37A035790B201A4E466,
+										F560E37B035790B201A4E466,
+										F560E37C035790B201A4E466,
+										F560E37D035790B201A4E466,
+										F560E37E035790B201A4E466,
+										F560E37F035790B201A4E466,
+										F560E380035790B201A4E466,
+										F560E381035790B201A4E466,
+										F560E382035790B201A4E466,
+										F560E383035790B201A4E466,
+										F560E384035790B201A4E466,
+										F560E385035790B201A4E466,
+										F560E386035790B201A4E466,
+										F560E387035790B201A4E466,
+										F560E388035790B201A4E466,
+										F560E389035790B201A4E466,
+										F560E38A035790B201A4E466,
+										F560E38B035790B201A4E466,
+										F560E38C035790B201A4E466,
+										F560E38D035790B201A4E466,
+										F560E38E035790B201A4E466,
+										F560E38F035790B201A4E466,
+										F560E390035790B201A4E466,
+										F560E391035790B201A4E466,
+										F560E392035790B201A4E466,
+										F560E393035790B201A4E466,
+										F560E394035790B201A4E466,
+										F560E395035790B201A4E466,
+										F560E396035790B201A4E466,
+										F560E397035790B201A4E466,
+										F560E398035790B201A4E466,
+										F560E399035790B201A4E466,
+										F560E39A035790B201A4E466,
+										F560E39B035790B201A4E466,
+										F560E39C035790B201A4E466,
+										F560E39D035790B201A4E466,
+										F560E39E035790B201A4E466,
+										F560E39F035790B201A4E466,
+										F560E3A0035790B201A4E466,
+										F560E3A1035790B201A4E466,
+										F560E3A2035790B201A4E466,
+										F560E3A3035790B201A4E466,
+										F560E3A4035790B201A4E466,
+										F560E3A5035790B201A4E466,
+										F560E3A6035790B201A4E466,
+										F560E3A7035790B201A4E466,
+										F560E3A8035790B201A4E466,
+										F560E3A9035790B201A4E466,
+										F560E3AA035790B201A4E466,
+										F560E3AB035790B201A4E466,
+										F560E3AC035790B201A4E466,
+										F560E3AD035790B201A4E466,
+										F560E3AE035790B201A4E466,
+										F560E3AF035790B201A4E466,
+										F560E3B0035790B201A4E466,
+										F560E3B1035790B201A4E466,
+										F560E3B2035790B201A4E466,
+										F560E3B3035790B201A4E466,
+										F560E3B4035790B201A4E466,
+										F560E3B5035790B201A4E466,
+										F560E3B6035790B201A4E466,
+										F560E3B7035790B201A4E466,
+										F560E3B8035790B201A4E466,
+										F560E3B9035790B201A4E466,
+										F560E3BA035790B201A4E466,
+										F560E3BB035790B201A4E466,
+										F560E3BC035790B201A4E466,
+										F560E3BD035790B201A4E466,
+										F560E3BE035790B201A4E466,
+										F5DFBF220358010901661E33,
+										F5DFBF230358010901661E33,
+										F5DFBF240358010901661E33,
+										F5DFBF250358010901661E33,
+										F5DFBF260358010901661E33,
+										F5DFBF270358010901661E33,
+										F5DFBF280358010901661E33,
+										F5DFBF290358010901661E33,
+										F5DFBF2A0358010901661E33,
+										F5DFBF2B0358010901661E33,
+										F5DFBF2C0358010901661E33,
+										F5DFBF2D0358010901661E33,
+										F5DFBF2E0358010901661E33,
+										F5DFBF2F0358010901661E33,
+										F5DFBF300358010901661E33,
+										F5DFBF310358010901661E33,
+										F5DFBF320358010901661E33,
+										F5DFBF330358010901661E33,
+										F5DFBF340358010901661E33,
+										F5DFBF350358010901661E33,
+										F5DFBF360358010901661E33,
+										F5DFBF370358010901661E33,
+										F5DFBF380358010901661E33,
+										F5DFBF390358010901661E33,
+										F5DFBF3A0358010901661E33,
+										F5DFBF3B0358010901661E33,
+										F5DFBF3C0358010901661E33,
+										F5DFBF3D0358010901661E33,
+										F5DFBF3E0358010901661E33,
+										F5DFBF3F0358010901661E33,
+										F5DFBF400358010901661E33,
+										F5DFBF410358010901661E33,
+										F5DFBF420358010901661E33,
+										F5DFBF430358010901661E33,
+										F5DFBF440358010901661E33,
+										F5DFBF450358010901661E33,
+										F5DFBF460358010901661E33,
+										F5DFBF470358010901661E33,
+										F5DFBF480358010901661E33,
+										F5DFBF490358010901661E33,
+										F5DFBF4A0358010901661E33,
+										F5DFBF4B0358010901661E33,
+										F5DFBF4C0358010901661E33,
+										F59DD44503588762017318D0,
+										F59DD44603588762017318D0,
+										F59DD44703588762017318D0,
+										F59DD44803588762017318D0,
+										F59DD44903588762017318D0,
+										F59DD44A03588762017318D0,
+										F59DD44B03588762017318D0,
+										F59DD4650358BA75017318D0,
+										F59DD4660358BA75017318D0,
+										F59DD4680358BA75017318D0,
+										F59DD4690358BA75017318D0,
+										F59DD46A0358BA75017318D0,
+										F59DD46B0358BA75017318D0,
+										F59DD46C0358BA75017318D0,
+										F59DD46D0358BA75017318D0,
+										F59DD46E0358BA75017318D0,
+										F59DD46F0358BA75017318D0,
+										F59DD4700358BA75017318D0,
+										F59DD4710358BA75017318D0,
+										F59DD4720358BA75017318D0,
+										F59DD4730358BA75017318D0,
+										F59DD4740358BA75017318D0,
+										F59DD4750358BA75017318D0,
+										F59DD4760358BA75017318D0,
+										F59DD4770358BA75017318D0,
+										F59DD4780358BA75017318D0,
+										F59DD4790358BA75017318D0,
+										F59DD47A0358BA75017318D0,
+										F59DD47B0358BA75017318D0,
+										F59DD47C0358BA75017318D0,
+										F59DD47D0358BA75017318D0,
+										F59DD47E0358BA75017318D0,
+										F59DD47F0358BA75017318D0,
+										F59DD4800358BA75017318D0,
+										F59DD4810358BA75017318D0,
+										F59DD4820358BA75017318D0,
+										F59DD4830358BA75017318D0,
+										F59DD4840358BA75017318D0,
+										F59DD4850358BA75017318D0,
+										F59DD4860358BA75017318D0,
+										F59DD48F0358E3F2017318D0,
+										F59DD4900358E3F2017318D0,
+									);
+								};
 								NavCount = 1;
 								NavGeometry0 = {
-									Frame = "{{0, 0}, {150, 530}}";
+									Frame = "{{0, 0}, {619, 546}}";
 									NavBarVisible = YES;
 								};
@@ -169,5 +396,8 @@
 							OptionsSetName = "Hierarchy, all classes";
 						};
-						TabCount = 5;
+						Tab3 = {
+							SplitCount = 2;
+						};
+						TabCount = 6;
 					};
 				},
@@ -175,14 +405,14 @@
 			PBXWorkspaceGeometries = (
 				{
-					ContentSize = "{352, 553}";
+					ContentSize = "{903, 569}";
 					LeftSlideOut = {
 						ActiveTab = 0;
-						Collapsed = YES;
-						Frame = "{{0, 23}, {352, 530}}";
+						Collapsed = NO;
+						Frame = "{{0, 23}, {903, 546}}";
 						Split0 = {
 							Collapsed = NO;
-							Frame = "{{1e+06, 1e+06}, {0, 530}}";
+							Frame = "{{284, 0}, {619, 546}}";
 							Split0 = {
-								Frame = "{{0, 0}, {0, 530}}";
+								Frame = "{{0, 0}, {619, 546}}";
 							};
 							SplitCount = 1;
@@ -190,20 +420,20 @@
 								Debugger = {
 									Collapsed = NO;
-									Frame = "{{0, 0}, {484, 208}}";
+									Frame = "{{0, 0}, {681, 289}}";
 									Split0 = {
-										Frame = "{{0, 24}, {484, 184}}";
+										Frame = "{{0, 24}, {681, 265}}";
 										Split0 = {
-											Frame = "{{0, 0}, {236, 184}}";
+											Frame = "{{0, 0}, {333, 265}}";
 										};
 										Split1 = {
 											DebugVariablesTableConfiguration = (
 												Name,
-												123,
+												82.80298,
 												Value,
-												85,
+												104.074,
 												Summary,
-												62.123,
+												126.123,
 											);
-											Frame = "{{245, 0}, {239, 184}}";
+											Frame = "{{342, 0}, {339, 265}}";
 										};
 										SplitCount = 2;
@@ -219,21 +449,21 @@
 									TabsVisible = YES;
 								};
-								Frame = "{{0, 0}, {484, 208}}";
+								Frame = "{{0, 0}, {681, 289}}";
 								LauncherConfigVersion = 7;
 							};
 							Tab1 = {
-								Frame = "{{0, 0}, {664, 208}}";
+								Frame = "{{0, 0}, {681, 120}}";
 								LauncherConfigVersion = 3;
 								Runner = {
-									Frame = "{{0, 0}, {664, 208}}";
+									Frame = "{{0, 0}, {681, 120}}";
 								};
 							};
 							Tab2 = {
-								BuildMessageFrame = "{{0, 0}, {666, 43}}";
-								BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
-								Frame = "{{0, 0}, {664, 50}}";
+								BuildMessageFrame = "{{0, 0}, {683, 127}}";
+								BuildTranscriptFrame = "{{0, 136}, {683, 100}}";
+								Frame = "{{0, 0}, {681, 234}}";
 							};
 							Tab3 = {
-								Frame = "{{0, 0}, {612, 295}}";
+								Frame = "{{0, 0}, {681, 238}}";
 							};
 							TabCount = 4;
@@ -242,60 +472,426 @@
 						SplitCount = 1;
 						Tab0 = {
-							Frame = "{{0, 0}, {328, 530}}";
+							Frame = "{{0, 0}, {260, 546}}";
 							GroupTreeTableConfiguration = (
 								TargetStatusColumn,
 								18,
 								MainColumn,
-								295,
+								227,
 							);
 						};
 						Tab1 = {
-							ClassesFrame = "{{0, 0}, {343, 348}}";
+							ClassesFrame = "{{0, 0}, {250, 333}}";
 							ClassesTreeTableConfiguration = (
 								PBXBookColumnIdentifier,
 								20,
 								PBXClassColumnIdentifier,
-								300,
+								207,
 							);
-							Frame = "{{0, 0}, {341, 578}}";
-							MembersFrame = "{{0, 357}, {343, 221}}";
+							Frame = "{{0, 0}, {248, 554}}";
+							MembersFrame = "{{0, 342}, {250, 212}}";
 							MembersTreeTableConfiguration = (
 								PBXBookColumnIdentifier,
 								20,
 								PBXMethodColumnIdentifier,
-								299,
+								206,
 							);
 						};
 						Tab2 = {
-							Frame = "{{0, 0}, {328, 530}}";
+							Frame = "{{0, 0}, {217, 554}}";
 						};
 						Tab3 = {
-							Frame = "{{0, 0}, {328, 530}}";
-							TargetTableConfiguration = (
-								ActiveObject,
-								16,
-								ObjectNames,
-								295.296,
-							);
+							Frame = "{{0, 0}, {239, 546}}";
+							Split0 = {
+								Frame = "{{0, 0}, {239, 264}}";
+								TargetTreeTableConfiguration = (
+									ActiveTarget,
+									16,
+									TargetName,
+									207,
+								);
+							};
+							Split1 = {
+								BuildStyleTreeTableConfiguration = (
+									IsActive,
+									16,
+									Name,
+									208,
+								);
+								Frame = "{{0, 273}, {239, 273}}";
+							};
+							SplitCount = 2;
 						};
 						Tab4 = {
+							ExecutableTreeTableConfiguration = (
+								ActiveExecutable,
+								16,
+								ExecutableName,
+								217,
+							);
+							Frame = "{{0, 0}, {250, 546}}";
+						};
+						Tab5 = {
 							BreakpointsTreeTableConfiguration = (
 								breakpointColumn,
-								275,
+								197,
 								enabledColumn,
 								31,
 							);
-							Frame = "{{0, 0}, {328, 530}}";
+							Frame = "{{0, 0}, {250, 548}}";
 						};
-						TabCount = 5;
+						TabCount = 6;
 						TabsVisible = YES;
 					};
 					StatusViewVisible = YES;
-					Template = F5E465990156DFB90DCA290F;
+					Template = 64ABBB4501FA494900185B06;
 					ToolbarVisible = YES;
-					WindowLocation = "{20, 553}";
+					WindowLocation = "{12, 194}";
 				},
 			);
-			PBXWorkspaceStateSaveDate = 55895130;
+			PBXWorkspaceStateSaveDate = 56157147;
+		};
+		perUserProjectItems = {
+			F52244F10356062A0129AC23 = F52244F10356062A0129AC23;
+			F52244F20356062A0129AC23 = F52244F20356062A0129AC23;
+			F52244F30356062A0129AC23 = F52244F30356062A0129AC23;
+			F560E319035790B201A4E466 = F560E319035790B201A4E466;
+			F560E31A035790B201A4E466 = F560E31A035790B201A4E466;
+			F560E31B035790B201A4E466 = F560E31B035790B201A4E466;
+			F560E31E035790B201A4E466 = F560E31E035790B201A4E466;
+			F560E320035790B201A4E466 = F560E320035790B201A4E466;
+			F560E321035790B201A4E466 = F560E321035790B201A4E466;
+			F560E322035790B201A4E466 = F560E322035790B201A4E466;
+			F560E324035790B201A4E466 = F560E324035790B201A4E466;
+			F560E326035790B201A4E466 = F560E326035790B201A4E466;
+			F560E32D035790B201A4E466 = F560E32D035790B201A4E466;
+			F560E333035790B201A4E466 = F560E333035790B201A4E466;
+			F560E334035790B201A4E466 = F560E334035790B201A4E466;
+			F560E335035790B201A4E466 = F560E335035790B201A4E466;
+			F560E336035790B201A4E466 = F560E336035790B201A4E466;
+			F560E337035790B201A4E466 = F560E337035790B201A4E466;
+			F560E338035790B201A4E466 = F560E338035790B201A4E466;
+			F560E339035790B201A4E466 = F560E339035790B201A4E466;
+			F560E33A035790B201A4E466 = F560E33A035790B201A4E466;
+			F560E33B035790B201A4E466 = F560E33B035790B201A4E466;
+			F560E33C035790B201A4E466 = F560E33C035790B201A4E466;
+			F560E33D035790B201A4E466 = F560E33D035790B201A4E466;
+			F560E33E035790B201A4E466 = F560E33E035790B201A4E466;
+			F560E33F035790B201A4E466 = F560E33F035790B201A4E466;
+			F560E340035790B201A4E466 = F560E340035790B201A4E466;
+			F560E341035790B201A4E466 = F560E341035790B201A4E466;
+			F560E342035790B201A4E466 = F560E342035790B201A4E466;
+			F560E343035790B201A4E466 = F560E343035790B201A4E466;
+			F560E344035790B201A4E466 = F560E344035790B201A4E466;
+			F560E345035790B201A4E466 = F560E345035790B201A4E466;
+			F560E346035790B201A4E466 = F560E346035790B201A4E466;
+			F560E347035790B201A4E466 = F560E347035790B201A4E466;
+			F560E348035790B201A4E466 = F560E348035790B201A4E466;
+			F560E349035790B201A4E466 = F560E349035790B201A4E466;
+			F560E34A035790B201A4E466 = F560E34A035790B201A4E466;
+			F560E34B035790B201A4E466 = F560E34B035790B201A4E466;
+			F560E34C035790B201A4E466 = F560E34C035790B201A4E466;
+			F560E34D035790B201A4E466 = F560E34D035790B201A4E466;
+			F560E34E035790B201A4E466 = F560E34E035790B201A4E466;
+			F560E34F035790B201A4E466 = F560E34F035790B201A4E466;
+			F560E350035790B201A4E466 = F560E350035790B201A4E466;
+			F560E351035790B201A4E466 = F560E351035790B201A4E466;
+			F560E352035790B201A4E466 = F560E352035790B201A4E466;
+			F560E353035790B201A4E466 = F560E353035790B201A4E466;
+			F560E354035790B201A4E466 = F560E354035790B201A4E466;
+			F560E355035790B201A4E466 = F560E355035790B201A4E466;
+			F560E356035790B201A4E466 = F560E356035790B201A4E466;
+			F560E357035790B201A4E466 = F560E357035790B201A4E466;
+			F560E358035790B201A4E466 = F560E358035790B201A4E466;
+			F560E359035790B201A4E466 = F560E359035790B201A4E466;
+			F560E35A035790B201A4E466 = F560E35A035790B201A4E466;
+			F560E35B035790B201A4E466 = F560E35B035790B201A4E466;
+			F560E35C035790B201A4E466 = F560E35C035790B201A4E466;
+			F560E35D035790B201A4E466 = F560E35D035790B201A4E466;
+			F560E35E035790B201A4E466 = F560E35E035790B201A4E466;
+			F560E35F035790B201A4E466 = F560E35F035790B201A4E466;
+			F560E360035790B201A4E466 = F560E360035790B201A4E466;
+			F560E361035790B201A4E466 = F560E361035790B201A4E466;
+			F560E362035790B201A4E466 = F560E362035790B201A4E466;
+			F560E363035790B201A4E466 = F560E363035790B201A4E466;
+			F560E364035790B201A4E466 = F560E364035790B201A4E466;
+			F560E365035790B201A4E466 = F560E365035790B201A4E466;
+			F560E366035790B201A4E466 = F560E366035790B201A4E466;
+			F560E367035790B201A4E466 = F560E367035790B201A4E466;
+			F560E368035790B201A4E466 = F560E368035790B201A4E466;
+			F560E369035790B201A4E466 = F560E369035790B201A4E466;
+			F560E36A035790B201A4E466 = F560E36A035790B201A4E466;
+			F560E36B035790B201A4E466 = F560E36B035790B201A4E466;
+			F560E36C035790B201A4E466 = F560E36C035790B201A4E466;
+			F560E36D035790B201A4E466 = F560E36D035790B201A4E466;
+			F560E36E035790B201A4E466 = F560E36E035790B201A4E466;
+			F560E36F035790B201A4E466 = F560E36F035790B201A4E466;
+			F560E370035790B201A4E466 = F560E370035790B201A4E466;
+			F560E371035790B201A4E466 = F560E371035790B201A4E466;
+			F560E372035790B201A4E466 = F560E372035790B201A4E466;
+			F560E373035790B201A4E466 = F560E373035790B201A4E466;
+			F560E374035790B201A4E466 = F560E374035790B201A4E466;
+			F560E375035790B201A4E466 = F560E375035790B201A4E466;
+			F560E376035790B201A4E466 = F560E376035790B201A4E466;
+			F560E377035790B201A4E466 = F560E377035790B201A4E466;
+			F560E378035790B201A4E466 = F560E378035790B201A4E466;
+			F560E379035790B201A4E466 = F560E379035790B201A4E466;
+			F560E37A035790B201A4E466 = F560E37A035790B201A4E466;
+			F560E37B035790B201A4E466 = F560E37B035790B201A4E466;
+			F560E37C035790B201A4E466 = F560E37C035790B201A4E466;
+			F560E37D035790B201A4E466 = F560E37D035790B201A4E466;
+			F560E37E035790B201A4E466 = F560E37E035790B201A4E466;
+			F560E37F035790B201A4E466 = F560E37F035790B201A4E466;
+			F560E380035790B201A4E466 = F560E380035790B201A4E466;
+			F560E381035790B201A4E466 = F560E381035790B201A4E466;
+			F560E382035790B201A4E466 = F560E382035790B201A4E466;
+			F560E383035790B201A4E466 = F560E383035790B201A4E466;
+			F560E384035790B201A4E466 = F560E384035790B201A4E466;
+			F560E385035790B201A4E466 = F560E385035790B201A4E466;
+			F560E386035790B201A4E466 = F560E386035790B201A4E466;
+			F560E387035790B201A4E466 = F560E387035790B201A4E466;
+			F560E388035790B201A4E466 = F560E388035790B201A4E466;
+			F560E389035790B201A4E466 = F560E389035790B201A4E466;
+			F560E38A035790B201A4E466 = F560E38A035790B201A4E466;
+			F560E38B035790B201A4E466 = F560E38B035790B201A4E466;
+			F560E38C035790B201A4E466 = F560E38C035790B201A4E466;
+			F560E38D035790B201A4E466 = F560E38D035790B201A4E466;
+			F560E38E035790B201A4E466 = F560E38E035790B201A4E466;
+			F560E38F035790B201A4E466 = F560E38F035790B201A4E466;
+			F560E390035790B201A4E466 = F560E390035790B201A4E466;
+			F560E391035790B201A4E466 = F560E391035790B201A4E466;
+			F560E392035790B201A4E466 = F560E392035790B201A4E466;
+			F560E393035790B201A4E466 = F560E393035790B201A4E466;
+			F560E394035790B201A4E466 = F560E394035790B201A4E466;
+			F560E395035790B201A4E466 = F560E395035790B201A4E466;
+			F560E396035790B201A4E466 = F560E396035790B201A4E466;
+			F560E397035790B201A4E466 = F560E397035790B201A4E466;
+			F560E398035790B201A4E466 = F560E398035790B201A4E466;
+			F560E399035790B201A4E466 = F560E399035790B201A4E466;
+			F560E39A035790B201A4E466 = F560E39A035790B201A4E466;
+			F560E39B035790B201A4E466 = F560E39B035790B201A4E466;
+			F560E39C035790B201A4E466 = F560E39C035790B201A4E466;
+			F560E39D035790B201A4E466 = F560E39D035790B201A4E466;
+			F560E39E035790B201A4E466 = F560E39E035790B201A4E466;
+			F560E39F035790B201A4E466 = F560E39F035790B201A4E466;
+			F560E3A0035790B201A4E466 = F560E3A0035790B201A4E466;
+			F560E3A1035790B201A4E466 = F560E3A1035790B201A4E466;
+			F560E3A2035790B201A4E466 = F560E3A2035790B201A4E466;
+			F560E3A3035790B201A4E466 = F560E3A3035790B201A4E466;
+			F560E3A4035790B201A4E466 = F560E3A4035790B201A4E466;
+			F560E3A5035790B201A4E466 = F560E3A5035790B201A4E466;
+			F560E3A6035790B201A4E466 = F560E3A6035790B201A4E466;
+			F560E3A7035790B201A4E466 = F560E3A7035790B201A4E466;
+			F560E3A8035790B201A4E466 = F560E3A8035790B201A4E466;
+			F560E3A9035790B201A4E466 = F560E3A9035790B201A4E466;
+			F560E3AA035790B201A4E466 = F560E3AA035790B201A4E466;
+			F560E3AB035790B201A4E466 = F560E3AB035790B201A4E466;
+			F560E3AC035790B201A4E466 = F560E3AC035790B201A4E466;
+			F560E3AD035790B201A4E466 = F560E3AD035790B201A4E466;
+			F560E3AE035790B201A4E466 = F560E3AE035790B201A4E466;
+			F560E3AF035790B201A4E466 = F560E3AF035790B201A4E466;
+			F560E3B0035790B201A4E466 = F560E3B0035790B201A4E466;
+			F560E3B1035790B201A4E466 = F560E3B1035790B201A4E466;
+			F560E3B2035790B201A4E466 = F560E3B2035790B201A4E466;
+			F560E3B3035790B201A4E466 = F560E3B3035790B201A4E466;
+			F560E3B4035790B201A4E466 = F560E3B4035790B201A4E466;
+			F560E3B5035790B201A4E466 = F560E3B5035790B201A4E466;
+			F560E3B6035790B201A4E466 = F560E3B6035790B201A4E466;
+			F560E3B7035790B201A4E466 = F560E3B7035790B201A4E466;
+			F560E3B8035790B201A4E466 = F560E3B8035790B201A4E466;
+			F560E3B9035790B201A4E466 = F560E3B9035790B201A4E466;
+			F560E3BA035790B201A4E466 = F560E3BA035790B201A4E466;
+			F560E3BB035790B201A4E466 = F560E3BB035790B201A4E466;
+			F560E3BC035790B201A4E466 = F560E3BC035790B201A4E466;
+			F560E3BD035790B201A4E466 = F560E3BD035790B201A4E466;
+			F560E3BE035790B201A4E466 = F560E3BE035790B201A4E466;
+			F596730F0355D73B01407038 = F596730F0355D73B01407038;
+			F59673150355D73B01407038 = F59673150355D73B01407038;
+			F59673160355D73B01407038 = F59673160355D73B01407038;
+			F59673170355D73B01407038 = F59673170355D73B01407038;
+			F59673180355D73B01407038 = F59673180355D73B01407038;
+			F59673190355D73B01407038 = F59673190355D73B01407038;
+			F596731A0355D73B01407038 = F596731A0355D73B01407038;
+			F596731B0355D73B01407038 = F596731B0355D73B01407038;
+			F596731C0355D73B01407038 = F596731C0355D73B01407038;
+			F596731D0355D73B01407038 = F596731D0355D73B01407038;
+			F596731E0355D73B01407038 = F596731E0355D73B01407038;
+			F596731F0355D73B01407038 = F596731F0355D73B01407038;
+			F59673200355D73B01407038 = F59673200355D73B01407038;
+			F59673210355D73B01407038 = F59673210355D73B01407038;
+			F59673220355D73B01407038 = F59673220355D73B01407038;
+			F59673230355D73B01407038 = F59673230355D73B01407038;
+			F59673240355D73B01407038 = F59673240355D73B01407038;
+			F59673250355D73B01407038 = F59673250355D73B01407038;
+			F59673260355D73B01407038 = F59673260355D73B01407038;
+			F59673270355D73B01407038 = F59673270355D73B01407038;
+			F59673280355D73B01407038 = F59673280355D73B01407038;
+			F59673290355D73B01407038 = F59673290355D73B01407038;
+			F596732A0355D73B01407038 = F596732A0355D73B01407038;
+			F596732B0355D73B01407038 = F596732B0355D73B01407038;
+			F596732C0355D73B01407038 = F596732C0355D73B01407038;
+			F596732D0355D73B01407038 = F596732D0355D73B01407038;
+			F596732E0355D73B01407038 = F596732E0355D73B01407038;
+			F596732F0355D73B01407038 = F596732F0355D73B01407038;
+			F59673300355D73B01407038 = F59673300355D73B01407038;
+			F59673310355D73B01407038 = F59673310355D73B01407038;
+			F59673320355D73B01407038 = F59673320355D73B01407038;
+			F59673330355D73B01407038 = F59673330355D73B01407038;
+			F59673340355D73B01407038 = F59673340355D73B01407038;
+			F59673350355D73B01407038 = F59673350355D73B01407038;
+			F59673360355D73B01407038 = F59673360355D73B01407038;
+			F59673370355D73B01407038 = F59673370355D73B01407038;
+			F59673380355D73B01407038 = F59673380355D73B01407038;
+			F59673390355D73B01407038 = F59673390355D73B01407038;
+			F596733A0355D73B01407038 = F596733A0355D73B01407038;
+			F596733B0355D73B01407038 = F596733B0355D73B01407038;
+			F596733C0355D73B01407038 = F596733C0355D73B01407038;
+			F596733D0355D73B01407038 = F596733D0355D73B01407038;
+			F596733E0355D73B01407038 = F596733E0355D73B01407038;
+			F596733F0355D73B01407038 = F596733F0355D73B01407038;
+			F59673400355D73B01407038 = F59673400355D73B01407038;
+			F59673410355D73B01407038 = F59673410355D73B01407038;
+			F59673420355D73B01407038 = F59673420355D73B01407038;
+			F59673440355D73B01407038 = F59673440355D73B01407038;
+			F59673450355D73B01407038 = F59673450355D73B01407038;
+			F59673460355D73B01407038 = F59673460355D73B01407038;
+			F59B967803550EF801154278 = F59B967803550EF801154278;
+			F59B967B03550EF801154278 = F59B967B03550EF801154278;
+			F59B967C03550EF801154278 = F59B967C03550EF801154278;
+			F59B967D03550EF801154278 = F59B967D03550EF801154278;
+			F59B967E03550EF801154278 = F59B967E03550EF801154278;
+			F59B967F03550EF801154278 = F59B967F03550EF801154278;
+			F59B968003550EF801154278 = F59B968003550EF801154278;
+			F59B968103550EF801154278 = F59B968103550EF801154278;
+			F59B968203550EF801154278 = F59B968203550EF801154278;
+			F59B968303550EF801154278 = F59B968303550EF801154278;
+			F59B968403550EF801154278 = F59B968403550EF801154278;
+			F59B968503550EF801154278 = F59B968503550EF801154278;
+			F59B968603550EF801154278 = F59B968603550EF801154278;
+			F59B968703550EF801154278 = F59B968703550EF801154278;
+			F59B968803550EF801154278 = F59B968803550EF801154278;
+			F59B968903550EF801154278 = F59B968903550EF801154278;
+			F59B968A03550EF801154278 = F59B968A03550EF801154278;
+			F59B968B03550EF801154278 = F59B968B03550EF801154278;
+			F59B968C03550EF801154278 = F59B968C03550EF801154278;
+			F59B968D03550EF801154278 = F59B968D03550EF801154278;
+			F59B968E03550EF801154278 = F59B968E03550EF801154278;
+			F59B968F03550EF801154278 = F59B968F03550EF801154278;
+			F59B969003550EF801154278 = F59B969003550EF801154278;
+			F59DD43F03588762017318D0 = F59DD43F03588762017318D0;
+			F59DD44503588762017318D0 = F59DD44503588762017318D0;
+			F59DD44603588762017318D0 = F59DD44603588762017318D0;
+			F59DD44703588762017318D0 = F59DD44703588762017318D0;
+			F59DD44803588762017318D0 = F59DD44803588762017318D0;
+			F59DD44903588762017318D0 = F59DD44903588762017318D0;
+			F59DD44A03588762017318D0 = F59DD44A03588762017318D0;
+			F59DD44B03588762017318D0 = F59DD44B03588762017318D0;
+			F59DD4540358BA75017318D0 = F59DD4540358BA75017318D0;
+			F59DD4550358BA75017318D0 = F59DD4550358BA75017318D0;
+			F59DD4560358BA75017318D0 = F59DD4560358BA75017318D0;
+			F59DD4570358BA75017318D0 = F59DD4570358BA75017318D0;
+			F59DD4580358BA75017318D0 = F59DD4580358BA75017318D0;
+			F59DD4590358BA75017318D0 = F59DD4590358BA75017318D0;
+			F59DD45A0358BA75017318D0 = F59DD45A0358BA75017318D0;
+			F59DD45B0358BA75017318D0 = F59DD45B0358BA75017318D0;
+			F59DD45C0358BA75017318D0 = F59DD45C0358BA75017318D0;
+			F59DD45D0358BA75017318D0 = F59DD45D0358BA75017318D0;
+			F59DD45E0358BA75017318D0 = F59DD45E0358BA75017318D0;
+			F59DD45F0358BA75017318D0 = F59DD45F0358BA75017318D0;
+			F59DD4600358BA75017318D0 = F59DD4600358BA75017318D0;
+			F59DD4610358BA75017318D0 = F59DD4610358BA75017318D0;
+			F59DD4620358BA75017318D0 = F59DD4620358BA75017318D0;
+			F59DD4630358BA75017318D0 = F59DD4630358BA75017318D0;
+			F59DD4640358BA75017318D0 = F59DD4640358BA75017318D0;
+			F59DD4650358BA75017318D0 = F59DD4650358BA75017318D0;
+			F59DD4660358BA75017318D0 = F59DD4660358BA75017318D0;
+			F59DD4680358BA75017318D0 = F59DD4680358BA75017318D0;
+			F59DD4690358BA75017318D0 = F59DD4690358BA75017318D0;
+			F59DD46A0358BA75017318D0 = F59DD46A0358BA75017318D0;
+			F59DD46B0358BA75017318D0 = F59DD46B0358BA75017318D0;
+			F59DD46C0358BA75017318D0 = F59DD46C0358BA75017318D0;
+			F59DD46D0358BA75017318D0 = F59DD46D0358BA75017318D0;
+			F59DD46E0358BA75017318D0 = F59DD46E0358BA75017318D0;
+			F59DD46F0358BA75017318D0 = F59DD46F0358BA75017318D0;
+			F59DD4700358BA75017318D0 = F59DD4700358BA75017318D0;
+			F59DD4710358BA75017318D0 = F59DD4710358BA75017318D0;
+			F59DD4720358BA75017318D0 = F59DD4720358BA75017318D0;
+			F59DD4730358BA75017318D0 = F59DD4730358BA75017318D0;
+			F59DD4740358BA75017318D0 = F59DD4740358BA75017318D0;
+			F59DD4750358BA75017318D0 = F59DD4750358BA75017318D0;
+			F59DD4760358BA75017318D0 = F59DD4760358BA75017318D0;
+			F59DD4770358BA75017318D0 = F59DD4770358BA75017318D0;
+			F59DD4780358BA75017318D0 = F59DD4780358BA75017318D0;
+			F59DD4790358BA75017318D0 = F59DD4790358BA75017318D0;
+			F59DD47A0358BA75017318D0 = F59DD47A0358BA75017318D0;
+			F59DD47B0358BA75017318D0 = F59DD47B0358BA75017318D0;
+			F59DD47C0358BA75017318D0 = F59DD47C0358BA75017318D0;
+			F59DD47D0358BA75017318D0 = F59DD47D0358BA75017318D0;
+			F59DD47E0358BA75017318D0 = F59DD47E0358BA75017318D0;
+			F59DD47F0358BA75017318D0 = F59DD47F0358BA75017318D0;
+			F59DD4800358BA75017318D0 = F59DD4800358BA75017318D0;
+			F59DD4810358BA75017318D0 = F59DD4810358BA75017318D0;
+			F59DD4820358BA75017318D0 = F59DD4820358BA75017318D0;
+			F59DD4830358BA75017318D0 = F59DD4830358BA75017318D0;
+			F59DD4840358BA75017318D0 = F59DD4840358BA75017318D0;
+			F59DD4850358BA75017318D0 = F59DD4850358BA75017318D0;
+			F59DD4860358BA75017318D0 = F59DD4860358BA75017318D0;
+			F59DD48D0358E3F2017318D0 = F59DD48D0358E3F2017318D0;
+			F59DD48E0358E3F2017318D0 = F59DD48E0358E3F2017318D0;
+			F59DD48F0358E3F2017318D0 = F59DD48F0358E3F2017318D0;
+			F59DD4900358E3F2017318D0 = F59DD4900358E3F2017318D0;
+			F59DD4910358E3F2017318D0 = F59DD4910358E3F2017318D0;
+			F5DFBF0C0358010901661E33 = F5DFBF0C0358010901661E33;
+			F5DFBF0D0358010901661E33 = F5DFBF0D0358010901661E33;
+			F5DFBF0E0358010901661E33 = F5DFBF0E0358010901661E33;
+			F5DFBF0F0358010901661E33 = F5DFBF0F0358010901661E33;
+			F5DFBF120358010901661E33 = F5DFBF120358010901661E33;
+			F5DFBF130358010901661E33 = F5DFBF130358010901661E33;
+			F5DFBF140358010901661E33 = F5DFBF140358010901661E33;
+			F5DFBF150358010901661E33 = F5DFBF150358010901661E33;
+			F5DFBF170358010901661E33 = F5DFBF170358010901661E33;
+			F5DFBF1C0358010901661E33 = F5DFBF1C0358010901661E33;
+			F5DFBF220358010901661E33 = F5DFBF220358010901661E33;
+			F5DFBF230358010901661E33 = F5DFBF230358010901661E33;
+			F5DFBF240358010901661E33 = F5DFBF240358010901661E33;
+			F5DFBF250358010901661E33 = F5DFBF250358010901661E33;
+			F5DFBF260358010901661E33 = F5DFBF260358010901661E33;
+			F5DFBF270358010901661E33 = F5DFBF270358010901661E33;
+			F5DFBF280358010901661E33 = F5DFBF280358010901661E33;
+			F5DFBF290358010901661E33 = F5DFBF290358010901661E33;
+			F5DFBF2A0358010901661E33 = F5DFBF2A0358010901661E33;
+			F5DFBF2B0358010901661E33 = F5DFBF2B0358010901661E33;
+			F5DFBF2C0358010901661E33 = F5DFBF2C0358010901661E33;
+			F5DFBF2D0358010901661E33 = F5DFBF2D0358010901661E33;
+			F5DFBF2E0358010901661E33 = F5DFBF2E0358010901661E33;
+			F5DFBF2F0358010901661E33 = F5DFBF2F0358010901661E33;
+			F5DFBF300358010901661E33 = F5DFBF300358010901661E33;
+			F5DFBF310358010901661E33 = F5DFBF310358010901661E33;
+			F5DFBF320358010901661E33 = F5DFBF320358010901661E33;
+			F5DFBF330358010901661E33 = F5DFBF330358010901661E33;
+			F5DFBF340358010901661E33 = F5DFBF340358010901661E33;
+			F5DFBF350358010901661E33 = F5DFBF350358010901661E33;
+			F5DFBF360358010901661E33 = F5DFBF360358010901661E33;
+			F5DFBF370358010901661E33 = F5DFBF370358010901661E33;
+			F5DFBF380358010901661E33 = F5DFBF380358010901661E33;
+			F5DFBF390358010901661E33 = F5DFBF390358010901661E33;
+			F5DFBF3A0358010901661E33 = F5DFBF3A0358010901661E33;
+			F5DFBF3B0358010901661E33 = F5DFBF3B0358010901661E33;
+			F5DFBF3C0358010901661E33 = F5DFBF3C0358010901661E33;
+			F5DFBF3D0358010901661E33 = F5DFBF3D0358010901661E33;
+			F5DFBF3E0358010901661E33 = F5DFBF3E0358010901661E33;
+			F5DFBF3F0358010901661E33 = F5DFBF3F0358010901661E33;
+			F5DFBF400358010901661E33 = F5DFBF400358010901661E33;
+			F5DFBF410358010901661E33 = F5DFBF410358010901661E33;
+			F5DFBF420358010901661E33 = F5DFBF420358010901661E33;
+			F5DFBF430358010901661E33 = F5DFBF430358010901661E33;
+			F5DFBF440358010901661E33 = F5DFBF440358010901661E33;
+			F5DFBF450358010901661E33 = F5DFBF450358010901661E33;
+			F5DFBF460358010901661E33 = F5DFBF460358010901661E33;
+			F5DFBF470358010901661E33 = F5DFBF470358010901661E33;
+			F5DFBF480358010901661E33 = F5DFBF480358010901661E33;
+			F5DFBF490358010901661E33 = F5DFBF490358010901661E33;
+			F5DFBF4A0358010901661E33 = F5DFBF4A0358010901661E33;
+			F5DFBF4B0358010901661E33 = F5DFBF4B0358010901661E33;
+			F5DFBF4C0358010901661E33 = F5DFBF4C0358010901661E33;
 		};
 		projectwideBuildSettings = {
@@ -310,4 +906,2121 @@
 			F59B967103538BE201154278,
 		);
+	};
+	F517D63D0356AC88016D68B9 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: scheduledTimerWithTarget:selector:";
+		rLen = 0;
+		rLoc = 5050;
+		rType = 0;
+		vrLen = 822;
+		vrLoc = 4232;
+	};
+	F52244F10356062A0129AC23 = {
+		fRef = F52244F70356062A0129AC23;
+		isa = PBXTextBookmark;
+		name = "math.h: 138";
+		rLen = 41;
+		rLoc = 4274;
+		rType = 0;
+		vrLen = 1433;
+		vrLoc = 3593;
+	};
+	F52244F20356062A0129AC23 = {
+		fRef = F52244F80356062A0129AC23;
+		isa = PBXBookmark;
+	};
+	F52244F30356062A0129AC23 = {
+		fRef = F52244F90356062A0129AC23;
+		isa = PBXTextBookmark;
+		name = "endian.h: 85";
+		rLen = 44;
+		rLoc = 3582;
+		rType = 0;
+		vrLen = 929;
+		vrLoc = 3033;
+	};
+	F52244F70356062A0129AC23 = {
+		isa = PBXFileReference;
+		name = math.h;
+		path = /usr/include/math.h;
+		refType = 0;
+	};
+	F52244F80356062A0129AC23 = {
+		isa = PBXFileReference;
+		name = Miscellaneous.html;
+		path = /Developer/Documentation/Carbon/utilities/Math_LogicalUtilities/Mathematical_al_Utilities/Functions/Miscellaneous.html;
+		refType = 0;
+	};
+	F52244F90356062A0129AC23 = {
+		isa = PBXFileReference;
+		name = endian.h;
+		path = /usr/include/ppc/endian.h;
+		refType = 0;
+	};
+	F560E2F5035750C101A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 16";
+		rLen = 0;
+		rLoc = 793;
+		rType = 0;
+		vrLen = 296;
+		vrLoc = 0;
+	};
+	F560E2F80357779E01A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: allAlarms";
+		rLen = 0;
+		rLoc = 632;
+		rType = 0;
+		vrLen = 916;
+		vrLoc = 0;
+	};
+	F560E2FB035786FE01A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: numberOfRowsInTableView:";
+		rLen = 0;
+		rLoc = 1289;
+		rType = 0;
+		vrLen = 1085;
+		vrLoc = 0;
+	};
+	F560E319035790B201A4E466 = {
+		fRef = F560E3C1035790B201A4E466;
+		isa = PBXTextBookmark;
+		name = "NSObject.h: 74";
+		rLen = 0;
+		rLoc = 1307;
+		rType = 0;
+		vrLen = 699;
+		vrLoc = 999;
+	};
+	F560E31A035790B201A4E466 = {
+		fRef = F560E3C3035790B201A4E466;
+		isa = PBXTextBookmark;
+		name = "NSDocument.h: 88";
+		rLen = 21;
+		rLoc = 3838;
+		rType = 0;
+		vrLen = 2146;
+		vrLoc = 2802;
+	};
+	F560E31B035790B201A4E466 = {
+		fRef = F560E3C4035790B201A4E466;
+		isa = PBXTextBookmark;
+		name = "NSWindowController.h: 97";
+		rLen = 5;
+		rLoc = 7523;
+		rType = 0;
+		vrLen = 2006;
+		vrLoc = 6132;
+	};
+	F560E31E035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 14";
+		rLen = 37;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 393;
+		vrLoc = 0;
+	};
+	F560E320035790B201A4E466 = {
+		fRef = F59DC6FC0354188F01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "NJRDateFormatter.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 247;
+		vrLoc = 0;
+	};
+	F560E321035790B201A4E466 = {
+		fRef = F59DC6E90353F58B01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "NJRIntegerFilter.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 247;
+		vrLoc = 0;
+	};
+	F560E322035790B201A4E466 = {
+		fRef = F59DC6FD0354188F01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "NJRDateFormatter.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1105;
+		vrLoc = 0;
+	};
+	F560E324035790B201A4E466 = {
+		fRef = F560E3160357895001A4E466;
+		isa = PBXTextBookmark;
+		name = "NJRHistoryTrackingComboBox.m: 75";
+		rLen = 0;
+		rLoc = 2310;
+		rType = 0;
+		vrLen = 1152;
+		vrLoc = 0;
+	};
+	F560E326035790B201A4E466 = {
+		fRef = F560E3150357895001A4E466;
+		isa = PBXTextBookmark;
+		name = "NJRHistoryTrackingComboBox.h: removeEntry:";
+		rLen = 0;
+		rLoc = 271;
+		rType = 0;
+		vrLen = 330;
+		vrLoc = 0;
+	};
+	F560E32D035790B201A4E466 = {
+		fRef = F560E3C6035790B201A4E466;
+		isa = PBXTextBookmark;
+		name = "NSControl.h: 105";
+		rLen = 25;
+		rLoc = 2787;
+		rType = 0;
+		vrLen = 1279;
+		vrLoc = 2025;
+	};
+	F560E333035790B201A4E466 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarm:";
+		rLen = 0;
+		rLoc = 8273;
+		rType = 0;
+		vrLen = 1168;
+		vrLoc = 7640;
+	};
+	F560E334035790B201A4E466 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: initWithAlarm:";
+		rLen = 53;
+		rLoc = 528;
+		rType = 0;
+		vrLen = 909;
+		vrLoc = 0;
+	};
+	F560E335035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 243;
+		vrLoc = 0;
+	};
+	F560E336035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 0;
+		rLoc = 679;
+		rType = 0;
+		vrLen = 935;
+		vrLoc = 0;
+	};
+	F560E337035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: awakeFromNib";
+		rLen = 0;
+		rLoc = 2045;
+		rType = 0;
+		vrLen = 416;
+		vrLoc = 0;
+	};
+	F560E338035790B201A4E466 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 209";
+		rLen = 0;
+		rLoc = 8742;
+		rType = 0;
+		vrLen = 1168;
+		vrLoc = 7640;
+	};
+	F560E339035790B201A4E466 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: 12";
+		rLen = 0;
+		rLoc = 234;
+		rType = 0;
+		vrLen = 909;
+		vrLoc = 0;
+	};
+	F560E33A035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 6";
+		rLen = 0;
+		rLoc = 124;
+		rType = 0;
+		vrLen = 431;
+		vrLoc = 0;
+	};
+	F560E33B035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 12";
+		rLen = 0;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 231;
+		vrLoc = 0;
+	};
+	F560E33C035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 16";
+		rLen = 0;
+		rLoc = 796;
+		rType = 0;
+		vrLen = 243;
+		vrLoc = 0;
+	};
+	F560E33D035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 11";
+		rLen = 0;
+		rLoc = 204;
+		rType = 0;
+		vrLen = 248;
+		vrLoc = 0;
+	};
+	F560E33E035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 13";
+		rLen = 0;
+		rLoc = 796;
+		rType = 0;
+		vrLen = 215;
+		vrLoc = 0;
+	};
+	F560E33F035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 11";
+		rLen = 27;
+		rLoc = 178;
+		rType = 0;
+		vrLen = 258;
+		vrLoc = 0;
+	};
+	F560E340035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 16";
+		rLen = 0;
+		rLoc = 793;
+		rType = 0;
+		vrLen = 296;
+		vrLoc = 0;
+	};
+	F560E341035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 11";
+		rLen = 27;
+		rLoc = 178;
+		rType = 0;
+		vrLen = 258;
+		vrLoc = 0;
+	};
+	F560E342035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 16";
+		rLen = 0;
+		rLoc = 793;
+		rType = 0;
+		vrLen = 296;
+		vrLoc = 0;
+	};
+	F560E343035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 14";
+		rLen = 0;
+		rLoc = 290;
+		rType = 0;
+		vrLen = 299;
+		vrLoc = 0;
+	};
+	F560E344035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 19";
+		rLen = 0;
+		rLoc = 793;
+		rType = 0;
+		vrLen = 435;
+		vrLoc = 0;
+	};
+	F560E345035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: awakeFromNib";
+		rLen = 0;
+		rLoc = 2045;
+		rType = 0;
+		vrLen = 368;
+		vrLoc = 0;
+	};
+	F560E346035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 908;
+		rLoc = 679;
+		rType = 0;
+		vrLen = 935;
+		vrLoc = 0;
+	};
+	F560E347035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 243;
+		vrLoc = 0;
+	};
+	F560E348035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 0;
+		rLoc = 1332;
+		rType = 0;
+		vrLen = 907;
+		vrLoc = 0;
+	};
+	F560E349035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: awakeFromNib";
+		rLen = 0;
+		rLoc = 791;
+		rType = 0;
+		vrLen = 525;
+		vrLoc = 0;
+	};
+	F560E34A035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 13";
+		rLen = 0;
+		rLoc = 352;
+		rType = 0;
+		vrLen = 282;
+		vrLoc = 0;
+	};
+	F560E34B035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 715;
+		rType = 0;
+		vrLen = 435;
+		vrLoc = 0;
+	};
+	F560E34C035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 14";
+		rLen = 0;
+		rLoc = 290;
+		rType = 0;
+		vrLen = 299;
+		vrLoc = 0;
+	};
+	F560E34D035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E34E035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 14";
+		rLen = 0;
+		rLoc = 290;
+		rType = 0;
+		vrLen = 299;
+		vrLoc = 0;
+	};
+	F560E34F035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E350035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 14";
+		rLen = 0;
+		rLoc = 290;
+		rType = 0;
+		vrLen = 299;
+		vrLoc = 0;
+	};
+	F560E351035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 685;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E352035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 0;
+		rLoc = 665;
+		rType = 0;
+		vrLen = 869;
+		vrLoc = 0;
+	};
+	F560E353035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 17";
+		rLen = 0;
+		rLoc = 498;
+		rType = 0;
+		vrLen = 263;
+		vrLoc = 0;
+	};
+	F560E354035790B201A4E466 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: 12";
+		rLen = 0;
+		rLoc = 234;
+		rType = 0;
+		vrLen = 909;
+		vrLoc = 0;
+	};
+	F560E355035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 0;
+		rLoc = 431;
+		rType = 0;
+		vrLen = 869;
+		vrLoc = 0;
+	};
+	F560E356035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 13";
+		rLen = 0;
+		rLoc = 601;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E357035790B201A4E466 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 245";
+		rLen = 0;
+		rLoc = 7482;
+		rType = 0;
+		vrLen = 1133;
+		vrLoc = 4230;
+	};
+	F560E358035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 12";
+		rLen = 22;
+		rLoc = 383;
+		rType = 0;
+		vrLen = 900;
+		vrLoc = 0;
+	};
+	F560E359035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 601;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E35A035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 0;
+		rLoc = 440;
+		rType = 0;
+		vrLen = 882;
+		vrLoc = 0;
+	};
+	F560E35B035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 13";
+		rLen = 0;
+		rLoc = 601;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E35C035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 25;
+		rLoc = 605;
+		rType = 0;
+		vrLen = 858;
+		vrLoc = 0;
+	};
+	F560E35D035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 17";
+		rLen = 0;
+		rLoc = 498;
+		rType = 0;
+		vrLen = 269;
+		vrLoc = 0;
+	};
+	F560E35E035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 9;
+		rLoc = 619;
+		rType = 0;
+		vrLen = 858;
+		vrLoc = 0;
+	};
+	F560E35F035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: awakeFromNib";
+		rLen = 0;
+		rLoc = 405;
+		rType = 0;
+		vrLen = 524;
+		vrLoc = 0;
+	};
+	F560E360035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 13";
+		rLen = 0;
+		rLoc = 352;
+		rType = 0;
+		vrLen = 282;
+		vrLoc = 0;
+	};
+	F560E361035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 1014;
+		rType = 0;
+		vrLen = 455;
+		vrLoc = 0;
+	};
+	F560E362035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 435;
+		vrLoc = 0;
+	};
+	F560E363035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 15";
+		rLen = 0;
+		rLoc = 292;
+		rType = 0;
+		vrLen = 299;
+		vrLoc = 0;
+	};
+	F560E364035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 435;
+		vrLoc = 0;
+	};
+	F560E365035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: 15";
+		rLen = 0;
+		rLoc = 292;
+		rType = 0;
+		vrLen = 299;
+		vrLoc = 0;
+	};
+	F560E366035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 46;
+		rLoc = 602;
+		rType = 0;
+		vrLen = 435;
+		vrLoc = 0;
+	};
+	F560E367035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: showAlarmsWindow:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F560E368035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: showAlarmsWindow:";
+		rLen = 0;
+		rLoc = 608;
+		rType = 0;
+		vrLen = 440;
+		vrLoc = 0;
+	};
+	F560E369035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F560E36A035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 437;
+		rType = 0;
+		vrLen = 455;
+		vrLoc = 0;
+	};
+	F560E36B035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: orderFrontAlarmsPanel:";
+		rLen = 0;
+		rLoc = 608;
+		rType = 0;
+		vrLen = 440;
+		vrLoc = 0;
+	};
+	F560E36C035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 796;
+		rType = 0;
+		vrLen = 455;
+		vrLoc = 0;
+	};
+	F560E36D035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 13";
+		rLen = 0;
+		rLoc = 352;
+		rType = 0;
+		vrLen = 282;
+		vrLoc = 0;
+	};
+	F560E36E035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 797;
+		rType = 0;
+		vrLen = 472;
+		vrLoc = 0;
+	};
+	F560E36F035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: orderFrontAlarmsPanel:";
+		rLen = 0;
+		rLoc = 687;
+		rType = 0;
+		vrLen = 440;
+		vrLoc = 0;
+	};
+	F560E370035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F560E371035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: orderFrontAlarmsPanel:";
+		rLen = 0;
+		rLoc = 687;
+		rType = 0;
+		vrLen = 440;
+		vrLoc = 0;
+	};
+	F560E372035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F560E373035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 23";
+		rLen = 0;
+		rLoc = 802;
+		rType = 0;
+		vrLen = 440;
+		vrLoc = 0;
+	};
+	F560E374035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: allAlarms";
+		rLen = 0;
+		rLoc = 630;
+		rType = 0;
+		vrLen = 892;
+		vrLoc = 230;
+	};
+	F560E375035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 11";
+		rLen = 55;
+		rLoc = 174;
+		rType = 0;
+		vrLen = 404;
+		vrLoc = 0;
+	};
+	F560E376035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 48";
+		rLen = 0;
+		rLoc = 2196;
+		rType = 0;
+		vrLen = 893;
+		vrLoc = 837;
+	};
+	F560E377035790B201A4E466 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: set";
+		rLen = 0;
+		rLoc = 5005;
+		rType = 0;
+		vrLen = 1183;
+		vrLoc = 4117;
+	};
+	F560E378035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: tableView:objectValueForTableColumn:row:";
+		rLen = 0;
+		rLoc = 2461;
+		rType = 0;
+		vrLen = 881;
+		vrLoc = 514;
+	};
+	F560E379035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 42";
+		rLen = 0;
+		rLoc = 2045;
+		rType = 0;
+		vrLen = 1051;
+		vrLoc = 209;
+	};
+	F560E37A035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 13";
+		rLen = 0;
+		rLoc = 352;
+		rType = 0;
+		vrLen = 282;
+		vrLoc = 0;
+	};
+	F560E37B035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 27";
+		rLen = 0;
+		rLoc = 1289;
+		rType = 0;
+		vrLen = 1056;
+		vrLoc = 208;
+	};
+	F560E37C035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: tableView:objectValueForTableColumn:row:";
+		rLen = 0;
+		rLoc = 2460;
+		rType = 0;
+		vrLen = 917;
+		vrLoc = 529;
+	};
+	F560E37D035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 19";
+		rLen = 57;
+		rLoc = 352;
+		rType = 0;
+		vrLen = 423;
+		vrLoc = 0;
+	};
+	F560E37E035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 73";
+		rLen = 39;
+		rLoc = 2598;
+		rType = 0;
+		vrLen = 714;
+		vrLoc = 942;
+	};
+	F560E37F035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 21";
+		rLen = 0;
+		rLoc = 409;
+		rType = 0;
+		vrLen = 421;
+		vrLoc = 0;
+	};
+	F560E380035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 74";
+		rLen = 1;
+		rLoc = 2638;
+		rType = 0;
+		vrLen = 702;
+		vrLoc = 959;
+	};
+	F560E381035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 22";
+		rLen = 0;
+		rLoc = 498;
+		rType = 0;
+		vrLen = 459;
+		vrLoc = 0;
+	};
+	F560E382035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 149;
+		rLoc = 1258;
+		rType = 0;
+		vrLen = 919;
+		vrLoc = 3;
+	};
+	F560E383035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: tableView:objectValueForTableColumn:row:";
+		rLen = 0;
+		rLoc = 2021;
+		rType = 0;
+		vrLen = 1166;
+		vrLoc = 209;
+	};
+	F560E384035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 14";
+		rLen = 0;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 476;
+		vrLoc = 0;
+	};
+	F560E385035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 437;
+		rType = 0;
+		vrLen = 976;
+		vrLoc = 0;
+	};
+	F560E386035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 10";
+		rLen = 0;
+		rLoc = 202;
+		rType = 0;
+		vrLen = 324;
+		vrLoc = 0;
+	};
+	F560E387035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: tableView:objectValueForTableColumn:row:";
+		rLen = 88;
+		rLoc = 1454;
+		rType = 0;
+		vrLen = 1000;
+		vrLoc = 0;
+	};
+	F560E388035790B201A4E466 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: cancel";
+		rLen = 0;
+		rLoc = 5114;
+		rType = 0;
+		vrLen = 1181;
+		vrLoc = 4117;
+	};
+	F560E389035790B201A4E466 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 0;
+		rLoc = 255;
+		rType = 0;
+		vrLen = 917;
+		vrLoc = 0;
+	};
+	F560E38A035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 1000;
+		vrLoc = 0;
+	};
+	F560E38B035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 14";
+		rLen = 0;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 476;
+		vrLoc = 0;
+	};
+	F560E38C035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 149;
+		rLoc = 1258;
+		rType = 0;
+		vrLen = 919;
+		vrLoc = 3;
+	};
+	F560E38D035790B201A4E466 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: cancel";
+		rLen = 0;
+		rLoc = 5114;
+		rType = 0;
+		vrLen = 1181;
+		vrLoc = 4117;
+	};
+	F560E38E035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 24";
+		rLen = 30;
+		rLoc = 1016;
+		rType = 0;
+		vrLen = 1146;
+		vrLoc = 243;
+	};
+	F560E38F035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 18";
+		rLen = 0;
+		rLoc = 386;
+		rType = 0;
+		vrLen = 362;
+		vrLoc = 0;
+	};
+	F560E390035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 24";
+		rLen = 30;
+		rLoc = 1016;
+		rType = 0;
+		vrLen = 1146;
+		vrLoc = 243;
+	};
+	F560E391035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 17";
+		rLen = 0;
+		rLoc = 386;
+		rType = 0;
+		vrLen = 361;
+		vrLoc = 0;
+	};
+	F560E392035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: numberOfRowsInTableView:";
+		rLen = 0;
+		rLoc = 1049;
+		rType = 0;
+		vrLen = 1208;
+		vrLoc = 243;
+	};
+	F560E393035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 17";
+		rLen = 0;
+		rLoc = 386;
+		rType = 0;
+		vrLen = 361;
+		vrLoc = 0;
+	};
+	F560E394035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 791;
+		rType = 0;
+		vrLen = 1077;
+		vrLoc = 0;
+	};
+	F560E395035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: initialize";
+		rLen = 0;
+		rLoc = 531;
+		rType = 0;
+		vrLen = 919;
+		vrLoc = 3;
+	};
+	F560E396035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 23";
+		rLen = 0;
+		rLoc = 802;
+		rType = 0;
+		vrLen = 440;
+		vrLoc = 0;
+	};
+	F560E397035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: initialize";
+		rLen = 0;
+		rLoc = 510;
+		rType = 0;
+		vrLen = 882;
+		vrLoc = 187;
+	};
+	F560E398035790B201A4E466 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: cancel";
+		rLen = 0;
+		rLoc = 5114;
+		rType = 0;
+		vrLen = 1181;
+		vrLoc = 4117;
+	};
+	F560E399035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: initialize";
+		rLen = 0;
+		rLoc = 510;
+		rType = 0;
+		vrLen = 864;
+		vrLoc = 187;
+	};
+	F560E39A035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 791;
+		rType = 0;
+		vrLen = 1090;
+		vrLoc = 0;
+	};
+	F560E39B035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: _changed";
+		rLen = 0;
+		rLoc = 1890;
+		rType = 0;
+		vrLen = 704;
+		vrLoc = 939;
+	};
+	F560E39C035790B201A4E466 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: cancel";
+		rLen = 0;
+		rLoc = 5114;
+		rType = 0;
+		vrLen = 1181;
+		vrLoc = 4117;
+	};
+	F560E39D035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 14";
+		rLen = 0;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 476;
+		vrLoc = 0;
+	};
+	F560E39E035790B201A4E466 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: initialize";
+		rLen = 0;
+		rLoc = 601;
+		rType = 0;
+		vrLen = 916;
+		vrLoc = 0;
+	};
+	F560E39F035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: removeAlarm:";
+		rLen = 0;
+		rLoc = 1034;
+		rType = 0;
+		vrLen = 1254;
+		vrLoc = 42;
+	};
+	F560E3A0035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: removeAlarm:";
+		rLen = 0;
+		rLoc = 374;
+		rType = 0;
+		vrLen = 356;
+		vrLoc = 0;
+	};
+	F560E3A1035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: numberOfRowsInTableView:";
+		rLen = 0;
+		rLoc = 1289;
+		rType = 0;
+		vrLen = 1085;
+		vrLoc = 0;
+	};
+	F560E3A2035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 14";
+		rLen = 37;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 393;
+		vrLoc = 0;
+	};
+	F560E3A3035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: heightExcess";
+		rLen = 0;
+		rLoc = 2746;
+		rType = 0;
+		vrLen = 1108;
+		vrLoc = 2152;
+	};
+	F560E3A4035790B201A4E466 = {
+		fRef = F560E30D035787BB01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 347;
+		vrLoc = 0;
+	};
+	F560E3A5035790B201A4E466 = {
+		fRef = F560E30E035787BC01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.h: 17";
+		rLen = 0;
+		rLoc = 262;
+		rType = 0;
+		vrLen = 262;
+		vrLoc = 0;
+	};
+	F560E3A6035790B201A4E466 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F560E3A7035790B201A4E466 = {
+		fRef = F517D63F0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.h: 14";
+		rLen = 37;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 393;
+		vrLoc = 0;
+	};
+	F560E3A8035790B201A4E466 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 0;
+		rLoc = 255;
+		rType = 0;
+		vrLen = 917;
+		vrLoc = 0;
+	};
+	F560E3A9035790B201A4E466 = {
+		fRef = F59DC6FC0354188F01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "NJRDateFormatter.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 247;
+		vrLoc = 0;
+	};
+	F560E3AA035790B201A4E466 = {
+		fRef = F59DC6E90353F58B01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "NJRIntegerFilter.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 247;
+		vrLoc = 0;
+	};
+	F560E3AB035790B201A4E466 = {
+		fRef = F59DC6FD0354188F01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "NJRDateFormatter.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1105;
+		vrLoc = 0;
+	};
+	F560E3AC035790B201A4E466 = {
+		fRef = F560E30E035787BC01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.h: 17";
+		rLen = 0;
+		rLoc = 262;
+		rType = 0;
+		vrLen = 262;
+		vrLoc = 0;
+	};
+	F560E3AD035790B201A4E466 = {
+		fRef = F560E30D035787BB01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.m: 9";
+		rLen = 38;
+		rLoc = 169;
+		rType = 0;
+		vrLen = 347;
+		vrLoc = 0;
+	};
+	F560E3AE035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 436;
+		rType = 0;
+		vrLen = 1195;
+		vrLoc = 295;
+	};
+	F560E3AF035790B201A4E466 = {
+		fRef = F560E3150357895001A4E466;
+		isa = PBXTextBookmark;
+		name = "NJRHistoryTrackingComboBox.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 330;
+		vrLoc = 0;
+	};
+	F560E3B0035790B201A4E466 = {
+		fRef = F560E3160357895001A4E466;
+		isa = PBXTextBookmark;
+		name = "NJRHistoryTrackingComboBox.m: 75";
+		rLen = 0;
+		rLoc = 2310;
+		rType = 0;
+		vrLen = 1152;
+		vrLoc = 0;
+	};
+	F560E3B1035790B201A4E466 = {
+		fRef = F560E30E035787BC01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.h: 17";
+		rLen = 0;
+		rLoc = 262;
+		rType = 0;
+		vrLen = 262;
+		vrLoc = 0;
+	};
+	F560E3B2035790B201A4E466 = {
+		fRef = F560E3150357895001A4E466;
+		isa = PBXTextBookmark;
+		name = "NJRHistoryTrackingComboBox.h: removeEntry:";
+		rLen = 0;
+		rLoc = 271;
+		rType = 0;
+		vrLen = 330;
+		vrLoc = 0;
+	};
+	F560E3B3035790B201A4E466 = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 223;
+		vrLoc = 0;
+	};
+	F560E3B4035790B201A4E466 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F560E3B5035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: remove:";
+		rLen = 0;
+		rLoc = 1133;
+		rType = 0;
+		vrLen = 1137;
+		vrLoc = 2456;
+	};
+	F560E3B6035790B201A4E466 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 44";
+		rLen = 0;
+		rLoc = 2681;
+		rType = 0;
+		vrLen = 1313;
+		vrLoc = 1918;
+	};
+	F560E3B7035790B201A4E466 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 22";
+		rLen = 0;
+		rLoc = 796;
+		rType = 0;
+		vrLen = 441;
+		vrLoc = 0;
+	};
+	F560E3B8035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 111";
+		rLen = 0;
+		rLoc = 3352;
+		rType = 0;
+		vrLen = 1066;
+		vrLoc = 2527;
+	};
+	F560E3B9035790B201A4E466 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: controlTextDidChange:";
+		rLen = 0;
+		rLoc = 8782;
+		rType = 0;
+		vrLen = 1066;
+		vrLoc = 7760;
+	};
+	F560E3BA035790B201A4E466 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F560E3BB035790B201A4E466 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 146";
+		rLen = 0;
+		rLoc = 6551;
+		rType = 0;
+		vrLen = 1289;
+		vrLoc = 5879;
+	};
+	F560E3BC035790B201A4E466 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: 6";
+		rLen = 0;
+		rLoc = 110;
+		rType = 0;
+		vrLen = 909;
+		vrLoc = 0;
+	};
+	F560E3BD035790B201A4E466 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: windowWillUseStandardFrame:defaultFrame:";
+		rLen = 0;
+		rLoc = 3226;
+		rType = 0;
+		vrLen = 1137;
+		vrLoc = 2456;
+	};
+	F560E3BE035790B201A4E466 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 14";
+		rLen = 0;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 476;
+		vrLoc = 0;
+	};
+	F560E3C1035790B201A4E466 = {
+		isa = PBXFileReference;
+		name = NSObject.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h;
+		refType = 0;
+	};
+	F560E3C3035790B201A4E466 = {
+		isa = PBXFileReference;
+		name = NSDocument.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSDocument.h;
+		refType = 0;
+	};
+	F560E3C4035790B201A4E466 = {
+		isa = PBXFileReference;
+		name = NSWindowController.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindowController.h;
+		refType = 0;
+	};
+	F560E3C6035790B201A4E466 = {
+		isa = PBXFileReference;
+		name = NSControl.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSControl.h;
+		refType = 0;
+	};
+	F596730D0355CFA301407038 = {
+		isa = PBXSymbolicBreakpoint;
+		state = 1;
+		symbolName = "-[_NSZombie methodSignatureForSelector:]";
+	};
+	F596730F0355D73B01407038 = {
+		fRef = F59673490355D73B01407038;
+		isa = PBXTextBookmark;
+		name = "NSTimer.h: 14";
+		rLen = 151;
+		rLoc = 548;
+		rType = 0;
+		vrLen = 832;
+		vrLoc = 0;
+	};
+	F59673150355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 164";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1092;
+		vrLoc = 3476;
+	};
+	F59673160355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59673170355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 164";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1092;
+		vrLoc = 3476;
+	};
+	F59673180355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59673190355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 164";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1112;
+		vrLoc = 3476;
+	};
+	F596731A0355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F596731B0355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 164";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1119;
+		vrLoc = 3476;
+	};
+	F596731C0355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F596731D0355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 167";
+		rLen = 0;
+		rLoc = 5697;
+		rType = 0;
+		vrLen = 1169;
+		vrLoc = 3506;
+	};
+	F596731E0355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F596731F0355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 169";
+		rLen = 0;
+		rLoc = 5697;
+		rType = 0;
+		vrLen = 1246;
+		vrLoc = 3505;
+	};
+	F59673200355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 11";
+		rLen = 23;
+		rLoc = 194;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59673210355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 176";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1226;
+		vrLoc = 3793;
+	};
+	F59673220355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 11";
+		rLen = 23;
+		rLoc = 194;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59673230355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 177";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1269;
+		vrLoc = 3793;
+	};
+	F59673240355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 11";
+		rLen = 23;
+		rLoc = 194;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59673250355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 179";
+		rLen = 0;
+		rLoc = 6232;
+		rType = 0;
+		vrLen = 1289;
+		vrLoc = 3897;
+	};
+	F59673260355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 0;
+		rLoc = 255;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59673270355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 106";
+		rLen = 0;
+		rLoc = 3435;
+		rType = 0;
+		vrLen = 1004;
+		vrLoc = 2555;
+	};
+	F59673280355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: update:";
+		rLen = 0;
+		rLoc = 5636;
+		rType = 0;
+		vrLen = 1280;
+		vrLoc = 3803;
+	};
+	F59673290355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 939;
+		vrLoc = 0;
+	};
+	F596732A0355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: updateDateDisplay:";
+		rLen = 0;
+		rLoc = 5355;
+		rType = 0;
+		vrLen = 1244;
+		vrLoc = 3803;
+	};
+	F596732B0355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 29";
+		rLen = 0;
+		rLoc = 816;
+		rType = 0;
+		vrLen = 865;
+		vrLoc = 3;
+	};
+	F596732C0355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: _setAlarmDate:";
+		rLen = 0;
+		rLoc = 721;
+		rType = 0;
+		vrLen = 325;
+		vrLoc = 0;
+	};
+	F596732D0355D73B01407038 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 0;
+		rLoc = 255;
+		rType = 0;
+		vrLen = 865;
+		vrLoc = 3;
+	};
+	F596732E0355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: updateDateDisplay:";
+		rLen = 0;
+		rLoc = 4048;
+		rType = 0;
+		vrLen = 1402;
+		vrLoc = 3524;
+	};
+	F596732F0355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 24";
+		rLen = 0;
+		rLoc = 803;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F59673300355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarmDateAndInterval:";
+		rLen = 0;
+		rLoc = 3847;
+		rType = 0;
+		vrLen = 1319;
+		vrLoc = 3524;
+	};
+	F59673310355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 24";
+		rLen = 0;
+		rLoc = 803;
+		rType = 0;
+		vrLen = 966;
+		vrLoc = 0;
+	};
+	F59673320355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 177";
+		rLen = 0;
+		rLoc = 8463;
+		rType = 0;
+		vrLen = 1220;
+		vrLoc = 6270;
+	};
+	F59673330355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 24";
+		rLen = 0;
+		rLoc = 803;
+		rType = 0;
+		vrLen = 966;
+		vrLoc = 0;
+	};
+	F59673340355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 103";
+		rLen = 0;
+		rLoc = 4882;
+		rType = 0;
+		vrLen = 1465;
+		vrLoc = 3992;
+	};
+	F59673350355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 24";
+		rLen = 0;
+		rLoc = 803;
+		rType = 0;
+		vrLen = 966;
+		vrLoc = 0;
+	};
+	F59673360355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: _stopUpdateTimer";
+		rLen = 0;
+		rLoc = 3931;
+		rType = 0;
+		vrLen = 1223;
+		vrLoc = 3475;
+	};
+	F59673370355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 24";
+		rLen = 0;
+		rLoc = 803;
+		rType = 0;
+		vrLen = 966;
+		vrLoc = 0;
+	};
+	F59673380355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: _stopUpdateTimer";
+		rLen = 0;
+		rLoc = 3931;
+		rType = 0;
+		vrLen = 1209;
+		vrLoc = 3475;
+	};
+	F59673390355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 23";
+		rLen = 0;
+		rLoc = 802;
+		rType = 0;
+		vrLen = 965;
+		vrLoc = 0;
+	};
+	F596733A0355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 23";
+		rLen = 0;
+		rLoc = 1301;
+		rType = 0;
+		vrLen = 1898;
+		vrLoc = 0;
+	};
+	F596733B0355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 23";
+		rLen = 0;
+		rLoc = 802;
+		rType = 0;
+		vrLen = 965;
+		vrLoc = 0;
+	};
+	F596733C0355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 23";
+		rLen = 0;
+		rLoc = 1301;
+		rType = 0;
+		vrLen = 1898;
+		vrLoc = 0;
+	};
+	F596733D0355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 25";
+		rLen = 0;
+		rLoc = 801;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F596733E0355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1901;
+		vrLoc = 0;
+	};
+	F596733F0355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: setAlarm:";
+		rLen = 0;
+		rLoc = 964;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F59673400355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1901;
+		vrLoc = 0;
+	};
+	F59673410355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F59673420355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: inAtChanged:";
+		rLen = 0;
+		rLoc = 5802;
+		rType = 0;
+		vrLen = 1350;
+		vrLoc = 4912;
+	};
+	F59673440355D73B01407038 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F59673450355D73B01407038 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 208";
+		rLen = 0;
+		rLoc = 8963;
+		rType = 0;
+		vrLen = 1075;
+		vrLoc = 7562;
+	};
+	F59673460355D73B01407038 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 195";
+		rLen = 0;
+		rLoc = 7482;
+		rType = 0;
+		vrLen = 1376;
+		vrLoc = 4249;
+	};
+	F59673490355D73B01407038 = {
+		isa = PBXFileReference;
+		name = NSTimer.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSTimer.h;
+		refType = 0;
 	};
 	F59B967103538BE201154278 = {
@@ -332,4 +3045,234 @@
 		);
 	};
+	F59B967803550EF801154278 = {
+		fRef = F59B969603550EF801154278;
+		isa = PBXBookmark;
+	};
+	F59B967B03550EF801154278 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1898;
+		vrLoc = 0;
+	};
+	F59B967C03550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: PSAlarmInterval";
+		rLen = 0;
+		rLoc = 255;
+		rType = 0;
+		vrLen = 772;
+		vrLoc = 0;
+	};
+	F59B967D03550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 12";
+		rLen = 0;
+		rLoc = 333;
+		rType = 0;
+		vrLen = 765;
+		vrLoc = 0;
+	};
+	F59B967E03550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 35";
+		rLen = 18;
+		rLoc = 970;
+		rType = 0;
+		vrLen = 848;
+		vrLoc = 0;
+	};
+	F59B967F03550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 146";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 700;
+		vrLoc = 3144;
+	};
+	F59B968003550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 35";
+		rLen = 18;
+		rLoc = 970;
+		rType = 0;
+		vrLen = 848;
+		vrLoc = 0;
+	};
+	F59B968103550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 146";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 710;
+		vrLoc = 3144;
+	};
+	F59B968203550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 35";
+		rLen = 18;
+		rLoc = 970;
+		rType = 0;
+		vrLen = 848;
+		vrLoc = 0;
+	};
+	F59B968303550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 146";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 719;
+		vrLoc = 3144;
+	};
+	F59B968403550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 21";
+		rLen = 0;
+		rLoc = 595;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59B968503550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 147";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 733;
+		vrLoc = 3146;
+	};
+	F59B968603550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 21";
+		rLen = 0;
+		rLoc = 595;
+		rType = 0;
+		vrLen = 865;
+		vrLoc = 3;
+	};
+	F59B968703550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 147";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 718;
+		vrLoc = 3146;
+	};
+	F59B968803550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: PSAlarmInterval";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59B968903550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 147";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 745;
+		vrLoc = 3144;
+	};
+	F59B968A03550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: PSAlarmInterval";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59B968B03550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 147";
+		rLen = 0;
+		rLoc = 5096;
+		rType = 0;
+		vrLen = 655;
+		vrLoc = 3214;
+	};
+	F59B968C03550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: PSAlarmInterval";
+		rLen = 15;
+		rLoc = 215;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59B968D03550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: 155";
+		rLen = 0;
+		rLoc = 5095;
+		rType = 0;
+		vrLen = 909;
+		vrLoc = 3441;
+	};
+	F59B968E03550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 20";
+		rLen = 14;
+		rLoc = 560;
+		rType = 0;
+		vrLen = 865;
+		vrLoc = 3;
+	};
+	F59B968F03550EF801154278 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: scheduledTimerWithTarget:selector:";
+		rLen = 0;
+		rLoc = 5095;
+		rType = 0;
+		vrLen = 938;
+		vrLoc = 3412;
+	};
+	F59B969003550EF801154278 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 12";
+		rLen = 10;
+		rLoc = 245;
+		rType = 0;
+		vrLen = 868;
+		vrLoc = 0;
+	};
+	F59B969603550EF801154278 = {
+		isa = PBXFileReference;
+		name = NSTimer.html;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSTimer.html;
+		refType = 0;
+	};
 	F59DC6D20353C43201AEEDB1 = {
 		children = (
@@ -338,4 +3281,8 @@
 			F59DC6DA0353D72901AEEDB1,
 			F59DC6E20353E0EB01AEEDB1,
+			F517D63D0356AC88016D68B9,
+			F560E2F5035750C101A4E466,
+			F560E2F80357779E01A4E466,
+			F560E2FB035786FE01A4E466,
 		);
 		isa = PBXBookmarkGroup;
@@ -347,5 +3294,5 @@
 		name = "PSAlarmSetController.m: 16";
 		rLen = 0;
-		rLoc = 2594;
+		rLoc = 2679;
 		rType = 0;
 		vrLen = 291;
@@ -357,5 +3304,5 @@
 		name = "PSAlarmSetController.m: inAtChanged:";
 		rLen = 36;
-		rLoc = 4953;
+		rLoc = 5791;
 		rType = 0;
 		vrLen = 478;
@@ -367,5 +3314,5 @@
 		name = "PSAlarmSetController.h: 25";
 		rLen = 0;
-		rLoc = 773;
+		rLoc = 805;
 		rType = 0;
 		vrLen = 758;
@@ -377,8 +3324,1228 @@
 		name = "PSAlarmSetController.h: 31";
 		rLen = 0;
-		rLoc = 933;
+		rLoc = 965;
 		rType = 0;
 		vrLen = 826;
 		vrLoc = 0;
 	};
+	F59DD43F03588762017318D0 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F59DD44503588762017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7063;
+		rType = 0;
+		vrLen = 931;
+		vrLoc = 6441;
+	};
+	F59DD44603588762017318D0 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F59DD44703588762017318D0 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarm:";
+		rLen = 0;
+		rLoc = 7214;
+		rType = 0;
+		vrLen = 1196;
+		vrLoc = 6423;
+	};
+	F59DD44803588762017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 425;
+		rType = 0;
+		vrLen = 1183;
+		vrLoc = 0;
+	};
+	F59DD44903588762017318D0 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 12";
+		rLen = 0;
+		rLoc = 262;
+		rType = 0;
+		vrLen = 802;
+		vrLoc = 0;
+	};
+	F59DD44A03588762017318D0 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: setTimer";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 28;
+	};
+	F59DD44B03588762017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 6780;
+		rType = 0;
+		vrLen = 1022;
+		vrLoc = 6347;
+	};
+	F59DD4540358BA75017318D0 = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 7";
+		rLen = 0;
+		rLoc = 223;
+		rType = 0;
+		vrLen = 223;
+		vrLoc = 0;
+	};
+	F59DD4550358BA75017318D0 = {
+		fRef = F5DFBEFF0357FE8701661E33;
+		isa = PBXTextBookmark;
+		name = "NJRScrollView.h: 17";
+		rLen = 0;
+		rLoc = 285;
+		rType = 0;
+		vrLen = 285;
+		vrLoc = 0;
+	};
+	F59DD4560358BA75017318D0 = {
+		fRef = F560E30E035787BC01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.h: 17";
+		rLen = 0;
+		rLoc = 262;
+		rType = 0;
+		vrLen = 262;
+		vrLoc = 0;
+	};
+	F59DD4570358BA75017318D0 = {
+		fRef = F59DD4880358BA76017318D0;
+		isa = PBXTextBookmark;
+		name = "NSTableView.h: 219";
+		rLen = 0;
+		rLoc = 7720;
+		rType = 0;
+		vrLen = 1286;
+		vrLoc = 5967;
+	};
+	F59DD4580358BA75017318D0 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarm:";
+		rLen = 0;
+		rLoc = 7214;
+		rType = 0;
+		vrLen = 1194;
+		vrLoc = 6423;
+	};
+	F59DD4590358BA75017318D0 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 26";
+		rLen = 0;
+		rLoc = 498;
+		rType = 0;
+		vrLen = 503;
+		vrLoc = 0;
+	};
+	F59DD45A0358BA75017318D0 = {
+		fRef = F59DD4890358BA76017318D0;
+		isa = PBXTextBookmark;
+		name = "NSArray.h: 44";
+		rLen = 0;
+		rLoc = 1706;
+		rType = 0;
+		vrLen = 1319;
+		vrLoc = 2621;
+	};
+	F59DD45B0358BA75017318D0 = {
+		fRef = F59DD48A0358BA76017318D0;
+		isa = PBXTextBookmark;
+		name = "NSValue.h: 53";
+		rLen = 55;
+		rLoc = 1190;
+		rType = 0;
+		vrLen = 1052;
+		vrLoc = 769;
+	};
+	F59DD45C0358BA75017318D0 = {
+		fRef = F59DD48B0358BA76017318D0;
+		isa = PBXTextBookmark;
+		name = "NSDate.h: 29";
+		rLen = 47;
+		rLoc = 630;
+		rType = 0;
+		vrLen = 845;
+		vrLoc = 0;
+	};
+	F59DD45D0358BA75017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: compare:";
+		rLen = 53;
+		rLoc = 5707;
+		rType = 0;
+		vrLen = 1314;
+		vrLoc = 5383;
+	};
+	F59DD45E0358BA75017318D0 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 43";
+		rLen = 0;
+		rLoc = 994;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 81;
+	};
+	F59DD45F0358BA75017318D0 = {
+		fRef = F5DFBEFE0357FE8701661E33;
+		isa = PBXTextBookmark;
+		name = "NJRScrollView.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 934;
+		vrLoc = 0;
+	};
+	F59DD4600358BA75017318D0 = {
+		fRef = F560E30D035787BB01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.m: needsPanelToBecomeKey";
+		rLen = 0;
+		rLoc = 455;
+		rType = 0;
+		vrLen = 482;
+		vrLoc = 0;
+	};
+	F59DD4610358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: dealloc";
+		rLen = 0;
+		rLoc = 1718;
+		rType = 0;
+		vrLen = 1087;
+		vrLoc = 82;
+	};
+	F59DD4620358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 39;
+	};
+	F59DD4630358BA75017318D0 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: controllerWithTimerExpiredNotification:";
+		rLen = 0;
+		rLoc = 315;
+		rType = 0;
+		vrLen = 958;
+		vrLoc = 0;
+	};
+	F59DD4640358BA75017318D0 = {
+		fRef = F59DD4500358ABF4017318D0;
+		isa = PBXTextBookmark;
+		name = "English: 1";
+		rLen = 0;
+		rLoc = 51;
+		rType = 0;
+		vrLen = 119;
+		vrLoc = 0;
+	};
+	F59DD4650358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: alarmCount";
+		rLen = 0;
+		rLoc = 2511;
+		rType = 0;
+		vrLen = 870;
+		vrLoc = 2323;
+	};
+	F59DD4660358BA75017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7051;
+		rType = 0;
+		vrLen = 898;
+		vrLoc = 0;
+	};
+	F59DD4680358BA75017318D0 = {
+		fRef = 089C165DFE840E0CC02AAC07;
+		isa = PBXTextBookmark;
+		name = "English: 7";
+		rLen = 0;
+		rLoc = 223;
+		rType = 0;
+		vrLen = 223;
+		vrLoc = 0;
+	};
+	F59DD4690358BA75017318D0 = {
+		fRef = F5DFBEFE0357FE8701661E33;
+		isa = PBXTextBookmark;
+		name = "NJRScrollView.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 934;
+		vrLoc = 0;
+	};
+	F59DD46A0358BA75017318D0 = {
+		fRef = F5DFBEFF0357FE8701661E33;
+		isa = PBXTextBookmark;
+		name = "NJRScrollView.h: 17";
+		rLen = 0;
+		rLoc = 285;
+		rType = 0;
+		vrLen = 285;
+		vrLoc = 0;
+	};
+	F59DD46B0358BA75017318D0 = {
+		fRef = F560E30E035787BC01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.h: 17";
+		rLen = 0;
+		rLoc = 262;
+		rType = 0;
+		vrLen = 262;
+		vrLoc = 0;
+	};
+	F59DD46C0358BA75017318D0 = {
+		fRef = F560E30D035787BB01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.m: 20";
+		rLen = 0;
+		rLoc = 482;
+		rType = 0;
+		vrLen = 347;
+		vrLoc = 0;
+	};
+	F59DD46D0358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 425;
+		rType = 0;
+		vrLen = 1183;
+		vrLoc = 0;
+	};
+	F59DD46E0358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: _changed";
+		rLen = 0;
+		rLoc = 2196;
+		rType = 0;
+		vrLen = 1371;
+		vrLoc = 821;
+	};
+	F59DD46F0358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: e";
+		rLen = 0;
+		rLoc = 816;
+		rType = 0;
+		vrLen = 1195;
+		vrLoc = 366;
+	};
+	F59DD4700358BA75017318D0 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarm:";
+		rLen = 0;
+		rLoc = 7214;
+		rType = 0;
+		vrLen = 1194;
+		vrLoc = 6423;
+	};
+	F59DD4710358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: removeAlarmsAtIndices:";
+		rLen = 50;
+		rLoc = 2683;
+		rType = 0;
+		vrLen = 871;
+		vrLoc = 2323;
+	};
+	F59DD4720358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: alarmsChanged";
+		rLen = 0;
+		rLoc = 947;
+		rType = 0;
+		vrLen = 1088;
+		vrLoc = 366;
+	};
+	F59DD4730358BA75017318D0 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 26";
+		rLen = 0;
+		rLoc = 498;
+		rType = 0;
+		vrLen = 503;
+		vrLoc = 0;
+	};
+	F59DD4740358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: alarmData";
+		rLen = 0;
+		rLoc = 1833;
+		rType = 0;
+		vrLen = 1261;
+		vrLoc = 1065;
+	};
+	F59DD4750358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: remove:";
+		rLen = 0;
+		rLoc = 1032;
+		rType = 0;
+		vrLen = 1157;
+		vrLoc = 297;
+	};
+	F59DD4760358BA75017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: encodeWithCoder:";
+		rLen = 0;
+		rLoc = 6236;
+		rType = 0;
+		vrLen = 1174;
+		vrLoc = 5154;
+	};
+	F59DD4770358BA75017318D0 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: setTimer";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 28;
+	};
+	F59DD4780358BA75017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: encodeWithCoder:";
+		rLen = 0;
+		rLoc = 6236;
+		rType = 0;
+		vrLen = 1174;
+		vrLoc = 5154;
+	};
+	F59DD4790358BA75017318D0 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: setTimer";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 28;
+	};
+	F59DD47A0358BA75017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: encodeWithCoder:";
+		rLen = 0;
+		rLoc = 6236;
+		rType = 0;
+		vrLen = 1186;
+		vrLoc = 5154;
+	};
+	F59DD47B0358BA75017318D0 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: setTimer";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 28;
+	};
+	F59DD47C0358BA75017318D0 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: compare:";
+		rLen = 53;
+		rLoc = 5707;
+		rType = 0;
+		vrLen = 1314;
+		vrLoc = 5383;
+	};
+	F59DD47D0358BA75017318D0 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: 43";
+		rLen = 0;
+		rLoc = 994;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 81;
+	};
+	F59DD47E0358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: remove:";
+		rLen = 0;
+		rLoc = 1134;
+		rType = 0;
+		vrLen = 1094;
+		vrLoc = 42;
+	};
+	F59DD47F0358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: _changed";
+		rLen = 0;
+		rLoc = 1993;
+		rType = 0;
+		vrLen = 1269;
+		vrLoc = 1065;
+	};
+	F59DD4800358BA75017318D0 = {
+		fRef = F560E30D035787BB01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.m: 20";
+		rLen = 0;
+		rLoc = 482;
+		rType = 0;
+		vrLen = 347;
+		vrLoc = 0;
+	};
+	F59DD4810358BA75017318D0 = {
+		fRef = F5DFBEFE0357FE8701661E33;
+		isa = PBXTextBookmark;
+		name = "NJRScrollView.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 934;
+		vrLoc = 0;
+	};
+	F59DD4820358BA75017318D0 = {
+		fRef = F560E30D035787BB01A4E466;
+		isa = PBXTextBookmark;
+		name = "NSTableView-NJRExtensions.m: needsPanelToBecomeKey";
+		rLen = 0;
+		rLoc = 455;
+		rType = 0;
+		vrLen = 482;
+		vrLoc = 0;
+	};
+	F59DD4830358BA75017318D0 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: dealloc";
+		rLen = 0;
+		rLoc = 1718;
+		rType = 0;
+		vrLen = 1087;
+		vrLoc = 82;
+	};
+	F59DD4840358BA75017318D0 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 744;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 39;
+	};
+	F59DD4850358BA75017318D0 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: controllerWithTimerExpiredNotification:";
+		rLen = 0;
+		rLoc = 315;
+		rType = 0;
+		vrLen = 958;
+		vrLoc = 0;
+	};
+	F59DD4860358BA75017318D0 = {
+		fRef = F59DD4500358ABF4017318D0;
+		isa = PBXTextBookmark;
+		name = "English: 1";
+		rLen = 0;
+		rLoc = 51;
+		rType = 0;
+		vrLen = 119;
+		vrLoc = 0;
+	};
+	F59DD4880358BA76017318D0 = {
+		isa = PBXFileReference;
+		name = NSTableView.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTableView.h;
+		refType = 0;
+	};
+	F59DD4890358BA76017318D0 = {
+		isa = PBXFileReference;
+		name = NSArray.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSArray.h;
+		refType = 0;
+	};
+	F59DD48A0358BA76017318D0 = {
+		isa = PBXFileReference;
+		name = NSValue.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSValue.h;
+		refType = 0;
+	};
+	F59DD48B0358BA76017318D0 = {
+		isa = PBXFileReference;
+		name = NSDate.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSDate.h;
+		refType = 0;
+	};
+	F59DD48D0358E3F2017318D0 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F59DD48E0358E3F2017318D0 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 33";
+		rLen = 0;
+		rLoc = 802;
+		rType = 0;
+		vrLen = 802;
+		vrLoc = 0;
+	};
+	F59DD48F0358E3F2017318D0 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 33";
+		rLen = 0;
+		rLoc = 802;
+		rType = 0;
+		vrLen = 802;
+		vrLoc = 0;
+	};
+	F59DD4900358E3F2017318D0 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F59DD4910358E3F2017318D0 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: 7";
+		rLen = 0;
+		rLoc = 149;
+		rType = 0;
+		vrLen = 802;
+		vrLoc = 0;
+	};
+	F5DFBF0C0358010901661E33 = {
+		fRef = F5DFBF550358010901661E33;
+		isa = PBXTextBookmark;
+		name = "NSArchiver.h: 31";
+		rLen = 26;
+		rLoc = 779;
+		rType = 0;
+		vrLen = 1105;
+		vrLoc = 0;
+	};
+	F5DFBF0D0358010901661E33 = {
+		fRef = F5DFBF560358010901661E33;
+		isa = PBXTextBookmark;
+		name = "NSUserDefaults.h: 40";
+		rLen = 0;
+		rLoc = 1215;
+		rType = 0;
+		vrLen = 1387;
+		vrLoc = 495;
+	};
+	F5DFBF0E0358010901661E33 = {
+		fRef = F5DFBF570358010901661E33;
+		isa = PBXBookmark;
+	};
+	F5DFBF0F0358010901661E33 = {
+		fRef = F5DFBF580358010901661E33;
+		isa = PBXTextBookmark;
+		name = "NSApplication.h: 107";
+		rLen = 15;
+		rLoc = 3291;
+		rType = 0;
+		vrLen = 1344;
+		vrLoc = 3112;
+	};
+	F5DFBF120358010901661E33 = {
+		fRef = F5DFBF4E0358010901661E33;
+		isa = PBXBookmark;
+	};
+	F5DFBF130358010901661E33 = {
+		fRef = F5DFBF4F0358010901661E33;
+		isa = PBXBookmark;
+	};
+	F5DFBF140358010901661E33 = {
+		fRef = F5DFBF500358010901661E33;
+		isa = PBXTextBookmark;
+		name = "NSEnumerator.h: 19";
+		rLen = 10;
+		rLoc = 306;
+		rType = 0;
+		vrLen = 325;
+		vrLoc = 0;
+	};
+	F5DFBF150358010901661E33 = {
+		fRef = F5DFBF510358010901661E33;
+		isa = PBXBookmark;
+	};
+	F5DFBF170358010901661E33 = {
+		fRef = F5DFBF530358010901661E33;
+		isa = PBXTextBookmark;
+		name = "NSData.h: 61";
+		rLen = 0;
+		rLoc = 1725;
+		rType = 0;
+		vrLen = 1196;
+		vrLoc = 966;
+	};
+	F5DFBF1C0358010901661E33 = {
+		fRef = F5DFBF540358010901661E33;
+		isa = PBXTextBookmark;
+		name = "NSWindow.h: 217";
+		rLen = 9;
+		rLoc = 8330;
+		rType = 0;
+		vrLen = 1148;
+		vrLoc = 7816;
+	};
+	F5DFBF220358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 20";
+		rLen = 77;
+		rLoc = 432;
+		rType = 0;
+		vrLen = 915;
+		vrLoc = 0;
+	};
+	F5DFBF230358010901661E33 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 20";
+		rLen = 0;
+		rLoc = 351;
+		rType = 0;
+		vrLen = 476;
+		vrLoc = 0;
+	};
+	F5DFBF240358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 20";
+		rLen = 77;
+		rLoc = 432;
+		rType = 0;
+		vrLen = 915;
+		vrLoc = 0;
+	};
+	F5DFBF250358010901661E33 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: setUp";
+		rLen = 0;
+		rLoc = 325;
+		rType = 0;
+		vrLen = 491;
+		vrLoc = 0;
+	};
+	F5DFBF260358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: setUp";
+		rLen = 77;
+		rLoc = 432;
+		rType = 0;
+		vrLen = 915;
+		vrLoc = 0;
+	};
+	F5DFBF270358010901661E33 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: setUp";
+		rLen = 0;
+		rLoc = 325;
+		rType = 0;
+		vrLen = 491;
+		vrLoc = 0;
+	};
+	F5DFBF280358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: PSPendingAlarms";
+		rLen = 0;
+		rLoc = 341;
+		rType = 0;
+		vrLen = 875;
+		vrLoc = 0;
+	};
+	F5DFBF290358010901661E33 = {
+		fRef = F560E2F10357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.m: finishLaunching";
+		rLen = 0;
+		rLoc = 599;
+		rType = 0;
+		vrLen = 542;
+		vrLoc = 0;
+	};
+	F5DFBF2A0358010901661E33 = {
+		fRef = F560E2F20357506401A4E466;
+		isa = PBXTextBookmark;
+		name = "PSApplication.h: orderFrontAlarmsPanel:";
+		rLen = 46;
+		rLoc = 294;
+		rType = 0;
+		vrLen = 346;
+		vrLoc = 0;
+	};
+	F5DFBF2B0358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: windowWillUseStandardFrame:defaultFrame:";
+		rLen = 0;
+		rLoc = 3226;
+		rType = 0;
+		vrLen = 1213;
+		vrLoc = 1115;
+	};
+	F5DFBF2C0358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: _changed";
+		rLen = 0;
+		rLoc = 1890;
+		rType = 0;
+		vrLen = 1186;
+		vrLoc = 1228;
+	};
+	F5DFBF2D0358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: windowWillUseStandardFrame:defaultFrame:";
+		rLen = 0;
+		rLoc = 3226;
+		rType = 0;
+		vrLen = 1227;
+		vrLoc = 1101;
+	};
+	F5DFBF2E0358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: encodeWithCoder:";
+		rLen = 0;
+		rLoc = 6756;
+		rType = 0;
+		vrLen = 1082;
+		vrLoc = 6076;
+	};
+	F5DFBF2F0358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: 58";
+		rLen = 0;
+		rLoc = 1717;
+		rType = 0;
+		vrLen = 668;
+		vrLoc = 2082;
+	};
+	F5DFBF300358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: encodeWithCoder:";
+		rLen = 0;
+		rLoc = 6756;
+		rType = 0;
+		vrLen = 1128;
+		vrLoc = 6076;
+	};
+	F5DFBF310358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: tableView:objectValueForTableColumn:row:";
+		rLen = 0;
+		rLoc = 1772;
+		rType = 0;
+		vrLen = 1472;
+		vrLoc = 1806;
+	};
+	F5DFBF320358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: set";
+		rLen = 0;
+		rLoc = 4341;
+		rType = 0;
+		vrLen = 1171;
+		vrLoc = 3901;
+	};
+	F5DFBF330358010901661E33 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: set";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 910;
+		vrLoc = 31;
+	};
+	F5DFBF340358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7458;
+		rType = 0;
+		vrLen = 1119;
+		vrLoc = 6159;
+	};
+	F5DFBF350358010901661E33 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarm:";
+		rLen = 0;
+		rLoc = 7084;
+		rType = 0;
+		vrLen = 1266;
+		vrLoc = 6519;
+	};
+	F5DFBF360358010901661E33 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F5DFBF370358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 102";
+		rLen = 0;
+		rLoc = 3350;
+		rType = 0;
+		vrLen = 1166;
+		vrLoc = 2323;
+	};
+	F5DFBF380358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7413;
+		rType = 0;
+		vrLen = 1071;
+		vrLoc = 6256;
+	};
+	F5DFBF390358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: remove:";
+		rLen = 84;
+		rLoc = 1049;
+		rType = 0;
+		vrLen = 1299;
+		vrLoc = 366;
+	};
+	F5DFBF3A0358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: removeAlarmsAtIndices:";
+		rLen = 50;
+		rLoc = 2683;
+		rType = 0;
+		vrLen = 752;
+		vrLoc = 2447;
+	};
+	F5DFBF3B0358010901661E33 = {
+		fRef = F517D6430356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.h: 26";
+		rLen = 0;
+		rLoc = 498;
+		rType = 0;
+		vrLen = 503;
+		vrLoc = 0;
+	};
+	F5DFBF3C0358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: removeAlarm:";
+		rLen = 0;
+		rLoc = 3262;
+		rType = 0;
+		vrLen = 755;
+		vrLoc = 2444;
+	};
+	F5DFBF3D0358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: remove:";
+		rLen = 0;
+		rLoc = 1133;
+		rType = 0;
+		vrLen = 1362;
+		vrLoc = 366;
+	};
+	F5DFBF3E0358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: removeAlarmsAtIndices:";
+		rLen = 0;
+		rLoc = 3029;
+		rType = 0;
+		vrLen = 776;
+		vrLoc = 2423;
+	};
+	F5DFBF3F0358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7119;
+		rType = 0;
+		vrLen = 1096;
+		vrLoc = 6231;
+	};
+	F5DFBF400358010901661E33 = {
+		fRef = F517D6420356B8CC016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarms.m: init";
+		rLen = 0;
+		rLoc = 1588;
+		rType = 0;
+		vrLen = 763;
+		vrLoc = 2436;
+	};
+	F5DFBF410358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: setTimer";
+		rLen = 0;
+		rLoc = 5095;
+		rType = 0;
+		vrLen = 1025;
+		vrLoc = 6307;
+	};
+	F5DFBF420358010901661E33 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F5DFBF430358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: tableView:objectValueForTableColumn:row:";
+		rLen = 0;
+		rLoc = 1883;
+		rType = 0;
+		vrLen = 1216;
+		vrLoc = 1383;
+	};
+	F5DFBF440358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7442;
+		rType = 0;
+		vrLen = 1087;
+		vrLoc = 6282;
+	};
+	F5DFBF450358010901661E33 = {
+		fRef = F5DFBEFF0357FE8701661E33;
+		isa = PBXTextBookmark;
+		name = "NJRScrollView.h: 17";
+		rLen = 0;
+		rLoc = 285;
+		rType = 0;
+		vrLen = 285;
+		vrLoc = 0;
+	};
+	F5DFBF460358010901661E33 = {
+		fRef = F59DC6DC0353DE5101AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmNotifierController.m: 6";
+		rLen = 0;
+		rLoc = 110;
+		rType = 0;
+		vrLen = 909;
+		vrLoc = 0;
+	};
+	F5DFBF470358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: 15";
+		rLen = 13;
+		rLoc = 282;
+		rType = 0;
+		vrLen = 1183;
+		vrLoc = 0;
+	};
+	F5DFBF480358010901661E33 = {
+		fRef = F59DC6D30353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.h: 22";
+		rLen = 0;
+		rLoc = 714;
+		rType = 0;
+		vrLen = 971;
+		vrLoc = 0;
+	};
+	F5DFBF490358010901661E33 = {
+		fRef = F59DC6D40353C9E601AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarmSetController.m: setAlarm:";
+		rLen = 0;
+		rLoc = 7084;
+		rType = 0;
+		vrLen = 1179;
+		vrLoc = 6519;
+	};
+	F5DFBF4A0358010901661E33 = {
+		fRef = F517D63E0356B80C016D68B9;
+		isa = PBXTextBookmark;
+		name = "PSAlarmsController.m: init";
+		rLen = 0;
+		rLoc = 425;
+		rType = 0;
+		vrLen = 1183;
+		vrLoc = 0;
+	};
+	F5DFBF4B0358010901661E33 = {
+		fRef = F59F6CB50354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.m: initWithCoder:";
+		rLen = 0;
+		rLoc = 7412;
+		rType = 0;
+		vrLen = 961;
+		vrLoc = 6411;
+	};
+	F5DFBF4C0358010901661E33 = {
+		fRef = F59F6CB40354E7DA01AEEDB1;
+		isa = PBXTextBookmark;
+		name = "PSAlarm.h: setTimer";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 28;
+	};
+	F5DFBF4E0358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSUnarchiver.html;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSUnarchiver.html;
+		refType = 0;
+	};
+	F5DFBF4F0358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSTableView.html;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSTableView.html;
+		refType = 0;
+	};
+	F5DFBF500358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSEnumerator.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSEnumerator.h;
+		refType = 0;
+	};
+	F5DFBF510358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSMutableArray.html;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSMutableArray.html;
+		refType = 0;
+	};
+	F5DFBF530358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSData.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSData.h;
+		refType = 0;
+	};
+	F5DFBF540358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSWindow.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindow.h;
+		refType = 0;
+	};
+	F5DFBF550358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSArchiver.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSArchiver.h;
+		refType = 0;
+	};
+	F5DFBF560358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSUserDefaults.h;
+		path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSUserDefaults.h;
+		refType = 0;
+	};
+	F5DFBF570358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSApplication.html;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSApplication.html;
+		refType = 0;
+	};
+	F5DFBF580358010901661E33 = {
+		isa = PBXFileReference;
+		name = NSApplication.h;
+		path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSApplication.h;
+		refType = 0;
+	};
 }
Index: trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj
===================================================================
--- trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj	(revision 24)
+++ trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj	(revision 26)
@@ -6,22 +6,12 @@
 	objectVersion = 38;
 	objects = {
-		080E96DCFE201CFB7F000001 = {
-			fileRef = 29B97318FDCFA39411CA2CEA;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
 		080E96DDFE201D6D7F000001 = {
 			children = (
-				F59DC6D30353C9E601AEEDB1,
-				F59DC6D40353C9E601AEEDB1,
-				F59DC6DB0353DE5101AEEDB1,
-				F59DC6DC0353DE5101AEEDB1,
-				F59DC6E90353F58B01AEEDB1,
-				F59DC6E80353F58B01AEEDB1,
-				F59DC6FC0354188F01AEEDB1,
-				F59DC6FD0354188F01AEEDB1,
-				F59F6CB40354E7DA01AEEDB1,
-				F59F6CB50354E7DA01AEEDB1,
+				F560E2F20357506401A4E466,
+				F560E2F10357506401A4E466,
+				F560E311035787D501A4E466,
+				F560E314035787F901A4E466,
+				F560E312035787E001A4E466,
+				F560E313035787ED01A4E466,
 			);
 			isa = PBXGroup;
@@ -43,10 +33,4 @@
 			path = English.lproj/InfoPlist.strings;
 			refType = 4;
-		};
-		089C165EFE840E0CC02AAC07 = {
-			fileRef = 089C165CFE840E0CC02AAC07;
-			isa = PBXBuildFile;
-			settings = {
-			};
 		};
 //080
@@ -174,7 +158,9 @@
 			children = (
 				29B97318FDCFA39411CA2CEA,
+				F560E2EE03574F8A01A4E466,
+				F59DC6DF0353DF5E01AEEDB1,
 				089C165CFE840E0CC02AAC07,
+				F59DD44F0358ABF4017318D0,
 				F59DC6E30353ED1201AEEDB1,
-				F59DC6DF0353DF5E01AEEDB1,
 			);
 			isa = PBXGroup;
@@ -247,6 +233,6 @@
 			productReference = 17587328FF379C6511CA2CBB;
 			productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
-<plist version=\"1.0\">
+<!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">
+<plist version=\"0.9\">
 <dict>
 	<key>CFBundleDevelopmentRegion</key>
@@ -255,5 +241,5 @@
 	<string>Pester</string>
 	<key>CFBundleGetInfoString</key>
-	<string>Pester 1.0d2, © 2002 Nicholas Riley</string>
+	<string>Pester 1.0b1, © 2002 Nicholas Riley</string>
 	<key>CFBundleIconFile</key>
 	<string>Application icon</string>
@@ -267,13 +253,13 @@
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.0d1</string>
+	<string>1.0b1</string>
 	<key>CFBundleSignature</key>
 	<string>Pstr</string>
 	<key>CFBundleVersion</key>
-	<string>1.0d2</string>
+	<string>1.0b1</string>
 	<key>NSMainNibFile</key>
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
-	<string>NSApplication</string>
+	<string>PSApplication</string>
 </dict>
 </plist>
@@ -289,18 +275,24 @@
 				F59DC6FE0354188F01AEEDB1,
 				F59F6CB60354E7DA01AEEDB1,
+				F517D6410356B80C016D68B9,
+				F517D6450356B8CC016D68B9,
+				F560E2F40357506501A4E466,
+				F560E310035787BC01A4E466,
+				F560E3170357895001A4E466,
+				F5DFBF010357FE8701661E33,
 			);
 			isa = PBXHeadersBuildPhase;
-			runOnlyForDeploymentPostprocessing = 0;
 		};
 		29B97328FDCFA39411CA2CEA = {
 			buildActionMask = 2147483647;
 			files = (
-				080E96DCFE201CFB7F000001,
-				089C165EFE840E0CC02AAC07,
 				F59DC6E10353DF5E01AEEDB1,
 				F59DC6E40353ED1201AEEDB1,
+				F560E2F003574F8A01A4E466,
+				F560E2F6035766F101A4E466,
+				F560E2F7035766F201A4E466,
+				F59DD4510358ABF7017318D0,
 			);
 			isa = PBXResourcesBuildPhase;
-			runOnlyForDeploymentPostprocessing = 0;
 		};
 		29B9732BFDCFA39411CA2CEA = {
@@ -313,7 +305,12 @@
 				F59DC6FF0354188F01AEEDB1,
 				F59F6CB70354E7DA01AEEDB1,
+				F517D6400356B80C016D68B9,
+				F517D6440356B8CC016D68B9,
+				F560E2F30357506401A4E466,
+				F560E30F035787BC01A4E466,
+				F560E3180357895001A4E466,
+				F5DFBF000357FE8701661E33,
 			);
 			isa = PBXSourcesBuildPhase;
-			runOnlyForDeploymentPostprocessing = 0;
 		};
 		29B9732CFDCFA39411CA2CEA = {
@@ -331,5 +328,4 @@
 			);
 			isa = PBXFrameworksBuildPhase;
-			runOnlyForDeploymentPostprocessing = 0;
 		};
 //290
@@ -372,4 +368,196 @@
 //F53
 //F54
+		F517D63E0356B80C016D68B9 = {
+			isa = PBXFileReference;
+			path = PSAlarmsController.m;
+			refType = 4;
+		};
+		F517D63F0356B80C016D68B9 = {
+			isa = PBXFileReference;
+			path = PSAlarmsController.h;
+			refType = 4;
+		};
+		F517D6400356B80C016D68B9 = {
+			fileRef = F517D63E0356B80C016D68B9;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F517D6410356B80C016D68B9 = {
+			fileRef = F517D63F0356B80C016D68B9;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F517D6420356B8CC016D68B9 = {
+			isa = PBXFileReference;
+			path = PSAlarms.m;
+			refType = 4;
+		};
+		F517D6430356B8CC016D68B9 = {
+			isa = PBXFileReference;
+			path = PSAlarms.h;
+			refType = 4;
+		};
+		F517D6440356B8CC016D68B9 = {
+			fileRef = F517D6420356B8CC016D68B9;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F517D6450356B8CC016D68B9 = {
+			fileRef = F517D6430356B8CC016D68B9;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E2EE03574F8A01A4E466 = {
+			children = (
+				F560E2EF03574F8A01A4E466,
+			);
+			isa = PBXVariantGroup;
+			name = Alarms.nib;
+			path = "";
+			refType = 4;
+		};
+		F560E2EF03574F8A01A4E466 = {
+			isa = PBXFileReference;
+			name = English;
+			path = English.lproj/Alarms.nib;
+			refType = 4;
+		};
+		F560E2F003574F8A01A4E466 = {
+			fileRef = F560E2EE03574F8A01A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E2F10357506401A4E466 = {
+			isa = PBXFileReference;
+			path = PSApplication.m;
+			refType = 4;
+		};
+		F560E2F20357506401A4E466 = {
+			isa = PBXFileReference;
+			path = PSApplication.h;
+			refType = 4;
+		};
+		F560E2F30357506401A4E466 = {
+			fileRef = F560E2F10357506401A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E2F40357506501A4E466 = {
+			fileRef = F560E2F20357506401A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E2F6035766F101A4E466 = {
+			fileRef = 29B97318FDCFA39411CA2CEA;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E2F7035766F201A4E466 = {
+			fileRef = 089C165CFE840E0CC02AAC07;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E30D035787BB01A4E466 = {
+			isa = PBXFileReference;
+			path = "NSTableView-NJRExtensions.m";
+			refType = 4;
+		};
+		F560E30E035787BC01A4E466 = {
+			isa = PBXFileReference;
+			path = "NSTableView-NJRExtensions.h";
+			refType = 4;
+		};
+		F560E30F035787BC01A4E466 = {
+			fileRef = F560E30D035787BB01A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E310035787BC01A4E466 = {
+			fileRef = F560E30E035787BC01A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E311035787D501A4E466 = {
+			children = (
+				F517D63F0356B80C016D68B9,
+				F517D63E0356B80C016D68B9,
+				F59DC6D30353C9E601AEEDB1,
+				F59DC6D40353C9E601AEEDB1,
+				F59DC6DB0353DE5101AEEDB1,
+				F59DC6DC0353DE5101AEEDB1,
+			);
+			isa = PBXGroup;
+			name = Controllers;
+			refType = 4;
+		};
+		F560E312035787E001A4E466 = {
+			children = (
+				F59F6CB40354E7DA01AEEDB1,
+				F59F6CB50354E7DA01AEEDB1,
+				F517D6430356B8CC016D68B9,
+				F517D6420356B8CC016D68B9,
+			);
+			isa = PBXGroup;
+			name = Models;
+			refType = 4;
+		};
+		F560E313035787ED01A4E466 = {
+			children = (
+				F59DC6E90353F58B01AEEDB1,
+				F59DC6E80353F58B01AEEDB1,
+				F59DC6FC0354188F01AEEDB1,
+				F59DC6FD0354188F01AEEDB1,
+			);
+			isa = PBXGroup;
+			name = Utilities;
+			refType = 4;
+		};
+		F560E314035787F901A4E466 = {
+			children = (
+				F560E30E035787BC01A4E466,
+				F560E30D035787BB01A4E466,
+				F5DFBEFF0357FE8701661E33,
+				F5DFBEFE0357FE8701661E33,
+				F560E3150357895001A4E466,
+				F560E3160357895001A4E466,
+			);
+			isa = PBXGroup;
+			name = Views;
+			path = "";
+			refType = 4;
+		};
+		F560E3150357895001A4E466 = {
+			isa = PBXFileReference;
+			path = NJRHistoryTrackingComboBox.h;
+			refType = 4;
+		};
+		F560E3160357895001A4E466 = {
+			isa = PBXFileReference;
+			path = NJRHistoryTrackingComboBox.m;
+			refType = 4;
+		};
+		F560E3170357895001A4E466 = {
+			fileRef = F560E3150357895001A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F560E3180357895001A4E466 = {
+			fileRef = F560E3160357895001A4E466;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
 		F59DC6D30353C9E601AEEDB1 = {
 			isa = PBXFileReference;
@@ -492,4 +680,25 @@
 			};
 		};
+		F59DD44F0358ABF4017318D0 = {
+			children = (
+				F59DD4500358ABF4017318D0,
+			);
+			isa = PBXVariantGroup;
+			name = Credits.html;
+			path = "";
+			refType = 4;
+		};
+		F59DD4500358ABF4017318D0 = {
+			isa = PBXFileReference;
+			name = English;
+			path = English.lproj/Credits.html;
+			refType = 4;
+		};
+		F59DD4510358ABF7017318D0 = {
+			fileRef = F59DD44F0358ABF4017318D0;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
 		F59F6CB40354E7DA01AEEDB1 = {
 			isa = PBXFileReference;
@@ -510,4 +719,28 @@
 		F59F6CB70354E7DA01AEEDB1 = {
 			fileRef = F59F6CB50354E7DA01AEEDB1;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F5DFBEFE0357FE8701661E33 = {
+			isa = PBXFileReference;
+			name = NJRScrollView.m;
+			path = "/Users/nicholas/Documents/Development/Cocoa/FSA-movedaside/Source/NJRScrollView.m";
+			refType = 0;
+		};
+		F5DFBEFF0357FE8701661E33 = {
+			isa = PBXFileReference;
+			name = NJRScrollView.h;
+			path = "/Users/nicholas/Documents/Development/Cocoa/FSA-movedaside/Source/NJRScrollView.h";
+			refType = 0;
+		};
+		F5DFBF000357FE8701661E33 = {
+			fileRef = F5DFBEFE0357FE8701661E33;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		F5DFBF010357FE8701661E33 = {
+			fileRef = F5DFBEFF0357FE8701661E33;
 			isa = PBXBuildFile;
 			settings = {
Index: trunk/Cocoa/Pester/Source/VERSION
===================================================================
--- trunk/Cocoa/Pester/Source/VERSION	(revision 26)
+++ trunk/Cocoa/Pester/Source/VERSION	(revision 26)
@@ -0,0 +1,1 @@
+1.0b1
