From a54f511b36b26622e4c75cc0f03d34b855b9c52c Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Fri, 19 Jul 2013 16:49:48 -0700 Subject: [PATCH] Adding new send to button to traversal bar. Now isntapaper is 2 clicks. --- .../ios/Classes/FontSettingsViewController.m | 2 +- clients/ios/Classes/StoryPageControl.h | 2 +- clients/ios/Classes/StoryPageControl.m | 35 +- clients/ios/Classes/StoryPageControl.xib | 1717 ++++++++++++++++- .../ios/NewsBlur.xcodeproj/project.pbxproj | 16 + .../ARChromeActivity/ARChromeActivity.m | 2 +- .../ios/Resources/traverse_previous_off.png | Bin 0 -> 856 bytes .../Resources/traverse_previous_off@2x.png | Bin 0 -> 1604 bytes clients/ios/Resources/traverse_send.png | Bin 0 -> 1030 bytes clients/ios/Resources/traverse_send@2x.png | Bin 0 -> 1810 bytes clients/ios/Resources/traverse_text.png | Bin 1392 -> 933 bytes clients/ios/Resources/traverse_text@2x.png | Bin 2465 -> 1639 bytes clients/ios/Resources/traverse_text_on.png | Bin 1389 -> 948 bytes clients/ios/Resources/traverse_text_on@2x.png | Bin 2645 -> 1639 bytes 14 files changed, 1735 insertions(+), 39 deletions(-) create mode 100644 clients/ios/Resources/traverse_previous_off.png create mode 100644 clients/ios/Resources/traverse_previous_off@2x.png create mode 100644 clients/ios/Resources/traverse_send.png create mode 100644 clients/ios/Resources/traverse_send@2x.png diff --git a/clients/ios/Classes/FontSettingsViewController.m b/clients/ios/Classes/FontSettingsViewController.m index 8cc1f0cdd..3dd1818e3 100644 --- a/clients/ios/Classes/FontSettingsViewController.m +++ b/clients/ios/Classes/FontSettingsViewController.m @@ -207,7 +207,7 @@ [appDelegate.feedDetailViewController redrawUnreadStory]; } } else if (indexPath.row == 2) { - [appDelegate.storyPageControl openSendToDialog]; + [appDelegate.storyPageControl openSendToDialog:nil]; } else if (indexPath.row == 3) { [appDelegate openTrainStory:appDelegate.storyPageControl.fontSettingsButton]; } else if (indexPath.row == 4) { diff --git a/clients/ios/Classes/StoryPageControl.h b/clients/ios/Classes/StoryPageControl.h index 2688b0ab4..653e0bda0 100644 --- a/clients/ios/Classes/StoryPageControl.h +++ b/clients/ios/Classes/StoryPageControl.h @@ -98,7 +98,6 @@ - (void)setTextButton; - (void)markStoryAsRead; - (void)finishMarkAsRead:(ASIFormDataRequest *)request; -- (void)openSendToDialog; - (void)markStoryAsUnread; - (void)finishMarkAsUnread:(ASIFormDataRequest *)request; - (void)markStoryAsSaved; @@ -116,6 +115,7 @@ - (void)flashCheckmarkHud:(NSString *)messageType; +- (IBAction)openSendToDialog:(id)sender; - (IBAction)doNextUnreadStory; - (IBAction)doPreviousStory; - (IBAction)tapProgressBar:(id)sender; diff --git a/clients/ios/Classes/StoryPageControl.m b/clients/ios/Classes/StoryPageControl.m index c7681a7b7..314c6e548 100644 --- a/clients/ios/Classes/StoryPageControl.m +++ b/clients/ios/Classes/StoryPageControl.m @@ -671,12 +671,14 @@ if (readStoryCount == 0 || (readStoryCount == 1 && [appDelegate.readStories lastObject] == [appDelegate.activeStory objectForKey:@"id"])) { - [buttonPrevious setEnabled:NO]; - [buttonPrevious setAlpha:.4]; - } else { - [buttonPrevious setEnabled:YES]; - [buttonPrevious setAlpha:1]; - } + [buttonPrevious setEnabled:NO]; +// buttonPrevious.alpha = 1.0f; +// [buttonAction setImage:[UIImage imageNamed:@"traverse_previous_off"]]; + } else { + [buttonPrevious setEnabled:YES]; +// buttonPrevious.alpha = 1.0f; +// [buttonAction setImage:[UIImage imageNamed:@"traverse_previous"]]; + } // setting up the NEXT UNREAD STORY BUTTON buttonNext.enabled = YES; @@ -804,7 +806,7 @@ // NSLog(@"results in mark as read is %@", results); } -- (void)openSendToDialog { +- (IBAction)openSendToDialog:(id)sender { NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults]; NSURL *url = [NSURL URLWithString:[appDelegate.activeStory objectForKey:@"story_permalink"]]; @@ -848,13 +850,13 @@ [shareSheet setValue:[appDelegate.activeStory objectForKey:@"story_title"] forKey:@"subject"]; [shareSheet setCompletionHandler:^(NSString *activityType, BOOL completed) { - NSString *_completedString; if (completed) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil]; + NSString *_completedString; if ([activityType isEqualToString:UIActivityTypePostToTwitter]) { _completedString = @"Posted"; } else if ([activityType isEqualToString:UIActivityTypePostToFacebook]) { @@ -872,17 +874,14 @@ } else if ([activityType isEqualToString:@"pinboard"]) { _completedString = @"Saved"; } - } else { - _completedString = nil; + [MBProgressHUD hideHUDForView:appDelegate.storyPageControl.view animated:NO]; + self.storyHUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; + self.storyHUD.customView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]]; + self.storyHUD.mode = MBProgressHUDModeCustomView; + self.storyHUD.removeFromSuperViewOnHide = YES; + self.storyHUD.labelText = _completedString; + [self.storyHUD hide:YES afterDelay:1]; } - - [MBProgressHUD hideHUDForView:appDelegate.storyPageControl.view animated:NO]; - self.storyHUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; - self.storyHUD.customView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]]; - self.storyHUD.mode = MBProgressHUDModeCustomView; - self.storyHUD.removeFromSuperViewOnHide = YES; - self.storyHUD.labelText = _completedString; - [self.storyHUD hide:YES afterDelay:1]; }]; shareSheet.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypeAssignToContact]; diff --git a/clients/ios/Classes/StoryPageControl.xib b/clients/ios/Classes/StoryPageControl.xib index fff81f865..28cc770d3 100644 --- a/clients/ios/Classes/StoryPageControl.xib +++ b/clients/ios/Classes/StoryPageControl.xib @@ -2,9 +2,9 @@ 1552 - 12D78 + 12E55 3084 - 1187.37 + 1187.39 626.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -45,6 +45,7 @@ {320, 460} + 3 @@ -63,13 +64,14 @@ 1289 - {{151, 4}, {158, 44}} + {{150, 4}, {160, 44}} + _NS:9 NO IBCocoaTouchFramework - + NSImage traverse_background.png @@ -77,22 +79,21 @@ 1292 - {{4, 4}, {105, 44}} + {{4, 4}, {139, 44}} + _NS:9 NO IBCocoaTouchFramework - - NSImage - traverse_background_left.png - + 1289 {{155.5, 9}, {43, 34}} + _NS:9 NO @@ -114,6 +115,10 @@ 2 + + NSImage + traverse_previous_off.png + NSImage traverse_previous.png @@ -133,6 +138,7 @@ 1289 {{199.5, 9}, {104, 34}} + _NS:9 NO @@ -175,9 +181,10 @@ 1292 - {{9, 9.5}, {94, 34}} + {{9, 9.5}, {83, 34}} - + + _NS:9 NO IBCocoaTouchFramework @@ -186,8 +193,8 @@ 0.0 0.0 0.0 - 20 - TEXT + 14 + TEXT 3 @@ -205,11 +212,45 @@ + + + 1292 + {{93, 9}, {44, 34}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 0.0 + 0.0 + 0.0 + 20 + + + 3 + MC4xOTY5OTQ3NTM2AA + + + 2 + MC41ODgyMzUzMTg3IDAuNTk2MDc4NDU1NCAwLjU3MjU0OTA0NTEAA + + + + NSImage + traverse_send.png + + + + 1289 {{205.5, 16}, {20, 20}} + _NS:9 NO @@ -224,6 +265,7 @@ {{4.5, 409}, {315.5, 51}} + _NS:9 @@ -233,6 +275,7 @@ {320, 460} + 10 @@ -4721,6 +4764,15 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE 83 + + + openSendToDialog: + + + 7 + + 87 + @@ -4766,6 +4818,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE + @@ -4799,6 +4852,11 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE + + 85 + + + @@ -4815,30 +4873,1653 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + - 84 + 87 + + + + + ActivityModule + UIView + + IBProjectSource + ./Classes/ActivityModule.h + + + + AddSiteViewController + UIViewController + + id + id + id + id + id + + + + addSite + id + + + checkSiteAddress + id + + + doAddButton + id + + + doCancelButton + id + + + toggleAddFolder: + id + + + + UIActivityIndicatorView + UIBarButtonItem + UIButton + UITextField + UILabel + NewsBlurAppDelegate + UIBarButtonItem + UILabel + UIPickerView + UITextField + UINavigationBar + UIActivityIndicatorView + UITextField + UIScrollView + UITableView + + + + activityIndicator + UIActivityIndicatorView + + + addButton + UIBarButtonItem + + + addFolderButton + UIButton + + + addFolderInput + UITextField + + + addingLabel + UILabel + + + appDelegate + NewsBlurAppDelegate + + + cancelButton + UIBarButtonItem + + + errorLabel + UILabel + + + folderPicker + UIPickerView + + + inFolderInput + UITextField + + + navBar + UINavigationBar + + + siteActivityIndicator + UIActivityIndicatorView + + + siteAddressInput + UITextField + + + siteScrollView + UIScrollView + + + siteTable + UITableView + + + + IBProjectSource + ./Classes/AddSiteViewController.h + + + + BaseViewController + UIViewController + + IBProjectSource + ./Classes/BaseViewController.h + + + + DashboardViewController + UIViewController + + id + id + + + + doLogout: + id + + + tapSegmentedButton: + id + + + + ActivityModule + NewsBlurAppDelegate + UIWebView + InteractionsModule + UISegmentedControl + UIToolbar + UIToolbar + + + + activitiesModule + ActivityModule + + + appDelegate + NewsBlurAppDelegate + + + feedbackWebView + UIWebView + + + interactionsModule + InteractionsModule + + + segmentedButton + UISegmentedControl + + + toolbar + UIToolbar + + + topToolbar + UIToolbar + + + + IBProjectSource + ./Classes/DashboardViewController.h + + + + FeedDetailMenuViewController + UIViewController + + id + id + + + + changeOrder: + id + + + changeReadFilter: + id + + + + NewsBlurAppDelegate + UITableView + UISegmentedControl + UISegmentedControl + + + + appDelegate + NewsBlurAppDelegate + + + menuTableView + UITableView + + + orderSegmentedControl + UISegmentedControl + + + readFilterSegmentedControl + UISegmentedControl + + + + IBProjectSource + ./Classes/FeedDetailMenuViewController.h + + + + FeedDetailViewController + BaseViewController + + id + id + + + + doOpenMarkReadActionSheet: + id + + + doOpenSettingsActionSheet: + id + + + + NewsBlurAppDelegate + UIBarButtonItem + TransparentToolbar + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UITableView + UIBarButtonItem + + + + appDelegate + NewsBlurAppDelegate + + + feedMarkReadButton + UIBarButtonItem + + + rightToolbar + TransparentToolbar + + + separatorBarButton + UIBarButtonItem + + + settingsBarButton + UIBarButtonItem + + + spacer2BarButton + UIBarButtonItem + + + spacer3BarButton + UIBarButtonItem + + + spacerBarButton + UIBarButtonItem + + + storyTitlesTable + UITableView + + + titleImageBarButton + UIBarButtonItem + + + + IBProjectSource + ./Classes/FeedDetailViewController.h + + + + FeedsMenuViewController + UIViewController + + NewsBlurAppDelegate + UIAlertView + UITableView + + + + appDelegate + NewsBlurAppDelegate + + + loginAsAlert + UIAlertView + + + menuTableView + UITableView + + + + IBProjectSource + ./Classes/FeedsMenuViewController.h + + + + FirstTimeUserAddFriendsViewController + UIViewController + + id + id + id + id + + + + tapFacebookButton + id + + + tapNextButton + id + + + tapTwitterButton + id + + + toggleAutoFollowFriends: + id + + + + NewsBlurAppDelegate + UIActivityIndicatorView + UIButton + UILabel + UIBarButtonItem + UIActivityIndicatorView + UIButton + + + + appDelegate + NewsBlurAppDelegate + + + facebookActivityIndicator + UIActivityIndicatorView + + + facebookButton + UIButton + + + friendsLabel + UILabel + + + nextButton + UIBarButtonItem + + + twitterActivityIndicator + UIActivityIndicatorView + + + twitterButton + UIButton + + + + IBProjectSource + ./Classes/FirstTimeUserAddFriendsViewController.h + + + + FirstTimeUserAddNewsBlurViewController + UIViewController + + id + id + id + + + + tapNewsBlurButton: + id + + + tapNextButton + id + + + tapPopularButton: + id + + + + NewsBlurAppDelegate + UILabel + UIBarButtonItem + + + + appDelegate + NewsBlurAppDelegate + + + instructionsLabel + UILabel + + + nextButton + UIBarButtonItem + + + + IBProjectSource + ./Classes/FirstTimeUserAddNewsBlurViewController.h + + + + FirstTimeUserAddSitesViewController + UIViewController + + tapNextButton + id + + + tapNextButton + + tapNextButton + id + + + + UIActivityIndicatorView + NewsBlurAppDelegate + UITableView + UIButton + UIView + UILabel + UIBarButtonItem + UIScrollView + + + + activityIndicator + UIActivityIndicatorView + + + appDelegate + NewsBlurAppDelegate + + + categoriesTable + UITableView + + + googleReaderButton + UIButton + + + googleReaderButtonWrapper + UIView + + + instructionLabel + UILabel + + + nextButton + UIBarButtonItem + + + scrollView + UIScrollView + + + + IBProjectSource + ./Classes/FirstTimeUserAddSitesViewController.h + + + + FirstTimeUserViewController + UIViewController + + tapNextButton + id + + + tapNextButton + + tapNextButton + id + + + + NewsBlurAppDelegate + UILabel + UILabel + UIImageView + UIBarButtonItem + + + + appDelegate + NewsBlurAppDelegate + + + footer + UILabel + + + header + UILabel + + + logo + UIImageView + + + nextButton + UIBarButtonItem + + + + IBProjectSource + ./Classes/FirstTimeUserViewController.h + + + + FontSettingsViewController + UIViewController + + id + id + + + + changeFontSize: + id + + + changeFontStyle: + id + + + + NewsBlurAppDelegate + UISegmentedControl + UISegmentedControl + UILabel + UITableView + UILabel + + + + appDelegate + NewsBlurAppDelegate + + + fontSizeSegment + UISegmentedControl + + + fontStyleSegment + UISegmentedControl + + + largeFontSizeLabel + UILabel + + + menuTableView + UITableView + + + smallFontSizeLabel + UILabel + + + + IBProjectSource + ./Classes/FontSettingsViewController.h + + + + FriendsListViewController + UIViewController + + NewsBlurAppDelegate + UISearchBar + UITableView + + + + appDelegate + NewsBlurAppDelegate + + + friendSearchBar + UISearchBar + + + friendsTable + UITableView + + + + IBProjectSource + ./Classes/FriendsListViewController.h + + + + IASKAppSettingsViewController + UITableViewController + + delegate + id + + + delegate + + delegate + id + + + + IBProjectSource + ./Classes/IASKAppSettingsViewController.h + + + + InteractionsModule + UIView + + IBProjectSource + ./Classes/InteractionsModule.h + + + + LoginViewController + UIViewController + + id + id + id + id + id + + + + selectLogin + id + + + selectLoginSignup + id + + + selectSignUp + id + + + tapLoginButton + id + + + tapSignUpButton + id + + + + NewsBlurAppDelegate + UITextField + UILabel + UILabel + UIView + UISegmentedControl + UITextField + UILabel + UILabel + UIButton + UIButton + UITextField + UITextField + UIView + UITextField + UILabel + UILabel + + + + appDelegate + NewsBlurAppDelegate + + + emailInput + UITextField + + + emailLabel + UILabel + + + errorLabel + UILabel + + + logInView + UIView + + + loginControl + UISegmentedControl + + + passwordInput + UITextField + + + passwordLabel + UILabel + + + passwordOptionalLabel + UILabel + + + selectLoginButton + UIButton + + + selectSignUpButton + UIButton + + + signUpPasswordInput + UITextField + + + signUpUsernameInput + UITextField + + + signUpView + UIView + + + usernameInput + UITextField + + + usernameLabel + UILabel + + + usernameOrEmailLabel + UILabel + + + + IBProjectSource + ./Classes/LoginViewController.h + + + + MoveSiteViewController + UIViewController + + id + id + id + id + + + + doCancelButton + id + + + doMoveButton + id + + + moveFolder + id + + + moveSite + id + + + + UIActivityIndicatorView + NewsBlurAppDelegate + UIBarButtonItem + UILabel + UIPickerView + UITextField + UIBarButtonItem + UILabel + UINavigationBar + UILabel + UITextField + + + + activityIndicator + UIActivityIndicatorView + + + appDelegate + NewsBlurAppDelegate + + + cancelButton + UIBarButtonItem + + + errorLabel + UILabel + + + folderPicker + UIPickerView + + + fromFolderInput + UITextField + + + moveButton + UIBarButtonItem + + + movingLabel + UILabel + + + navBar + UINavigationBar + + + titleLabel + UILabel + + + toFolderInput + UITextField + + + + IBProjectSource + ./Classes/MoveSiteViewController.h + + + + NBContainerViewController + UIViewController + + appDelegate + NewsBlurAppDelegate + + + appDelegate + + appDelegate + NewsBlurAppDelegate + + + + IBProjectSource + ./Classes/NBContainerViewController.h + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + NewsBlurAppDelegate + BaseViewController + + AddSiteViewController + DashboardViewController + FeedDashboardViewController + FeedDetailMenuViewController + FeedDetailViewController + FeedsMenuViewController + NewsBlurViewController + FirstTimeUserAddFriendsViewController + FirstTimeUserAddNewsBlurViewController + FirstTimeUserAddSitesViewController + FirstTimeUserViewController + FontSettingsViewController + FriendsListViewController + UINavigationController + LoginViewController + NBContainerViewController + MoveSiteViewController + UINavigationController + OriginalStoryViewController + IASKAppSettingsViewController + ShareViewController + StoryDetailViewController + StoryPageControl + TrainerViewController + UserProfileViewController + UIWindow + + + + addSiteViewController + AddSiteViewController + + + dashboardViewController + DashboardViewController + + + feedDashboardViewController + FeedDashboardViewController + + + feedDetailMenuViewController + FeedDetailMenuViewController + + + feedDetailViewController + FeedDetailViewController + + + feedsMenuViewController + FeedsMenuViewController + + + feedsViewController + NewsBlurViewController + + + firstTimeUserAddFriendsViewController + FirstTimeUserAddFriendsViewController + + + firstTimeUserAddNewsBlurViewController + FirstTimeUserAddNewsBlurViewController + + + firstTimeUserAddSitesViewController + FirstTimeUserAddSitesViewController + + + firstTimeUserViewController + FirstTimeUserViewController + + + fontSettingsViewController + FontSettingsViewController + + + friendsListViewController + FriendsListViewController + + + ftuxNavigationController + UINavigationController + + + loginViewController + LoginViewController + + + masterContainerViewController + NBContainerViewController + + + moveSiteViewController + MoveSiteViewController + + + navigationController + UINavigationController + + + originalStoryViewController + OriginalStoryViewController + + + preferencesViewController + IASKAppSettingsViewController + + + shareViewController + ShareViewController + + + storyDetailViewController + StoryDetailViewController + + + storyPageControl + StoryPageControl + + + trainerViewController + TrainerViewController + + + userProfileViewController + UserProfileViewController + + + window + UIWindow + + + + IBProjectSource + ./Classes/NewsBlurAppDelegate.h + + + + NewsBlurViewController + BaseViewController + + UIButton + UIButton + UIButton + id + id + id + id + + + + sectionTapped: + UIButton + + + sectionUntapped: + UIButton + + + sectionUntappedOutside: + UIButton + + + selectIntelligence + id + + + showInteractionsPopover: + id + + + showSettingsPopover: + id + + + tapAddSite: + id + + + + UIBarButtonItem + UIBarButtonItem + NewsBlurAppDelegate + UISlider + UITableView + UIToolbar + UIBarButtonItem + UIView + UISegmentedControl + UIView + UIBarButtonItem + UIBarButtonItem + + + + activitiesButton + UIBarButtonItem + + + addBarButton + UIBarButtonItem + + + appDelegate + NewsBlurAppDelegate + + + feedScoreSlider + UISlider + + + feedTitlesTable + UITableView + + + feedViewToolbar + UIToolbar + + + homeButton + UIBarButtonItem + + + innerView + UIView + + + intelligenceControl + UISegmentedControl + + + noFocusMessage + UIView + + + settingsBarButton + UIBarButtonItem + + + toolbarLeftMargin + UIBarButtonItem + + + + IBProjectSource + ./Classes/NewsBlurViewController.h + + + + OriginalStoryViewController + BaseViewController + + id + id + id + id + id + id + + + + doCloseOriginalStoryViewController + id + + + doOpenActionSheet + id + + + loadAddress: + id + + + webViewGoBack: + id + + + webViewGoForward: + id + + + webViewRefresh: + id + + + + NewsBlurAppDelegate + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UILabel + UITextField + UIBarButtonItem + UIToolbar + UIWebView + + + + appDelegate + NewsBlurAppDelegate + + + back + UIBarButtonItem + + + closeButton + UIBarButtonItem + + + forward + UIBarButtonItem + + + pageAction + UIBarButtonItem + + + pageTitle + UILabel + + + pageUrl + UITextField + + + refresh + UIBarButtonItem + + + toolbar + UIToolbar + + + webView + UIWebView + + + + IBProjectSource + ./Classes/OriginalStoryViewController.h + + + + ShareViewController + UIViewController + + id + id + id + id + + + + doCancelButton: + id + + + doReplyToComment: + id + + + doShareThisStory: + id + + + doToggleButton: + id + + + + NewsBlurAppDelegate + UIButton + UITextView + UIButton + NSLayoutConstraint + UILabel + UIBarButtonItem + UIButton + + + + appDelegate + NewsBlurAppDelegate + + + appdotnetButton + UIButton + + + commentField + UITextView + + + facebookButton + UIButton + + + keyboardHeight + NSLayoutConstraint + + + storyTitle + UILabel + + + submitButton + UIBarButtonItem + + + twitterButton + UIButton + + + + IBProjectSource + ./Classes/ShareViewController.h + + + + StoryDetailViewController + BaseViewController + + NewsBlurAppDelegate + UIView + UIView + UILabel + UIWebView + + + + appDelegate + NewsBlurAppDelegate + + + feedTitleGradient + UIView + + + innerView + UIView + + + noStorySelectedLabel + UILabel + + + webView + UIWebView + + + + IBProjectSource + ./Classes/StoryDetailViewController.h + + + + StoryPageControl + BaseViewController + + id + id + id + id + id + id + id + + + + doNextUnreadStory + id + + + doPreviousStory + id + + + openSendToDialog: + id + + + showOriginalSubview: + id + + + tapProgressBar: + id + + + toggleFontSize: + id + + + toggleView: + id + + + + NewsBlurAppDelegate + UIToolbar + UIBarButtonItem + UIButton + UIButton + UIButton + THCircularProgressView + UIBarButtonItem + UIActivityIndicatorView + UIBarButtonItem + UIPageControl + UIView + UIView + TransparentToolbar + UIScrollView + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UIBarButtonItem + UIView + + + + appDelegate + NewsBlurAppDelegate + + + bottomPlaceholderToolbar + UIToolbar + + + buttonAction + UIBarButtonItem + + + buttonNext + UIButton + + + buttonPrevious + UIButton + + + buttonText + UIButton + + + circularProgressView + THCircularProgressView + + + fontSettingsButton + UIBarButtonItem + + + loadingIndicator + UIActivityIndicatorView + + + originalStoryButton + UIBarButtonItem + + + pageControl + UIPageControl + + + progressView + UIView + + + progressViewContainer + UIView + + + rightToolbar + TransparentToolbar + + + scrollView + UIScrollView + + + separatorBarButton + UIBarButtonItem + + + spacer2BarButton + UIBarButtonItem + + + spacer3BarButton + UIBarButtonItem + + + spacerBarButton + UIBarButtonItem + + + subscribeButton + UIBarButtonItem + + + traverseView + UIView + + + + IBProjectSource + ./Classes/StoryPageControl.h + + + + THCircularProgressView + UIView + + IBProjectSource + ./Classes/THCircularProgressView.h + + + + TrainerViewController + BaseViewController + + doCloseDialog: + id + + + doCloseDialog: + + doCloseDialog: + id + + + + NewsBlurAppDelegate + UIBarButtonItem + UINavigationBar + TrainerWebView + + + + appDelegate + NewsBlurAppDelegate + + + closeButton + UIBarButtonItem + + + navBar + UINavigationBar + + + webView + TrainerWebView + + + + IBProjectSource + ./Classes/TrainerViewController.h + + + + TrainerWebView + UIWebView + + IBProjectSource + ./Classes/TrainerWebView.h + + + + TransparentToolbar + UIToolbar + + IBProjectSource + ./Classes/TransparentToolbar.h + + + + UserProfileViewController + UIViewController + + IBProjectSource + ./Classes/UserProfileViewController.h + + + - 0 IBCocoaTouchFramework YES 3 {113, 46} - {105, 44} - {104, 34} + {208, 68} {43, 34} + {43, 34} + {44, 34} {94, 34} 2083 diff --git a/clients/ios/NewsBlur.xcodeproj/project.pbxproj b/clients/ios/NewsBlur.xcodeproj/project.pbxproj index 1d83c7ce7..28d8e8042 100755 --- a/clients/ios/NewsBlur.xcodeproj/project.pbxproj +++ b/clients/ios/NewsBlur.xcodeproj/project.pbxproj @@ -264,6 +264,10 @@ FF5D40121799F70200349659 /* ARChromeActivity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D400D1799F70200349659 /* ARChromeActivity@2x.png */; }; FF5D40131799F70200349659 /* ARChromeActivity@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D400E1799F70200349659 /* ARChromeActivity@2x~ipad.png */; }; FF5D40141799F70200349659 /* ARChromeActivity~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D400F1799F70200349659 /* ARChromeActivity~ipad.png */; }; + FF5D4017179A00B900349659 /* traverse_send.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D4015179A00B900349659 /* traverse_send.png */; }; + FF5D4018179A00B900349659 /* traverse_send@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D4016179A00B900349659 /* traverse_send@2x.png */; }; + FF5D401B179A03E700349659 /* traverse_previous_off.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D4019179A03E700349659 /* traverse_previous_off.png */; }; + FF5D401C179A03E700349659 /* traverse_previous_off@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5D401A179A03E700349659 /* traverse_previous_off@2x.png */; }; FF5EA47F143B691000B7563D /* AddSiteViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FF5EA47D143B691000B7563D /* AddSiteViewController.m */; }; FF5F3A82162B82B5008DBE3E /* rainbow.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5F3A81162B82B5008DBE3E /* rainbow.png */; }; FF5F3A85162B831A008DBE3E /* user_orange.png in Resources */ = {isa = PBXBuildFile; fileRef = FF5F3A84162B831A008DBE3E /* user_orange.png */; }; @@ -803,6 +807,10 @@ FF5D400D1799F70200349659 /* ARChromeActivity@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARChromeActivity@2x.png"; sourceTree = ""; }; FF5D400E1799F70200349659 /* ARChromeActivity@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARChromeActivity@2x~ipad.png"; sourceTree = ""; }; FF5D400F1799F70200349659 /* ARChromeActivity~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARChromeActivity~ipad.png"; sourceTree = ""; }; + FF5D4015179A00B900349659 /* traverse_send.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = traverse_send.png; sourceTree = ""; }; + FF5D4016179A00B900349659 /* traverse_send@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "traverse_send@2x.png"; sourceTree = ""; }; + FF5D4019179A03E700349659 /* traverse_previous_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = traverse_previous_off.png; sourceTree = ""; }; + FF5D401A179A03E700349659 /* traverse_previous_off@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "traverse_previous_off@2x.png"; sourceTree = ""; }; FF5EA47C143B691000B7563D /* AddSiteViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSiteViewController.h; sourceTree = ""; }; FF5EA47D143B691000B7563D /* AddSiteViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AddSiteViewController.m; sourceTree = ""; }; FF5F3A81162B82B5008DBE3E /* rainbow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rainbow.png; sourceTree = ""; }; @@ -1335,6 +1343,8 @@ FFC518B81768E59F00542719 /* g_icn_offline.png */, FF8364C41757EC0B008F5C58 /* traverse_background_left.png */, FF8364C51757EC0B008F5C58 /* traverse_background_left@2x.png */, + FF5D4015179A00B900349659 /* traverse_send.png */, + FF5D4016179A00B900349659 /* traverse_send@2x.png */, FF8364BD1756949E008F5C58 /* traverse_text_on.png */, FF8364BE1756949E008F5C58 /* traverse_text_on@2x.png */, FF8364B91755759A008F5C58 /* traverse_text.png */, @@ -1368,6 +1378,8 @@ FF688E5116E6B8D0003B7B42 /* traverse_background@2x.png */, FF688E4C16E6B3E1003B7B42 /* traverse_done.png */, FF688E4D16E6B3E1003B7B42 /* traverse_done@2x.png */, + FF5D4019179A03E700349659 /* traverse_previous_off.png */, + FF5D401A179A03E700349659 /* traverse_previous_off@2x.png */, FF688E4816E6AFD3003B7B42 /* traverse_previous.png */, FF688E4916E6AFD3003B7B42 /* traverse_previous@2x.png */, FF688E4416E6ADB1003B7B42 /* traverse_next.png */, @@ -2439,6 +2451,10 @@ FF5D40121799F70200349659 /* ARChromeActivity@2x.png in Resources */, FF5D40131799F70200349659 /* ARChromeActivity@2x~ipad.png in Resources */, FF5D40141799F70200349659 /* ARChromeActivity~ipad.png in Resources */, + FF5D4017179A00B900349659 /* traverse_send.png in Resources */, + FF5D4018179A00B900349659 /* traverse_send@2x.png in Resources */, + FF5D401B179A03E700349659 /* traverse_previous_off.png in Resources */, + FF5D401C179A03E700349659 /* traverse_previous_off@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/clients/ios/Other Sources/ARChromeActivity/ARChromeActivity.m b/clients/ios/Other Sources/ARChromeActivity/ARChromeActivity.m index 15f5b010e..4ce3ae5ee 100755 --- a/clients/ios/Other Sources/ARChromeActivity/ARChromeActivity.m +++ b/clients/ios/Other Sources/ARChromeActivity/ARChromeActivity.m @@ -23,7 +23,7 @@ - (void)commonInit { _callbackSource = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleName"]; - _activityTitle = @"Chrome"; + _activityTitle = @"Open in Chrome"; } - (id)init { diff --git a/clients/ios/Resources/traverse_previous_off.png b/clients/ios/Resources/traverse_previous_off.png new file mode 100644 index 0000000000000000000000000000000000000000..2b543f1e7aa6164615eee0600f366419a317920e GIT binary patch literal 856 zcmV-e1E>6nP)01p7% z2e6*b`m!V(r;lKgwR{rxkZ&y zx)hPunb5xHXNRI0N@*ezqYF5ytYw=I2_g5gbBkBUQ4~0=tYw=TfVG*-f*4m(;CLFm z(zJ<9mFo*p%7noz+q?$gPI@YP;hH-RPyj2MHt}_whrbI2a5t4qPs82GbKX%^wKGV* zvd^e2(kLHG$?0#al-=RqtM8~Uw*dcG?~SkpBB ze}p;b1ASZoz&y{Dc16)N%|FOIn7@W$xU#YVfC>>LgCJ~tCDWE_V-@9W=jezb0ywOux#MH<=$JD^>{L=Ni#38V-iao7cfKpfaO!37Dp zAVB;9^u`HkXNvckMCo4V4iS=+R+oy0bWCZp}z#7!LA@$yKyMSeed z^!oe0_WR}~uInNQG+jLn;4**<0Gy~!Z^N& z)pT_NKncJVhB8~}^n{U0DmJC`ML(`TjPxZ|(^V0`s{r0*7}l6jrneJP>a0J}hMS(n zwg#gw2%!^`*^|~t=ze+0OvEW!@HC>$s@EIZW^wf!`8Uim} z98j*I$Ftbh0QD`;i?x}l*-AGO;^tWxSmca+cQ(MPwYs49J=;cO;?`<@Xh#G z?tUhn9o_mK>DXg6UCjabZY-1A$fUEQo_Y+96szg#IDoI^M7lhd8A&}Zol3z~mgVKi zZ2m%EX=22oVl`czCxjGcre-ID4ipz2D+QXa3IM*E%;qghX)=UNv0$HAO;;HJABm#8 zl#o)-g_J2494rMd0C+8zJ;j9)CQckI1@Fm;^q->=&_9oQZ0qUj!ell-5n`U$u(!v) zEho}{g_a~{umGUxssiAp@v&SZ=JA z1gR2skfU&27p7qhl~iC??0KFO!p?ChuIs|68LZQ8vO3a*(!E+p!OQ zXI!mT`EJ)>DC6(~@31WE_@A&d6hKB4ljFF+ z%N+~gH`A)k2i>q21VOM}*CmI|ZBwaKJ&a6Vp#XkrG_0AhgB*n@ilOwlexb!e>7MJl ze3S;Tg9w7qWGFLKa@)7q@7p_DcSB9mf%Y7CnB=y_eqXJwOQ9y|!m!Du08lKHez6@p zALViY{4ZCMqW^@pceMTCLFL|ZXh}Rm2tgPt0>@>q*z2ablXo0vJG3-0;*r>5p>!L- z&GpL4Vu*QS!@-I7!cJ{#Zq#f0XP?+&p>zwtkE?6tTOs9%4TrtxUZ~g2>6%ep3Or4W zcuZ`uP+AA@<^2bD6Qh#QJBKdK6bq%FUDq9zgg)rB=Cx3-n@;87>aT&Ni4jMNEfz{9 zfKRuom8p%*2R8!D6bm}8(iRJ)GJtEFoA)zT-6#i=C?<4W{w@|uOD^2cS69pR>h{LX zAVS3fPx}grh0+Zd?#Jtum1jm}!5f}8Y_uL8-q_e&V^`Py84YM%IMz;>Vxe>gz%|p{ zSzErdbUW&=8N-D1dT6Akt5*PA9n0kY9vu|1pYrme)3aCr&~)__fKMo)r?c6UjnO~G zcj;R!0BE|(0eBg}hb+sR%J>Q4Nf+#k*fyfJ*=_V)r;{1%M2I2f$(X80KCBMd`m_fBXlz*XJ;k literal 0 HcmV?d00001 diff --git a/clients/ios/Resources/traverse_send.png b/clients/ios/Resources/traverse_send.png new file mode 100644 index 0000000000000000000000000000000000000000..0c0f02ca4fe0a6a081907c8bafc599f04000b5a8 GIT binary patch literal 1030 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 Aj{pDw literal 0 HcmV?d00001 diff --git a/clients/ios/Resources/traverse_text.png b/clients/ios/Resources/traverse_text.png index 3bb6b4d451a2ac6d81b306dfaf68a435404a98d1..50a4e6c316822c417c45cae199cab67b283f315d 100644 GIT binary patch delta 802 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 P00000NkvXXu0mjf$~5RJ delta 2346 zcmV+_3Dx%J451T{kbemKNkl|4o%0uA|ai>VM2nh*VE<$YzQY#SU0fbPWc;JZv5gw=tQ>lZh5Y$4OCTT8i z>pUBKsnLqKm(3BDbT zCJNzjG^nbPgc^=?g+gk-Zv}`QrBSDi|>TrL)>P6fxQB0{j^`t!qZz zuNs;jc*{0NfPc>e9}5JOawHPVcBT7zBWi54sRt4_jO9}PWGK=CmTle%d>yzW8ckg2$qeq1-dk){rCJ(WSe%(Hmy3IW{{X+%HRH8rwSP^4 zw`?;A+yy)u2n0scoxPJC$;^I5QIgFnQ0z{w>lSkP?0>1H+-$e!dFO%WbCgQ2ny*-{0zW?`Hx5<-t9}2NDu?(GC$cHo9l{z&=%tjsQQmY;*5c zzQ3s+-m=Y6;8|6TmWKxR-o3q2g=ntE*nSjvOxKKKoB7UF18>>pAn*%SjXDx`vC~wl zrLoDW^I_mgT{G;f?Z08*E!#{1FGQn>;y~Zchku$_rw~n3sg}m3rp5vu-c!0}yu8uA z>yF_q+w2B@s;beFgk9`p5j8eCFfi%?&ses3`$qe2bkh2@U@+7#!x(Wrh^VpA?#$2y z;OWNWEo)jc@Rn^J4g>=C-!!;yk8c$U(PSOT^ubg|rT{#--ah{qc*`~;z>(gb;j-LN z5`Wj5OxM7nP)JQ#w)w5Kwy)L0e?J;coQ%gh4)|P~5WW~1*t-vSWUZmi6@hPD#DB1_ zXJo^HzYsf_qA1C9XWu#C$ChoXmv0NL+V}BPN9K&8D862mSzcZaXXh8$rK($U;Y|qh+s!iM0|O@F5Q zx-&z*7Er6zeC^rSGe4J2vL6ZjF4UFocjmGa-vHhZJn&E`6h5mcimy*VI*uc=5{Q;c zCesJ!7bf4eY;&)!8Ru34|H+PISIzH(JC3vZBv}aGMI!O(a=G|f;Abm6?j0S;%>H&3 zC4^tP(tW+aCjdg0ZQdCOC=-gJ+<)4t0uDd;z^PUp>&3slB!9@eTw{uuCAfIw>En?| zEZf$Kgz#A?6dto|^Iiow7>y+4WK!JFB5JGxd@2MCs%oUru0s46a

DB(4vML}#kF zoVzsybVehIbh`@@!cS^A(goB*KwMFjw%iZ`>5WBeG^TwlD##SoV)ux&{eMP~jNwHK zDbl-(-6YWV9$tE5(L$~Qv}Vm4A=4ShPa9QXHpom1ewLF6P@^kPv>VRx3r|-4JlB>QwG;S0OTn7p+jP z6kXuo3h+{;Qp&WuAR+wZIDeG{@Q;wL8D}ip9B^H?(2l9~q&F6Rb6vMkuh)ik%{aGm zIr2<#Id`_LRSDsf<%`*V6W+i6el%am`u-BP5bcmFWF0Q9?tN*Rj-%CT`3tQY*2sIN zqE%eiEmW)Je&9uD^zgc7%mQ!a3t3;s)4^cS^|Sq*c3jbZjZD9$Ykx)-uAFM`cZ*B2 zM>OBSX`Rz1)g5{{n9fux@H{nJa2Bflt0;)%7kdLLSgZB&-2df zn(^k!XR99?`_+7QQvUsm8^Zj;WH0dC<)5t%{HyhPEx))lcf56F3DJDng{fnn=N;EI zGXs7>}0x9 zEsgn8nh?!Zsg}la`D_w6vfe)H242^U*F3!Er>Ebk$#`Dubbpm4-pd7CT8J z?47`OblP-a&YrE+oHFojT{Gsl^8GCb9xkox`b01ox_PjFw7XqXe2CqpP*{9@E<4c+`~i4D z*NpO3+t^m%0W8~$0iOoGn24t)x-&y}$O*0R!*VHqa(_NMS+Cb?dEgmcGq(K{z_tUw z!m`Z_@Fl=V#8YP__@Y@V)za8}c5<#-Eq4M(R+f*y7S|m36_#xd0*?XrscLkrJ2TiV zC$?g%8V`P*$``V+dc76_exqxK*{t@P7WfsGZKi-nfQJKtKsXYKkEc2^9r0Ml?M*$9 zxM8@iTYtzGvZwNe#ZawQy#@Fu@LS-7t{L@a9;@krU(vXXxes^ QqyPW_07*qoM6N<$f|oC%?f?J) diff --git a/clients/ios/Resources/traverse_text_on.png b/clients/ios/Resources/traverse_text_on.png index 63834546ca0fefcb5088b2d0881f20fefcee5e39..0b33536125db632388a7d37611ff77476bd4b5f5 100644 GIT binary patch delta 823 zcmV-71IYaC3bY51Ns)0Mkw_?i0}e?pJMh7RJDgxrq$) zWFm5KmnACk<+6)o>nOzdn67MpacDMwEnZ05<_#2N1T|=z`5gOLodChZgUDt$tEQXZ?Sz zQd!~YK?jJE-~n(Cz+Fn&1sCsG>u~$L0K82}Xi_OTF|lvsMM<~};3=i{-#z}2N-2Ax ziP=nVSK~!VU;#V;aNpk*Otm>(R>M!gw#JK+zyla#7&06T3^)iO=M2hadSu7zhZ{}r zCWP>YBx(_xSG*_*w-|IUo%e}-xm~VGpf`|rIM{VvX-$Lzc))S( zQ-qM=qZXypnYN{+q+9FBYg&qbYPFiJTrS&BC{s(I z0C)%M^k^yS>pPQ~{`sp*&j~}}kgTW9Y$&DdEC5Z7ue&yK<-3;SKfM1KXvtl%Jx~YB ztv2!jQ&T^Dvomv@z~3+8<%?H?01yhFP6NQ!_ZkgrCP!Y8SdN#~c!L~y?Y^H#q+gCi z`ZsTwJ4eda_bmT^G~9S=#_L0BYgKF97=WzRs@BhV2B3fM#JX1qQWz?bD> z#?|5W4QVZ|&vPw!7vIoxgIQ1j&+~bCti$coRA}8S8$$rRR#c^0DlbnO9j29#STtS+ z@GK=KG;i}-^s6r=MO9TN7L&7Y3{BHQ2mr*Q@fv{fN@c}=l`qKe49?UNHXoigM$Y4G zF6mh=<~|visU>WCYK=wX-vB&HXXel5^467ql6Gwu#G>)90B+~If8uSn_kP$?PAvhQZ5{$aXcrhk1 zy0b}kzPr1+K0L$?n`N`%q5r8p%o`5J2(uXl;l~&VA$rAw1RmxQv#|Mcce7#ZILn(Wk5Nk5yW($lt zaCiokG5~;O*|+o}s|{lev{q0`B9a0^_y|IOV2nPilsv4I{I*iAc9-+9tnl?lZ98Mm z`>x~N>v?(RI$01xZu^UWj0!IH@AsMjKHm1!vqx@ZyQJ{-My*IGe~(hObF5Ix zIgXbKo`6vJXtkP3s_54!67N*X)tSXM)>0cOWnX)l{N8nw8*;9jW_eN^p26hg20Nb{ z-{Lyn=k-SIfyFl0WqiF+D^be6$mhm477BNPAQk*p=?^-XYc*ScQi|s)l0D5av`CbC`u#r(t=qx@jKQ7g=^Ulabs$?slvcxG#{P+FM?N0@wm0Wx|sz=83xyXlHWH{uivC0LfdZ@%7B0HBn;p7n}3N_lKY&6#HQ%G{h6 z1R;yNr%=cTQ&a1I+njTiIPz5vr3_vsH=&h$3%~*L_BI`!+G#j-T+SPX2QL zFag-MrJs26@e9N3UF|3((VRU$6AJ$Y3Sf7}%_-Zau`?F{eBV!Gp90u61>?@TQ23iE zW6l=G@!X_Nq9{tg2SecS3buvRa*|mGenWTGvj{R`_;h`QjB5>vc1`kmK zQ?l*htHwehckSMB=4RJJKWId-Z5sy0vy9fxTI(*ZB(}|RZIJ{t;2Q(($YrqN`e; zv5eNg3*oPSbUbT@Q25YVouE=hN5jy62|(gQ6p+^VqzwG7R7xJBm2&lTQJja8*3PUCnXtDMd%MYzKDW%=hvG`#5!dJ@Gfe^u~o$i(Hz+ZLy4Vrx%(NT{IO!8L^&Voe6^-9#=sAH==SCU zrQ}f|f)AGx9k}_>s%P8uc}Dqu&fWF7>=+nx(viL;@ckZI?OCObx(JXD%3GfKX*v72 zW7;Lg_=^D9$0(m<%*k->f>H)*Gg!90W+u;OwARo@K}iXzA_(E5Kj?;pkiU#EpKjZ_ z_h=kHv4mepy;0l5D1Vw*)}sKXwAP-{$^#+8_m)=`BqD@J%d+~$m_M~vCzX=N0sLDj dS9M%3{{ccPG$E4Fu~`5B002ovPDHLkV1jwobyxrZ diff --git a/clients/ios/Resources/traverse_text_on@2x.png b/clients/ios/Resources/traverse_text_on@2x.png index 3cb2321a43135bedbafb9de8feee76711b548a2f..05fa68225da4e8c1ebefc62f00e4721266bc9ce2 100644 GIT binary patch delta 1519 zcmVP=cas0TsCO9c-e?LiPc^*kpPi!dN_DMgBqrc`B3(=^SW zO|nTgo88T<2a}Sf+jNu8o5?2M5A11&_kM?O9>0AvZ=%%eb-2N_j6MK=X91i5a1=lq zKm>pWKv}=cjbfBXUqbtk0$@#(HM(gTVF0hKe+CpqO!$2IoKMr&!r?enRV(`SV6s6` zL{j9(MpVZGZ(7DMfOh~qt?Pl2Xe3z+hhjA$M8DH>5$%xeNZ?J&Xb12nfHzd37GtsY zm1rcnCWJWY#P~!`d91*Ho0bs-@CtzURaGmuC%czI!RRq(N+WXKt^;pc#!&zl6h*{4 zQim!GI<Urbw*Z`rMU(ktTi1ZYH4#a(qrjV%(GB1WMG<{noky1adhnE_x`?D` zI`Hd1Ouy6hK&hvzpQ}2xB+<-8rez!la48l|F7X)ofe6eS0D? zH9ZqO(sy_+8jG&VoR3<^<`w?ka47aS0BM20b7wLxYwSjUs@0l${rZj0cp|nkIQZ1G zn{(6Nqyd0w8A$-owu4FbTB?(=(H2azi@0KI`gSo#mv?KEmTHrk%uen-@Z z2B0J04|}pdPUJQXKtKq=o`wztfyaE^9#Jb1X!2DZMEe25P6x`KXlJ(DS=sG(M2!fz z^KWK|_5=-p4UbzJ?!%K?1b|YlR=MkSAw+Hv046Gb)zvw#3n6lY05DcAFE4ss2$35E zfIrHsC2mjBfgk|W}Yt?=1Q?k@n>W(yM|9@ax7)z%wM7ne)L z0o%5hJgJ6Aviky`&E#$X_-S$~&;4!Mml{1%aIsP;cb8TcM_sRmNU{e4pUvcE0bH1# z84t0wq5Y=eLu1)Y?sC0eXKO?I&UQ~pUaVAq%64IH@``KK5J~pXz-KeLGJwyEi-oTF zg_)}^)30d zr4Cg?!RU~4%hPre*j5ya3?5rs?HmTc@AFr@hFLz;7@uBLH9+zz3?T+0jUH zB^FH%$~sI!v{Q}-elycDP6K!kz@V;T2lBBe68Y2F?3M<`5z#? V%J2ZY(Ch#J002ovPDHLkV1h>4*Zlwh delta 2533 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