diff --git a/Playlist/PlaylistLoader.h b/Playlist/PlaylistLoader.h index 853680c9b..de04103d3 100755 --- a/Playlist/PlaylistLoader.h +++ b/Playlist/PlaylistLoader.h @@ -22,6 +22,8 @@ typedef enum { IBOutlet PlaybackController *playbackController; } +- (void)initDefaults; + //load arrays of urls... - (void)addURLs:(NSArray *)urls sort:(BOOL)sort; - (void)addURL:(NSURL *)url; diff --git a/Playlist/PlaylistLoader.m b/Playlist/PlaylistLoader.m index ac07ee937..a04fe72f9 100755 --- a/Playlist/PlaylistLoader.m +++ b/Playlist/PlaylistLoader.m @@ -22,6 +22,30 @@ @implementation PlaylistLoader +- (id)init +{ + self = [super init]; + if (self) + { + [self initDefaults]; + } + + return self; +} + +- (void)initDefaults +{ + NSLog(@"INITIIALIZING PLAYLIST LOADER DEFAULTS"); + + NSMutableDictionary *userDefaultsValuesDict = [NSMutableDictionary dictionary]; + [userDefaultsValuesDict setObject:[NSNumber numberWithBool:NO] forKey:@"playOnAdd"]; + [userDefaultsValuesDict setObject:[NSNumber numberWithBool:NO] forKey:@"clearOnAdd"]; + + [[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + + - (BOOL)save:(NSString *)filename { NSString *ext = [filename pathExtension]; @@ -155,7 +179,7 @@ if (index < 0) index = 0; - if (1) { + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"clearOnAdd"]) { [playlistController clear:self]; index = 0; } @@ -284,7 +308,7 @@ //Auto start playback - if (1) { + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"playOnAdd"]) { [playbackController playEntry: [entries objectAtIndex:0]]; } } diff --git a/Preferences/General/English.lproj/Localizable.strings b/Preferences/General/English.lproj/Localizable.strings index a391a1d5a..9ff3417d4 100644 --- a/Preferences/General/English.lproj/Localizable.strings +++ b/Preferences/General/English.lproj/Localizable.strings @@ -9,5 +9,6 @@ "Remote" = "Remote"; "Updates" = "Updates"; "Last.fm" = "Last.fm"; +"Playlist" = "Playlist"; "Press Key..." = "Press Key..."; diff --git a/Preferences/General/English.lproj/Preferences.xib b/Preferences/General/English.lproj/Preferences.xib index 66d862106..3da99a822 100644 --- a/Preferences/General/English.lproj/Preferences.xib +++ b/Preferences/General/English.lproj/Preferences.xib @@ -1,9 +1,9 @@ - + 1050 - 9C31 - 629 + 9C7010 + 652 949.26 352.00 @@ -11,24 +11,25 @@ + YES - com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin YES - PrefPaneController + PrefPaneController - FirstResponder + FirstResponder NSApplication - HotKeyPane + HotKeyPane @@ -40,14 +41,13 @@ 256 {{91, 70}, {82, 19}} - YES -2075001280 4326400 - + - LucidaGrande + LucidaGrande 1.100000e+01 3100 @@ -55,7 +55,7 @@ YES 6 - System + System textBackgroundColor 3 @@ -64,7 +64,7 @@ 6 - + System textColor 3 @@ -78,14 +78,13 @@ 256 {{175, 62}, {64, 32}} - YES 67239424 134217728 - Edit + Edit - + LucidaGrande 1.300000e+01 1044 @@ -93,7 +92,7 @@ -2038284033 1 - + @@ -106,7 +105,6 @@ 256 {{45, 72}, {39, 17}} - YES 67239424 @@ -116,7 +114,7 @@ 6 - + System controlColor 3 @@ -125,7 +123,7 @@ 6 - + System controlTextColor @@ -136,7 +134,6 @@ 256 {{17, 47}, {69, 17}} - YES 67239424 @@ -153,7 +150,6 @@ 256 {{40, 22}, {44, 17}} - YES 67239424 @@ -170,12 +166,11 @@ 256 {{91, 45}, {82, 19}} - YES -2075001280 4326400 - + YES @@ -188,12 +183,11 @@ 256 {{91, 20}, {82, 19}} - YES -2075001280 4326400 - + YES @@ -206,18 +200,17 @@ 256 {{175, 37}, {64, 32}} - YES 67239424 134217728 - + Edit -2038284033 1 - + @@ -230,18 +223,17 @@ 256 {{175, 12}, {64, 32}} - YES 67239424 134217728 - + Edit -2038284033 1 - + @@ -252,11 +244,10 @@ {432, 109} - NSView - NSResponder + NSResponder @@ -278,14 +269,14 @@ 1211912703 2 - NSImage + NSImage NSSwitch NSSwitch - - + + 200 25 @@ -306,8 +297,8 @@ 2 - - + + 200 25 @@ -317,7 +308,7 @@ NSView - + NSResponder @@ -340,8 +331,8 @@ 2 - - + + 200 25 @@ -360,11 +351,11 @@ 109199615 1 - + LucidaGrande 1.300000e+01 16 - + @@ -373,16 +364,16 @@ Stable - + 1048576 2147483647 1 - - + + NSImage NSMenuCheckmark - - + + NSImage NSMenuMixedState _popUpItemAction: @@ -399,22 +390,22 @@ Unstable - + 1048576 2147483647 - - + + _popUpItemAction: Nightly - + 1048576 2147483647 - - + + _popUpItemAction: @@ -444,14 +435,14 @@ {432, 82} - NSView - + NSView + NSResponder YES - OutputPane + OutputPane @@ -463,7 +454,6 @@ 256 {{122, 16}, {252, 26}} - YES -2076049856 @@ -473,7 +463,7 @@ 109199615 1 - + @@ -482,12 +472,12 @@ Item1 - + 1048576 2147483647 1 - - + + _popUpItemAction: @@ -502,22 +492,22 @@ Item2 - + 1048576 2147483647 - - + + _popUpItemAction: Item3 - + 1048576 2147483647 - - + + _popUpItemAction: @@ -534,7 +524,6 @@ 256 {{17, 22}, {103, 17}} - YES 67239424 @@ -549,16 +538,15 @@ {432, 59} - NSView - + NSResponder YES - name + name YES @@ -578,7 +566,6 @@ 256 {{18, 38}, {396, 18}} - YES 67239424 @@ -590,8 +577,8 @@ 2 - - + + 200 25 @@ -601,7 +588,6 @@ 256 {{18, 18}, {396, 18}} - YES 67239424 @@ -613,8 +599,8 @@ 2 - - + + 200 25 @@ -622,16 +608,15 @@ {432, 74} - NSView - + NSResponder YES - + name url NSDictionary @@ -641,13 +626,67 @@ YES YES + + + 268 + + YES + + + 268 + {{18, 38}, {350, 18}} + + YES + + 67239424 + 0 + Begin playback immediately when entries are added + + + 1211912703 + 130 + + + + + 200 + 25 + + + + + 268 + {{18, 18}, {236, 18}} + + YES + + 67239424 + 0 + Clear playlist when adding entries + + + 1211912703 + 130 + + + + + 200 + 25 + + + + {432, 74} + + NSView + YES - view + view @@ -663,7 +702,7 @@ - hotKeyChanged: + hotKeyChanged: @@ -671,7 +710,7 @@ - nextKeyView + nextKeyView @@ -679,7 +718,7 @@ - + nextKeyView @@ -735,7 +774,7 @@ - + hotKeyChanged: @@ -743,7 +782,7 @@ - + hotKeyChanged: @@ -751,14 +790,14 @@ - value: values.SUCheckAtStartup + value: values.SUCheckAtStartup - - value + value: values.SUCheckAtStartup + value values.SUCheckAtStartup 2 @@ -767,15 +806,15 @@ - content: arrangedObjects + content: arrangedObjects - - content - arrangedObjects + content: arrangedObjects + content + arrangedObjects 2 @@ -783,15 +822,15 @@ - contentValues: arrangedObjects.name + contentValues: arrangedObjects.name - - contentValues - arrangedObjects.name + contentValues: arrangedObjects.name + contentValues + arrangedObjects.name 2 @@ -800,13 +839,13 @@ - selectedIndex: selectionIndex + selectedIndex: selectionIndex - + selectedIndex: selectionIndex selectedIndex selectionIndex @@ -817,7 +856,7 @@ - + view @@ -849,14 +888,14 @@ - value: values.remoteOnlyOnActive + value: values.remoteOnlyOnActive - - + value: values.remoteOnlyOnActive + value values.remoteOnlyOnActive 2 @@ -865,15 +904,15 @@ - value: values.enableAudioScrobbler + value: values.enableAudioScrobbler - - - values.enableAudioScrobbler + value: values.enableAudioScrobbler + value + values.enableAudioScrobbler 2 @@ -881,15 +920,15 @@ - enabled: values.enableAudioScrobbler + enabled: values.enableAudioScrobbler - - enabled - + enabled: values.enableAudioScrobbler + enabled + values.enableAudioScrobbler 2 @@ -897,14 +936,14 @@ - value: values.automaticallyLaunchLastFM + value: values.automaticallyLaunchLastFM - - + value: values.automaticallyLaunchLastFM + value values.automaticallyLaunchLastFM 2 @@ -913,15 +952,15 @@ - value: values.remoteEnabled + value: values.remoteEnabled - - - values.remoteEnabled + value: values.remoteEnabled + value + values.remoteEnabled 2 @@ -929,15 +968,15 @@ - enabled: values.remoteEnabled + enabled: values.remoteEnabled - - - + enabled: values.remoteEnabled + enabled + values.remoteEnabled 2 @@ -969,15 +1008,15 @@ - + content: arrangedObjects - - - + content: arrangedObjects + content + arrangedObjects 2 @@ -985,13 +1024,13 @@ - contentObjects: arrangedObjects.url + contentObjects: arrangedObjects.url - + contentObjects: arrangedObjects.url contentObjects arrangedObjects.url @@ -1002,15 +1041,15 @@ - + contentValues: arrangedObjects.name - - - + contentValues: arrangedObjects.name + contentValues + arrangedObjects.name 2 @@ -1019,13 +1058,13 @@ - selectedObject: values.SUFeedURL + selectedObject: values.SUFeedURL - + selectedObject: values.SUFeedURL selectedObject values.SUFeedURL @@ -1034,6 +1073,46 @@ 147 + + + value: values.playOnAdd + + + + + + value: values.playOnAdd + value + values.playOnAdd + 2 + + + 239 + + + + value: values.clearOnAdd + + + + + + value: values.clearOnAdd + value + values.clearOnAdd + 2 + + + 243 + + + + playlistView + + + + 244 + @@ -1068,7 +1147,7 @@ 6 - + HotKeyPane 11 @@ -1247,7 +1326,7 @@ 57 - + OutputPane 58 @@ -1469,6 +1548,45 @@ + + 231 + + + YES + + + + + PlaylistView + + + 232 + + + YES + + + + + + 233 + + + + + 234 + + + YES + + + + + + 235 + + + @@ -1487,6 +1605,7 @@ 108.ImportedFromIB2 109.IBPluginDependency 109.ImportedFromIB2 + 11.IBEditorWindowLastContentRect 11.IBPluginDependency 11.ImportedFromIB2 11.editorWindowContentRectSynchronizationRect @@ -1502,6 +1621,12 @@ 16.ImportedFromIB2 17.IBPluginDependency 17.ImportedFromIB2 + 231.IBEditorWindowLastContentRect + 231.IBPluginDependency + 232.IBPluginDependency + 233.IBPluginDependency + 234.IBPluginDependency + 235.IBPluginDependency 24.IBPluginDependency 24.ImportedFromIB2 25.IBPluginDependency @@ -1530,6 +1655,7 @@ 52.ImportedFromIB2 57.IBPluginDependency 57.ImportedFromIB2 + 58.IBEditorWindowLastContentRect 58.IBPluginDependency 58.ImportedFromIB2 58.editorWindowContentRectSynchronizationRect @@ -1552,6 +1678,7 @@ 65.ImportedFromIB2 77.IBPluginDependency 77.ImportedFromIB2 + 85.IBEditorWindowLastContentRect 85.IBPluginDependency 85.ImportedFromIB2 85.editorWindowContentRectSynchronizationRect @@ -1562,89 +1689,98 @@ YES - - - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{178, 505}, {432, 109}} + com.apple.InterfaceBuilder.CocoaPlugin {{42, 829}, {432, 109}} - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - AppcastArrayController - + AppcastArrayController + com.apple.InterfaceBuilder.CocoaPlugin - HotKeyControl - + HotKeyControl + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{449, 587}, {432, 74}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - - + HotKeyControl + com.apple.InterfaceBuilder.CocoaPlugin - - + HotKeyControl + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{193, 624}, {432, 59}} + com.apple.InterfaceBuilder.CocoaPlugin {{21, 902}, {432, 59}} - OutputsArrayController - + OutputsArrayController + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{451, 691}, {432, 74}} + com.apple.InterfaceBuilder.CocoaPlugin {{63, 841}, {432, 74}} - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin @@ -1668,171 +1804,64 @@ - 230 + 244 YES - OutputPane - PreferencePane - - takeDeviceID: - id - - - outputDevices - OutputsArrayController - + AppcastArrayController + NSArrayController - IBProjectSource - OutputPane.h - - - - - PreferencePane - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - - - IBUserSource - - - - - - - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - - - - - - - - - NSArrayController - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - - - - + IBProjectSource + AppcastArrayController.h AppcastArrayController NSArrayController - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - - - AppcastArrayController.h + IBUserSource + - FileDrawerPane - + FileDrawerPane + PreferencePane openSheet: id rootPathTextView - NSTextField + NSTextField - - + IBUserSource + - - - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - + FirstResponder - - + IBUserSource + + + + + HotKeyControl + NDHotKeyControl + + IBProjectSource + HotKeyControl.h + + + + HotKeyControl + NDHotKeyControl + + IBUserSource + @@ -1849,10 +1878,10 @@ YES - - - - + id + id + id + id @@ -1871,200 +1900,98 @@ - + IBProjectSource HotKeyPane.h - - NDHotKeyControl - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - + HotKeyPane + PreferencePane - - + IBUserSource + - HotKeyControl - NDHotKeyControl - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - + NDHotKeyControl + NSTextField - - HotKeyControl.h + IBProjectSource + NDHotKeyControl.h - PreferencePane - NSObject - - YES - - YES - - - YES - - - - view - - + NDHotKeyControl + NSTextField - - PreferencePane.h + IBUserSource + - - - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - + NSObject - - + IBProjectSource + NDHotKeyEvent.h - - + NSObject + + IBUserSource + + + + + OutputPane + PreferencePane - YES - - YES - - - YES - + takeDeviceID: + id - YES - - YES - - - YES - + outputDevices + OutputsArrayController - - + IBProjectSource + OutputPane.h + + + + OutputPane + PreferencePane + + IBUserSource + OutputsArrayController NSArrayController - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - - + IBProjectSource OutputsArrayController.h - - - - YES - - YES - - - YES - - - - fileDrawerPane - - + OutputsArrayController + NSArrayController - - + IBUserSource + PrefPaneController - - - YES - - YES - - - YES - - + NSObject YES YES hotKeyPane outputPane + playlistView remoteView scrobblerView updatesView @@ -2073,417 +2000,53 @@ YES HotKeyPane OutputPane - - - + NSView + NSView + NSView + NSView - + IBProjectSource PrefPaneController.h - - - - YES - - YES - - - YES - - + PrefPaneController + NSObject - YES - - YES - - - YES - + fileDrawerPane + FileDrawerPane - - NDHotKeyEvent.h + IBUserSource + - - - - YES - - YES - - - YES - - + PreferencePane + NSObject - YES - - YES - - - YES - + view + NSView - - + IBProjectSource + PreferencePane.h - - - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - + PreferencePane + NSObject - - - - - - NDHotKeyControl - - - YES - - YES - - - YES - - - - YES - - YES - - - YES - - - - - NDHotKeyControl.h + IBUserSource + 0 - ../../General.xcodeproj + ../General.xcodeproj 3 - - YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA -AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEBswALAAwAMQA1ADYAPAA9 -AEEARQBqAHIAdQB2AIkAigCLAJcACwCYAKoAqwCzALQAtwDBAMIAwwDIAMoAzwDQANMA1wDaANsA3wDk -AOwA7QECAQMBCAELAQ8BEgEYARkBHAEhASsBLAE0ATUBOgFCAUsACwFMAWQBaAFqAX4BgwGEAYkBigGL -AY4BkgGTAZQBlgGZAZ8BqAGTAakBsgGTAbMBtwG5Ab0BwAHDAcQBxQHKAcsB0AHRAdYB2wHgAegB6QHx -AfIB9wH4AfsCAAIBAgMACwIEARcCBgIJAgoCDwIUAiACKAIpAjACMQI5AjoCQQJCAkoCSwJSAlMCXQJe -AmYCbgJvAncCeQKBAoICigKMAAsCjQKPApQClQKaAq4CrwKwArQCtQK3ArkCugK/AAsCyALNAtUC1gLj -AuQC6ALpAugC7QLwAvgC+QMCAwMACwMEAwYDBwMMAxMDGAMfAyADKQMqAzEDMgM7AwMDPAM+Az8DRANJ -A1ADVgNdA14DZwNoA28DcAN8A34DhwOLAZMDjAOOA5QDnQGTA54DpwGTA6gDrwOwA7cDuAEWA7kDugO/ -A8ADxQPGA8sDzAPRA9ID3APgA+QD5QPmA+cD6gPxA/0CrwP+BAMEBAQFBAcECAQJBAoEEwQUBBUEFgQe -BB8EIAQhBCkEKgQrBCwEMwQ0BDUEPAQ9BD4ERQRGBEcESARPBFAEUQRYBGAEaARpBGoEawRyBHMEegR7 -BLUEuAS5BLsE9QUwBWsFbAVtBW4FbwVwBXEFcgVzBXQFdQV2BXcFeAV5BXoFewV8BX0FfgV/BYAFgQWC -BYMFhAWFBYYFhwWIBYkFigWLBYwFjQWOBY8FkAWRBZIFkwWUBZUFlgWXBZgFmQWaBZsFnAWdBZ4FnwWg -BaEFqQWxBg4GawZsBm0GbgZvBnAGcQZyBnMGdAZ1BnYGdwZ4BnkA/wZ6BnsGfAFnBn0GfgZ/BoAGgQaC -BoMGhAaFAPgGhgaHBogGiQaKBosAvgaMBo0GjgaPBpAGkQaSBpMGlAaVBpYGlwaYBpkGmgabBpwGnQae -Bp8GoAahBqIGowakBqUGpganBqgBVwapBqoGqwasBq0GrgavBrAGsQayBrMGtAa1BrYGtwa4BrkGuga7 -BrwGvQa+Br8GwAbDBsYGyVUkbnVsbN8QEgANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0A -HgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMFZOU1Jvb3RWJGNsYXNzXU5TT2JqZWN0 -c0tleXNfEA9OU0NsYXNzZXNWYWx1ZXNfEBlOU0FjY2Vzc2liaWxpdHlPaWRzVmFsdWVzXU5TQ29ubmVj -dGlvbnNbTlNOYW1lc0tleXNbTlNGcmFtZXdvcmtdTlNDbGFzc2VzS2V5c1pOU09pZHNLZXlzXU5TTmFt -ZXNWYWx1ZXNfEBlOU0FjY2Vzc2liaWxpdHlDb25uZWN0b3JzXU5TRm9udE1hbmFnZXJfEBBOU1Zpc2li -bGVXaW5kb3dzXxAPTlNPYmplY3RzVmFsdWVzXxAXTlNBY2Nlc3NpYmlsaXR5T2lkc0tleXNZTlNOZXh0 -T2lkXE5TT2lkc1ZhbHVlc4ACgQGygQEUgQFSgQGxgAiBARmABYEBUYEBU4EBGoEBr4AAgAaBARiBAbAQ -6IEBVNIADgAyADMANFtOU0NsYXNzTmFtZYAEgANfEBJQcmVmUGFuZUNvbnRyb2xsZXLSADcAOAA5ADpY -JGNsYXNzZXNaJGNsYXNzbmFtZaIAOgA7Xk5TQ3VzdG9tT2JqZWN0WE5TT2JqZWN0XxAQSUJDb2NvYUZy -YW1ld29ya9IADgA+AD8AQFpOUy5vYmplY3RzgAeg0gA3ADgAQgBDowBDAEQAO1xOU011dGFibGVTZXRV -TlNTZXTSAA4APgBGAEeAT68QIgBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsA -XABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpgAmAI4AvgDSAVoBYgFqAW4BtgG6AioCMgJWAqoC4gLmA -14DZgNuA3YDfgOaA8YD1gPmA/YEBAIEBA4EBB4EBCoEBC4EBDIEBEIEBEtQADgBrAGwAbQBuAG8AcABx -XU5TRGVzdGluYXRpb25YTlNTb3VyY2VXTlNMYWJlbIAigAyACoAh0gAOADIAMwB0gASAC1pIb3RLZXlQ -YW5l2gB3AA4AeAB5AHoAewB8AH0AMgB+AH8AgACBAIIAgwCEAIUAhgCHAH9fEA9OU05leHRSZXNwb25k -ZXJXTlNGcmFtZV8QE05TT3JpZ2luYWxDbGFzc05hbWVWTlNDZWxsWE5TdkZsYWdzWU5TRW5hYmxlZFhO -U1dpbmRvd1tOU1N1cGVydmlld4APgCCAEIAOgBIRAQAJgBGADYAPXUhvdEtleUNvbnRyb2xbTlNUZXh0 -RmllbGTZAHcADgCMAHsAjQB9ADIAjgB+AIYAkACRAIQAkgCGAJQAlQCWWk5TU3Vidmlld3NbTlNGcmFt -ZVNpemVbTlNFeHRlbnNpb26AEYBrgG+Ah4ARgImAaoCIXxAUe3s5MSwgNDV9LCB7ODIsIDE5fX3ZAJkA -DgCaAJsAnACdAJ4AnwCgAKEAogCjAKQApQBvAKcAhQCpW05TQ2VsbEZsYWdzXxARTlNCYWNrZ3JvdW5k -Q29sb3JaTlNDb250ZW50c1lOU1N1cHBvcnRdTlNDb250cm9sVmlld1xOU0NlbGxGbGFnczJfEBFOU0Ry -YXdzQmFja2dyb3VuZFtOU1RleHRDb2xvchP/////hFH+QIAfgBeAE4AUgAwSAEIEAAmAHFDUAA4ArACt -AK4ArwCwALEAslZOU1NpemVWTlNOYW1lWE5TZkZsYWdzgBYjQCYAAAAAAACAFREMHFxMdWNpZGFHcmFu -ZGXSADcAOAC1ALaiALYAO1ZOU0ZvbnTVAA4AuAC5ALoAuwC8AL0AvgC/AMBXTlNDb2xvclxOU0NvbG9y -U3BhY2VbTlNDb2xvck5hbWVdTlNDYXRhbG9nTmFtZYAbgBoQBoAZgBhWU3lzdGVtXxATdGV4dEJhY2tn -cm91bmRDb2xvctMADgC5AMQAvADGAMdXTlNXaGl0ZYAbEANCMQDSADcAOADJALiiALgAO9UADgC4ALkA -ugC7ALwAzAC+AM0AwIAbgB6AHYAYWXRleHRDb2xvctMADgC5AMQAvADGANKAG0IwANIANwA4ANQA1aQA -1QDWAHoAO18QD05TVGV4dEZpZWxkQ2VsbFxOU0FjdGlvbkNlbGzSADcAOADYANmiANkAO15OU0NsYXNz -U3dhcHBlcl8QEXByZXZIb3RLZXlDb250cm9s0gA3ADgA3ADdowDdAN4AO18QFE5TTmliT3V0bGV0Q29u -bmVjdG9yXk5TTmliQ29ubmVjdG9y1AAOAGsAbABtAOAAcADiAOOALoAKgCSALdgAdwAOAHgAegB7AHwA -fQB+AH8A5gDnAOgAhACFAIYAf4APgCyAJYAmCYARgA9fEBV7ezE3NSwgNjJ9LCB7NjQsIDMyfX3dAJkA -DgDuAO8A8ADxAPIAmwCcAJ0A8wCeAPQA9QD2AKQA+AD5APoA+wD8APoA4gD/AQABAV8QE05TQWx0ZXJu -YXRlQ29udGVudHNfEBJOU1BlcmlvZGljSW50ZXJ2YWxeTlNCdXR0b25GbGFnczJfEBBOU0FsdGVybmF0 -ZUltYWdlXxAPTlNLZXlFcXVpdmFsZW50XxAPTlNQZXJpb2RpY0RlbGF5XU5TQnV0dG9uRmxhZ3MSBAH+ -AIArgBMQGRABgCiAKYAngCiAJBDIEggAAAAT/////4aCQP9URWRpdNQADgCsAK0ArgCvAQUAsQEHgBYj -QCoAAAAAAACAFREEFNIADgEJAQoAqllOUy5zdHJpbmeAKtIANwA4AQwBDaMBDQEOADtfEA9OU011dGFi -bGVTdHJpbmdYTlNTdHJpbmfSADcAOAEQARGkAREA1gB6ADtcTlNCdXR0b25DZWxs0gA3ADgBEwEUpQEU -ARUBFgEXADtYTlNCdXR0b25ZTlNDb250cm9sVk5TVmlld1tOU1Jlc3BvbmRlcl8QD2dyYWJQbGF5SG90 -S2V5OtIANwA4ARoBG6MBGwDeADtfEBVOU05pYkNvbnRyb2xDb25uZWN0b3LUAA4AawBsAG0A4ABwAR8B -IIAugAqAMIAz2gB3AA4AeAB5AHoAewB8AH0AMgB+AH8AgAEkAIIBJgCEAIUAhgCHAH+AD4AggDGADoAy -CYARgA2AD18QFHt7OTEsIDcwfSwgezgyLCAxOX192QCZAA4AmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUB -HwCnAIUAqYAfgBeAE4AUgDAJgBxeaG90S2V5Q2hhbmdlZDrUAA4AawBsAG0A4AE3ATgBOYAugFOANYBV -2AB3AA4AeAB6AHsAfAB9AH4BOwE8AT0BPgCEAIUBQAE7gDaAUoA3gDkJgDiANtkAdwAOAIwAewCNAH0A -MgCOAH4BQACQAUUAhAFGAUABSACVAUqAOIBrgFyAZ4A4gGmAaoBoXxAWe3sxMjIsIDE2fSwgezI1Miwg -MjZ9fd8QEwCZAU0BTgDuAO8ADgDwAPEA8gCcAU8AnQFQAVEBUgDzAJ4BUwD0AVQAhQD5AKQBVwFYAPkB -WQFaAPoBXAE4AMYAhQCFAWABYQFiAWNfEBpOU01lbnVJdGVtUmVzcGVjdEFsaWdubWVudF8QD05TQXJy -b3dQb3NpdGlvblpOU01lbnVJdGVtXxAPTlNQcmVmZXJyZWRFZGdlXxASTlNVc2VzSXRlbUZyb21NZW51 -XU5TQWx0ZXJzU3RhdGVWTlNNZW51E/////+EQf5ACYATEEuAUYA6gDuAKIA8gDUJCREBkBEIAIA9EgaC -QP/UAA4ArACtAK4ArwEFALEBZ4AWgBUQENIADgEJAQoAqoAq2wFrAA4BbAFtAW4BbwFwAXEBUwFyAXMB -PgF1AXYBdwCkAXkBegF7AWIBfQD5WE5TVGFyZ2V0V05TVGl0bGVfEBFOU0tleUVxdWl2TW9kTWFza1pO -U0tleUVxdWl2XU5TTW5lbW9uaWNMb2NZTlNPbkltYWdlXE5TTWl4ZWRJbWFnZVhOU0FjdGlvbldOU1N0 -YXRlgDmARoA+EgAQAACAExJ/////gD+AQ4A9gEXTAA4BbAF/AYABgQGCW05TTWVudUl0ZW1zgFCAR4BI -VUl0ZW0x0wAOADIBhQGGAYcBiF5OU1Jlc291cmNlTmFtZYBCgECAQVdOU0ltYWdlXxAPTlNNZW51Q2hl -Y2ttYXJr0gA3ADgBjAGNogGNADtfEBBOU0N1c3RvbVJlc291cmNl0wAOADIBhQGGAYcBkYBCgECARF8Q -EE5TTWVudU1peGVkU3RhdGVfEBFfcG9wVXBJdGVtQWN0aW9uOtIANwA4AZUBT6IBTwA70gAOAQkBCgGY -gCpaT3RoZXJWaWV3c9IADgA+AEYBm4BPowFcAZ0BnoA8gEmATNoBawAOAWwBbQFuAW8BcAFxAVMBcgE+ -AXUBogF3AKQBeQF6AXsBYgGngDmARoBKgBOAP4BDgD2AS1VJdGVtMtoBawAOAWwBbQFuAW8BcAFxAVMB -cgE+AXUBrAF3AKQBeQF6AXsBYgGxgDmARoBNgBOAP4BDgD2ATlVJdGVtM9IANwA4AbQBtaMBtQG2ADte -TlNNdXRhYmxlQXJyYXlXTlNBcnJhedIANwA4AbgBU6IBUwA70gA3ADgBugG7pgG7AbwBEQDWAHoAO18Q -EU5TUG9wVXBCdXR0b25DZWxsXk5TTWVudUl0ZW1DZWxs0gA3ADgBvgG/pgG/ARQBFQEWARcAO11OU1Bv -cFVwQnV0dG9u0gAOADIAMwHCgASAVFpPdXRwdXRQYW5lXXRha2VEZXZpY2VJRDrUAA4AawBsAG0AbgDi -AR8ByYAigCSAMIBXW25leHRLZXlWaWV31AAOAGsAbABtAG4BNwAfAc+AIoBTgAKAWVpvdXRwdXRQYW5l -1AAOAGsAbABtAOAAcABvASCALoAKgAyAM9QADgBrAGwAbQBuATsBNwHagCKANoBTgGzSAA4APgBGAd2A -T6IBOAHfgDWAXdgAdwAOAHgAegB7AHwAfQB+ATsB4gHjAeQAhACFAUABO4A2gGaAXoBfCYA4gDZfEBV7 -ezE3LCAyMn0sIHsxMDMsIDE3fX3YAJkADgCaAJsAnACdAJ4AoAD1AKIB6wHsAPoB3wHvAfCAH4BhgGCA -KIBdEhBAAACAZF8QD091dHB1dCBEZXZpY2U6INUADgC4ALkAugC7ALwB9AC+AfUAwIAbgGOAYoAYXGNv -bnRyb2xDb2xvctMADgC5AMQAvADGAfqAG0swLjY2NjY2NjY5ANUADgC4ALkAugC7ALwAzAC+Af4AwIAb -gB6AZYAYXxAQY29udHJvbFRleHRDb2xvctIANwA4AgIAiqUAigEVARYBFwA7WXs0MzIsIDU5fdIADgEJ -AQoBFoAq0gA3ADgCBwIIpAIIARYBFwA7XE5TQ3VzdG9tVmlld1R2aWV31AAOAGsAbABtAG4BHwDiAcmA -IoAwgCSAV9QADgBrAGwAbQBuAH8AcAHagCKAD4AKgGzSAA4APgBGAhaAT6kBHwDiAhkCGgIbAG8CHQIe -Ah+AMIAkgHCAdIB4gAyAfIB/gIPYAHcADgB4AHoAewB8AH0AfgB/AeICIwIkAIQAhQCGAH+AD4BmgHGA -cgmAEYAPXxAUe3s0NSwgNzJ9LCB7MzksIDE3fX3YAJkADgCaAJsAnACdAJ4AoAD1AKIB6wIsAPoCGQHv -AfCAH4BhgHOAKIBwgGRVUGxheTrYAHcADgB4AHoAewB8AH0AfgB/AeICNAI1AIQAhQCGAH+AD4BmgHWA -dgmAEYAPXxAUe3sxNywgNDd9LCB7NjksIDE3fX3YAJkADgCaAJsAnACdAJ4AoAD1AKIB6wI9APoCGgHv -AfCAH4BhgHeAKIB0gGRZUHJldmlvdXM62AB3AA4AeAB6AHsAfAB9AH4AfwHiAkUCRgCEAIUAhgB/gA+A -ZoB5gHoJgBGAD18QFHt7NDAsIDIyfSwgezQ0LCAxN3192ACZAA4AmgCbAJwAnQCeAKAA9QCiAesCTgD6 -AhsB7wHwgB+AYYB7gCiAeIBkVU5leHQ62gB3AA4AeAB5AHoAewB8AH0AMgB+AH8AgAJWAIICWACEAIUA -hgCHAH+AD4AggH2ADoB+CYARgA2AD18QFHt7OTEsIDIwfSwgezgyLCAxOX192QCZAA4AmgCbAJwAnQCe -AJ8AoAChAKIAowCkAKUCHQCnAIUAqYAfgBeAE4AUgHwJgBzYAHcADgB4AHoAewB8AH0AfgB/AOYCaQJq -AIQAhQCGAH+AD4AsgICAgQmAEYAPXxAVe3sxNzUsIDM3fSwgezY0LCAzMn193QCZAA4A7gDvAPAA8QDy -AJsAnACdAPMAngD0APUA9gCkAPgA+QD6AnMA/AD6Ah4A/wEAAQGAK4ATgCiAgoAngCiAf9IADgEJAQoA -qoAq2AB3AA4AeAB6AHsAfAB9AH4AfwDmAnwCfQCEAIUAhgB/gA+ALICEgIUJgBGAD18QFXt7MTc1LCAx -Mn0sIHs2NCwgMzJ9fd0AmQAOAO4A7wDwAPEA8gCbAJwAnQDzAJ4A9AD1APYApAD4APkA+gKGAPwA+gIf -AP8BAAEBgCuAE4AogIaAJ4AogIPSAA4BCQEKAKqAKlp7NDMyLCAxMDl90gAOAQkBCgEWgCrUAA4AawBs -AG0AbgBwAB8Ck4AigAqAAoCLWmhvdEtleVBhbmXUAA4AawBsAG0AbgKXATcCmYAigI2AU4CU2wKbAA4C -nAB5Ap0CngKfAqAAMgKhAqIAhQCAAIUCpgCFAqgCqQCFAqsAhQCFXxAaTlNGaWx0ZXJSZXN0cmljdHNJ -bnNlcnRpb25fEBROU1ByZXNlcnZlc1NlbGVjdGlvblpOU0VkaXRhYmxlXxAPX05TTWFuYWdlZFByb3h5 -Xk5TRGVjbGFyZWRLZXlzXxAiTlNDbGVhcnNGaWx0ZXJQcmVkaWNhdGVPbkluc2VydGlvbl8QGE5TU2Vs -ZWN0c0luc2VydGVkT2JqZWN0c18QFk5TQXZvaWRzRW1wdHlTZWxlY3Rpb24JgCAJgI8JgJKAkAmAjgkJ -XxAWT3V0cHV0c0FycmF5Q29udHJvbGxlcl8QEU5TQXJyYXlDb250cm9sbGVy0gAOAD4ARgKygE+hArOA -kVRuYW1l0QAOAraAk9IANwA4ArgCnqICngA7XW91dHB1dERldmljZXPUAA4AawBsAG0AbgK8AB8CvoAi -gJaAAoCp2QB3AA4AjAB7AI0AfQAyAI4AfgLAAJACwgCEAsMCwALFAJUCx4CXgGuAmICmgJeAqIBqgKfS -AA4APgBGAsqAT6ICywLMgJmAotgAdwAOAHgAegB7AHwAfQB+ArwA5gLQAtEAhACFAsACvICWgCyAmoCb -CYCXgJZfEBV7ezE4LCAzOH0sIHszOTYsIDE4fX3eAJkADgDuAtcA7wDwAPEA8gCbAJwAnQDzAJ4A9AD1 -APYApALaAPgC2wLcAKQC3gD6AssA/wLhAuJdTlNOb3JtYWxJbWFnZYArgBOAnRACgJ+AE4CcgCiAmRAA -Ekg8Uf9fEDxFbmFibGUgTGFzdC5mbSBzdXBwb3J0LiAoTXVzdCBoYXZlIExhc3QuZm0gY2xpZW50IGlu -c3RhbGxlZCnTAA4AMgGFAYYBhwLngEKAQICeWE5TU3dpdGNo0gAOAuoC6wLsW05TSW1hZ2VOYW1lgKGA -oNIANwA4Au4C76IC7wA7XxATTlNCdXR0b25JbWFnZVNvdXJjZdgAdwAOAHgAegB7AHwAfQB+ArwA5gLz -AvQAhACFAsACvICWgCyAo4CkCYCXgJZfEBV7ezE4LCAxOH0sIHszOTYsIDE4fX3eAJkADgDuAtcA7wDw -APEA8gCbAJwAnQDzAJ4A9AD1APYApALaAPgC2wLcAKQC/wD6AswA/wLhAuKAK4ATgJ2An4ATgKWAKICi -XxAkQXV0b21hdGljYWxseSBsYXVuY2ggTGFzdC5mbSBjbGllbnQuWXs0MzIsIDc0fdIADgEJAQoBFoAq -XXNjcm9iYmxlclZpZXfUAA4AawBsAG0AbgMJAB8DC4AigKuAAoC31wB3AA4AjAB7AI0AMgCOACsAkAMP -AIQDEAMRAJWAAIBrgKyAtYC2gGrSAA4APgBGAxWAT6IDFgMXgK2AsdcAdwAOAHgAegB7AHwAfgMJAOYD -GwMcAIQAhQMJgKuALICugK8JgKtfEBV7ezE4LCAxOH0sIHsyODEsIDE4fX3eAJkADgDuAtcA7wDwAPEA -8gCbAJwAnQDzAJ4A9AD1APYApALaAPgC2wLcAKQDJgD6AxYA/wLhAuKAK4ATgJ2An4ATgLCAKICtXxAp -T25seSBsaXN0ZW4gdG8gcmVtb3RlIHdoZW4gQ29nIGlzIGFjdGl2ZS7XAHcADgB4AHoAewB8AH4DCQDm -Ay0DLgCEAIUDCYCrgCyAsoCzCYCrXxAVe3sxOCwgMzh9LCB7MjgxLCAxOH193gCZAA4A7gLXAO8A8ADx -APIAmwCcAJ0A8wCeAPQA9QD2AKQC2gD4AtsC3ACkAzgA+gMXAP8C4QLigCuAE4CdgJ+AE4C0gCiAsV8Q -FkVuYWJsZSByZW1vdGUgY29udHJvbC7SAA4BCQEKARaAKlpyZW1vdGVWaWV31AAOAGsAbABtAOAAcAId -ASCALoAKgHyAM9QADgBrAGwAbQBuA0YAHwNIgCKAuoACgNbXAHcADgCMAHsAjQAyAI4AKwCQA0wAhANN -A04AlYAAgGuAu4DUgNWAatIADgA+AEYDUoBPowNTA1QDVYC8gMCA0NcAdwAOAHgAegB7AHwAfgNGAOYD -WQNaAIQAhQNGgLqALIC9gL4JgLpfEBV7ezE4LCA0Nn0sIHsyOTksIDE4fX3eAJkADgDuAtcA7wDwAPEA -8gCbAJwAnQDzAJ4A9AD1APYApALaAPgC2wLcAKQDZAD6A1MA/wLhAuKAK4ATgJ2An4ATgL+AKIC8XxAr -QXV0b21hdGljYWxseSBjaGVjayBmb3IgdXBkYXRlcyBvbiBzdGFydHVwLtcAdwAOAHgAegB7AHwAfgNG -ATwDawNsAIQAhQNGgLqAUoDBgMIJgLpfEBZ7ezExMSwgMTZ9LCB7MjA3LCAyNn193xATAJkBTQFOAO4A -7wAOAPAA8QDyAJwBTwCdAVABUQFSAPMAngFTAPQBVACFAPkApAFXAVgA+QFZA3UA+gN3A1QAxgCFAIUB -YAFhA3sBYwmAE4BRgDqAw4AogMSAwAkJgMXSAA4BCQEKAKqAKtsBawAOAWwBbQFuAW8BcAFxAVMBcgFz -A2wBdQOBAXcApAF5AXoBewN7A4YA+YDCgEaAxoATgD+AQ4DFgMfTAA4BbAF/AYADiQOKgFCAyIDJVlN0 -YWJsZdIADgEJAQoBmIAq0gAOAD4ARgOQgE+jA3cDkgOTgMSAyoDN2gFrAA4BbAFtAW4BbwFwAXEBUwFy -A2wBdQOXAXcApAF5AXoBewN7A5yAwoBGgMuAE4A/gEOAxYDMWFVuc3RhYmxl2gFrAA4BbAFtAW4BbwFw -AXEBUwFyA2wBdQOhAXcApAF5AXoBewN7A6aAwoBGgM6AE4A/gEOAxYDPV05pZ2h0bHnXAHcADgB4AHoA -ewB8AH4DRgHiA6sDrACEAIUDRoC6gGaA0YDSCYC6XxAUe3sxNywgMjN9LCB7OTIsIDE3fX3YAJkADgCa -AJsAnACdAJ4AoAD1AKIB6wOzAPoDVQHvAfCAH4BhgNOAKIDQgGRcVXBkYXRlIEZlZWQ6WXs0MzIsIDgy -fVt1cGRhdGVzVmlld9QADgBrAGwAbQBuAh0AcAO+gCKAfIAKgNhfEBFuZXh0SG90S2V5Q29udHJvbNQA -DgBrAGwAbQBuAR8AcAPEgCKAMIAKgNpfEBFwbGF5SG90S2V5Q29udHJvbNQADgBrAGwAbQDgAHACHwPK -gC6ACoCDgNxfEA9ncmFiTmV4dEhvdEtleTrUAA4AawBsAG0A4ABwAh4D0IAugAqAf4DeXxAPZ3JhYlBy -ZXZIb3RLZXk61wAOAGsD0wPUAGwAbQPVA9YD1wPYA9kDFwPbAttZTlNLZXlQYXRoWU5TQmluZGluZ18Q -HE5TTmliQmluZGluZ0Nvbm5lY3RvclZlcnNpb26A5YDggOSA44CxgOLSAA4D3QPeAIVfEBBOU1NoYXJl -ZEluc3RhbmNlgOEJ0gA3ADgD4QPiowPiA+MAO18QGE5TVXNlckRlZmF1bHRzQ29udHJvbGxlclxOU0Nv -bnRyb2xsZXJfEBt2YWx1ZTogdmFsdWVzLnJlbW90ZUVuYWJsZWRVdmFsdWVfEBR2YWx1ZXMucmVtb3Rl -RW5hYmxlZNIANwA4A+gD6aMD6QDeADtfEBVOU05pYkJpbmRpbmdDb25uZWN0b3LXAA4AawPTA9QAbABt -A9UD1gPsA+0D7gNUA/AC24DlgOeA8IDvgMCA7toCmwAOApwAeQKeA/ICnwKgADICogCFAIAAhQP2A/cD -+AP5AIUD+wCFXxARTlNPYmplY3RDbGFzc05hbWUJgCAJgOmA7YDsgOoJgOgJXxAWQXBwY2FzdEFycmF5 -Q29udHJvbGxlctIADgA+AEYEAIBPogKzBAKAkYDrU3VybFxOU0RpY3Rpb25hcnnRAA4CtoCTXxAYY29u -dGVudDogYXJyYW5nZWRPYmplY3RzV2NvbnRlbnRfEA9hcnJhbmdlZE9iamVjdHPYAA4AawPTA9QECwBs -AG0D1QPWA+wEDgQPAF0DVAQSAttfEBNOU1ByZXZpb3VzQ29ubmVjdG9ygOWA54D0gPOA5oDAgPJfECNj -b250ZW50T2JqZWN0czogYXJyYW5nZWRPYmplY3RzLnVybF5jb250ZW50T2JqZWN0c18QE2FycmFuZ2Vk -T2JqZWN0cy51cmzYAA4AawPTA9QECwBsAG0D1QPWA+wEGQQaAF4DVAQdAtuA5YDngPiA94DxgMCA9l8Q -I2NvbnRlbnRWYWx1ZXM6IGFycmFuZ2VkT2JqZWN0cy5uYW1lXWNvbnRlbnRWYWx1ZXNfEBRhcnJhbmdl -ZE9iamVjdHMubmFtZdgADgBrA9MD1AQLAGwAbQPVA9YD1wQkBCUAXwNUBCgC24DlgOCA/ID7gPWAwID6 -XxAgc2VsZWN0ZWRPYmplY3Q6IHZhbHVlcy5TVUZlZWRVUkxec2VsZWN0ZWRPYmplY3RfEBB2YWx1ZXMu -U1VGZWVkVVJM1wAOAGsD0wPUAGwAbQPVA9YD1wQvA9kDFgQyAtuA5YDggP+A44CtgP5fECB2YWx1ZTog -dmFsdWVzLnJlbW90ZU9ubHlPbkFjdGl2ZV8QGXZhbHVlcy5yZW1vdGVPbmx5T25BY3RpdmXXAA4AawPT -A9QAbABtA9UD1gPXBDgD2QLMBDsC24DlgOCBAQKA44CigQEBXxAndmFsdWU6IHZhbHVlcy5hdXRvbWF0 -aWNhbGx5TGF1bmNoTGFzdEZNXxAgdmFsdWVzLmF1dG9tYXRpY2FsbHlMYXVuY2hMYXN0Rk3XAA4AawPT -A9QAbABtA9UD1gPXBEEEQgLMBEQC24DlgOCBAQaBAQWAooEBBF8QJGVuYWJsZWQ6IHZhbHVlcy5lbmFi -bGVBdWRpb1Njcm9iYmxlcldlbmFibGVkXxAbdmFsdWVzLmVuYWJsZUF1ZGlvU2Nyb2JibGVy1wAOAGsD -0wPUAGwAbQPVA9YD1wRLA9kDUwROAtuA5YDggQEJgOOAvIEBCF8QHnZhbHVlOiB2YWx1ZXMuU1VDaGVj -a0F0U3RhcnR1cF8QF3ZhbHVlcy5TVUNoZWNrQXRTdGFydHVw1wAOAGsD0wPUAGwAbQPVA9YClwPtA+4B -OAPwAtuA5YCNgPCA74A1gO7YAA4AawPTA9QECwBsAG0D1QPWApcEGQQaAGUBOAQdAtuA5YCNgPiA94EB -CoA1gPbYAA4AawPTA9QECwBsAG0D1QPWApcEYwRkAGYBOARnAtuA5YCNgQEPgQEOgQELgDWBAQ1fEB1z -ZWxlY3RlZEluZGV4OiBzZWxlY3Rpb25JbmRleF1zZWxlY3RlZEluZGV4XnNlbGVjdGlvbkluZGV41wAO -AGsD0wPUAGwAbQPVA9YD1wPYBEIDFgRxAtuA5YDggOSBAQWArYEBEV8QHWVuYWJsZWQ6IHZhbHVlcy5y -ZW1vdGVFbmFibGVk1wAOAGsD0wPUAGwAbQPVA9YD1wRBA9kCywR5AtuA5YDggQEGgOOAmYEBE18QInZh -bHVlOiB2YWx1ZXMuZW5hYmxlQXVkaW9TY3JvYmJsZXLSAA4APgR8BH2BARevEDcEfgIbAy4BOwL0AOgD -dwJGAh0BPgEfATcCvAGdAtEDUwDiAssCGgEmAlgCHgKXAswBngBwAjUDrANUAG8CfQJqA+wCGQHkAxcD -kwOSA9cBXAMJAH8DewCDAh8BYgNaAd8DHAIkA1UDFgE4A2wDRoEBFYB4gLOANoCkgCaAxIB6gHyAOYAw -gFOAloBJgJuAvIAkgJmAdIAygH6Af4CNgKKATIAKgHaA0oDAgAyAhYCBgOeAcIBfgLGAzYDKgOCAPICr -gA+AxYASgIOAPYC+gF2Ar4BygNCArYA1gMKAutIADgAyADMEt4AEgQEWXU5TQXBwbGljYXRpb27SADcA -OAS6AbaiAbYAO9IADgA+BHwEvYEBF68QNwAfAH8DFwAfAswA4gN7AhsAfwE4AH8AHwAfAWICywNGAH8C -vAB/AR8CHQB/AB8CvAFiAB8CGgNVA0YAfwIfAh4AHwB/Ad8DCQN7A3sAHwFiAB8AHwNsAG8AfwE+A1MB -OwMWAhkDRgMJATsDVAAfgAKAD4CxgAKAooAkgMWAeIAPgDWAD4ACgAKAPYCZgLqAD4CWgA+AMIB8gA+A -AoCWgD2AAoB0gNCAuoAPgIOAf4ACgA+AXYCrgMWAxYACgD2AAoACgMKADIAPgDmAvIA2gK2AcIC6gKuA -NoDAgALSAA4APgR8BPeBARevEDgEfgIbAy4BOwL0AOgDdwJGAh0BPgEfATcCvAGdAtEDUwDiAssCGgIe -ApcCWAEmAswAcAI1AB8BngOsA1QAbwJ9A+wCagIZAeQDFwOTA9cDkgFcAwkAfwN7AIMCHwFiA1oB3wMc -AiQDVQMWATgDbANGgQEVgHiAs4A2gKSAJoDEgHqAfIA5gDCAU4CWgEmAm4C8gCSAmYB0gH+AjYB+gDKA -ooAKgHaAAoBMgNKAwIAMgIWA54CBgHCAX4CxgM2A4IDKgDyAq4APgMWAEoCDgD2AvoBdgK+AcoDQgK2A -NYDCgLrSAA4APgR8BTKBARevEDgFMwU0BTUFNgU3BTgFOQU6BTsFPAU9AcIFPwVABUEFQgVDBUQFRQVG -BUcFSAVJBUoAdAVMBU0FTgVPBVAFUQVSBVMFVAVVBVYFVwVYBVkFWgVbBVwFXQVeBV8FYAVhBWIFYwVk -BWUFZgVnBWgFaQVqgQEbgQEcgQEdgQEegQEfgQEggQEhgQEigQEjgQEkgQElgFSBASaBASeBASiBASmB -ASqBASuBASyBAS2BAS6BAS+BATCBATGAC4EBMoEBM4EBNIEBNYEBNoEBN4EBOIEBOYEBOoEBO4EBPIEB -PYEBPoEBP4EBQIEBQYEBQoEBQ4EBRIEBRYEBRoEBR4EBSIEBSYEBSoEBS4EBTIEBTYEBToEBT4EBUFtB -cHBsaWNhdGlvbl8QE1N0YXRpYyBUZXh0IChOZXh0OilfECRCdXR0b24gQ2VsbCAoRW5hYmxlIHJlbW90 -ZSBjb250cm9sLilaT3V0cHV0Vmlld18QMkJ1dHRvbiBDZWxsIChBdXRvbWF0aWNhbGx5IGxhdW5jaCBM -YXN0LmZtIGNsaWVudC4pXxASQnV0dG9uIENlbGwgKEVkaXQpXxASTWVudSBJdGVtIChTdGFibGUpXxAX -VGV4dCBGaWVsZCBDZWxsIChOZXh0OilfEA9Ib3QgS2V5IENvbnRyb2xfEBpQb3AgVXAgQnV0dG9uIENl -bGwgKEl0ZW0xKV8QEUhvdCBLZXkgQ29udHJvbC0xXVNjcm9iYmxlclZpZXdfEBFNZW51IEl0ZW0gKEl0 -ZW0yKV8QSkJ1dHRvbiBDZWxsIChFbmFibGUgTGFzdC5mbSBzdXBwb3J0LiAoTXVzdCBoYXZlIExhc3Qu -Zm0gY2xpZW50IGluc3RhbGxlZCkpXxA3Q2hlY2sgQm94IChBdXRvbWF0aWNhbGx5IGNoZWNrIGZvciB1 -cGRhdGVzIG9uIHN0YXJ0dXAuKV8QElB1c2ggQnV0dG9uIChFZGl0KV8QSENoZWNrIEJveCAoRW5hYmxl -IExhc3QuZm0gc3VwcG9ydC4gKE11c3QgaGF2ZSBMYXN0LmZtIGNsaWVudCBpbnN0YWxsZWQpKV8QF1N0 -YXRpYyBUZXh0IChQcmV2aW91czopXxAUUHVzaCBCdXR0b24gKEVkaXQpLTFdT3V0cHV0RGV2aWNlc18Q -D1RleHQgRmllbGQgQ2VsbF8QEVRleHQgRmllbGQgQ2VsbC0xXxAwQ2hlY2sgQm94IChBdXRvbWF0aWNh -bGx5IGxhdW5jaCBMYXN0LmZtIGNsaWVudC4pXxAbVGV4dCBGaWVsZCBDZWxsIChQcmV2aW91czopXEZp -bGUncyBPd25lcl8QEU1lbnUgSXRlbSAoSXRlbTMpXxAeVGV4dCBGaWVsZCBDZWxsIChVcGRhdGUgRmVl -ZDopXxAVUG9wdXAgQnV0dG9uIChTdGFibGUpXxARSG90IEtleSBDb250cm9sLTJfEBRCdXR0b24gQ2Vs -bCAoRWRpdCktMlhBcHBjYXN0c18QFEJ1dHRvbiBDZWxsIChFZGl0KS0xXxATU3RhdGljIFRleHQgKFBs -YXk6KV8QIVRleHQgRmllbGQgQ2VsbCAoT3V0cHV0IERldmljZTogKV8QIkNoZWNrIEJveCAoRW5hYmxl -IHJlbW90ZSBjb250cm9sLilfEBNNZW51IEl0ZW0gKE5pZ2h0bHkpXxAPU2hhcmVkIERlZmF1bHRzXxAU -TWVudSBJdGVtIChVbnN0YWJsZSlfEBFNZW51IEl0ZW0gKEl0ZW0xKVpSZW1vdGVWaWV3WkhvdEtleVZp -ZXdfEBFNZW51IChPdGhlclZpZXdzKV8QEVRleHQgRmllbGQgQ2VsbC0yXxAUUHVzaCBCdXR0b24gKEVk -aXQpLTJfEBNNZW51IChPdGhlclZpZXdzKS0xXxA5QnV0dG9uIENlbGwgKEF1dG9tYXRpY2FsbHkgY2hl -Y2sgZm9yIHVwZGF0ZXMgb24gc3RhcnR1cC4pXxAdU3RhdGljIFRleHQgKE91dHB1dCBEZXZpY2U6IClf -EDdCdXR0b24gQ2VsbCAoT25seSBsaXN0ZW4gdG8gcmVtb3RlIHdoZW4gQ29nIGlzIGFjdGl2ZS4pXxAX -VGV4dCBGaWVsZCBDZWxsIChQbGF5OilfEBpTdGF0aWMgVGV4dCAoVXBkYXRlIEZlZWQ6KV8QNUNoZWNr -IEJveCAoT25seSBsaXN0ZW4gdG8gcmVtb3RlIHdoZW4gQ29nIGlzIGFjdGl2ZS4pXxAUUG9wdXAgQnV0 -dG9uIChJdGVtMSlfEBtQb3AgVXAgQnV0dG9uIENlbGwgKFN0YWJsZSlbVXBkYXRlc1ZpZXfSAA4APgR8 -BaOBARelAG8CHQKXA+wBH4AMgHyAjYDngDDSAA4APgR8BauBARelAIcAhwKrA/sAh4ANgA2AjoDogA3S -AA4APgR8BbOBARevEFoEfgBZAhsDLgE7AGgAZwL0AGMA6ABIAEoAVABTA3cCRgIdAT4ASwEfATcCvAGd -AFoC0QBWA1MA4gLLAhoBJgJYAh4ClwLMAZ4AcAAfAjUDrABJAEwAXQNUAFwAYgBvAn0AaQJqA+wCGQHk -AE8DFwOTA5ID1wFcAwkAUgB/A3sAgwBOAh8ATQBYAWIDWgBRAd8DHABkAGYAUABlAFsAXwBXAGECJANV -ATgDFgBeA2wAYANGAFWBARWA2YB4gLOANoEBEIEBDICkgQEDgCaACYAvgJWAjIDEgHqAfIA5gDSAMIBT -gJaASYDbgJuAuIC8gCSAmYB0gDKAfoB/gI2AooBMgAqAAoB2gNKAI4BWgOaAwIDfgQEAgAyAhYEBEoCB -gOeAcIBfgFuAsYDNgMqA4IA8gKuAioAPgMWAEoBagIOAWIDXgD2AvoBugF2Ar4EBB4EBC4BtgQEKgN2A -9YC5gP2AcoDQgDWArYDxgMKA+YC6gKrSAA4APgR8BhCBARevEFoGEQYSBhMGFAYVBhYGFwYYBhkGGgYb -BhwGHQYeBh8GIAYhBiIGIwYkBiUGJgYnBigGKQYqBisGLAYtBi4GLwYwBjEGMgYzBjQGNQY2BjcGOAY5 -BjoGOwY8Bj0GPgY/BkAGQQZCBkMGRAZFBkYGRwZIBkkGSgZLBkwGTQZOBk8GUAZRBlIGUwZUBlUGVgZX -BlgGWQZaBlsGXAZdBl4GXwZgBmEGYgZjBmQGZQZmBmcGaAZpBmqBAVWBAVaBAVeBAViBAVmBAVqBAVuB -AVyBAV2BAV6BAV+BAWCBAWGBAWKBAWOBAWSBAWWBAWaBAWeBAWiBAWmBAWqBAWuBAWyBAW2BAW6BAW+B -AXCBAXGBAXKBAXOBAXSBAXWBAXaBAXeBAXiBAXmBAXqBAXuBAXyBAX2BAX6BAX+BAYCBAYGBAYKBAYOB -AYSBAYWBAYaBAYeBAYiBAYmBAYqBAYuBAYyBAY2BAY6BAY+BAZCBAZGBAZKBAZOBAZSBAZWBAZaBAZeB -AZiBAZmBAZqBAZuBAZyBAZ2BAZ6BAZ+BAaCBAaGBAaKBAaOBAaSBAaWBAaaBAaeBAaiBAamBAaqBAauB -AayBAa2BAa4T//////////0QIhAaEM4QOhBiEEgQ1RBdEMUQIxAUEGUQTBBsEBwQ0hBKEDkQVRA/ECEQ -1BAmEDMQERBXEMQQyhAdEDsQWBBAEOcQxxDREB8QFhCHEGoQYRBfEBsQzBBaEMsQcxAYENMQSRBNEG4Q -bRA0ED4QKxAOEAsQaxDJECUQHhAkED0QzxAMEEEQzRA1EEcQFxBFECAQkRBjEE8QxhBvEDwQLBCQENAQ -kxAyEGTSAA4APgBGBsKAT6DSAA4APgR8BsWBAReg0gAOAD4EfAbIgQEXoNIANwA4BsoGy6IGywA7Xk5T -SUJPYmplY3REYXRhAAgAGQAiACcAMQA6AD8ARABSAFQAZgPQA9YEIQQoBC8EPQRPBGsEeQSFBJEEnwSq -BLgE1ATiBPUFBwUhBSsFOAU6BT0FQAVDBUYFSAVLBU0FUAVTBVYFWQVbBV0FYAVjBWUFaAVxBX0FfwWB -BZYFnwWoBbMFuAXHBdAF4wXsBfcF+QX6BgMGCgYXBh0GJgYoBm8GcQZzBnUGdwZ5BnsGfQZ/BoEGgwaF -BocGiQaLBo0GjwaRBpMGlQaXBpkGmwadBp8GoQajBqYGqQasBq8Gsga1BrgGuwbMBtoG4wbrBu0G7wbx -BvMG/Ab+BwAHCwc0B0YHTgdkB2sHdAd+B4cHkweVB5cHmQebB50HoAehB6MHpQenB7UHwQfmB/EH/QgJ -CAsIDQgPCBEIEwgVCBcIGQgwCFUIYQh1CIAIigiYCKUIuQjFCM4I0AjSCNQI1gjYCN0I3gjgCOEI8gj5 -CQAJCQkLCRQJFgkZCSYJLwk0CTsJUAlYCWUJcQl/CYEJgwmFCYcJiQmQCaYJswm7Cb0JvwnCCcsJ0Anl -CecJ6QnrCe0J9woECgYKCQoSChsKLQo6CkMKSApXCmsKdAp7CpIKoQqyCrQKtgq4CroK2wrdCt8K4Qrj -CuQK5groCwALNQtLC2ALbwuCC5QLpgu0C7kLuwu9C78LwQvDC8ULxwvJC8sLzQvSC9sL4AvxC/ML/Av+ -DAEMCgwUDBYMHwwmDDgMQQxKDFMMYAxpDHQMfQyHDI4MmgysDLUMvAzUDOUM5wzpDOsM7Q0WDRgNGg0c -DR4NIA0hDSMNJQ0nDT4NYw1lDWcNaQ1rDW0Nbg1wDX8NkA2SDZQNlg2YDbkNuw29Db8NwQ3CDcQNxg3r -De0N7w3xDfMN9Q33DfkN+w4UDmMOgA6SDp0Orw7EDtIO2Q7iDuMO5Q7nDukO6w7tDu8O8Q7zDvQO9Q74 -DvsO/Q8CDxMPFQ8XDxkPIg8kD1EPWg9iD3YPgQ+PD5kPpg+vD7cPuQ+7D70Pwg/ED8kPyw/ND88P0Q/e -D+oP7A/uD/AP9hADEBIQFBAWEBgQIBAyEDsQQBBTEGAQYhBkEGYQeRCNEJYQmxCkEKYQsRC6ELwQwxDF -EMcQyRDyEPQQ9hD4EPoQ/BD+EQARAhEIETERMxE1ETcRORE7ET0RPxFBEUcRUBFXEWYRbhF3EXwRhRGS -EaYRtRG+EcsR2RHiEeQR5hHxEf8SEBISEhQSFhIYEiQSNRI3EjkSOxI9EkgSWRJbEl0SXxJhEnISdBJ2 -EngSehKDEoUSihKMEo4SrxKxErMStRK3ErgSuhK8EtQS9RL3EvkS+xL9Ev8TBBMGExgTLRMvEzETMxM1 -E0ITTxNRE10TchN0E3YTeBN6E40TlhOhE6sTtBO2E78TyBPVE9oT6xPtE+8T8RPzFAQUBhQIFAoUDBQV -FBcUKhQsFC4UMBQyFDQUNhQ4FDoUPBRdFF8UYRRjFGUUZhRoFGoUgRSiFKQUphSoFKoUrBSuFLQU1RTX -FNkU2xTdFN4U4BTiFPkVGhUcFR4VIBUiFSQVJhUwFVEVUxVVFVcVWRVaFVwVXhV1FZYVmBWaFZwVnhWg -FaIVqBXRFdMV1RXXFdkV2xXcFd4V4BXiFfkWHhYgFiIWJBYmFigWKRYrFkwWThZQFlIWVBZVFlcWWRZx -FqYWqBaqFqwWrhawFrIWtBa9Fr8W4BbiFuQW5hboFukW6xbtFwUXOhc8Fz4XQBdCF0QXRhdIF1EXUxde -F2cXaRd6F3wXfheAF4IXjReeF6AXohekF6YX0xfwGAcYEhgkGDMYWBhzGIwYjRiPGJAYkhiTGJUYlxiY -GJoYmxicGLUYyRjSGNQY1xjZGN4Y4xjlGO4Y8xkBGRIZFBkWGRgZGhk/GUEZQxlFGUcZSRlLGU0ZTxlY -GVoZXxlhGWMZhBmGGYgZihmMGY0ZjxmRGakZ4hnwGfIZ9Bn2GfgZ+hn8Gf4aABoCGgQaCRpIGlUaVxpZ -GlsaZBptGnkaexp9GoYaixqhGsIaxBrGGsgayhrLGs0azxrnGyAbIhskGyYbKBsqGywbLhswG1cbYRtq -G2wbehuLG40bjxuRG5MbsBuyG7Qbthu4G7obvBvFG8cbzBvOG9Ab7RvvG/Eb8xv1G/Yb+BwQHEkcSxxN -HE8cURxTHFUcVxxZHIUcohykHKYcqByqHKscrRzFHP4dAB0CHQQdBh0IHQodDB0OHScdMB0yHT0dTh1Q -HVIdVB1WHWcdaR1rHW0dbx2MHY4dkB2SHZQdlh2YHaEdox2qHawdrh2wHc0dzx3RHdMd1R3WHdgd8B4p -HiseLR4vHjEeMx41HjceOR5nHoQehh6IHooejB6NHo8eqB73Hvge+h78Hv4fAB8CHwQfBh8HHwgfCh8T -HxUfQh9EH0YfSB9KH0wfTh9QH1IfXx9hH2MfZR9sH3Ufdx+AH4IfiR+LH40fjx+4H7ofvB++H8Afwh/E -H8YfyB/RH/of/B/+IAAgAiAEIAYgCCAKIBIgLyAxIDMgNSA3IDggOiBRIHIgdCB2IHggeiB8IH4giyCV -IKEgsiC0ILYguCC6IM4g3yDhIOMg5SDnIPshDCEOIRAhEiEUISYhNyE5ITshPSE/IVEhbiF4IYIhoSGj -IaUhpyGpIashrSG2IckhyyHMIdUh3CH3IgQiIiIoIj8iSCJPImcihCKGIogiiiKMIo4ikCK5Is0iziLQ -ItEi0yLVItci2SLaItwi3SL2Iv8jASMGIwgjCiMOIxsjICMiIz0jRSNXI3gjjiOQI5IjlCOWI5gjmiOc -I8Ij0SPnJAgkCiQMJA4kECQSJBQkFiQ8JEokYSSCJIQkhiSIJIokjCSOJJAksyTCJNUk8iT0JPYk+CT6 -JPwk/iUhJT0lWiVcJV4lYSVjJWUlaCWSJbUl0iXUJdYl2SXcJd4l4SYIJhAmLiZLJk0mTyZSJlQmViZZ -JnomlCaxJrMmtSa3Jrkmuya9Jt4m4CbiJuQm5ibpJusm7ScOJxAnEicVJxgnGycdJyAnQCdOJ10neid8 -J34ngCeDJ4UniCeoJ8UnxyfJJ8wnzifQJ9Mn+CgBKAQodSh4KHoofCh+KIAogiiEKIYoiCiKKIwojiiQ -KJIolCiWKJgomiicKJ4ooCiiKKQopiioKKoorCiuKLAosii0KLYouCi6KLwovijAKMIoxCjGKMgoyijM -KM4o0CjSKNQo1ijYKNoo3CjeKOAo4ijkKO0o7yjyKQApCSkOKRcpGimLKY0pjymRKZMplSmXKZkpmymd -KZ8poSmjKaUppympKasprSmvKbEpsym1KbcpuSm7Kb0pvynBKcMpxSnHKckpyynNKc8p0SnTKdUp1ynZ -Kdsp3SnfKeEp4ynlKecp6SnrKe0p7ynxKfMp9Sn3KfkqAioFKngqeyp9Kn8qgSqDKoUqhyqJKosqjSqP -KpEqkyqVKpcqmSqbKp0qnyqhKqMqpSqnKqkqqyqtKq8qsSqzKrUqtyq5KrsqvSq/KsEqwyrFKscqySrL -Ks0qzyrRKtMq1SrXKtkq2yrdKt8q4SrjKuUq5yrpKvIq9StoK2srbitxK3Qrdyt6K30rgCuDK4YriSuL -K44rkSuUK5crmiudK6AroyumK6krrCuvK7ErtCu3K7orvSvAK8MrxivJK8wrzyvSK9Ur2CvbK94r4Svk -K+cr6ivtK/Ar8yv2K/kr/Cv/LAIsBSwILAssDiwaLDAsVyxiLJcsrCzBLNss7S0KLR4tLC1ALY0txy3c -LicuQS5YLmYueC6MLr8u3S7qLv4vHy83L0svYi9rL4IvmC+8L+Ev9zAJMCAwNDA/MEowXjByMIkwnzDb -MPsxNTFPMWwxpDG7Mdkx5THuMfEx/DH+MgAyAjIEMgYyDzISMh0yHzIhMiMyJTInMjAyMzLqMu0y7zLx -MvMy9TL4Mvsy/TMAMwIzBDMGMwgzCjMMMw4zEDMSMxQzFjMYMxozHDMeMyAzIjMkMyYzKDMqMywzLjMw -MzIzNDM2MzgzOjM8Mz4zQDNCM0QzRjNIM0szTTNPM1IzVDNWM1gzWjNcM14zYDNiM2QzZjNoM2ozbDNu -M3AzcjN0M3YzeDN6M3wzfjOAM4IzhTOIM4ozjTOPM5EzkzOVM5czmTObM50znzOhM6MzpTOnM7AzszRq -NG00cDRzNHY0eTR8NH80gjSFNIg0izSONJE0lDSXNJo0nTSgNKM0pjSpNKw0rzSyNLU0uDS7NL40wTTE -NMc0yjTNNNA00zTWNNk03DTfNOI05TToNOs07jTxNPQ09zT6NP01ADUDNQY1CTUMNQ81EjUVNRg1GzUe -NSE1JDUnNSo1LTUwNTM1NjU5NTw1PzVCNUU1SDVLNU41UTVUNVc1WjVdNWA1YzVmNWk1bDVvNXI1dTV4 -NYE1gzWFNYc1iTWLNY01jzWRNZM1lTWXNZk1mzWdNZ81oTWjNaU1pzWpNas1rTWvNbE1szW1Nbc1uTW7 -Nb01vzXBNcM1xTXHNck1yzXNNc810TXTNdU11zXZNds13TXfNeE14zXlNec16TXrNe017zXxNfM19TX3 -Nfk1+zX9Nf82ATYDNgU2BzYJNgs2DTYPNhE2EzYVNhc2GTYbNh02HzYhNiM2JTYnNik2MjY0NjU2PjZB -NkI2SzZONk82WDZdAAAAAAAAAgIAAAAAAAAGzAAAAAAAAAAAAAAAAAAANmw - diff --git a/Preferences/General/General.xcodeproj/project.pbxproj b/Preferences/General/General.xcodeproj/project.pbxproj index 7edf3c150..072fa246f 100644 --- a/Preferences/General/General.xcodeproj/project.pbxproj +++ b/Preferences/General/General.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 17C6433F0B8A783F00C53518 /* OutputPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C6433E0B8A783F00C53518 /* OutputPane.m */; }; 17C643690B8A788000C53518 /* output.png in Resources */ = {isa = PBXBuildFile; fileRef = 17C643680B8A788000C53518 /* output.png */; }; 17C644330B8A791D00C53518 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17C644310B8A791D00C53518 /* CoreAudio.framework */; }; + 17C7E5B00DCCC30A003CBCF7 /* playlist.png in Resources */ = {isa = PBXBuildFile; fileRef = 17C7E5AF0DCCC30A003CBCF7 /* playlist.png */; }; 17E41DB80C130AA500AC744D /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 17E41DB70C130AA500AC744D /* Localizable.strings */; }; 17E78A7E0D68BE3C005C5A59 /* file_tree.png in Resources */ = {isa = PBXBuildFile; fileRef = 17E78A7D0D68BE3C005C5A59 /* file_tree.png */; }; 17E78B6A0D68C1E3005C5A59 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = 17E78B680D68C1E3005C5A59 /* Preferences.xib */; }; @@ -45,6 +46,7 @@ 17C6433E0B8A783F00C53518 /* OutputPane.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = OutputPane.m; sourceTree = ""; }; 17C643680B8A788000C53518 /* output.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = output.png; path = Icons/output.png; sourceTree = ""; }; 17C644310B8A791D00C53518 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 17C7E5AF0DCCC30A003CBCF7 /* playlist.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playlist.png; path = Icons/playlist.png; sourceTree = ""; }; 17E41DB50C130A9D00AC744D /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; 17E78A7D0D68BE3C005C5A59 /* file_tree.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = file_tree.png; path = Icons/file_tree.png; sourceTree = ""; }; 17E78B690D68C1E3005C5A59 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/Preferences.xib; sourceTree = ""; }; @@ -196,6 +198,7 @@ 8E07ABD90AAC95AF00A4B32F /* Icons */ = { isa = PBXGroup; children = ( + 17C7E5AF0DCCC30A003CBCF7 /* playlist.png */, 17E78A7D0D68BE3C005C5A59 /* file_tree.png */, 1766C7A70B912A71004A7AE4 /* lastfm.png */, 17C643680B8A788000C53518 /* output.png */, @@ -268,6 +271,7 @@ 17E41DB80C130AA500AC744D /* Localizable.strings in Resources */, 17E78A7E0D68BE3C005C5A59 /* file_tree.png in Resources */, 17E78B6A0D68C1E3005C5A59 /* Preferences.xib in Resources */, + 17C7E5B00DCCC30A003CBCF7 /* playlist.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Preferences/General/Icons/playlist.png b/Preferences/General/Icons/playlist.png new file mode 100644 index 000000000..3e4d6d7fd Binary files /dev/null and b/Preferences/General/Icons/playlist.png differ diff --git a/Preferences/General/PrefPaneController.h b/Preferences/General/PrefPaneController.h index eb0afa656..e90c74154 100644 --- a/Preferences/General/PrefPaneController.h +++ b/Preferences/General/PrefPaneController.h @@ -16,6 +16,7 @@ IBOutlet HotKeyPane *hotKeyPane; IBOutlet OutputPane *outputPane; + IBOutlet NSView *playlistView; IBOutlet NSView *scrobblerView; IBOutlet NSView *remoteView; IBOutlet NSView *updatesView; @@ -27,5 +28,6 @@ - (PreferencePane *)remotePane; - (PreferencePane *)updatesPane; - (PreferencePane *)scrobblerPane; +- (PreferencePane *)playlistPane; @end diff --git a/Preferences/General/PrefPaneController.m b/Preferences/General/PrefPaneController.m index 875c84a28..32aa55e92 100644 --- a/Preferences/General/PrefPaneController.m +++ b/Preferences/General/PrefPaneController.m @@ -19,12 +19,13 @@ loaded = [NSBundle loadNibNamed:@"Preferences" owner:prefPaneController]; return [NSArray arrayWithObjects: - [prefPaneController hotKeyPane], - [prefPaneController remotePane], - [prefPaneController updatesPane], - [prefPaneController outputPane], - [prefPaneController scrobblerPane], - nil]; + [prefPaneController playlistPane], + [prefPaneController hotKeyPane], + [prefPaneController remotePane], + [prefPaneController updatesPane], + [prefPaneController outputPane], + [prefPaneController scrobblerPane], + nil]; } - (HotKeyPane *)hotKeyPane @@ -52,4 +53,9 @@ return [PreferencePane preferencePaneWithView:scrobblerView name:NSLocalizedStringFromTableInBundle(@"Last.fm", nil, [NSBundle bundleForClass:[self class]], @"") icon:@"lastfm"]; } +- (PreferencePane *)playlistPane +{ + return [PreferencePane preferencePaneWithView:playlistView name:NSLocalizedStringFromTableInBundle(@"Playlist", nil, [NSBundle bundleForClass:[self class]], @"") icon:@"playlist"]; +} + @end