Commit ec7be9a

mo khan <mo@mokhan.ca>
2013-07-14 20:41:58
add progress message pods:
1 parent b0c7b44
Changed files (61)
cakeside-ios.xcworkspace
xcuserdata
Pods
BuildHeaders
Headers
MBProgressHUD
Pods.xcodeproj
TSMessages
cakeside-ios.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate
Binary file
Pods/BuildHeaders/MBProgressHUD/MBProgressHUD.h
@@ -0,0 +1,1 @@
+../../MBProgressHUD/MBProgressHUD.h
\ No newline at end of file
Pods/BuildHeaders/TSMessages/TSMessage.h
@@ -0,0 +1,1 @@
+../../TSMessages/Classes/TSMessage.h
\ No newline at end of file
Pods/BuildHeaders/TSMessages/TSMessageView.h
@@ -0,0 +1,1 @@
+../../TSMessages/Views/TSMessageView.h
\ No newline at end of file
Pods/BuildHeaders/TSMessages/UIColor+MLColorAdditions.h
@@ -0,0 +1,1 @@
+../../TSMessages/Classes/UIColorAdditions/UIColor+MLColorAdditions.h
\ No newline at end of file
Pods/Headers/MBProgressHUD/MBProgressHUD.h
@@ -0,0 +1,1 @@
+../../MBProgressHUD/MBProgressHUD.h
\ No newline at end of file
Pods/Headers/TSMessages/TSMessage.h
@@ -0,0 +1,1 @@
+../../TSMessages/Classes/TSMessage.h
\ No newline at end of file
Pods/Headers/TSMessages/TSMessageView.h
@@ -0,0 +1,1 @@
+../../TSMessages/Views/TSMessageView.h
\ No newline at end of file
Pods/Headers/TSMessages/UIColor+MLColorAdditions.h
@@ -0,0 +1,1 @@
+../../TSMessages/Classes/UIColorAdditions/UIColor+MLColorAdditions.h
\ No newline at end of file
Pods/MBProgressHUD/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2013 Matej Bukovinski
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
Pods/MBProgressHUD/MBProgressHUD.h
@@ -0,0 +1,484 @@
+//
+//  MBProgressHUD.h
+//  Version 0.7
+//  Created by Matej Bukovinski on 2.4.09.
+//
+
+// This code is distributed under the terms and conditions of the MIT license. 
+
+// Copyright (c) 2013 Matej Bukovinski
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+#import <CoreGraphics/CoreGraphics.h>
+
+@protocol MBProgressHUDDelegate;
+
+
+typedef enum {
+	/** Progress is shown using an UIActivityIndicatorView. This is the default. */
+	MBProgressHUDModeIndeterminate,
+	/** Progress is shown using a round, pie-chart like, progress view. */
+	MBProgressHUDModeDeterminate,
+	/** Progress is shown using a horizontal progress bar */
+	MBProgressHUDModeDeterminateHorizontalBar,
+	/** Progress is shown using a ring-shaped progress view. */
+	MBProgressHUDModeAnnularDeterminate,
+	/** Shows a custom view */
+	MBProgressHUDModeCustomView,
+	/** Shows only labels */
+	MBProgressHUDModeText
+} MBProgressHUDMode;
+
+typedef enum {
+	/** Opacity animation */
+	MBProgressHUDAnimationFade,
+	/** Opacity + scale animation */
+	MBProgressHUDAnimationZoom,
+	MBProgressHUDAnimationZoomOut = MBProgressHUDAnimationZoom,
+	MBProgressHUDAnimationZoomIn
+} MBProgressHUDAnimation;
+
+
+#ifndef MB_INSTANCETYPE
+#if __has_feature(objc_instancetype)
+	#define MB_INSTANCETYPE instancetype
+#else
+	#define MB_INSTANCETYPE id
+#endif
+#endif
+
+#ifndef MB_STRONG
+#if __has_feature(objc_arc)
+	#define MB_STRONG strong
+#else
+	#define MB_STRONG retain
+#endif
+#endif
+
+#ifndef MB_WEAK
+#if __has_feature(objc_arc_weak)
+	#define MB_WEAK weak
+#elif __has_feature(objc_arc)
+	#define MB_WEAK unsafe_unretained
+#else
+	#define MB_WEAK assign
+#endif
+#endif
+
+#if NS_BLOCKS_AVAILABLE
+typedef void (^MBProgressHUDCompletionBlock)();
+#endif
+
+
+/** 
+ * Displays a simple HUD window containing a progress indicator and two optional labels for short messages.
+ *
+ * This is a simple drop-in class for displaying a progress HUD view similar to Apple's private UIProgressHUD class.
+ * The MBProgressHUD window spans over the entire space given to it by the initWithFrame constructor and catches all
+ * user input on this region, thereby preventing the user operations on components below the view. The HUD itself is
+ * drawn centered as a rounded semi-transparent view which resizes depending on the user specified content.
+ *
+ * This view supports four modes of operation:
+ * - MBProgressHUDModeIndeterminate - shows a UIActivityIndicatorView
+ * - MBProgressHUDModeDeterminate - shows a custom round progress indicator
+ * - MBProgressHUDModeAnnularDeterminate - shows a custom annular progress indicator
+ * - MBProgressHUDModeCustomView - shows an arbitrary, user specified view (@see customView)
+ *
+ * All three modes can have optional labels assigned:
+ * - If the labelText property is set and non-empty then a label containing the provided content is placed below the
+ *   indicator view.
+ * - If also the detailsLabelText property is set then another label is placed below the first label.
+ */
+@interface MBProgressHUD : UIView
+
+/**
+ * Creates a new HUD, adds it to provided view and shows it. The counterpart to this method is hideHUDForView:animated:.
+ * 
+ * @param view The view that the HUD will be added to
+ * @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
+ * animations while appearing.
+ * @return A reference to the created HUD.
+ *
+ * @see hideHUDForView:animated:
+ * @see animationType
+ */
++ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
+
+/**
+ * Finds the top-most HUD subview and hides it. The counterpart to this method is showHUDAddedTo:animated:.
+ *
+ * @param view The view that is going to be searched for a HUD subview.
+ * @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
+ * animations while disappearing.
+ * @return YES if a HUD was found and removed, NO otherwise. 
+ *
+ * @see showHUDAddedTo:animated:
+ * @see animationType
+ */
++ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
+
+/**
+ * Finds all the HUD subviews and hides them. 
+ *
+ * @param view The view that is going to be searched for HUD subviews.
+ * @param animated If set to YES the HUDs will disappear using the current animationType. If set to NO the HUDs will not use
+ * animations while disappearing.
+ * @return the number of HUDs found and removed.
+ *
+ * @see hideHUDForView:animated:
+ * @see animationType
+ */
++ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated;
+
+/**
+ * Finds the top-most HUD subview and returns it. 
+ *
+ * @param view The view that is going to be searched.
+ * @return A reference to the last HUD subview discovered.
+ */
++ (MB_INSTANCETYPE)HUDForView:(UIView *)view;
+
+/**
+ * Finds all HUD subviews and returns them.
+ *
+ * @param view The view that is going to be searched.
+ * @return All found HUD views (array of MBProgressHUD objects).
+ */
++ (NSArray *)allHUDsForView:(UIView *)view;
+
+/**
+ * A convenience constructor that initializes the HUD with the window's bounds. Calls the designated constructor with
+ * window.bounds as the parameter.
+ *
+ * @param window The window instance that will provide the bounds for the HUD. Should be the same instance as
+ * the HUD's superview (i.e., the window that the HUD will be added to).
+ */
+- (id)initWithWindow:(UIWindow *)window;
+
+/**
+ * A convenience constructor that initializes the HUD with the view's bounds. Calls the designated constructor with
+ * view.bounds as the parameter
+ *
+ * @param view The view instance that will provide the bounds for the HUD. Should be the same instance as
+ * the HUD's superview (i.e., the view that the HUD will be added to).
+ */
+- (id)initWithView:(UIView *)view;
+
+/** 
+ * Display the HUD. You need to make sure that the main thread completes its run loop soon after this method call so
+ * the user interface can be updated. Call this method when your task is already set-up to be executed in a new thread
+ * (e.g., when using something like NSOperation or calling an asynchronous call like NSURLRequest).
+ *
+ * @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
+ * animations while appearing.
+ *
+ * @see animationType
+ */
+- (void)show:(BOOL)animated;
+
+/** 
+ * Hide the HUD. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
+ * hide the HUD when your task completes.
+ *
+ * @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
+ * animations while disappearing.
+ *
+ * @see animationType
+ */
+- (void)hide:(BOOL)animated;
+
+/** 
+ * Hide the HUD after a delay. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
+ * hide the HUD when your task completes.
+ *
+ * @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
+ * animations while disappearing.
+ * @param delay Delay in seconds until the HUD is hidden.
+ *
+ * @see animationType
+ */
+- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
+
+/** 
+ * Shows the HUD while a background task is executing in a new thread, then hides the HUD.
+ *
+ * This method also takes care of autorelease pools so your method does not have to be concerned with setting up a
+ * pool.
+ *
+ * @param method The method to be executed while the HUD is shown. This method will be executed in a new thread.
+ * @param target The object that the target method belongs to.
+ * @param object An optional object to be passed to the method.
+ * @param animated If set to YES the HUD will (dis)appear using the current animationType. If set to NO the HUD will not use
+ * animations while (dis)appearing.
+ */
+- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;
+
+#if NS_BLOCKS_AVAILABLE
+
+/**
+ * Shows the HUD while a block is executing on a background queue, then hides the HUD.
+ *
+ * @see showAnimated:whileExecutingBlock:onQueue:completionBlock:
+ */
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block;
+
+/**
+ * Shows the HUD while a block is executing on a background queue, then hides the HUD.
+ *
+ * @see showAnimated:whileExecutingBlock:onQueue:completionBlock:
+ */
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(MBProgressHUDCompletionBlock)completion;
+
+/**
+ * Shows the HUD while a block is executing on the specified dispatch queue, then hides the HUD.
+ *
+ * @see showAnimated:whileExecutingBlock:onQueue:completionBlock:
+ */
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue;
+
+/** 
+ * Shows the HUD while a block is executing on the specified dispatch queue, executes completion block on the main queue, and then hides the HUD.
+ *
+ * @param animated If set to YES the HUD will (dis)appear using the current animationType. If set to NO the HUD will
+ * not use animations while (dis)appearing.
+ * @param block The block to be executed while the HUD is shown.
+ * @param queue The dispatch queue on which the block should be executed.
+ * @param completion The block to be executed on completion.
+ *
+ * @see completionBlock
+ */
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
+		  completionBlock:(MBProgressHUDCompletionBlock)completion;
+
+/**
+ * A block that gets called after the HUD was completely hidden.
+ */
+@property (copy) MBProgressHUDCompletionBlock completionBlock;
+
+#endif
+
+/** 
+ * MBProgressHUD operation mode. The default is MBProgressHUDModeIndeterminate.
+ *
+ * @see MBProgressHUDMode
+ */
+@property (assign) MBProgressHUDMode mode;
+
+/**
+ * The animation type that should be used when the HUD is shown and hidden. 
+ *
+ * @see MBProgressHUDAnimation
+ */
+@property (assign) MBProgressHUDAnimation animationType;
+
+/**
+ * The UIView (e.g., a UIImageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
+ * For best results use a 37 by 37 pixel view (so the bounds match the built in indicator bounds). 
+ */
+@property (MB_STRONG) UIView *customView;
+
+/** 
+ * The HUD delegate object. 
+ *
+ * @see MBProgressHUDDelegate
+ */
+@property (MB_WEAK) id<MBProgressHUDDelegate> delegate;
+
+/** 
+ * An optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
+ * the entire text. If the text is too long it will get clipped by displaying "..." at the end. If left unchanged or
+ * set to @"", then no message is displayed.
+ */
+@property (copy) NSString *labelText;
+
+/** 
+ * An optional details message displayed below the labelText message. This message is displayed only if the labelText
+ * property is also set and is different from an empty string (@""). The details text can span multiple lines. 
+ */
+@property (copy) NSString *detailsLabelText;
+
+/** 
+ * The opacity of the HUD window. Defaults to 0.8 (80% opacity). 
+ */
+@property (assign) float opacity;
+
+/**
+ * The color of the HUD window. Defaults to black. If this property is set, color is set using
+ * this UIColor and the opacity property is not used.  using retain because performing copy on
+ * UIColor base colors (like [UIColor greenColor]) cause problems with the copyZone.
+ */
+@property (MB_STRONG) UIColor *color;
+
+/** 
+ * The x-axis offset of the HUD relative to the centre of the superview. 
+ */
+@property (assign) float xOffset;
+
+/** 
+ * The y-axis offset of the HUD relative to the centre of the superview. 
+ */
+@property (assign) float yOffset;
+
+/**
+ * The amount of space between the HUD edge and the HUD elements (labels, indicators or custom views). 
+ * Defaults to 20.0
+ */
+@property (assign) float margin;
+
+/** 
+ * Cover the HUD background view with a radial gradient. 
+ */
+@property (assign) BOOL dimBackground;
+
+/*
+ * Grace period is the time (in seconds) that the invoked method may be run without 
+ * showing the HUD. If the task finishes before the grace time runs out, the HUD will
+ * not be shown at all. 
+ * This may be used to prevent HUD display for very short tasks.
+ * Defaults to 0 (no grace time).
+ * Grace time functionality is only supported when the task status is known!
+ * @see taskInProgress
+ */
+@property (assign) float graceTime;
+
+/**
+ * The minimum time (in seconds) that the HUD is shown. 
+ * This avoids the problem of the HUD being shown and than instantly hidden.
+ * Defaults to 0 (no minimum show time).
+ */
+@property (assign) float minShowTime;
+
+/**
+ * Indicates that the executed operation is in progress. Needed for correct graceTime operation.
+ * If you don't set a graceTime (different than 0.0) this does nothing.
+ * This property is automatically set when using showWhileExecuting:onTarget:withObject:animated:.
+ * When threading is done outside of the HUD (i.e., when the show: and hide: methods are used directly),
+ * you need to set this property when your task starts and completes in order to have normal graceTime 
+ * functionality.
+ */
+@property (assign) BOOL taskInProgress;
+
+/**
+ * Removes the HUD from its parent view when hidden. 
+ * Defaults to NO. 
+ */
+@property (assign) BOOL removeFromSuperViewOnHide;
+
+/** 
+ * Font to be used for the main label. Set this property if the default is not adequate. 
+ */
+@property (MB_STRONG) UIFont* labelFont;
+
+/** 
+ * Font to be used for the details label. Set this property if the default is not adequate. 
+ */
+@property (MB_STRONG) UIFont* detailsLabelFont;
+
+/** 
+ * The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0. 
+ */
+@property (assign) float progress;
+
+/**
+ * The minimum size of the HUD bezel. Defaults to CGSizeZero (no minimum size).
+ */
+@property (assign) CGSize minSize;
+
+/**
+ * Force the HUD dimensions to be equal if possible. 
+ */
+@property (assign, getter = isSquare) BOOL square;
+
+@end
+
+
+@protocol MBProgressHUDDelegate <NSObject>
+
+@optional
+
+/** 
+ * Called after the HUD was fully hidden from the screen. 
+ */
+- (void)hudWasHidden:(MBProgressHUD *)hud;
+
+@end
+
+
+/**
+ * A progress view for showing definite progress by filling up a circle (pie chart).
+ */
+@interface MBRoundProgressView : UIView 
+
+/**
+ * Progress (0.0 to 1.0)
+ */
+@property (nonatomic, assign) float progress;
+
+/**
+ * Indicator progress color.
+ * Defaults to white [UIColor whiteColor]
+ */
+@property (nonatomic, MB_STRONG) UIColor *progressTintColor;
+
+/**
+ * Indicator background (non-progress) color.
+ * Defaults to translucent white (alpha 0.1)
+ */
+@property (nonatomic, MB_STRONG) UIColor *backgroundTintColor;
+
+/*
+ * Display mode - NO = round or YES = annular. Defaults to round.
+ */
+@property (nonatomic, assign, getter = isAnnular) BOOL annular;
+
+@end
+
+
+/**
+ * A flat bar progress view. 
+ */
+@interface MBBarProgressView : UIView
+
+/**
+ * Progress (0.0 to 1.0)
+ */
+@property (nonatomic, assign) float progress;
+
+/**
+ * Bar border line color.
+ * Defaults to white [UIColor whiteColor].
+ */
+@property (nonatomic, MB_STRONG) UIColor *lineColor;
+
+/**
+ * Bar background color.
+ * Defaults to clear [UIColor clearColor];
+ */
+@property (nonatomic, MB_STRONG) UIColor *progressRemainingColor;
+
+/**
+ * Bar progress color.
+ * Defaults to white [UIColor whiteColor].
+ */
+@property (nonatomic, MB_STRONG) UIColor *progressColor;
+
+@end
Pods/MBProgressHUD/MBProgressHUD.m
@@ -0,0 +1,994 @@
+//
+// MBProgressHUD.m
+// Version 0.7
+// Created by Matej Bukovinski on 2.4.09.
+//
+
+#import "MBProgressHUD.h"
+
+
+#if __has_feature(objc_arc)
+	#define MB_AUTORELEASE(exp) exp
+	#define MB_RELEASE(exp) exp
+	#define MB_RETAIN(exp) exp
+#else
+	#define MB_AUTORELEASE(exp) [exp autorelease]
+	#define MB_RELEASE(exp) [exp release]
+	#define MB_RETAIN(exp) [exp retain]
+#endif
+
+#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
+    #define MBLabelAlignmentCenter NSTextAlignmentCenter
+#else
+    #define MBLabelAlignmentCenter UITextAlignmentCenter
+#endif
+
+
+static const CGFloat kPadding = 4.f;
+static const CGFloat kLabelFontSize = 16.f;
+static const CGFloat kDetailsLabelFontSize = 12.f;
+
+
+@interface MBProgressHUD ()
+
+- (void)setupLabels;
+- (void)registerForKVO;
+- (void)unregisterFromKVO;
+- (NSArray *)observableKeypaths;
+- (void)registerForNotifications;
+- (void)unregisterFromNotifications;
+- (void)updateUIForKeypath:(NSString *)keyPath;
+- (void)hideUsingAnimation:(BOOL)animated;
+- (void)showUsingAnimation:(BOOL)animated;
+- (void)done;
+- (void)updateIndicators;
+- (void)handleGraceTimer:(NSTimer *)theTimer;
+- (void)handleMinShowTimer:(NSTimer *)theTimer;
+- (void)setTransformForCurrentOrientation:(BOOL)animated;
+- (void)cleanUp;
+- (void)launchExecution;
+- (void)deviceOrientationDidChange:(NSNotification *)notification;
+- (void)hideDelayed:(NSNumber *)animated;
+
+@property (atomic, MB_STRONG) UIView *indicator;
+@property (atomic, MB_STRONG) NSTimer *graceTimer;
+@property (atomic, MB_STRONG) NSTimer *minShowTimer;
+@property (atomic, MB_STRONG) NSDate *showStarted;
+@property (atomic, assign) CGSize size;
+
+@end
+
+
+@implementation MBProgressHUD {
+	BOOL useAnimation;
+	SEL methodForExecution;
+	id targetForExecution;
+	id objectForExecution;
+	UILabel *label;
+	UILabel *detailsLabel;
+	BOOL isFinished;
+	CGAffineTransform rotationTransform;
+}
+
+#pragma mark - Properties
+
+@synthesize animationType;
+@synthesize delegate;
+@synthesize opacity;
+@synthesize color;
+@synthesize labelFont;
+@synthesize detailsLabelFont;
+@synthesize indicator;
+@synthesize xOffset;
+@synthesize yOffset;
+@synthesize minSize;
+@synthesize square;
+@synthesize margin;
+@synthesize dimBackground;
+@synthesize graceTime;
+@synthesize minShowTime;
+@synthesize graceTimer;
+@synthesize minShowTimer;
+@synthesize taskInProgress;
+@synthesize removeFromSuperViewOnHide;
+@synthesize customView;
+@synthesize showStarted;
+@synthesize mode;
+@synthesize labelText;
+@synthesize detailsLabelText;
+@synthesize progress;
+@synthesize size;
+#if NS_BLOCKS_AVAILABLE
+@synthesize completionBlock;
+#endif
+
+#pragma mark - Class methods
+
++ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated {
+	MBProgressHUD *hud = [[self alloc] initWithView:view];
+	[view addSubview:hud];
+	[hud show:animated];
+	return MB_AUTORELEASE(hud);
+}
+
++ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated {
+	MBProgressHUD *hud = [self HUDForView:view];
+	if (hud != nil) {
+		hud.removeFromSuperViewOnHide = YES;
+		[hud hide:animated];
+		return YES;
+	}
+	return NO;
+}
+
++ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated {
+	NSArray *huds = [MBProgressHUD allHUDsForView:view];
+	for (MBProgressHUD *hud in huds) {
+		hud.removeFromSuperViewOnHide = YES;
+		[hud hide:animated];
+	}
+	return [huds count];
+}
+
++ (MB_INSTANCETYPE)HUDForView:(UIView *)view {
+	NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
+	for (UIView *subview in subviewsEnum) {
+		if ([subview isKindOfClass:self]) {
+			return (MBProgressHUD *)subview;
+		}
+	}
+	return nil;
+}
+
++ (NSArray *)allHUDsForView:(UIView *)view {
+	NSMutableArray *huds = [NSMutableArray array];
+	NSArray *subviews = view.subviews;
+	for (UIView *aView in subviews) {
+		if ([aView isKindOfClass:self]) {
+			[huds addObject:aView];
+		}
+	}
+	return [NSArray arrayWithArray:huds];
+}
+
+#pragma mark - Lifecycle
+
+- (id)initWithFrame:(CGRect)frame {
+	self = [super initWithFrame:frame];
+	if (self) {
+		// Set default values for properties
+		self.animationType = MBProgressHUDAnimationFade;
+		self.mode = MBProgressHUDModeIndeterminate;
+		self.labelText = nil;
+		self.detailsLabelText = nil;
+		self.opacity = 0.8f;
+        self.color = nil;
+		self.labelFont = [UIFont boldSystemFontOfSize:kLabelFontSize];
+		self.detailsLabelFont = [UIFont boldSystemFontOfSize:kDetailsLabelFontSize];
+		self.xOffset = 0.0f;
+		self.yOffset = 0.0f;
+		self.dimBackground = NO;
+		self.margin = 20.0f;
+		self.graceTime = 0.0f;
+		self.minShowTime = 0.0f;
+		self.removeFromSuperViewOnHide = NO;
+		self.minSize = CGSizeZero;
+		self.square = NO;
+		self.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin 
+								| UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
+
+		// Transparent background
+		self.opaque = NO;
+		self.backgroundColor = [UIColor clearColor];
+		// Make it invisible for now
+		self.alpha = 0.0f;
+		
+		taskInProgress = NO;
+		rotationTransform = CGAffineTransformIdentity;
+		
+		[self setupLabels];
+		[self updateIndicators];
+		[self registerForKVO];
+		[self registerForNotifications];
+	}
+	return self;
+}
+
+- (id)initWithView:(UIView *)view {
+	NSAssert(view, @"View must not be nil.");
+	return [self initWithFrame:view.bounds];
+}
+
+- (id)initWithWindow:(UIWindow *)window {
+	return [self initWithView:window];
+}
+
+- (void)dealloc {
+	[self unregisterFromNotifications];
+	[self unregisterFromKVO];
+#if !__has_feature(objc_arc)
+	[color release];
+	[indicator release];
+	[label release];
+	[detailsLabel release];
+	[labelText release];
+	[detailsLabelText release];
+	[graceTimer release];
+	[minShowTimer release];
+	[showStarted release];
+	[customView release];
+#if NS_BLOCKS_AVAILABLE
+	[completionBlock release];
+#endif
+	[super dealloc];
+#endif
+}
+
+#pragma mark - Show & hide
+
+- (void)show:(BOOL)animated {
+	useAnimation = animated;
+	// If the grace time is set postpone the HUD display
+	if (self.graceTime > 0.0) {
+		self.graceTimer = [NSTimer scheduledTimerWithTimeInterval:self.graceTime target:self 
+						   selector:@selector(handleGraceTimer:) userInfo:nil repeats:NO];
+	} 
+	// ... otherwise show the HUD imediately 
+	else {
+		[self setNeedsDisplay];
+		[self showUsingAnimation:useAnimation];
+	}
+}
+
+- (void)hide:(BOOL)animated {
+	useAnimation = animated;
+	// If the minShow time is set, calculate how long the hud was shown,
+	// and pospone the hiding operation if necessary
+	if (self.minShowTime > 0.0 && showStarted) {
+		NSTimeInterval interv = [[NSDate date] timeIntervalSinceDate:showStarted];
+		if (interv < self.minShowTime) {
+			self.minShowTimer = [NSTimer scheduledTimerWithTimeInterval:(self.minShowTime - interv) target:self 
+								selector:@selector(handleMinShowTimer:) userInfo:nil repeats:NO];
+			return;
+		} 
+	}
+	// ... otherwise hide the HUD immediately
+	[self hideUsingAnimation:useAnimation];
+}
+
+- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay {
+	[self performSelector:@selector(hideDelayed:) withObject:[NSNumber numberWithBool:animated] afterDelay:delay];
+}
+
+- (void)hideDelayed:(NSNumber *)animated {
+	[self hide:[animated boolValue]];
+}
+
+#pragma mark - Timer callbacks
+
+- (void)handleGraceTimer:(NSTimer *)theTimer {
+	// Show the HUD only if the task is still running
+	if (taskInProgress) {
+		[self setNeedsDisplay];
+		[self showUsingAnimation:useAnimation];
+	}
+}
+
+- (void)handleMinShowTimer:(NSTimer *)theTimer {
+	[self hideUsingAnimation:useAnimation];
+}
+
+#pragma mark - View Hierrarchy
+
+- (void)didMoveToSuperview {
+	// We need to take care of rotation ourselfs if we're adding the HUD to a window
+	if ([self.superview isKindOfClass:[UIWindow class]]) {
+		[self setTransformForCurrentOrientation:NO];
+	}
+}
+
+#pragma mark - Internal show & hide operations
+
+- (void)showUsingAnimation:(BOOL)animated {
+	if (animated && animationType == MBProgressHUDAnimationZoomIn) {
+		self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(0.5f, 0.5f));
+	} else if (animated && animationType == MBProgressHUDAnimationZoomOut) {
+		self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(1.5f, 1.5f));
+	}
+	self.showStarted = [NSDate date];
+	// Fade in
+	if (animated) {
+		[UIView beginAnimations:nil context:NULL];
+		[UIView setAnimationDuration:0.30];
+		self.alpha = 1.0f;
+		if (animationType == MBProgressHUDAnimationZoomIn || animationType == MBProgressHUDAnimationZoomOut) {
+			self.transform = rotationTransform;
+		}
+		[UIView commitAnimations];
+	}
+	else {
+		self.alpha = 1.0f;
+	}
+}
+
+- (void)hideUsingAnimation:(BOOL)animated {
+	// Fade out
+	if (animated && showStarted) {
+		[UIView beginAnimations:nil context:NULL];
+		[UIView setAnimationDuration:0.30];
+		[UIView setAnimationDelegate:self];
+		[UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
+		// 0.02 prevents the hud from passing through touches during the animation the hud will get completely hidden
+		// in the done method
+		if (animationType == MBProgressHUDAnimationZoomIn) {
+			self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(1.5f, 1.5f));
+		} else if (animationType == MBProgressHUDAnimationZoomOut) {
+			self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(0.5f, 0.5f));
+		}
+
+		self.alpha = 0.02f;
+		[UIView commitAnimations];
+	}
+	else {
+		self.alpha = 0.0f;
+		[self done];
+	}
+	self.showStarted = nil;
+}
+
+- (void)animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void*)context {
+	[self done];
+}
+
+- (void)done {
+	isFinished = YES;
+	self.alpha = 0.0f;
+	if ([delegate respondsToSelector:@selector(hudWasHidden:)]) {
+		[delegate performSelector:@selector(hudWasHidden:) withObject:self];
+	}
+#if NS_BLOCKS_AVAILABLE
+	if (self.completionBlock) {
+		self.completionBlock();
+		self.completionBlock = NULL;
+	}
+#endif
+	if (removeFromSuperViewOnHide) {
+		[self removeFromSuperview];
+	}
+}
+
+#pragma mark - Threading
+
+- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated {
+	methodForExecution = method;
+	targetForExecution = MB_RETAIN(target);
+	objectForExecution = MB_RETAIN(object);	
+	// Launch execution in new thread
+	self.taskInProgress = YES;
+	[NSThread detachNewThreadSelector:@selector(launchExecution) toTarget:self withObject:nil];
+	// Show HUD view
+	[self show:animated];
+}
+
+#if NS_BLOCKS_AVAILABLE
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block {
+	dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+	[self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:NULL];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(void (^)())completion {
+	dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+	[self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:completion];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue {
+	[self showAnimated:animated whileExecutingBlock:block onQueue:queue	completionBlock:NULL];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
+	 completionBlock:(MBProgressHUDCompletionBlock)completion {
+	self.taskInProgress = YES;
+	self.completionBlock = completion;
+	dispatch_async(queue, ^(void) {
+        block();
+        dispatch_async(dispatch_get_main_queue(), ^(void) {
+            [self cleanUp];
+        });
+    });
+  [self show:animated];
+}
+
+#endif
+
+- (void)launchExecution {
+	@autoreleasepool {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
+		// Start executing the requested task
+		[targetForExecution performSelector:methodForExecution withObject:objectForExecution];
+#pragma clang diagnostic pop
+		// Task completed, update view in main thread (note: view operations should
+		// be done only in the main thread)
+		[self performSelectorOnMainThread:@selector(cleanUp) withObject:nil waitUntilDone:NO];
+	}
+}
+
+- (void)cleanUp {
+	taskInProgress = NO;
+	self.indicator = nil;
+#if !__has_feature(objc_arc)
+	[targetForExecution release];
+	[objectForExecution release];
+#else
+	targetForExecution = nil;
+	objectForExecution = nil;
+#endif
+	[self hide:useAnimation];
+}
+
+#pragma mark - UI
+
+- (void)setupLabels {
+	label = [[UILabel alloc] initWithFrame:self.bounds];
+	label.adjustsFontSizeToFitWidth = NO;
+	label.textAlignment = MBLabelAlignmentCenter;
+	label.opaque = NO;
+	label.backgroundColor = [UIColor clearColor];
+	label.textColor = [UIColor whiteColor];
+	label.font = self.labelFont;
+	label.text = self.labelText;
+	[self addSubview:label];
+	
+	detailsLabel = [[UILabel alloc] initWithFrame:self.bounds];
+	detailsLabel.font = self.detailsLabelFont;
+	detailsLabel.adjustsFontSizeToFitWidth = NO;
+	detailsLabel.textAlignment = MBLabelAlignmentCenter;
+	detailsLabel.opaque = NO;
+	detailsLabel.backgroundColor = [UIColor clearColor];
+	detailsLabel.textColor = [UIColor whiteColor];
+	detailsLabel.numberOfLines = 0;
+	detailsLabel.font = self.detailsLabelFont;
+	detailsLabel.text = self.detailsLabelText;
+	[self addSubview:detailsLabel];
+}
+
+- (void)updateIndicators {
+	
+	BOOL isActivityIndicator = [indicator isKindOfClass:[UIActivityIndicatorView class]];
+	BOOL isRoundIndicator = [indicator isKindOfClass:[MBRoundProgressView class]];
+	
+	if (mode == MBProgressHUDModeIndeterminate &&  !isActivityIndicator) {
+		// Update to indeterminate indicator
+		[indicator removeFromSuperview];
+		self.indicator = MB_AUTORELEASE([[UIActivityIndicatorView alloc]
+										 initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]);
+		[(UIActivityIndicatorView *)indicator startAnimating];
+		[self addSubview:indicator];
+	}
+	else if (mode == MBProgressHUDModeDeterminateHorizontalBar) {
+		// Update to bar determinate indicator
+		[indicator removeFromSuperview];
+        self.indicator = MB_AUTORELEASE([[MBBarProgressView alloc] init]);
+		[self addSubview:indicator];
+	}
+	else if (mode == MBProgressHUDModeDeterminate || mode == MBProgressHUDModeAnnularDeterminate) {
+		if (!isRoundIndicator) {
+			// Update to determinante indicator
+			[indicator removeFromSuperview];
+			self.indicator = MB_AUTORELEASE([[MBRoundProgressView alloc] init]);
+			[self addSubview:indicator];
+		}
+		if (mode == MBProgressHUDModeAnnularDeterminate) {
+			[(MBRoundProgressView *)indicator setAnnular:YES];
+		}
+	} 
+	else if (mode == MBProgressHUDModeCustomView && customView != indicator) {
+		// Update custom view indicator
+		[indicator removeFromSuperview];
+		self.indicator = customView;
+		[self addSubview:indicator];
+	} else if (mode == MBProgressHUDModeText) {
+		[indicator removeFromSuperview];
+		self.indicator = nil;
+	}
+}
+
+#pragma mark - Layout
+
+- (void)layoutSubviews {
+	
+	// Entirely cover the parent view
+	UIView *parent = self.superview;
+	if (parent) {
+		self.frame = parent.bounds;
+	}
+	CGRect bounds = self.bounds;
+	
+	// Determine the total widt and height needed
+	CGFloat maxWidth = bounds.size.width - 4 * margin;
+	CGSize totalSize = CGSizeZero;
+	
+	CGRect indicatorF = indicator.bounds;
+	indicatorF.size.width = MIN(indicatorF.size.width, maxWidth);
+	totalSize.width = MAX(totalSize.width, indicatorF.size.width);
+	totalSize.height += indicatorF.size.height;
+	
+	CGSize labelSize = [label.text sizeWithFont:label.font];
+	labelSize.width = MIN(labelSize.width, maxWidth);
+	totalSize.width = MAX(totalSize.width, labelSize.width);
+	totalSize.height += labelSize.height;
+	if (labelSize.height > 0.f && indicatorF.size.height > 0.f) {
+		totalSize.height += kPadding;
+	}
+
+	CGFloat remainingHeight = bounds.size.height - totalSize.height - kPadding - 4 * margin; 
+	CGSize maxSize = CGSizeMake(maxWidth, remainingHeight);
+	CGSize detailsLabelSize = [detailsLabel.text sizeWithFont:detailsLabel.font 
+								constrainedToSize:maxSize lineBreakMode:detailsLabel.lineBreakMode];
+	totalSize.width = MAX(totalSize.width, detailsLabelSize.width);
+	totalSize.height += detailsLabelSize.height;
+	if (detailsLabelSize.height > 0.f && (indicatorF.size.height > 0.f || labelSize.height > 0.f)) {
+		totalSize.height += kPadding;
+	}
+	
+	totalSize.width += 2 * margin;
+	totalSize.height += 2 * margin;
+	
+	// Position elements
+	CGFloat yPos = roundf(((bounds.size.height - totalSize.height) / 2)) + margin + yOffset;
+	CGFloat xPos = xOffset;
+	indicatorF.origin.y = yPos;
+	indicatorF.origin.x = roundf((bounds.size.width - indicatorF.size.width) / 2) + xPos;
+	indicator.frame = indicatorF;
+	yPos += indicatorF.size.height;
+	
+	if (labelSize.height > 0.f && indicatorF.size.height > 0.f) {
+		yPos += kPadding;
+	}
+	CGRect labelF;
+	labelF.origin.y = yPos;
+	labelF.origin.x = roundf((bounds.size.width - labelSize.width) / 2) + xPos;
+	labelF.size = labelSize;
+	label.frame = labelF;
+	yPos += labelF.size.height;
+	
+	if (detailsLabelSize.height > 0.f && (indicatorF.size.height > 0.f || labelSize.height > 0.f)) {
+		yPos += kPadding;
+	}
+	CGRect detailsLabelF;
+	detailsLabelF.origin.y = yPos;
+	detailsLabelF.origin.x = roundf((bounds.size.width - detailsLabelSize.width) / 2) + xPos;
+	detailsLabelF.size = detailsLabelSize;
+	detailsLabel.frame = detailsLabelF;
+	
+	// Enforce minsize and quare rules
+	if (square) {
+		CGFloat max = MAX(totalSize.width, totalSize.height);
+		if (max <= bounds.size.width - 2 * margin) {
+			totalSize.width = max;
+		}
+		if (max <= bounds.size.height - 2 * margin) {
+			totalSize.height = max;
+		}
+	}
+	if (totalSize.width < minSize.width) {
+		totalSize.width = minSize.width;
+	} 
+	if (totalSize.height < minSize.height) {
+		totalSize.height = minSize.height;
+	}
+	
+	self.size = totalSize;
+}
+
+#pragma mark BG Drawing
+
+- (void)drawRect:(CGRect)rect {
+	
+	CGContextRef context = UIGraphicsGetCurrentContext();
+	UIGraphicsPushContext(context);
+
+	if (self.dimBackground) {
+		//Gradient colours
+		size_t gradLocationsNum = 2;
+		CGFloat gradLocations[2] = {0.0f, 1.0f};
+		CGFloat gradColors[8] = {0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.75f}; 
+		CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
+		CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, gradColors, gradLocations, gradLocationsNum);
+		CGColorSpaceRelease(colorSpace);
+		//Gradient center
+		CGPoint gradCenter= CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
+		//Gradient radius
+		float gradRadius = MIN(self.bounds.size.width , self.bounds.size.height) ;
+		//Gradient draw
+		CGContextDrawRadialGradient (context, gradient, gradCenter,
+									 0, gradCenter, gradRadius,
+									 kCGGradientDrawsAfterEndLocation);
+		CGGradientRelease(gradient);
+	}
+
+    // Set background rect color
+    if (self.color) {
+        CGContextSetFillColorWithColor(context, self.color.CGColor);
+    } else {
+        CGContextSetGrayFillColor(context, 0.0f, self.opacity);
+    }
+
+	
+	// Center HUD
+	CGRect allRect = self.bounds;
+	// Draw rounded HUD backgroud rect
+	CGRect boxRect = CGRectMake(roundf((allRect.size.width - size.width) / 2) + self.xOffset,
+								roundf((allRect.size.height - size.height) / 2) + self.yOffset, size.width, size.height);
+	float radius = 10.0f;
+	CGContextBeginPath(context);
+	CGContextMoveToPoint(context, CGRectGetMinX(boxRect) + radius, CGRectGetMinY(boxRect));
+	CGContextAddArc(context, CGRectGetMaxX(boxRect) - radius, CGRectGetMinY(boxRect) + radius, radius, 3 * (float)M_PI / 2, 0, 0);
+	CGContextAddArc(context, CGRectGetMaxX(boxRect) - radius, CGRectGetMaxY(boxRect) - radius, radius, 0, (float)M_PI / 2, 0);
+	CGContextAddArc(context, CGRectGetMinX(boxRect) + radius, CGRectGetMaxY(boxRect) - radius, radius, (float)M_PI / 2, (float)M_PI, 0);
+	CGContextAddArc(context, CGRectGetMinX(boxRect) + radius, CGRectGetMinY(boxRect) + radius, radius, (float)M_PI, 3 * (float)M_PI / 2, 0);
+	CGContextClosePath(context);
+	CGContextFillPath(context);
+
+	UIGraphicsPopContext();
+}
+
+#pragma mark - KVO
+
+- (void)registerForKVO {
+	for (NSString *keyPath in [self observableKeypaths]) {
+		[self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:NULL];
+	}
+}
+
+- (void)unregisterFromKVO {
+	for (NSString *keyPath in [self observableKeypaths]) {
+		[self removeObserver:self forKeyPath:keyPath];
+	}
+}
+
+- (NSArray *)observableKeypaths {
+	return [NSArray arrayWithObjects:@"mode", @"customView", @"labelText", @"labelFont", 
+			@"detailsLabelText", @"detailsLabelFont", @"progress", nil];
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
+	if (![NSThread isMainThread]) {
+		[self performSelectorOnMainThread:@selector(updateUIForKeypath:) withObject:keyPath waitUntilDone:NO];
+	} else {
+		[self updateUIForKeypath:keyPath];
+	}
+}
+
+- (void)updateUIForKeypath:(NSString *)keyPath {
+	if ([keyPath isEqualToString:@"mode"] || [keyPath isEqualToString:@"customView"]) {
+		[self updateIndicators];
+	} else if ([keyPath isEqualToString:@"labelText"]) {
+		label.text = self.labelText;
+	} else if ([keyPath isEqualToString:@"labelFont"]) {
+		label.font = self.labelFont;
+	} else if ([keyPath isEqualToString:@"detailsLabelText"]) {
+		detailsLabel.text = self.detailsLabelText;
+	} else if ([keyPath isEqualToString:@"detailsLabelFont"]) {
+		detailsLabel.font = self.detailsLabelFont;
+	} else if ([keyPath isEqualToString:@"progress"]) {
+		if ([indicator respondsToSelector:@selector(setProgress:)]) {
+			[(id)indicator setProgress:progress];
+		}
+		return;
+	}
+	[self setNeedsLayout];
+	[self setNeedsDisplay];
+}
+
+#pragma mark - Notifications
+
+- (void)registerForNotifications {
+	NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
+	[nc addObserver:self selector:@selector(deviceOrientationDidChange:) 
+			   name:UIDeviceOrientationDidChangeNotification object:nil];
+}
+
+- (void)unregisterFromNotifications {
+	[[NSNotificationCenter defaultCenter] removeObserver:self];
+}
+
+- (void)deviceOrientationDidChange:(NSNotification *)notification { 
+	UIView *superview = self.superview;
+	if (!superview) {
+		return;
+	} else if ([superview isKindOfClass:[UIWindow class]]) {
+		[self setTransformForCurrentOrientation:YES];
+	} else {
+		self.bounds = self.superview.bounds;
+		[self setNeedsDisplay];
+	}
+}
+
+- (void)setTransformForCurrentOrientation:(BOOL)animated {	
+	// Stay in sync with the superview
+	if (self.superview) {
+		self.bounds = self.superview.bounds;
+		[self setNeedsDisplay];
+	}
+	
+	UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
+	CGFloat radians = 0;
+	if (UIInterfaceOrientationIsLandscape(orientation)) {
+		if (orientation == UIInterfaceOrientationLandscapeLeft) { radians = -(CGFloat)M_PI_2; } 
+		else { radians = (CGFloat)M_PI_2; }
+		// Window coordinates differ!
+		self.bounds = CGRectMake(0, 0, self.bounds.size.height, self.bounds.size.width);
+	} else {
+		if (orientation == UIInterfaceOrientationPortraitUpsideDown) { radians = (CGFloat)M_PI; } 
+		else { radians = 0; }
+	}
+	rotationTransform = CGAffineTransformMakeRotation(radians);
+	
+	if (animated) {
+		[UIView beginAnimations:nil context:nil];
+	}
+	[self setTransform:rotationTransform];
+	if (animated) {
+		[UIView commitAnimations];
+	}
+}
+
+@end
+
+
+@implementation MBRoundProgressView
+
+#pragma mark - Lifecycle
+
+- (id)init {
+	return [self initWithFrame:CGRectMake(0.f, 0.f, 37.f, 37.f)];
+}
+
+- (id)initWithFrame:(CGRect)frame {
+	self = [super initWithFrame:frame];
+	if (self) {
+		self.backgroundColor = [UIColor clearColor];
+		self.opaque = NO;
+		_progress = 0.f;
+		_annular = NO;
+		_progressTintColor = [[UIColor alloc] initWithWhite:1.f alpha:1.f];
+		_backgroundTintColor = [[UIColor alloc] initWithWhite:1.f alpha:.1f];
+		[self registerForKVO];
+	}
+	return self;
+}
+
+- (void)dealloc {
+	[self unregisterFromKVO];
+#if !__has_feature(objc_arc)
+	[_progressTintColor release];
+	[_backgroundTintColor release];
+	[super dealloc];
+#endif
+}
+
+#pragma mark - Drawing
+
+- (void)drawRect:(CGRect)rect {
+	
+	CGRect allRect = self.bounds;
+	CGRect circleRect = CGRectInset(allRect, 2.0f, 2.0f);
+	CGContextRef context = UIGraphicsGetCurrentContext();
+	
+	if (_annular) {
+		// Draw background
+		CGFloat lineWidth = 5.f;
+		UIBezierPath *processBackgroundPath = [UIBezierPath bezierPath];
+		processBackgroundPath.lineWidth = lineWidth;
+		processBackgroundPath.lineCapStyle = kCGLineCapRound;
+		CGPoint center = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
+		CGFloat radius = (self.bounds.size.width - lineWidth)/2;
+		CGFloat startAngle = - ((float)M_PI / 2); // 90 degrees
+		CGFloat endAngle = (2 * (float)M_PI) + startAngle;
+		[processBackgroundPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
+		[_backgroundTintColor set];
+		[processBackgroundPath stroke];
+		// Draw progress
+		UIBezierPath *processPath = [UIBezierPath bezierPath];
+		processPath.lineCapStyle = kCGLineCapRound;
+		processPath.lineWidth = lineWidth;
+		endAngle = (self.progress * 2 * (float)M_PI) + startAngle;
+		[processPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
+		[_progressTintColor set];
+		[processPath stroke];
+	} else {
+		// Draw background
+		[_progressTintColor setStroke];
+		[_backgroundTintColor setFill];
+		CGContextSetLineWidth(context, 2.0f);
+		CGContextFillEllipseInRect(context, circleRect);
+		CGContextStrokeEllipseInRect(context, circleRect);
+		// Draw progress
+		CGPoint center = CGPointMake(allRect.size.width / 2, allRect.size.height / 2);
+		CGFloat radius = (allRect.size.width - 4) / 2;
+		CGFloat startAngle = - ((float)M_PI / 2); // 90 degrees
+		CGFloat endAngle = (self.progress * 2 * (float)M_PI) + startAngle;
+		CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); // white
+		CGContextMoveToPoint(context, center.x, center.y);
+		CGContextAddArc(context, center.x, center.y, radius, startAngle, endAngle, 0);
+		CGContextClosePath(context);
+		CGContextFillPath(context);
+	}
+}
+
+#pragma mark - KVO
+
+- (void)registerForKVO {
+	for (NSString *keyPath in [self observableKeypaths]) {
+		[self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:NULL];
+	}
+}
+
+- (void)unregisterFromKVO {
+	for (NSString *keyPath in [self observableKeypaths]) {
+		[self removeObserver:self forKeyPath:keyPath];
+	}
+}
+
+- (NSArray *)observableKeypaths {
+	return [NSArray arrayWithObjects:@"progressTintColor", @"backgroundTintColor", @"progress", @"annular", nil];
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
+	[self setNeedsDisplay];
+}
+
+@end
+
+
+@implementation MBBarProgressView
+
+#pragma mark - Lifecycle
+
+- (id)init {
+	return [self initWithFrame:CGRectMake(.0f, .0f, 120.0f, 20.0f)];
+}
+
+- (id)initWithFrame:(CGRect)frame {
+    self = [super initWithFrame:frame];
+    if (self) {
+		_progress = 0.f;
+		_lineColor = [UIColor whiteColor];
+		_progressColor = [UIColor whiteColor];
+		_progressRemainingColor = [UIColor clearColor];
+		self.backgroundColor = [UIColor clearColor];
+		self.opaque = NO;
+		[self registerForKVO];
+    }
+    return self;
+}
+
+- (void)dealloc {
+	[self unregisterFromKVO];
+#if !__has_feature(objc_arc)
+	[_lineColor release];
+	[_progressColor release];
+	[_progressRemainingColor release];
+	[super dealloc];
+#endif
+}
+
+#pragma mark - Drawing
+
+- (void)drawRect:(CGRect)rect {
+	CGContextRef context = UIGraphicsGetCurrentContext();
+	
+	// setup properties
+	CGContextSetLineWidth(context, 2);
+	CGContextSetStrokeColorWithColor(context,[_lineColor CGColor]);
+	CGContextSetFillColorWithColor(context, [_progressRemainingColor CGColor]);
+	
+	// draw line border
+	float radius = (rect.size.height / 2) - 2;
+	CGContextMoveToPoint(context, 2, rect.size.height/2);
+	CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
+	CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
+	CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
+	CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
+	CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
+	CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
+	CGContextFillPath(context);
+	
+	// draw progress background
+	CGContextMoveToPoint(context, 2, rect.size.height/2);
+	CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
+	CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
+	CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
+	CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
+	CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
+	CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
+	CGContextStrokePath(context);
+	
+	// setup to draw progress color
+	CGContextSetFillColorWithColor(context, [_progressColor CGColor]);
+	radius = radius - 2;
+	float amount = self.progress * rect.size.width;
+	
+	// if progress is in the middle area
+	if (amount >= radius + 4 && amount <= (rect.size.width - radius - 4)) {
+		// top
+		CGContextMoveToPoint(context, 4, rect.size.height/2);
+		CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
+		CGContextAddLineToPoint(context, amount, 4);
+		CGContextAddLineToPoint(context, amount, radius + 4);
+		
+		// bottom
+		CGContextMoveToPoint(context, 4, rect.size.height/2);
+		CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
+		CGContextAddLineToPoint(context, amount, rect.size.height - 4);
+		CGContextAddLineToPoint(context, amount, radius + 4);
+		
+		CGContextFillPath(context);
+	}
+	
+	// progress is in the right arc
+	else if (amount > radius + 4) {
+		float x = amount - (rect.size.width - radius - 4);
+		
+		// top
+		CGContextMoveToPoint(context, 4, rect.size.height/2);
+		CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
+		CGContextAddLineToPoint(context, rect.size.width - radius - 4, 4);
+		float angle = -acos(x/radius);
+		if (isnan(angle)) angle = 0;
+		CGContextAddArc(context, rect.size.width - radius - 4, rect.size.height/2, radius, M_PI, angle, 0);
+		CGContextAddLineToPoint(context, amount, rect.size.height/2);
+		
+		// bottom
+		CGContextMoveToPoint(context, 4, rect.size.height/2);
+		CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
+		CGContextAddLineToPoint(context, rect.size.width - radius - 4, rect.size.height - 4);
+		angle = acos(x/radius);
+		if (isnan(angle)) angle = 0;
+		CGContextAddArc(context, rect.size.width - radius - 4, rect.size.height/2, radius, -M_PI, angle, 1);
+		CGContextAddLineToPoint(context, amount, rect.size.height/2);
+		
+		CGContextFillPath(context);
+	}
+	
+	// progress is in the left arc
+	else if (amount < radius + 4 && amount > 0) {
+		// top
+		CGContextMoveToPoint(context, 4, rect.size.height/2);
+		CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
+		CGContextAddLineToPoint(context, radius + 4, rect.size.height/2);
+		
+		// bottom
+		CGContextMoveToPoint(context, 4, rect.size.height/2);
+		CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
+		CGContextAddLineToPoint(context, radius + 4, rect.size.height/2);
+		
+		CGContextFillPath(context);
+	}
+}
+
+#pragma mark - KVO
+
+- (void)registerForKVO {
+	for (NSString *keyPath in [self observableKeypaths]) {
+		[self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:NULL];
+	}
+}
+
+- (void)unregisterFromKVO {
+	for (NSString *keyPath in [self observableKeypaths]) {
+		[self removeObserver:self forKeyPath:keyPath];
+	}
+}
+
+- (NSArray *)observableKeypaths {
+	return [NSArray arrayWithObjects:@"lineColor", @"progressRemainingColor", @"progressColor", @"progress", nil];
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
+	[self setNeedsDisplay];
+}
+
+@end
Pods/MBProgressHUD/README.mdown
@@ -0,0 +1,101 @@
+# MBProgressHUD [![Build Status](https://travis-ci.org/matej/MBProgressHUD.png)](https://travis-ci.org/matej/MBProgressHUD)
+
+MBProgressHUD is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. The HUD is meant as a replacement for the undocumented, private UIKit UIProgressHUD with some additional features. 
+
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/1-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/1.png)
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/2-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/2.png)
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/3-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/3.png)
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/4-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/4.png)
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/5-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/5.png)
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/6-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/6.png)
+[![](http://dl.dropbox.com/u/378729/MBProgressHUD/7-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/7.png)
+
+## Requirements
+
+MBProgressHUD works on any iOS version and is compatible with both ARC and non-ARC projects. It depends on the following Apple frameworks, which should already be included with most Xcode templates:
+
+* Foundation.framework
+* UIKit.framework
+* CoreGraphics.framework
+
+You will need LLVM 3.0 or later in order to build MBProgressHUD. 
+
+## Adding MBProgressHUD to your project
+
+### Cocoapods
+
+[CocoaPods](http://cocoapods.org) is the recommended way to add MBProgressHUD to your project.
+
+1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 0.6'`
+2. Install the pod(s) by running `pod install`.
+3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
+
+### Source files
+
+Alternatively you can directly add the `MBProgressHUD.h` and `MBProgressHUD.m` source files to your project.
+
+1. Download the [latest code version](https://github.com/matej/MBProgressHUD/archive/master.zip) or add the repository as a git submodule to your git-tracked project. 
+2. Open your project in Xcode, then drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` onto your project (use the "Product Navigator view"). Make sure to select Copy items when asked if you extracted the code archive outside of your project. 
+3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
+
+### Static library
+
+You can also add MBProgressHUD as a static library to your project or workspace. 
+
+1. Download the [latest code version](https://github.com/matej/MBProgressHUD/downloads) or add the repository as a git submodule to your git-tracked project. 
+2. Open your project in Xcode, then drag and drop `MBProgressHUD.xcodeproj` onto your project or workspace (use the "Product Navigator view"). 
+3. Select your target and go to the Build phases tab. In the Link Binary With Libraries section select the add button. On the sheet find and add `libMBProgressHUD.a`. You might also need to add `MBProgressHUD` to the Target Dependencies list. 
+4. Include MBProgressHUD wherever you need it with `#import <MBProgressHUD/MBProgressHUD.h>`.
+
+## Usage
+
+The main guideline you need to follow when dealing with MBProgressHUD while running long-running tasks is keeping the main thread work-free, so the UI can be updated promptly. The recommended way of using MBProgressHUD is therefore to set it up on the main thread and then spinning the task, that you want to perform, off onto a new thread. 
+
+```objective-c
+[MBProgressHUD showHUDAddedTo:self.view animated:YES];
+dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
+	// Do something...
+	dispatch_async(dispatch_get_main_queue(), ^{
+		[MBProgressHUD hideHUDForView:self.view animated:YES];
+	});
+});
+```
+
+If you need to configure the HUD you can do this by using the MBProgressHUD reference that showHUDAddedTo:animated: returns. 
+
+```objective-c
+MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+hud.mode = MBProgressHUDModeAnnularDeterminate;
+hud.labelText = @"Loading";
+[self doSomethingInBackgroundWithProgressCallback:^(float progress) {
+	hud.progress = progress;
+} completionCallback:^{
+	[hud hide:YES];
+}];
+```
+
+UI updates should always be done on the main thread. Some MBProgressHUD setters are however considered "thread safe" and can be called from background threads. Those also include `setMode:`, `setCustomView:`, `setLabelText:`, `setLabelFont:`, `setDetailsLabelText:`, `setDetailsLabelFont:` and `setProgress:`.
+
+If you need to run your long-running task in the main thread, you should perform it with a slight delay, so UIKit will have enough time to update the UI (i.e., draw the HUD) before you block the main thread with your task.
+
+```objective-c
+[MBProgressHUD showHUDAddedTo:self.view animated:YES];
+dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC);
+dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
+	// Do something...
+	[MBProgressHUD hideHUDForView:self.view animated:YES];
+});
+```
+
+You should be aware that any HUD updates issued inside the above block won't be displayed until the block completes.
+
+For more examples, including how to use MBProgressHUD with asynchronous operations such as NSURLConnection, take a look at the bundled demo project. Extensive API documentation is provided in the header file (MBProgressHUD.h).
+
+
+## License
+
+This code is distributed under the terms and conditions of the [MIT license](LICENSE). 
+
+## Change-log
+
+A brief summary of each MBProgressHUD release can be found on the [wiky](https://github.com/matej/MBProgressHUD/wiki/Change-log). 
Pods/Pods.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Pods-AFNetworking.xcscheme
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "8FDB4F0606BD4C1894958BA6"
+               BuildableName = "libPods-AFNetworking.a"
+               BlueprintName = "Pods-AFNetworking"
+               ReferencedContainer = "container:Pods.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
Pods/Pods.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Pods-MBProgressHUD.xcscheme
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "D17D17149A4645799E8FF3BE"
+               BuildableName = "libPods-MBProgressHUD.a"
+               BlueprintName = "Pods-MBProgressHUD"
+               ReferencedContainer = "container:Pods.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
Pods/Pods.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Pods-TSMessages.xcscheme
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "CDA32D12634F442C874A169F"
+               BuildableName = "libPods-TSMessages.a"
+               BlueprintName = "Pods-TSMessages"
+               ReferencedContainer = "container:Pods.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
Pods/Pods.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Pods.xcscheme
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "19415F9F5A084BB5B8E5F6E7"
+               BuildableName = "libPods.a"
+               BlueprintName = "Pods"
+               ReferencedContainer = "container:Pods.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
Pods/Pods.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>Pods-AFNetworking.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>1</integer>
+		</dict>
+		<key>Pods-MBProgressHUD.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>3</integer>
+		</dict>
+		<key>Pods-TSMessages.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>4</integer>
+		</dict>
+		<key>Pods.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>2</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict>
+		<key>161441ECEC9D4E86A021D7C9</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>173C649A718E413CA1D87FA7</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>19415F9F5A084BB5B8E5F6E7</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>5A5C34FB827C4A8B8E75E025</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>8FDB4F0606BD4C1894958BA6</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>9A958A30D9CC4453807F8599</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>ADA9A9C691B34B59BEE507CD</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>CDA32D12634F442C874A169F</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>D17D17149A4645799E8FF3BE</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+		<key>F24EF3A29A1B4D7A8BF97C22</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+	</dict>
+</dict>
+</plist>
Pods/Pods.xcodeproj/project.pbxproj
@@ -10,111 +10,250 @@
 	<string>46</string>
 	<key>objects</key>
 	<dict>
-		<key>005A82B7EE2A4B48907E3394</key>
+		<key>000CA9CCC3A547FEB682E41B</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
-			<key>name</key>
-			<string>UIImageView+AFNetworking.m</string>
+			<string>text.xcconfig</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/UIImageView+AFNetworking.m</string>
+			<string>Pods-AFNetworking.xcconfig</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>031A3D17177440C1BE030F50</key>
+		<key>019CDB37031B4F408907C84A</key>
 		<dict>
+			<key>explicitFileType</key>
+			<string>archive.ar</string>
 			<key>includeInIndex</key>
-			<string>1</string>
+			<string>0</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
-			<key>name</key>
-			<string>AFNetworkActivityIndicatorManager.m</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m</string>
+			<string>libPods-TSMessages.a</string>
 			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
+			<string>BUILT_PRODUCTS_DIR</string>
 		</dict>
-		<key>0421BF4CECD84B2DBA4286A1</key>
+		<key>02DE894D44974CBF8BB8A18E</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>AFHTTPClient.h</string>
+			<string>NotificationButtonBackground@2x.png</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFHTTPClient.h</string>
+			<string>TSMessages/Resources/Images/NotificationButtonBackground@2x.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>0C53A70E419C43D0A4CF2AC8</key>
+		<key>05C9E6536A2C4CD88B1DE12B</key>
 		<dict>
-			<key>explicitFileType</key>
-			<string>archive.ar</string>
 			<key>includeInIndex</key>
-			<string>0</string>
+			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
+			<key>name</key>
+			<string>NotificationBackgroundMessage@2x.png</string>
 			<key>path</key>
-			<string>libPods.a</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundMessage@2x.png</string>
 			<key>sourceTree</key>
-			<string>BUILT_PRODUCTS_DIR</string>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>06CEFFCEF0D549C7B612C227</key>
+		<dict>
+			<key>buildConfigurations</key>
+			<array>
+				<string>7D89FE2F7FEA453397D2FD55</string>
+				<string>DA566B3D97004AE6B742726C</string>
+			</array>
+			<key>defaultConfigurationIsVisible</key>
+			<string>0</string>
+			<key>defaultConfigurationName</key>
+			<string>Release</string>
+			<key>isa</key>
+			<string>XCConfigurationList</string>
+		</dict>
+		<key>093904FD43FC4C4185D497E4</key>
+		<dict>
+			<key>fileRef</key>
+			<string>8853C390DF374B37A98D9CB1</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>0BC059626BBA412CA4B57138</key>
+		<dict>
+			<key>fileRef</key>
+			<string>D832DF2EC4A0477B9BEDE3A8</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>0BCDC2C335E942469981A682</key>
+		<dict>
+			<key>fileRef</key>
+			<string>D54ADED3EEC14595A3C05FAB</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>0E39F548102F458DA312C0B7</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>B2BA3BC4D71C42EAAB5CED4B</string>
+			</array>
+			<key>isa</key>
+			<string>PBXHeadersBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
+		</dict>
+		<key>0F322D4FD2754E70A1D39385</key>
+		<dict>
+			<key>fileRef</key>
+			<string>3565D6C211834D72BF11E4CA</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>132C2BCDCD78422F80444EFF</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>B1C5A6942E2F4AB481684791</string>
+				<string>28AA1D50366D4D58AA21301D</string>
+				<string>0BC059626BBA412CA4B57138</string>
+				<string>31D72DCE802E4DE6BAA87B25</string>
+				<string>7F52AE6F6C4B4CEAB7034168</string>
+				<string>F90C8ECAF3534AE2B3C2CB98</string>
+				<string>37D9E811FC174ED49F0D6448</string>
+				<string>274AD03C40B04451B32C252B</string>
+				<string>95D2326566F248B1AC22E11E</string>
+				<string>3D7A69F0DE754CA98B44342C</string>
+			</array>
+			<key>isa</key>
+			<string>PBXSourcesBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
+		</dict>
+		<key>15461F2F393E417393CD7D8A</key>
+		<dict>
+			<key>baseConfigurationReference</key>
+			<string>E22EF988638149E1AF5CBA0C</string>
+			<key>buildSettings</key>
+			<dict>
+				<key>ALWAYS_SEARCH_USER_PATHS</key>
+				<string>NO</string>
+				<key>ARCHS</key>
+				<string>$(ARCHS_STANDARD_32_BIT)</string>
+				<key>COPY_PHASE_STRIP</key>
+				<string>YES</string>
+				<key>DSTROOT</key>
+				<string>/tmp/xcodeproj.dst</string>
+				<key>GCC_C_LANGUAGE_STANDARD</key>
+				<string>gnu99</string>
+				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+				<string>YES</string>
+				<key>GCC_PREFIX_HEADER</key>
+				<string>Pods-TSMessages-prefix.pch</string>
+				<key>GCC_VERSION</key>
+				<string>com.apple.compilers.llvm.clang.1_0</string>
+				<key>INSTALL_PATH</key>
+				<string>$(BUILT_PRODUCTS_DIR)</string>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+				<key>OTHER_CFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_CPLUSPLUSFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_LDFLAGS</key>
+				<string></string>
+				<key>PRODUCT_NAME</key>
+				<string>$(TARGET_NAME)</string>
+				<key>PUBLIC_HEADERS_FOLDER_PATH</key>
+				<string>$(TARGET_NAME)</string>
+				<key>SDKROOT</key>
+				<string>iphoneos</string>
+				<key>SKIP_INSTALL</key>
+				<string>YES</string>
+				<key>VALIDATE_PRODUCT</key>
+				<string>YES</string>
+			</dict>
+			<key>isa</key>
+			<string>XCBuildConfiguration</string>
+			<key>name</key>
+			<string>Release</string>
 		</dict>
-		<key>0DC13CA9D5D04B6BAB2E9A27</key>
+		<key>158820770EE74D0483C33422</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>wrapper.framework</string>
+			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>MobileCoreServices.framework</string>
+			<string>AFXMLRequestOperation.h</string>
 			<key>path</key>
-			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/MobileCoreServices.framework</string>
+			<string>AFNetworking/AFNetworking/AFXMLRequestOperation.h</string>
 			<key>sourceTree</key>
-			<string>DEVELOPER_DIR</string>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>16318CCB1445444C90FEFF46</key>
+		<key>161441ECEC9D4E86A021D7C9</key>
 		<dict>
-			<key>children</key>
+			<key>buildConfigurationList</key>
+			<string>850FD0D59C8544ABB6C9834E</string>
+			<key>buildPhases</key>
 			<array>
-				<string>4FC4278C25864E68AC5D030C</string>
-				<string>A11D3F29B91A4AFD8DB3B54D</string>
-				<string>6BEE4B718A85477E92D25ED6</string>
-				<string>454C33E2CD5B457195E87616</string>
-				<string>E4B288EFF1A942228050CBAF</string>
-				<string>4449EBD30C2C48D180D5D7B1</string>
+				<string>19C8C8FA3CB14DC7A8CE3B70</string>
+				<string>6A44BF8D0BEA45D1AC08833B</string>
+				<string>599D07E0B69F44F2AB77B759</string>
 			</array>
+			<key>buildRules</key>
+			<array/>
+			<key>dependencies</key>
+			<array/>
 			<key>isa</key>
-			<string>PBXGroup</string>
+			<string>PBXNativeTarget</string>
 			<key>name</key>
-			<string>Pods</string>
-			<key>sourceTree</key>
-			<string>&lt;group&gt;</string>
+			<string>Pods-TSMessages</string>
+			<key>productName</key>
+			<string>Pods-TSMessages</string>
+			<key>productReference</key>
+			<string>019CDB37031B4F408907C84A</string>
+			<key>productType</key>
+			<string>com.apple.product-type.library.static</string>
 		</dict>
-		<key>19415F9F5A084BB5B8E5F6E7</key>
+		<key>173C649A718E413CA1D87FA7</key>
 		<dict>
 			<key>buildConfigurationList</key>
-			<string>DE8A3CDA31A2494B9BAC6BD7</string>
+			<string>C318BC533F54445A92AA6C5A</string>
 			<key>buildPhases</key>
 			<array>
-				<string>19DEB67C9DEF4BEFAA195ED1</string>
-				<string>79A9D9C5D7F1443986E4C9F8</string>
+				<string>8EF6E83D97E24AA3BEB53005</string>
+				<string>DE6686F428074E9EB93D901B</string>
 			</array>
 			<key>buildRules</key>
 			<array/>
 			<key>dependencies</key>
 			<array>
-				<string>7BC0B797F46442BBB62341C0</string>
+				<string>BA4C80DB047642EFB0EFD683</string>
+				<string>EC908B1B57A6484F9E40284B</string>
+				<string>43731A62821340AC8818E22D</string>
 			</array>
 			<key>isa</key>
 			<string>PBXNativeTarget</string>
@@ -123,90 +262,1111 @@
 			<key>productName</key>
 			<string>Pods</string>
 			<key>productReference</key>
-			<string>0C53A70E419C43D0A4CF2AC8</string>
+			<string>5D333F57DE2F4C20A7446C2B</string>
 			<key>productType</key>
 			<string>com.apple.product-type.library.static</string>
 		</dict>
-		<key>19DEB67C9DEF4BEFAA195ED1</key>
+		<key>17994E73FD7D4AEBA4B9A9BC</key>
+		<dict>
+			<key>fileRef</key>
+			<string>C8541CFAB54F4561983AFF33</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>199C59355CFB400E89EA9EB1</key>
+		<dict>
+			<key>fileRef</key>
+			<string>3565D6C211834D72BF11E4CA</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>19C8C8FA3CB14DC7A8CE3B70</key>
 		<dict>
 			<key>buildActionMask</key>
 			<string>2147483647</string>
 			<key>files</key>
 			<array>
-				<string>965A0D75A4514B64A397D7A3</string>
+				<string>4C3EDAF021E34522ABC0A762</string>
+				<string>3971384EFA63478CA476E2AB</string>
+				<string>E3558BFED93D40D395EFEC01</string>
+				<string>55D84A5D66DE451C9F8D173A</string>
 			</array>
 			<key>isa</key>
 			<string>PBXSourcesBuildPhase</string>
 			<key>runOnlyForDeploymentPostprocessing</key>
 			<string>0</string>
 		</dict>
-		<key>1CCC45DD964A4CABA3A46932</key>
+		<key>1A2F774365674C26BDBFDFEB</key>
 		<dict>
-			<key>buildActionMask</key>
-			<string>2147483647</string>
-			<key>files</key>
-			<array>
-				<string>BBDB198C23434EBBB58F3B20</string>
-			</array>
+			<key>includeInIndex</key>
+			<string>1</string>
 			<key>isa</key>
-			<string>PBXFrameworksBuildPhase</string>
-			<key>runOnlyForDeploymentPostprocessing</key>
-			<string>0</string>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.script.sh</string>
+			<key>path</key>
+			<string>Pods-resources.sh</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>1FE29F43B7754CB0A0E6CB52</key>
+		<key>1BDB4E830ADC436993D9BF5A</key>
 		<dict>
-			<key>attributes</key>
-			<dict>
-				<key>LastUpgradeCheck</key>
-				<string>0450</string>
-			</dict>
-			<key>buildConfigurationList</key>
-			<string>D8F15657BD5C4604A666DE46</string>
-			<key>compatibilityVersion</key>
-			<string>Xcode 3.2</string>
-			<key>developmentRegion</key>
-			<string>English</string>
-			<key>hasScannedForEncodings</key>
-			<string>0</string>
+			<key>fileRef</key>
+			<string>158820770EE74D0483C33422</string>
 			<key>isa</key>
-			<string>PBXProject</string>
-			<key>knownRegions</key>
-			<array>
-				<string>en</string>
-			</array>
-			<key>mainGroup</key>
-			<string>D8B6128479A0486E8478082E</string>
-			<key>productRefGroup</key>
-			<string>3CCE324BF58446D0A729E9F4</string>
-			<key>projectDirPath</key>
-			<string></string>
-			<key>projectReferences</key>
-			<array/>
-			<key>projectRoot</key>
-			<string></string>
-			<key>targets</key>
-			<array>
-				<string>8FDB4F0606BD4C1894958BA6</string>
-				<string>19415F9F5A084BB5B8E5F6E7</string>
-			</array>
+			<string>PBXBuildFile</string>
 		</dict>
-		<key>20A4397D9B6245428CBDBEA9</key>
+		<key>1E0FED3BBD5B42BB94651B0C</key>
 		<dict>
-			<key>children</key>
-			<array>
-				<string>9C57A36DCE1B4E3ABEFDB925</string>
-				<string>330F7A568FC848FEBE785D15</string>
-				<string>98889C5F4A87453795DD4289</string>
-				<string>9C467DE7DBE54935BF1F399F</string>
-			</array>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>AFHTTPClient.m</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFHTTPClient.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>1F248E12260F4217AB927ECC</key>
+		<dict>
+			<key>baseConfigurationReference</key>
+			<string>581F47A2755945F39D16A356</string>
+			<key>buildSettings</key>
+			<dict>
+				<key>ALWAYS_SEARCH_USER_PATHS</key>
+				<string>NO</string>
+				<key>ARCHS</key>
+				<string>$(ARCHS_STANDARD_32_BIT)</string>
+				<key>COPY_PHASE_STRIP</key>
+				<string>YES</string>
+				<key>DSTROOT</key>
+				<string>/tmp/xcodeproj.dst</string>
+				<key>GCC_C_LANGUAGE_STANDARD</key>
+				<string>gnu99</string>
+				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+				<string>YES</string>
+				<key>GCC_PREFIX_HEADER</key>
+				<string>Pods-MBProgressHUD-prefix.pch</string>
+				<key>GCC_VERSION</key>
+				<string>com.apple.compilers.llvm.clang.1_0</string>
+				<key>INSTALL_PATH</key>
+				<string>$(BUILT_PRODUCTS_DIR)</string>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+				<key>OTHER_CFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_CPLUSPLUSFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_LDFLAGS</key>
+				<string></string>
+				<key>PRODUCT_NAME</key>
+				<string>$(TARGET_NAME)</string>
+				<key>PUBLIC_HEADERS_FOLDER_PATH</key>
+				<string>$(TARGET_NAME)</string>
+				<key>SDKROOT</key>
+				<string>iphoneos</string>
+				<key>SKIP_INSTALL</key>
+				<string>YES</string>
+				<key>VALIDATE_PRODUCT</key>
+				<string>YES</string>
+			</dict>
+			<key>isa</key>
+			<string>XCBuildConfiguration</string>
+			<key>name</key>
+			<string>Release</string>
+		</dict>
+		<key>22D9197D255947618CD999ED</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.xcconfig</string>
+			<key>path</key>
+			<string>Pods-MBProgressHUD.xcconfig</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>22F30269E3E145D1847CB8A4</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>wrapper.framework</string>
+			<key>name</key>
+			<string>Security.framework</string>
+			<key>path</key>
+			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/Security.framework</string>
+			<key>sourceTree</key>
+			<string>DEVELOPER_DIR</string>
+		</dict>
+		<key>25A5E4F30A33474CBEF4ED10</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>3FBA13891992434399518BB1</string>
+				<string>F8EFA416B3B0459E8E2FE4DD</string>
+				<string>C15182D519BD49D9A9BAABCF</string>
+				<string>29FE08AFC2BC4A8E9E68737C</string>
+				<string>D766AD8D7A794B8E8B4E4422</string>
+				<string>A123B4B091084926ACF123A2</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>274AD03C40B04451B32C252B</key>
+		<dict>
+			<key>fileRef</key>
+			<string>92A71C80017C416699BFB74D</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>28942885D76A4AC4B9523DC1</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>AFPropertyListRequestOperation.m</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFPropertyListRequestOperation.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>28AA1D50366D4D58AA21301D</key>
+		<dict>
+			<key>fileRef</key>
+			<string>9BACB1877C00409EB50CA14A</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>29FE08AFC2BC4A8E9E68737C</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>9BCAA3A32C4643949F4F54EF</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Resources</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>2B48A496E1244FE9A2E5A1F9</key>
+		<dict>
+			<key>fileRef</key>
+			<string>5766F76E9786464EBB9FC603</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>2B86FF0DF8D14660A0027EB0</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>path</key>
+			<string>Pods-TSMessages-dummy.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>2B906CC76CF94C8CB23C6BAB</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text</string>
+			<key>path</key>
+			<string>Pods-acknowledgements.markdown</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>2D5C539DC4BF45E4A35BF4B3</key>
+		<dict>
+			<key>fileRef</key>
+			<string>FC2FF252B1E54F0BBE5CC9E4</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>30FE1526E70C46669CF81A07</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>name</key>
+			<string>NotificationBackgroundWarningIcon.png</string>
+			<key>path</key>
+			<string>TSMessages/Resources/Images/NotificationBackgroundWarningIcon.png</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>31D72DCE802E4DE6BAA87B25</key>
+		<dict>
+			<key>fileRef</key>
+			<string>D46F6DA8C3C34E188470DEF0</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>3565D6C211834D72BF11E4CA</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>wrapper.framework</string>
+			<key>name</key>
+			<string>Foundation.framework</string>
+			<key>path</key>
+			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/Foundation.framework</string>
+			<key>sourceTree</key>
+			<string>DEVELOPER_DIR</string>
+		</dict>
+		<key>356A3DA6DD5A41DF998E488D</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.plist.xml</string>
+			<key>path</key>
+			<string>Pods-acknowledgements.plist</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>37D9E811FC174ED49F0D6448</key>
+		<dict>
+			<key>fileRef</key>
+			<string>6310837C74044B12A33E78D1</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>37E3DB258EE94D858863074E</key>
+		<dict>
+			<key>attributes</key>
+			<dict>
+				<key>LastUpgradeCheck</key>
+				<string>0450</string>
+			</dict>
+			<key>buildConfigurationList</key>
+			<string>B62DFFE5CBFB4867B7DF7990</string>
+			<key>compatibilityVersion</key>
+			<string>Xcode 3.2</string>
+			<key>developmentRegion</key>
+			<string>English</string>
+			<key>hasScannedForEncodings</key>
+			<string>0</string>
+			<key>isa</key>
+			<string>PBXProject</string>
+			<key>knownRegions</key>
+			<array>
+				<string>en</string>
+			</array>
+			<key>mainGroup</key>
+			<string>25A5E4F30A33474CBEF4ED10</string>
+			<key>productRefGroup</key>
+			<string>C15182D519BD49D9A9BAABCF</string>
+			<key>projectDirPath</key>
+			<string></string>
+			<key>projectReferences</key>
+			<array/>
+			<key>projectRoot</key>
+			<string></string>
+			<key>targets</key>
+			<array>
+				<string>ADA9A9C691B34B59BEE507CD</string>
+				<string>F24EF3A29A1B4D7A8BF97C22</string>
+				<string>161441ECEC9D4E86A021D7C9</string>
+				<string>173C649A718E413CA1D87FA7</string>
+			</array>
+		</dict>
+		<key>3971384EFA63478CA476E2AB</key>
+		<dict>
+			<key>fileRef</key>
+			<string>D4DD331F94EA492498CC6B54</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>3C66C73019C04B3B8F86B6DA</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.xcconfig</string>
+			<key>path</key>
+			<string>Pods-TSMessages.xcconfig</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>3D7A69F0DE754CA98B44342C</key>
+		<dict>
+			<key>fileRef</key>
+			<string>A922D7D22AA8440E8A5F6C2F</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>3DDBF9D5416C4B07ACD40F7D</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>D54ADED3EEC14595A3C05FAB</string>
+				<string>57E85EDDDE2A425E85531584</string>
+				<string>E1AEA6727BA946179E2CE537</string>
+				<string>D4DD331F94EA492498CC6B54</string>
+				<string>8853C390DF374B37A98D9CB1</string>
+				<string>4CD4DE67D4B8445D8DDF041D</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>TSMessages</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>3DEAD6F713CC4301BB5E1ADC</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>4B98A61C66454DAC8625F355</string>
+				<string>89041788C407406D954EA8CF</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>MBProgressHUD</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>3F8CF9F8BBFF4E239919F73D</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>000CA9CCC3A547FEB682E41B</string>
+				<string>7359C739E7AF408BA589A998</string>
+				<string>F2586438D5044DB4B26CA59A</string>
+				<string>A922D7D22AA8440E8A5F6C2F</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Pods-AFNetworking</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>3FBA13891992434399518BB1</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>840EB56CFB9D453DB75884BF</string>
+				<string>3565D6C211834D72BF11E4CA</string>
+				<string>5EC8D74CDB8B4BBAA20CD2B8</string>
+				<string>22F30269E3E145D1847CB8A4</string>
+				<string>F7178D062D5047ACB0CDFDA2</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Frameworks</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>402492E32F2E43D382FE0D79</key>
+		<dict>
+			<key>fileRef</key>
+			<string>765ADB1362B448138BDBD943</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>405DCD237D7A44D9AFAA6F5F</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>path</key>
+			<string>Pods-MBProgressHUD-prefix.pch</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>43731A62821340AC8818E22D</key>
+		<dict>
+			<key>isa</key>
+			<string>PBXTargetDependency</string>
+			<key>target</key>
+			<string>161441ECEC9D4E86A021D7C9</string>
+			<key>targetProxy</key>
+			<string>6DF9089B11A54A7BB1287947</string>
+		</dict>
+		<key>497451CE724C4803A5F77FA5</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>name</key>
+			<string>NotificationBackgroundSuccessIcon@2x.png</string>
+			<key>path</key>
+			<string>TSMessages/Resources/Images/NotificationBackgroundSuccessIcon@2x.png</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>49CB912DA01D40D2A1A6A895</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>AFNetworkActivityIndicatorManager.m</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>4B98A61C66454DAC8625F355</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>MBProgressHUD.h</string>
+			<key>path</key>
+			<string>MBProgressHUD/MBProgressHUD.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>4C3EDAF021E34522ABC0A762</key>
+		<dict>
+			<key>fileRef</key>
+			<string>57E85EDDDE2A425E85531584</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>4CD4DE67D4B8445D8DDF041D</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>TSMessageView.m</string>
+			<key>path</key>
+			<string>TSMessages/Views/TSMessageView.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>4D5F7F8DD3F7483F91232739</key>
+		<dict>
+			<key>fileRef</key>
+			<string>A90C80146A9343A2807C1D57</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>55D84A5D66DE451C9F8D173A</key>
+		<dict>
+			<key>fileRef</key>
+			<string>2B86FF0DF8D14660A0027EB0</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>571F38702605491EB5884968</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>93F6DF1F72F84FDDA84CFF9A</string>
+				<string>97A94F06AC5045FB817149F3</string>
+				<string>1A2F774365674C26BDBFDFEB</string>
+				<string>356A3DA6DD5A41DF998E488D</string>
+				<string>2B906CC76CF94C8CB23C6BAB</string>
+				<string>C8541CFAB54F4561983AFF33</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Pods</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>5766F76E9786464EBB9FC603</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>AFNetworkActivityIndicatorManager.h</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>57E85EDDDE2A425E85531584</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>TSMessage.m</string>
+			<key>path</key>
+			<string>TSMessages/Classes/TSMessage.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>581F47A2755945F39D16A356</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.xcconfig</string>
+			<key>path</key>
+			<string>Pods-MBProgressHUD-Private.xcconfig</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>583375BD745C40B79E37018A</key>
+		<dict>
+			<key>fileRef</key>
+			<string>E7B46A39D99642C7970F2E25</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>594C157E4B48468AB952342B</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>name</key>
+			<string>NotificationBackgroundWarningIcon@2x.png</string>
+			<key>path</key>
+			<string>TSMessages/Resources/Images/NotificationBackgroundWarningIcon@2x.png</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>599D07E0B69F44F2AB77B759</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>0BCDC2C335E942469981A682</string>
+				<string>A31EF2D6295143CFAD84FC10</string>
+				<string>093904FD43FC4C4185D497E4</string>
+			</array>
+			<key>isa</key>
+			<string>PBXHeadersBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
+		</dict>
+		<key>5C1B73D76E634EDB9E0ED8F0</key>
+		<dict>
+			<key>fileRef</key>
+			<string>89041788C407406D954EA8CF</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>5D333F57DE2F4C20A7446C2B</key>
+		<dict>
+			<key>explicitFileType</key>
+			<string>archive.ar</string>
+			<key>includeInIndex</key>
+			<string>0</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>path</key>
+			<string>libPods.a</string>
+			<key>sourceTree</key>
+			<string>BUILT_PRODUCTS_DIR</string>
+		</dict>
+		<key>5EC8D74CDB8B4BBAA20CD2B8</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>wrapper.framework</string>
+			<key>name</key>
+			<string>MobileCoreServices.framework</string>
+			<key>path</key>
+			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/MobileCoreServices.framework</string>
+			<key>sourceTree</key>
+			<string>DEVELOPER_DIR</string>
+		</dict>
+		<key>6310837C74044B12A33E78D1</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>AFURLConnectionOperation.m</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFURLConnectionOperation.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>661D728FDEE749E1804B4B2B</key>
+		<dict>
+			<key>fileRef</key>
+			<string>3565D6C211834D72BF11E4CA</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>68AE8DF3CDFF45549638AD33</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>AFPropertyListRequestOperation.h</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFPropertyListRequestOperation.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>6A44BF8D0BEA45D1AC08833B</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>0F322D4FD2754E70A1D39385</string>
+			</array>
+			<key>isa</key>
+			<string>PBXFrameworksBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
+		</dict>
+		<key>6DF9089B11A54A7BB1287947</key>
+		<dict>
+			<key>containerPortal</key>
+			<string>37E3DB258EE94D858863074E</string>
+			<key>isa</key>
+			<string>PBXContainerItemProxy</string>
+			<key>proxyType</key>
+			<string>1</string>
+			<key>remoteGlobalIDString</key>
+			<string>161441ECEC9D4E86A021D7C9</string>
+			<key>remoteInfo</key>
+			<string>Pods-TSMessages</string>
+		</dict>
+		<key>7097C2FDF6224737980187CF</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>5C1B73D76E634EDB9E0ED8F0</string>
+				<string>873179ECE13E4E818ADFB354</string>
+			</array>
+			<key>isa</key>
+			<string>PBXSourcesBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
+		</dict>
+		<key>71FD6912DAA24180965C0B2F</key>
+		<dict>
+			<key>baseConfigurationReference</key>
+			<string>93F6DF1F72F84FDDA84CFF9A</string>
+			<key>buildSettings</key>
+			<dict>
+				<key>ALWAYS_SEARCH_USER_PATHS</key>
+				<string>NO</string>
+				<key>ARCHS</key>
+				<string>$(ARCHS_STANDARD_32_BIT)</string>
+				<key>COPY_PHASE_STRIP</key>
+				<string>YES</string>
+				<key>DSTROOT</key>
+				<string>/tmp/xcodeproj.dst</string>
+				<key>GCC_C_LANGUAGE_STANDARD</key>
+				<string>gnu99</string>
+				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+				<string>YES</string>
+				<key>GCC_VERSION</key>
+				<string>com.apple.compilers.llvm.clang.1_0</string>
+				<key>INSTALL_PATH</key>
+				<string>$(BUILT_PRODUCTS_DIR)</string>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+				<key>OTHER_CFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_CPLUSPLUSFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_LDFLAGS</key>
+				<string></string>
+				<key>PRODUCT_NAME</key>
+				<string>$(TARGET_NAME)</string>
+				<key>PUBLIC_HEADERS_FOLDER_PATH</key>
+				<string>$(TARGET_NAME)</string>
+				<key>SDKROOT</key>
+				<string>iphoneos</string>
+				<key>SKIP_INSTALL</key>
+				<string>YES</string>
+				<key>VALIDATE_PRODUCT</key>
+				<string>YES</string>
+			</dict>
+			<key>isa</key>
+			<string>XCBuildConfiguration</string>
+			<key>name</key>
+			<string>Release</string>
+		</dict>
+		<key>7359C739E7AF408BA589A998</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.xcconfig</string>
+			<key>path</key>
+			<string>Pods-AFNetworking-Private.xcconfig</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>75078CBACF864BB59C04FCC3</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>UIImageView+AFNetworking.h</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/UIImageView+AFNetworking.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>765ADB1362B448138BDBD943</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>AFURLConnectionOperation.h</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFURLConnectionOperation.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>7818193E66614DC29CEEAA71</key>
+		<dict>
+			<key>fileRef</key>
+			<string>019CDB37031B4F408907C84A</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>783D0A342B5F4EC88DCC0979</key>
+		<dict>
+			<key>fileRef</key>
+			<string>75078CBACF864BB59C04FCC3</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>7CF1FF01418C427D8B03AD5D</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>path</key>
+			<string>Pods-TSMessages-prefix.pch</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>7D89FE2F7FEA453397D2FD55</key>
+		<dict>
+			<key>baseConfigurationReference</key>
+			<string>7359C739E7AF408BA589A998</string>
+			<key>buildSettings</key>
+			<dict>
+				<key>ALWAYS_SEARCH_USER_PATHS</key>
+				<string>NO</string>
+				<key>ARCHS</key>
+				<string>$(ARCHS_STANDARD_32_BIT)</string>
+				<key>COPY_PHASE_STRIP</key>
+				<string>YES</string>
+				<key>DSTROOT</key>
+				<string>/tmp/xcodeproj.dst</string>
+				<key>GCC_C_LANGUAGE_STANDARD</key>
+				<string>gnu99</string>
+				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+				<string>YES</string>
+				<key>GCC_PREFIX_HEADER</key>
+				<string>Pods-AFNetworking-prefix.pch</string>
+				<key>GCC_VERSION</key>
+				<string>com.apple.compilers.llvm.clang.1_0</string>
+				<key>INSTALL_PATH</key>
+				<string>$(BUILT_PRODUCTS_DIR)</string>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+				<key>OTHER_CFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_CPLUSPLUSFLAGS</key>
+				<array>
+					<string>-DNS_BLOCK_ASSERTIONS=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>OTHER_LDFLAGS</key>
+				<string></string>
+				<key>PRODUCT_NAME</key>
+				<string>$(TARGET_NAME)</string>
+				<key>PUBLIC_HEADERS_FOLDER_PATH</key>
+				<string>$(TARGET_NAME)</string>
+				<key>SDKROOT</key>
+				<string>iphoneos</string>
+				<key>SKIP_INSTALL</key>
+				<string>YES</string>
+				<key>VALIDATE_PRODUCT</key>
+				<string>YES</string>
+			</dict>
+			<key>isa</key>
+			<string>XCBuildConfiguration</string>
+			<key>name</key>
+			<string>Release</string>
+		</dict>
+		<key>7F52AE6F6C4B4CEAB7034168</key>
+		<dict>
+			<key>fileRef</key>
+			<string>49CB912DA01D40D2A1A6A895</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
+		</dict>
+		<key>840EB56CFB9D453DB75884BF</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>wrapper.framework</string>
+			<key>name</key>
+			<string>CoreGraphics.framework</string>
+			<key>path</key>
+			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/CoreGraphics.framework</string>
+			<key>sourceTree</key>
+			<string>DEVELOPER_DIR</string>
+		</dict>
+		<key>850FD0D59C8544ABB6C9834E</key>
+		<dict>
+			<key>buildConfigurations</key>
+			<array>
+				<string>15461F2F393E417393CD7D8A</string>
+				<string>B415D400250A4733A677F048</string>
+			</array>
+			<key>defaultConfigurationIsVisible</key>
+			<string>0</string>
+			<key>defaultConfigurationName</key>
+			<string>Release</string>
+			<key>isa</key>
+			<string>XCConfigurationList</string>
+		</dict>
+		<key>873179ECE13E4E818ADFB354</key>
+		<dict>
+			<key>fileRef</key>
+			<string>FFDFDCCFA56A4B04A44D3A9C</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>8853C390DF374B37A98D9CB1</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>TSMessageView.h</string>
+			<key>path</key>
+			<string>TSMessages/Views/TSMessageView.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>89041788C407406D954EA8CF</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>MBProgressHUD.m</string>
+			<key>path</key>
+			<string>MBProgressHUD/MBProgressHUD.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>8EF6E83D97E24AA3BEB53005</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>17994E73FD7D4AEBA4B9A9BC</string>
+			</array>
+			<key>isa</key>
+			<string>PBXSourcesBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
+		</dict>
+		<key>9203AED0DF6C4566A3A70E50</key>
+		<dict>
+			<key>baseConfigurationReference</key>
+			<string>93F6DF1F72F84FDDA84CFF9A</string>
+			<key>buildSettings</key>
+			<dict>
+				<key>ALWAYS_SEARCH_USER_PATHS</key>
+				<string>NO</string>
+				<key>ARCHS</key>
+				<string>$(ARCHS_STANDARD_32_BIT)</string>
+				<key>COPY_PHASE_STRIP</key>
+				<string>NO</string>
+				<key>DSTROOT</key>
+				<string>/tmp/xcodeproj.dst</string>
+				<key>GCC_C_LANGUAGE_STANDARD</key>
+				<string>gnu99</string>
+				<key>GCC_DYNAMIC_NO_PIC</key>
+				<string>NO</string>
+				<key>GCC_OPTIMIZATION_LEVEL</key>
+				<string>0</string>
+				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+				<string>YES</string>
+				<key>GCC_PREPROCESSOR_DEFINITIONS</key>
+				<array>
+					<string>DEBUG=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>GCC_SYMBOLS_PRIVATE_EXTERN</key>
+				<string>NO</string>
+				<key>GCC_VERSION</key>
+				<string>com.apple.compilers.llvm.clang.1_0</string>
+				<key>INSTALL_PATH</key>
+				<string>$(BUILT_PRODUCTS_DIR)</string>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+				<key>OTHER_LDFLAGS</key>
+				<string></string>
+				<key>PRODUCT_NAME</key>
+				<string>$(TARGET_NAME)</string>
+				<key>PUBLIC_HEADERS_FOLDER_PATH</key>
+				<string>$(TARGET_NAME)</string>
+				<key>SDKROOT</key>
+				<string>iphoneos</string>
+				<key>SKIP_INSTALL</key>
+				<string>YES</string>
+			</dict>
 			<key>isa</key>
-			<string>PBXGroup</string>
+			<string>XCBuildConfiguration</string>
 			<key>name</key>
-			<string>Pods-AFNetworking</string>
-			<key>sourceTree</key>
-			<string>&lt;group&gt;</string>
+			<string>Debug</string>
 		</dict>
-		<key>20FC3962D34E44EF91110231</key>
+		<key>92A71C80017C416699BFB74D</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -215,44 +1375,29 @@
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.objc</string>
 			<key>name</key>
-			<string>AFImageRequestOperation.m</string>
+			<string>AFXMLRequestOperation.m</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFImageRequestOperation.m</string>
+			<string>AFNetworking/AFNetworking/AFXMLRequestOperation.m</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>240BA2A5370D416F8A36056C</key>
+		<key>93F6DF1F72F84FDDA84CFF9A</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
-			<key>name</key>
-			<string>AFJSONRequestOperation.h</string>
+			<string>text.xcconfig</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFJSONRequestOperation.h</string>
+			<string>Pods.xcconfig</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>2ABB3F41BC5542E09FC9742D</key>
-		<dict>
-			<key>children</key>
-			<array>
-				<string>5189F8E3443242E79C2038F3</string>
-			</array>
-			<key>isa</key>
-			<string>PBXGroup</string>
-			<key>name</key>
-			<string>Pods</string>
-			<key>sourceTree</key>
-			<string>&lt;group&gt;</string>
-		</dict>
-		<key>2AD198976C6241F19A97E302</key>
+		<key>95D2326566F248B1AC22E11E</key>
 		<dict>
 			<key>fileRef</key>
-			<string>A3DCDA466A70405EA26A97D4</string>
+			<string>A865ED800E9E47AA8081FF91</string>
 			<key>isa</key>
 			<string>PBXBuildFile</string>
 			<key>settings</key>
@@ -261,29 +1406,14 @@
 				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
 			</dict>
 		</dict>
-		<key>2C65D63D816C4E92838F43A4</key>
+		<key>9658C4B86FDF4891914910B7</key>
 		<dict>
-			<key>buildActionMask</key>
-			<string>2147483647</string>
-			<key>files</key>
-			<array>
-				<string>9606A8E1FE2645579CCB0A93</string>
-				<string>E461D72BF9914481BFD2BEE0</string>
-				<string>4AFC0CEDD841420BBC0DE431</string>
-				<string>9FC2B3FC3D8E45F7856C931D</string>
-				<string>E42F4FDF601944ACA28E1A52</string>
-				<string>4520E403ABE847779C2D8DC5</string>
-				<string>9BF8FB134B094FAA8D7A86E8</string>
-				<string>457C6C30FE5F44F492328B8E</string>
-				<string>AE5E7522FB4E4BA6AD2A3F1B</string>
-				<string>C8CFA637BE9544638C03A08E</string>
-			</array>
+			<key>fileRef</key>
+			<string>68AE8DF3CDFF45549638AD33</string>
 			<key>isa</key>
-			<string>PBXHeadersBuildPhase</string>
-			<key>runOnlyForDeploymentPostprocessing</key>
-			<string>0</string>
+			<string>PBXBuildFile</string>
 		</dict>
-		<key>3037D0382C8A4DCEB3E139DA</key>
+		<key>97A94F06AC5045FB817149F3</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -291,196 +1421,199 @@
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.h</string>
-			<key>name</key>
-			<string>AFNetworking.h</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFNetworking.h</string>
+			<string>Pods-environment.h</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>305331184E9F4E4FA853ABF0</key>
+		<key>97E59E7A5E494C9A86F66AD9</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>AFPropertyListRequestOperation.h</string>
+			<string>NotificationBackgroundWarning.png</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFPropertyListRequestOperation.h</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundWarning.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>330F7A568FC848FEBE785D15</key>
+		<key>9AFBB6DEE7C840239F6E4A45</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>text.xcconfig</string>
+			<key>name</key>
+			<string>NotificationBackgroundErrorIcon.png</string>
 			<key>path</key>
-			<string>Pods-AFNetworking-Private.xcconfig</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundErrorIcon.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>336380C581974C1693984C4F</key>
-		<dict>
-			<key>fileRef</key>
-			<string>5DC83A5742F14BCBA7AEF127</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-		</dict>
-		<key>37FD6247655D4112AAAA6AE8</key>
+		<key>9B95BBD84BE341D1B2B0F6AC</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
+			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>AFXMLRequestOperation.m</string>
+			<string>AFHTTPClient.h</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFXMLRequestOperation.m</string>
+			<string>AFNetworking/AFNetworking/AFHTTPClient.h</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>3C514AC7517A4D108A03470E</key>
+		<key>9BACB1877C00409EB50CA14A</key>
 		<dict>
-			<key>buildSettings</key>
-			<dict>
-				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
-				<string>5.1</string>
-			</dict>
+			<key>includeInIndex</key>
+			<string>1</string>
 			<key>isa</key>
-			<string>XCBuildConfiguration</string>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
 			<key>name</key>
-			<string>Debug</string>
+			<string>AFHTTPRequestOperation.m</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFHTTPRequestOperation.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>3CCE324BF58446D0A729E9F4</key>
+		<key>9BCAA3A32C4643949F4F54EF</key>
 		<dict>
 			<key>children</key>
 			<array>
-				<string>BA25ECC8E23F46CAA4BE075D</string>
-				<string>0C53A70E419C43D0A4CF2AC8</string>
+				<string>BE5DFCDF65F64AF1929E8611</string>
+				<string>B5CA160946334AD0B7EAACA8</string>
+				<string>CF8D96445CEF4A5CB6A05492</string>
+				<string>9AFBB6DEE7C840239F6E4A45</string>
+				<string>B63F41B7299945BA8FFD6539</string>
+				<string>9C84D62A2AA846E096F7B1D1</string>
+				<string>05C9E6536A2C4CD88B1DE12B</string>
+				<string>AA8190BA49DC4A01B7623D43</string>
+				<string>CF8CF130CB2D45109CE3CBFA</string>
+				<string>BE7D2B7CEBA448F9A77B8E57</string>
+				<string>497451CE724C4803A5F77FA5</string>
+				<string>97E59E7A5E494C9A86F66AD9</string>
+				<string>AD208251AC574AE999ABD2AD</string>
+				<string>30FE1526E70C46669CF81A07</string>
+				<string>594C157E4B48468AB952342B</string>
+				<string>B8D88992A832436B9D22B323</string>
+				<string>02DE894D44974CBF8BB8A18E</string>
 			</array>
 			<key>isa</key>
 			<string>PBXGroup</string>
 			<key>name</key>
-			<string>Products</string>
+			<string>TSMessages</string>
 			<key>sourceTree</key>
 			<string>&lt;group&gt;</string>
 		</dict>
-		<key>41EE05A0054E401983BBDEAA</key>
+		<key>9C84D62A2AA846E096F7B1D1</key>
 		<dict>
-			<key>baseConfigurationReference</key>
-			<string>330F7A568FC848FEBE785D15</string>
-			<key>buildSettings</key>
-			<dict>
-				<key>ALWAYS_SEARCH_USER_PATHS</key>
-				<string>NO</string>
-				<key>ARCHS</key>
-				<string>$(ARCHS_STANDARD_32_BIT)</string>
-				<key>COPY_PHASE_STRIP</key>
-				<string>YES</string>
-				<key>DSTROOT</key>
-				<string>/tmp/xcodeproj.dst</string>
-				<key>GCC_C_LANGUAGE_STANDARD</key>
-				<string>gnu99</string>
-				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
-				<string>YES</string>
-				<key>GCC_PREFIX_HEADER</key>
-				<string>Pods-AFNetworking-prefix.pch</string>
-				<key>GCC_VERSION</key>
-				<string>com.apple.compilers.llvm.clang.1_0</string>
-				<key>INSTALL_PATH</key>
-				<string>$(BUILT_PRODUCTS_DIR)</string>
-				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
-				<string>5.1</string>
-				<key>OTHER_CFLAGS</key>
-				<array>
-					<string>-DNS_BLOCK_ASSERTIONS=1</string>
-					<string>$(inherited)</string>
-				</array>
-				<key>OTHER_CPLUSPLUSFLAGS</key>
-				<array>
-					<string>-DNS_BLOCK_ASSERTIONS=1</string>
-					<string>$(inherited)</string>
-				</array>
-				<key>OTHER_LDFLAGS</key>
-				<string></string>
-				<key>PRODUCT_NAME</key>
-				<string>$(TARGET_NAME)</string>
-				<key>PUBLIC_HEADERS_FOLDER_PATH</key>
-				<string>$(TARGET_NAME)</string>
-				<key>SDKROOT</key>
-				<string>iphoneos</string>
-				<key>SKIP_INSTALL</key>
-				<string>YES</string>
-				<key>VALIDATE_PRODUCT</key>
-				<string>YES</string>
-			</dict>
+			<key>includeInIndex</key>
+			<string>1</string>
 			<key>isa</key>
-			<string>XCBuildConfiguration</string>
+			<string>PBXFileReference</string>
 			<key>name</key>
-			<string>Release</string>
+			<string>NotificationBackgroundMessage.png</string>
+			<key>path</key>
+			<string>TSMessages/Resources/Images/NotificationBackgroundMessage.png</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>A0367F2D57A9424D9D2BA7DD</key>
+		<dict>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>BC4A801DDCE94D149B48B140</string>
+			</array>
+			<key>isa</key>
+			<string>PBXFrameworksBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
 		</dict>
-		<key>4449EBD30C2C48D180D5D7B1</key>
+		<key>A123B4B091084926ACF123A2</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
+			<string>text</string>
+			<key>name</key>
+			<string>Podfile</string>
 			<key>path</key>
-			<string>Pods-dummy.m</string>
+			<string>../Podfile</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
+			<key>xcLanguageSpecificationIdentifier</key>
+			<string>xcode.lang.ruby</string>
 		</dict>
-		<key>44ED6539438F4433B3F26307</key>
+		<key>A31EF2D6295143CFAD84FC10</key>
 		<dict>
-			<key>buildSettings</key>
-			<dict>
-				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
-				<string>5.1</string>
-			</dict>
+			<key>fileRef</key>
+			<string>E1AEA6727BA946179E2CE537</string>
 			<key>isa</key>
-			<string>XCBuildConfiguration</string>
-			<key>name</key>
-			<string>Release</string>
+			<string>PBXBuildFile</string>
 		</dict>
-		<key>4520E403ABE847779C2D8DC5</key>
+		<key>A39E3B19EE3E4E5782B3EF5D</key>
 		<dict>
-			<key>fileRef</key>
-			<string>3037D0382C8A4DCEB3E139DA</string>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>E337AAABE162452BA2461309</string>
+				<string>C62ED61003DC4273BBA1BD8C</string>
+				<string>D7BC08FD798F458EBD70845F</string>
+				<string>2D5C539DC4BF45E4A35BF4B3</string>
+				<string>2B48A496E1244FE9A2E5A1F9</string>
+				<string>4D5F7F8DD3F7483F91232739</string>
+				<string>9658C4B86FDF4891914910B7</string>
+				<string>402492E32F2E43D382FE0D79</string>
+				<string>1BDB4E830ADC436993D9BF5A</string>
+				<string>783D0A342B5F4EC88DCC0979</string>
+			</array>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>PBXHeadersBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
 		</dict>
-		<key>454C33E2CD5B457195E87616</key>
+		<key>A865ED800E9E47AA8081FF91</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>text.plist.xml</string>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>UIImageView+AFNetworking.m</string>
 			<key>path</key>
-			<string>Pods-acknowledgements.plist</string>
+			<string>AFNetworking/AFNetworking/UIImageView+AFNetworking.m</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>457C6C30FE5F44F492328B8E</key>
+		<key>A90C80146A9343A2807C1D57</key>
 		<dict>
-			<key>fileRef</key>
-			<string>DA95B360AAB94BE596CB76FE</string>
+			<key>includeInIndex</key>
+			<string>1</string>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>AFNetworking.h</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFNetworking.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>470D947AF88C4068BF8951D3</key>
+		<key>A922D7D22AA8440E8A5F6C2F</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -488,119 +1621,112 @@
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.objc</string>
+			<key>path</key>
+			<string>Pods-AFNetworking-dummy.m</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>AA8190BA49DC4A01B7623D43</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
 			<key>name</key>
-			<string>AFPropertyListRequestOperation.m</string>
+			<string>NotificationBackgroundSuccess.png</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFPropertyListRequestOperation.m</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundSuccess.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>4AFC0CEDD841420BBC0DE431</key>
+		<key>AC31745236C145ECA95C2714</key>
 		<dict>
-			<key>fileRef</key>
-			<string>6BE58B45BA4B46649A5C7488</string>
+			<key>buildSettings</key>
+			<dict>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+			</dict>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>XCBuildConfiguration</string>
+			<key>name</key>
+			<string>Debug</string>
 		</dict>
-		<key>4FC4278C25864E68AC5D030C</key>
+		<key>AD208251AC574AE999ABD2AD</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>text.xcconfig</string>
+			<key>name</key>
+			<string>NotificationBackgroundWarning@2x.png</string>
 			<key>path</key>
-			<string>Pods.xcconfig</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundWarning@2x.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>5189F8E3443242E79C2038F3</key>
+		<key>ADA9A9C691B34B59BEE507CD</key>
 		<dict>
-			<key>children</key>
+			<key>buildConfigurationList</key>
+			<string>06CEFFCEF0D549C7B612C227</string>
+			<key>buildPhases</key>
 			<array>
-				<string>0421BF4CECD84B2DBA4286A1</string>
-				<string>A3DCDA466A70405EA26A97D4</string>
-				<string>E758213909744B97A604E7F2</string>
-				<string>6847FC8DAC614B96863622CC</string>
-				<string>6BE58B45BA4B46649A5C7488</string>
-				<string>20FC3962D34E44EF91110231</string>
-				<string>240BA2A5370D416F8A36056C</string>
-				<string>DD221337B2A549AF980139DC</string>
-				<string>85FD02121C2346C4AE1B9923</string>
-				<string>031A3D17177440C1BE030F50</string>
-				<string>3037D0382C8A4DCEB3E139DA</string>
-				<string>305331184E9F4E4FA853ABF0</string>
-				<string>470D947AF88C4068BF8951D3</string>
-				<string>DA95B360AAB94BE596CB76FE</string>
-				<string>BA07D55CA8FD4861A20B16B2</string>
-				<string>90F173E144444EAF8DD089E6</string>
-				<string>37FD6247655D4112AAAA6AE8</string>
-				<string>900F5196D9134415871CA796</string>
-				<string>005A82B7EE2A4B48907E3394</string>
+				<string>132C2BCDCD78422F80444EFF</string>
+				<string>C3E2583C239A4BEF9748001C</string>
+				<string>A39E3B19EE3E4E5782B3EF5D</string>
 			</array>
+			<key>buildRules</key>
+			<array/>
+			<key>dependencies</key>
+			<array/>
 			<key>isa</key>
-			<string>PBXGroup</string>
+			<string>PBXNativeTarget</string>
 			<key>name</key>
-			<string>AFNetworking</string>
-			<key>sourceTree</key>
-			<string>&lt;group&gt;</string>
+			<string>Pods-AFNetworking</string>
+			<key>productName</key>
+			<string>Pods-AFNetworking</string>
+			<key>productReference</key>
+			<string>E7B46A39D99642C7970F2E25</string>
+			<key>productType</key>
+			<string>com.apple.product-type.library.static</string>
 		</dict>
-		<key>532C9A7A4277494585525040</key>
+		<key>B1C5A6942E2F4AB481684791</key>
 		<dict>
-			<key>buildConfigurations</key>
-			<array>
-				<string>41EE05A0054E401983BBDEAA</string>
-				<string>BB5B2E2B2C7C42AD86339386</string>
-			</array>
-			<key>defaultConfigurationIsVisible</key>
-			<string>0</string>
-			<key>defaultConfigurationName</key>
-			<string>Release</string>
+			<key>fileRef</key>
+			<string>1E0FED3BBD5B42BB94651B0C</string>
 			<key>isa</key>
-			<string>XCConfigurationList</string>
+			<string>PBXBuildFile</string>
+			<key>settings</key>
+			<dict>
+				<key>COMPILER_FLAGS</key>
+				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+			</dict>
 		</dict>
-		<key>576A4FFF6C8F4FC39682BAFA</key>
+		<key>B2BA3BC4D71C42EAAB5CED4B</key>
 		<dict>
-			<key>includeInIndex</key>
-			<string>1</string>
+			<key>fileRef</key>
+			<string>4B98A61C66454DAC8625F355</string>
 			<key>isa</key>
-			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>wrapper.framework</string>
-			<key>name</key>
-			<string>Security.framework</string>
-			<key>path</key>
-			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/Security.framework</string>
-			<key>sourceTree</key>
-			<string>DEVELOPER_DIR</string>
+			<string>PBXBuildFile</string>
 		</dict>
-		<key>5DC83A5742F14BCBA7AEF127</key>
+		<key>B3479B74602B4840B921D29A</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>wrapper.framework</string>
+			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>Foundation.framework</string>
+			<string>AFImageRequestOperation.h</string>
 			<key>path</key>
-			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/Foundation.framework</string>
+			<string>AFNetworking/AFNetworking/AFImageRequestOperation.h</string>
 			<key>sourceTree</key>
-			<string>DEVELOPER_DIR</string>
-		</dict>
-		<key>62470C9DEAEC4A5FA14FFBAB</key>
-		<dict>
-			<key>fileRef</key>
-			<string>BA25ECC8E23F46CAA4BE075D</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>64EEBEEF4CE44758A21408E0</key>
+		<key>B415D400250A4733A677F048</key>
 		<dict>
 			<key>baseConfigurationReference</key>
-			<string>4FC4278C25864E68AC5D030C</string>
+			<string>E22EF988638149E1AF5CBA0C</string>
 			<key>buildSettings</key>
 			<dict>
 				<key>ALWAYS_SEARCH_USER_PATHS</key>
@@ -619,6 +1745,8 @@
 				<string>0</string>
 				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
 				<string>YES</string>
+				<key>GCC_PREFIX_HEADER</key>
+				<string>Pods-TSMessages-prefix.pch</string>
 				<key>GCC_PREPROCESSOR_DEFINITIONS</key>
 				<array>
 					<string>DEBUG=1</string>
@@ -648,276 +1776,231 @@
 			<key>name</key>
 			<string>Debug</string>
 		</dict>
-		<key>6847FC8DAC614B96863622CC</key>
+		<key>B4507365CBF946E3B75AA4AD</key>
 		<dict>
-			<key>includeInIndex</key>
-			<string>1</string>
+			<key>containerPortal</key>
+			<string>37E3DB258EE94D858863074E</string>
 			<key>isa</key>
-			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
-			<key>name</key>
-			<string>AFHTTPRequestOperation.m</string>
-			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFHTTPRequestOperation.m</string>
-			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
+			<string>PBXContainerItemProxy</string>
+			<key>proxyType</key>
+			<string>1</string>
+			<key>remoteGlobalIDString</key>
+			<string>F24EF3A29A1B4D7A8BF97C22</string>
+			<key>remoteInfo</key>
+			<string>Pods-MBProgressHUD</string>
 		</dict>
-		<key>6BE58B45BA4B46649A5C7488</key>
+		<key>B582CFB4CC4740399C819E81</key>
 		<dict>
-			<key>includeInIndex</key>
-			<string>1</string>
+			<key>children</key>
+			<array>
+				<string>22D9197D255947618CD999ED</string>
+				<string>581F47A2755945F39D16A356</string>
+				<string>405DCD237D7A44D9AFAA6F5F</string>
+				<string>FFDFDCCFA56A4B04A44D3A9C</string>
+			</array>
 			<key>isa</key>
-			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
+			<string>PBXGroup</string>
 			<key>name</key>
-			<string>AFImageRequestOperation.h</string>
-			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFImageRequestOperation.h</string>
+			<string>Pods-MBProgressHUD</string>
 			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
+			<string>&lt;group&gt;</string>
 		</dict>
-		<key>6BEE4B718A85477E92D25ED6</key>
+		<key>B5CA160946334AD0B7EAACA8</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>text.script.sh</string>
+			<key>name</key>
+			<string>NotificationBackgroundError.png</string>
 			<key>path</key>
-			<string>Pods-resources.sh</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundError.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>6F68FE0505D842C68AC1B7AD</key>
-		<dict>
-			<key>fileRef</key>
-			<string>20FC3962D34E44EF91110231</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-			<key>settings</key>
-			<dict>
-				<key>COMPILER_FLAGS</key>
-				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
-			</dict>
-		</dict>
-		<key>79A9D9C5D7F1443986E4C9F8</key>
+		<key>B62DFFE5CBFB4867B7DF7990</key>
 		<dict>
-			<key>buildActionMask</key>
-			<string>2147483647</string>
-			<key>files</key>
+			<key>buildConfigurations</key>
 			<array>
-				<string>336380C581974C1693984C4F</string>
-				<string>62470C9DEAEC4A5FA14FFBAB</string>
+				<string>BCA06C8117B64E9C9068463A</string>
+				<string>AC31745236C145ECA95C2714</string>
 			</array>
-			<key>isa</key>
-			<string>PBXFrameworksBuildPhase</string>
-			<key>runOnlyForDeploymentPostprocessing</key>
+			<key>defaultConfigurationIsVisible</key>
 			<string>0</string>
-		</dict>
-		<key>7BC0B797F46442BBB62341C0</key>
-		<dict>
+			<key>defaultConfigurationName</key>
+			<string>Release</string>
 			<key>isa</key>
-			<string>PBXTargetDependency</string>
-			<key>target</key>
-			<string>8FDB4F0606BD4C1894958BA6</string>
-			<key>targetProxy</key>
-			<string>EB8857BBCEF8465399432CCC</string>
+			<string>XCConfigurationList</string>
 		</dict>
-		<key>85FD02121C2346C4AE1B9923</key>
+		<key>B63F41B7299945BA8FFD6539</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>AFNetworkActivityIndicatorManager.h</string>
+			<string>NotificationBackgroundErrorIcon@2x.png</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundErrorIcon@2x.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>882E6151E6F848F49C4D5B07</key>
+		<key>B8D88992A832436B9D22B323</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>wrapper.framework</string>
 			<key>name</key>
-			<string>SystemConfiguration.framework</string>
+			<string>NotificationButtonBackground.png</string>
 			<key>path</key>
-			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/SystemConfiguration.framework</string>
+			<string>TSMessages/Resources/Images/NotificationButtonBackground.png</string>
 			<key>sourceTree</key>
-			<string>DEVELOPER_DIR</string>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>8FDB4F0606BD4C1894958BA6</key>
+		<key>B9D5237F692940C2BAA0755F</key>
 		<dict>
-			<key>buildConfigurationList</key>
-			<string>532C9A7A4277494585525040</string>
-			<key>buildPhases</key>
+			<key>children</key>
 			<array>
-				<string>9B81FE3D80C242A9A2A77F1E</string>
-				<string>1CCC45DD964A4CABA3A46932</string>
-				<string>2C65D63D816C4E92838F43A4</string>
+				<string>9B95BBD84BE341D1B2B0F6AC</string>
+				<string>1E0FED3BBD5B42BB94651B0C</string>
+				<string>C84C2C205D434E9089061F75</string>
+				<string>9BACB1877C00409EB50CA14A</string>
+				<string>B3479B74602B4840B921D29A</string>
+				<string>D832DF2EC4A0477B9BEDE3A8</string>
+				<string>FC2FF252B1E54F0BBE5CC9E4</string>
+				<string>D46F6DA8C3C34E188470DEF0</string>
+				<string>5766F76E9786464EBB9FC603</string>
+				<string>49CB912DA01D40D2A1A6A895</string>
+				<string>A90C80146A9343A2807C1D57</string>
+				<string>68AE8DF3CDFF45549638AD33</string>
+				<string>28942885D76A4AC4B9523DC1</string>
+				<string>765ADB1362B448138BDBD943</string>
+				<string>6310837C74044B12A33E78D1</string>
+				<string>158820770EE74D0483C33422</string>
+				<string>92A71C80017C416699BFB74D</string>
+				<string>75078CBACF864BB59C04FCC3</string>
+				<string>A865ED800E9E47AA8081FF91</string>
 			</array>
-			<key>buildRules</key>
-			<array/>
-			<key>dependencies</key>
-			<array/>
 			<key>isa</key>
-			<string>PBXNativeTarget</string>
+			<string>PBXGroup</string>
 			<key>name</key>
-			<string>Pods-AFNetworking</string>
-			<key>productName</key>
-			<string>Pods-AFNetworking</string>
-			<key>productReference</key>
-			<string>BA25ECC8E23F46CAA4BE075D</string>
-			<key>productType</key>
-			<string>com.apple.product-type.library.static</string>
+			<string>AFNetworking</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
 		</dict>
-		<key>900F5196D9134415871CA796</key>
+		<key>BA4C80DB047642EFB0EFD683</key>
 		<dict>
-			<key>includeInIndex</key>
-			<string>1</string>
 			<key>isa</key>
-			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
+			<string>PBXTargetDependency</string>
+			<key>target</key>
+			<string>ADA9A9C691B34B59BEE507CD</string>
+			<key>targetProxy</key>
+			<string>F822B1486FBE4F6CB8814A6C</string>
+		</dict>
+		<key>BC4A801DDCE94D149B48B140</key>
+		<dict>
+			<key>fileRef</key>
+			<string>3565D6C211834D72BF11E4CA</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>BCA06C8117B64E9C9068463A</key>
+		<dict>
+			<key>buildSettings</key>
+			<dict>
+				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
+				<string>5.1</string>
+			</dict>
+			<key>isa</key>
+			<string>XCBuildConfiguration</string>
 			<key>name</key>
-			<string>UIImageView+AFNetworking.h</string>
-			<key>path</key>
-			<string>AFNetworking/AFNetworking/UIImageView+AFNetworking.h</string>
-			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
+			<string>Release</string>
 		</dict>
-		<key>90F173E144444EAF8DD089E6</key>
+		<key>BE5DFCDF65F64AF1929E8611</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>AFXMLRequestOperation.h</string>
+			<string>design.json</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFXMLRequestOperation.h</string>
+			<string>TSMessages/Resources/design.json</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>9606A8E1FE2645579CCB0A93</key>
-		<dict>
-			<key>fileRef</key>
-			<string>0421BF4CECD84B2DBA4286A1</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-		</dict>
-		<key>965A0D75A4514B64A397D7A3</key>
-		<dict>
-			<key>fileRef</key>
-			<string>4449EBD30C2C48D180D5D7B1</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-		</dict>
-		<key>98889C5F4A87453795DD4289</key>
+		<key>BE7D2B7CEBA448F9A77B8E57</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>NotificationBackgroundSuccessIcon.png</string>
 			<key>path</key>
-			<string>Pods-AFNetworking-prefix.pch</string>
+			<string>TSMessages/Resources/Images/NotificationBackgroundSuccessIcon.png</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>9A17B59EECFA4588AA01B08A</key>
+		<key>C15182D519BD49D9A9BAABCF</key>
 		<dict>
 			<key>children</key>
 			<array>
-				<string>C2F0322278654CBCA67EFFF2</string>
-				<string>5DC83A5742F14BCBA7AEF127</string>
-				<string>0DC13CA9D5D04B6BAB2E9A27</string>
-				<string>576A4FFF6C8F4FC39682BAFA</string>
-				<string>882E6151E6F848F49C4D5B07</string>
+				<string>E7B46A39D99642C7970F2E25</string>
+				<string>CB1E44250D0B4962BCC0D6EE</string>
+				<string>019CDB37031B4F408907C84A</string>
+				<string>5D333F57DE2F4C20A7446C2B</string>
 			</array>
 			<key>isa</key>
 			<string>PBXGroup</string>
 			<key>name</key>
-			<string>Frameworks</string>
+			<string>Products</string>
 			<key>sourceTree</key>
 			<string>&lt;group&gt;</string>
 		</dict>
-		<key>9B81FE3D80C242A9A2A77F1E</key>
+		<key>C318BC533F54445A92AA6C5A</key>
+		<dict>
+			<key>buildConfigurations</key>
+			<array>
+				<string>71FD6912DAA24180965C0B2F</string>
+				<string>9203AED0DF6C4566A3A70E50</string>
+			</array>
+			<key>defaultConfigurationIsVisible</key>
+			<string>0</string>
+			<key>defaultConfigurationName</key>
+			<string>Release</string>
+			<key>isa</key>
+			<string>XCConfigurationList</string>
+		</dict>
+		<key>C3E2583C239A4BEF9748001C</key>
 		<dict>
 			<key>buildActionMask</key>
 			<string>2147483647</string>
 			<key>files</key>
 			<array>
-				<string>2AD198976C6241F19A97E302</string>
-				<string>D3E43EF986664C6A8F19CEB9</string>
-				<string>6F68FE0505D842C68AC1B7AD</string>
-				<string>F1247ACF510045CAB3034445</string>
-				<string>E30A80E5781C48619CD572CD</string>
-				<string>B88A7D30ED1E460C8A966996</string>
-				<string>A85921F2C9944542AE162862</string>
-				<string>FF1146A61C17425B93D3DFF9</string>
-				<string>E582DC019D654482B9F979E4</string>
-				<string>BBC5CF1FD8A84A209AEB15F1</string>
+				<string>661D728FDEE749E1804B4B2B</string>
 			</array>
 			<key>isa</key>
-			<string>PBXSourcesBuildPhase</string>
+			<string>PBXFrameworksBuildPhase</string>
 			<key>runOnlyForDeploymentPostprocessing</key>
 			<string>0</string>
 		</dict>
-		<key>9BF8FB134B094FAA8D7A86E8</key>
+		<key>C3F407E83D2D46C1A463BD5D</key>
 		<dict>
 			<key>fileRef</key>
-			<string>305331184E9F4E4FA853ABF0</string>
+			<string>CB1E44250D0B4962BCC0D6EE</string>
 			<key>isa</key>
 			<string>PBXBuildFile</string>
 		</dict>
-		<key>9C467DE7DBE54935BF1F399F</key>
-		<dict>
-			<key>includeInIndex</key>
-			<string>1</string>
-			<key>isa</key>
-			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
-			<key>path</key>
-			<string>Pods-AFNetworking-dummy.m</string>
-			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
-		</dict>
-		<key>9C57A36DCE1B4E3ABEFDB925</key>
-		<dict>
-			<key>includeInIndex</key>
-			<string>1</string>
-			<key>isa</key>
-			<string>PBXFileReference</string>
-			<key>lastKnownFileType</key>
-			<string>text.xcconfig</string>
-			<key>path</key>
-			<string>Pods-AFNetworking.xcconfig</string>
-			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
-		</dict>
-		<key>9FC2B3FC3D8E45F7856C931D</key>
+		<key>C62ED61003DC4273BBA1BD8C</key>
 		<dict>
 			<key>fileRef</key>
-			<string>240BA2A5370D416F8A36056C</string>
+			<string>C84C2C205D434E9089061F75</string>
 			<key>isa</key>
 			<string>PBXBuildFile</string>
 		</dict>
-		<key>A11D3F29B91A4AFD8DB3B54D</key>
+		<key>C84C2C205D434E9089061F75</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -925,12 +2008,14 @@
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>AFHTTPRequestOperation.h</string>
 			<key>path</key>
-			<string>Pods-environment.h</string>
+			<string>AFNetworking/AFNetworking/AFHTTPRequestOperation.h</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>A3DCDA466A70405EA26A97D4</key>
+		<key>C8541CFAB54F4561983AFF33</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -938,36 +2023,28 @@
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.objc</string>
-			<key>name</key>
-			<string>AFHTTPClient.m</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFHTTPClient.m</string>
+			<string>Pods-dummy.m</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>A85921F2C9944542AE162862</key>
-		<dict>
-			<key>fileRef</key>
-			<string>BA07D55CA8FD4861A20B16B2</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-			<key>settings</key>
-			<dict>
-				<key>COMPILER_FLAGS</key>
-				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
-			</dict>
-		</dict>
-		<key>AE5E7522FB4E4BA6AD2A3F1B</key>
+		<key>CB1E44250D0B4962BCC0D6EE</key>
 		<dict>
-			<key>fileRef</key>
-			<string>90F173E144444EAF8DD089E6</string>
+			<key>explicitFileType</key>
+			<string>archive.ar</string>
+			<key>includeInIndex</key>
+			<string>0</string>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>PBXFileReference</string>
+			<key>path</key>
+			<string>libPods-MBProgressHUD.a</string>
+			<key>sourceTree</key>
+			<string>BUILT_PRODUCTS_DIR</string>
 		</dict>
-		<key>AFA40AF3BA7D4116A734688D</key>
+		<key>CF20BB4E89334F6FBAD721F3</key>
 		<dict>
 			<key>baseConfigurationReference</key>
-			<string>4FC4278C25864E68AC5D030C</string>
+			<string>581F47A2755945F39D16A356</string>
 			<key>buildSettings</key>
 			<dict>
 				<key>ALWAYS_SEARCH_USER_PATHS</key>
@@ -975,29 +2052,32 @@
 				<key>ARCHS</key>
 				<string>$(ARCHS_STANDARD_32_BIT)</string>
 				<key>COPY_PHASE_STRIP</key>
-				<string>YES</string>
+				<string>NO</string>
 				<key>DSTROOT</key>
 				<string>/tmp/xcodeproj.dst</string>
 				<key>GCC_C_LANGUAGE_STANDARD</key>
 				<string>gnu99</string>
+				<key>GCC_DYNAMIC_NO_PIC</key>
+				<string>NO</string>
+				<key>GCC_OPTIMIZATION_LEVEL</key>
+				<string>0</string>
 				<key>GCC_PRECOMPILE_PREFIX_HEADER</key>
 				<string>YES</string>
+				<key>GCC_PREFIX_HEADER</key>
+				<string>Pods-MBProgressHUD-prefix.pch</string>
+				<key>GCC_PREPROCESSOR_DEFINITIONS</key>
+				<array>
+					<string>DEBUG=1</string>
+					<string>$(inherited)</string>
+				</array>
+				<key>GCC_SYMBOLS_PRIVATE_EXTERN</key>
+				<string>NO</string>
 				<key>GCC_VERSION</key>
 				<string>com.apple.compilers.llvm.clang.1_0</string>
 				<key>INSTALL_PATH</key>
 				<string>$(BUILT_PRODUCTS_DIR)</string>
 				<key>IPHONEOS_DEPLOYMENT_TARGET</key>
 				<string>5.1</string>
-				<key>OTHER_CFLAGS</key>
-				<array>
-					<string>-DNS_BLOCK_ASSERTIONS=1</string>
-					<string>$(inherited)</string>
-				</array>
-				<key>OTHER_CPLUSPLUSFLAGS</key>
-				<array>
-					<string>-DNS_BLOCK_ASSERTIONS=1</string>
-					<string>$(inherited)</string>
-				</array>
 				<key>OTHER_LDFLAGS</key>
 				<string></string>
 				<key>PRODUCT_NAME</key>
@@ -1008,27 +2088,39 @@
 				<string>iphoneos</string>
 				<key>SKIP_INSTALL</key>
 				<string>YES</string>
-				<key>VALIDATE_PRODUCT</key>
-				<string>YES</string>
 			</dict>
 			<key>isa</key>
 			<string>XCBuildConfiguration</string>
 			<key>name</key>
-			<string>Release</string>
+			<string>Debug</string>
 		</dict>
-		<key>B88A7D30ED1E460C8A966996</key>
+		<key>CF8CF130CB2D45109CE3CBFA</key>
 		<dict>
-			<key>fileRef</key>
-			<string>470D947AF88C4068BF8951D3</string>
+			<key>includeInIndex</key>
+			<string>1</string>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
-			<key>settings</key>
-			<dict>
-				<key>COMPILER_FLAGS</key>
-				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
-			</dict>
+			<string>PBXFileReference</string>
+			<key>name</key>
+			<string>NotificationBackgroundSuccess@2x.png</string>
+			<key>path</key>
+			<string>TSMessages/Resources/Images/NotificationBackgroundSuccess@2x.png</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>BA07D55CA8FD4861A20B16B2</key>
+		<key>CF8D96445CEF4A5CB6A05492</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>name</key>
+			<string>NotificationBackgroundError@2x.png</string>
+			<key>path</key>
+			<string>TSMessages/Resources/Images/NotificationBackgroundError@2x.png</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>D46F6DA8C3C34E188470DEF0</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -1037,46 +2129,84 @@
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.objc</string>
 			<key>name</key>
-			<string>AFURLConnectionOperation.m</string>
+			<string>AFJSONRequestOperation.m</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFURLConnectionOperation.m</string>
+			<string>AFNetworking/AFNetworking/AFJSONRequestOperation.m</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>BA25ECC8E23F46CAA4BE075D</key>
+		<key>D4DD331F94EA492498CC6B54</key>
 		<dict>
-			<key>explicitFileType</key>
-			<string>archive.ar</string>
 			<key>includeInIndex</key>
-			<string>0</string>
+			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>UIColor+MLColorAdditions.m</string>
 			<key>path</key>
-			<string>libPods-AFNetworking.a</string>
+			<string>TSMessages/Classes/UIColorAdditions/UIColor+MLColorAdditions.m</string>
 			<key>sourceTree</key>
-			<string>BUILT_PRODUCTS_DIR</string>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>BAD98EAFDBD24278A8446C31</key>
+		<key>D54ADED3EEC14595A3C05FAB</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>text</string>
+			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>Podfile</string>
+			<string>TSMessage.h</string>
 			<key>path</key>
-			<string>../Podfile</string>
+			<string>TSMessages/Classes/TSMessage.h</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>D766AD8D7A794B8E8B4E4422</key>
+		<dict>
+			<key>children</key>
+			<array>
+				<string>3F8CF9F8BBFF4E239919F73D</string>
+				<string>B582CFB4CC4740399C819E81</string>
+				<string>E62152BE7E5946EAB7969549</string>
+				<string>571F38702605491EB5884968</string>
+			</array>
+			<key>isa</key>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Targets Support Files</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
+		</dict>
+		<key>D7BC08FD798F458EBD70845F</key>
+		<dict>
+			<key>fileRef</key>
+			<string>B3479B74602B4840B921D29A</string>
+			<key>isa</key>
+			<string>PBXBuildFile</string>
+		</dict>
+		<key>D832DF2EC4A0477B9BEDE3A8</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>sourcecode.c.objc</string>
+			<key>name</key>
+			<string>AFImageRequestOperation.m</string>
+			<key>path</key>
+			<string>AFNetworking/AFNetworking/AFImageRequestOperation.m</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
-			<key>xcLanguageSpecificationIdentifier</key>
-			<string>xcode.lang.ruby</string>
 		</dict>
-		<key>BB5B2E2B2C7C42AD86339386</key>
+		<key>DA566B3D97004AE6B742726C</key>
 		<dict>
 			<key>baseConfigurationReference</key>
-			<string>330F7A568FC848FEBE785D15</string>
+			<string>7359C739E7AF408BA589A998</string>
 			<key>buildSettings</key>
 			<dict>
 				<key>ALWAYS_SEARCH_USER_PATHS</key>
@@ -1126,46 +2256,75 @@
 			<key>name</key>
 			<string>Debug</string>
 		</dict>
-		<key>BBC5CF1FD8A84A209AEB15F1</key>
+		<key>DA59B8D653C841C09060BFE8</key>
 		<dict>
-			<key>fileRef</key>
-			<string>9C467DE7DBE54935BF1F399F</string>
+			<key>buildConfigurations</key>
+			<array>
+				<string>1F248E12260F4217AB927ECC</string>
+				<string>CF20BB4E89334F6FBAD721F3</string>
+			</array>
+			<key>defaultConfigurationIsVisible</key>
+			<string>0</string>
+			<key>defaultConfigurationName</key>
+			<string>Release</string>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>XCConfigurationList</string>
 		</dict>
-		<key>BBDB198C23434EBBB58F3B20</key>
+		<key>DE6686F428074E9EB93D901B</key>
 		<dict>
-			<key>fileRef</key>
-			<string>5DC83A5742F14BCBA7AEF127</string>
+			<key>buildActionMask</key>
+			<string>2147483647</string>
+			<key>files</key>
+			<array>
+				<string>199C59355CFB400E89EA9EB1</string>
+				<string>583375BD745C40B79E37018A</string>
+				<string>C3F407E83D2D46C1A463BD5D</string>
+				<string>7818193E66614DC29CEEAA71</string>
+			</array>
 			<key>isa</key>
-			<string>PBXBuildFile</string>
+			<string>PBXFrameworksBuildPhase</string>
+			<key>runOnlyForDeploymentPostprocessing</key>
+			<string>0</string>
 		</dict>
-		<key>C2F0322278654CBCA67EFFF2</key>
+		<key>E1AEA6727BA946179E2CE537</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>wrapper.framework</string>
+			<string>sourcecode.c.h</string>
 			<key>name</key>
-			<string>CoreGraphics.framework</string>
+			<string>UIColor+MLColorAdditions.h</string>
 			<key>path</key>
-			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/CoreGraphics.framework</string>
+			<string>TSMessages/Classes/UIColorAdditions/UIColor+MLColorAdditions.h</string>
 			<key>sourceTree</key>
-			<string>DEVELOPER_DIR</string>
+			<string>SOURCE_ROOT</string>
+		</dict>
+		<key>E22EF988638149E1AF5CBA0C</key>
+		<dict>
+			<key>includeInIndex</key>
+			<string>1</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>lastKnownFileType</key>
+			<string>text.xcconfig</string>
+			<key>path</key>
+			<string>Pods-TSMessages-Private.xcconfig</string>
+			<key>sourceTree</key>
+			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>C8CFA637BE9544638C03A08E</key>
+		<key>E337AAABE162452BA2461309</key>
 		<dict>
 			<key>fileRef</key>
-			<string>900F5196D9134415871CA796</string>
+			<string>9B95BBD84BE341D1B2B0F6AC</string>
 			<key>isa</key>
 			<string>PBXBuildFile</string>
 		</dict>
-		<key>D3E43EF986664C6A8F19CEB9</key>
+		<key>E3558BFED93D40D395EFEC01</key>
 		<dict>
 			<key>fileRef</key>
-			<string>6847FC8DAC614B96863622CC</string>
+			<string>4CD4DE67D4B8445D8DDF041D</string>
 			<key>isa</key>
 			<string>PBXBuildFile</string>
 			<key>settings</key>
@@ -1174,36 +2333,70 @@
 				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
 			</dict>
 		</dict>
-		<key>D8B6128479A0486E8478082E</key>
+		<key>E62152BE7E5946EAB7969549</key>
 		<dict>
 			<key>children</key>
 			<array>
-				<string>9A17B59EECFA4588AA01B08A</string>
-				<string>2ABB3F41BC5542E09FC9742D</string>
-				<string>3CCE324BF58446D0A729E9F4</string>
-				<string>EAB13292FFAA4F5EB3CAE38D</string>
-				<string>BAD98EAFDBD24278A8446C31</string>
+				<string>3C66C73019C04B3B8F86B6DA</string>
+				<string>E22EF988638149E1AF5CBA0C</string>
+				<string>7CF1FF01418C427D8B03AD5D</string>
+				<string>2B86FF0DF8D14660A0027EB0</string>
 			</array>
 			<key>isa</key>
 			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Pods-TSMessages</string>
 			<key>sourceTree</key>
 			<string>&lt;group&gt;</string>
 		</dict>
-		<key>D8F15657BD5C4604A666DE46</key>
+		<key>E7B46A39D99642C7970F2E25</key>
 		<dict>
-			<key>buildConfigurations</key>
+			<key>explicitFileType</key>
+			<string>archive.ar</string>
+			<key>includeInIndex</key>
+			<string>0</string>
+			<key>isa</key>
+			<string>PBXFileReference</string>
+			<key>path</key>
+			<string>libPods-AFNetworking.a</string>
+			<key>sourceTree</key>
+			<string>BUILT_PRODUCTS_DIR</string>
+		</dict>
+		<key>EC908B1B57A6484F9E40284B</key>
+		<dict>
+			<key>isa</key>
+			<string>PBXTargetDependency</string>
+			<key>target</key>
+			<string>F24EF3A29A1B4D7A8BF97C22</string>
+			<key>targetProxy</key>
+			<string>B4507365CBF946E3B75AA4AD</string>
+		</dict>
+		<key>F24EF3A29A1B4D7A8BF97C22</key>
+		<dict>
+			<key>buildConfigurationList</key>
+			<string>DA59B8D653C841C09060BFE8</string>
+			<key>buildPhases</key>
 			<array>
-				<string>44ED6539438F4433B3F26307</string>
-				<string>3C514AC7517A4D108A03470E</string>
+				<string>7097C2FDF6224737980187CF</string>
+				<string>A0367F2D57A9424D9D2BA7DD</string>
+				<string>0E39F548102F458DA312C0B7</string>
 			</array>
-			<key>defaultConfigurationIsVisible</key>
-			<string>0</string>
-			<key>defaultConfigurationName</key>
-			<string>Release</string>
+			<key>buildRules</key>
+			<array/>
+			<key>dependencies</key>
+			<array/>
 			<key>isa</key>
-			<string>XCConfigurationList</string>
+			<string>PBXNativeTarget</string>
+			<key>name</key>
+			<string>Pods-MBProgressHUD</string>
+			<key>productName</key>
+			<string>Pods-MBProgressHUD</string>
+			<key>productReference</key>
+			<string>CB1E44250D0B4962BCC0D6EE</string>
+			<key>productType</key>
+			<string>com.apple.product-type.library.static</string>
 		</dict>
-		<key>DA95B360AAB94BE596CB76FE</key>
+		<key>F2586438D5044DB4B26CA59A</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
@@ -1211,46 +2404,58 @@
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
 			<string>sourcecode.c.h</string>
-			<key>name</key>
-			<string>AFURLConnectionOperation.h</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFURLConnectionOperation.h</string>
+			<string>Pods-AFNetworking-prefix.pch</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>DD221337B2A549AF980139DC</key>
+		<key>F7178D062D5047ACB0CDFDA2</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>sourcecode.c.objc</string>
+			<string>wrapper.framework</string>
 			<key>name</key>
-			<string>AFJSONRequestOperation.m</string>
+			<string>SystemConfiguration.framework</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFJSONRequestOperation.m</string>
+			<string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/SystemConfiguration.framework</string>
 			<key>sourceTree</key>
-			<string>SOURCE_ROOT</string>
+			<string>DEVELOPER_DIR</string>
 		</dict>
-		<key>DE8A3CDA31A2494B9BAC6BD7</key>
+		<key>F822B1486FBE4F6CB8814A6C</key>
 		<dict>
-			<key>buildConfigurations</key>
+			<key>containerPortal</key>
+			<string>37E3DB258EE94D858863074E</string>
+			<key>isa</key>
+			<string>PBXContainerItemProxy</string>
+			<key>proxyType</key>
+			<string>1</string>
+			<key>remoteGlobalIDString</key>
+			<string>ADA9A9C691B34B59BEE507CD</string>
+			<key>remoteInfo</key>
+			<string>Pods-AFNetworking</string>
+		</dict>
+		<key>F8EFA416B3B0459E8E2FE4DD</key>
+		<dict>
+			<key>children</key>
 			<array>
-				<string>AFA40AF3BA7D4116A734688D</string>
-				<string>64EEBEEF4CE44758A21408E0</string>
+				<string>B9D5237F692940C2BAA0755F</string>
+				<string>3DEAD6F713CC4301BB5E1ADC</string>
+				<string>3DDBF9D5416C4B07ACD40F7D</string>
 			</array>
-			<key>defaultConfigurationIsVisible</key>
-			<string>0</string>
-			<key>defaultConfigurationName</key>
-			<string>Release</string>
 			<key>isa</key>
-			<string>XCConfigurationList</string>
+			<string>PBXGroup</string>
+			<key>name</key>
+			<string>Pods</string>
+			<key>sourceTree</key>
+			<string>&lt;group&gt;</string>
 		</dict>
-		<key>E30A80E5781C48619CD572CD</key>
+		<key>F90C8ECAF3534AE2B3C2CB98</key>
 		<dict>
 			<key>fileRef</key>
-			<string>031A3D17177440C1BE030F50</string>
+			<string>28942885D76A4AC4B9523DC1</string>
 			<key>isa</key>
 			<string>PBXBuildFile</string>
 			<key>settings</key>
@@ -1259,113 +2464,36 @@
 				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
 			</dict>
 		</dict>
-		<key>E42F4FDF601944ACA28E1A52</key>
-		<dict>
-			<key>fileRef</key>
-			<string>85FD02121C2346C4AE1B9923</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-		</dict>
-		<key>E461D72BF9914481BFD2BEE0</key>
-		<dict>
-			<key>fileRef</key>
-			<string>E758213909744B97A604E7F2</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-		</dict>
-		<key>E4B288EFF1A942228050CBAF</key>
+		<key>FC2FF252B1E54F0BBE5CC9E4</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>text</string>
+			<string>sourcecode.c.h</string>
+			<key>name</key>
+			<string>AFJSONRequestOperation.h</string>
 			<key>path</key>
-			<string>Pods-acknowledgements.markdown</string>
+			<string>AFNetworking/AFNetworking/AFJSONRequestOperation.h</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>E582DC019D654482B9F979E4</key>
-		<dict>
-			<key>fileRef</key>
-			<string>005A82B7EE2A4B48907E3394</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-			<key>settings</key>
-			<dict>
-				<key>COMPILER_FLAGS</key>
-				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
-			</dict>
-		</dict>
-		<key>E758213909744B97A604E7F2</key>
+		<key>FFDFDCCFA56A4B04A44D3A9C</key>
 		<dict>
 			<key>includeInIndex</key>
 			<string>1</string>
 			<key>isa</key>
 			<string>PBXFileReference</string>
 			<key>lastKnownFileType</key>
-			<string>sourcecode.c.h</string>
-			<key>name</key>
-			<string>AFHTTPRequestOperation.h</string>
+			<string>sourcecode.c.objc</string>
 			<key>path</key>
-			<string>AFNetworking/AFNetworking/AFHTTPRequestOperation.h</string>
+			<string>Pods-MBProgressHUD-dummy.m</string>
 			<key>sourceTree</key>
 			<string>SOURCE_ROOT</string>
 		</dict>
-		<key>EAB13292FFAA4F5EB3CAE38D</key>
-		<dict>
-			<key>children</key>
-			<array>
-				<string>20A4397D9B6245428CBDBEA9</string>
-				<string>16318CCB1445444C90FEFF46</string>
-			</array>
-			<key>isa</key>
-			<string>PBXGroup</string>
-			<key>name</key>
-			<string>Targets Support Files</string>
-			<key>sourceTree</key>
-			<string>&lt;group&gt;</string>
-		</dict>
-		<key>EB8857BBCEF8465399432CCC</key>
-		<dict>
-			<key>containerPortal</key>
-			<string>1FE29F43B7754CB0A0E6CB52</string>
-			<key>isa</key>
-			<string>PBXContainerItemProxy</string>
-			<key>proxyType</key>
-			<string>1</string>
-			<key>remoteGlobalIDString</key>
-			<string>8FDB4F0606BD4C1894958BA6</string>
-			<key>remoteInfo</key>
-			<string>Pods-AFNetworking</string>
-		</dict>
-		<key>F1247ACF510045CAB3034445</key>
-		<dict>
-			<key>fileRef</key>
-			<string>DD221337B2A549AF980139DC</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-			<key>settings</key>
-			<dict>
-				<key>COMPILER_FLAGS</key>
-				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
-			</dict>
-		</dict>
-		<key>FF1146A61C17425B93D3DFF9</key>
-		<dict>
-			<key>fileRef</key>
-			<string>37FD6247655D4112AAAA6AE8</string>
-			<key>isa</key>
-			<string>PBXBuildFile</string>
-			<key>settings</key>
-			<dict>
-				<key>COMPILER_FLAGS</key>
-				<string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
-			</dict>
-		</dict>
 	</dict>
 	<key>rootObject</key>
-	<string>1FE29F43B7754CB0A0E6CB52</string>
+	<string>37E3DB258EE94D858863074E</string>
 </dict>
 </plist>
Pods/TSMessages/Classes/UIColorAdditions/UIColor+MLColorAdditions.h
@@ -0,0 +1,22 @@
+//
+//  UIColor+UIColor_MLColorAdditions.h
+//
+//  Created by Marius Landwehr on 02.12.12.
+//  The MIT License (MIT)
+//  Copyright (c) 2012 Marius Landwehr marius.landwehr@gmail.com
+//
+//  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+//
+//  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+//
+//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface UIColor (MLColorAdditions)
+
++ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;
++ (UIColor *)colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue alpha:(CGFloat)alpha;
+
+@end
Pods/TSMessages/Classes/UIColorAdditions/UIColor+MLColorAdditions.m
@@ -0,0 +1,49 @@
+//
+//  UIColor+MLColorAdditions.m
+//
+//  Created by Marius Landwehr on 02.12.12.
+//  The MIT License (MIT)
+//  Copyright (c) 2012 Marius Landwehr marius.landwehr@gmail.com
+//
+//  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+//
+//  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+//
+//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import "UIColor+MLColorAdditions.h"
+
+@implementation UIColor (MLColorAdditions)
+
+
++ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha
+{
+    assert(7 == hexString.length);
+    assert('#' == [hexString characterAtIndex:0]);
+    
+    NSString *redHex    = [NSString stringWithFormat:@"0x%@", [hexString substringWithRange:NSMakeRange(1, 2)]];
+    NSString *greenHex  = [NSString stringWithFormat:@"0x%@", [hexString substringWithRange:NSMakeRange(3, 2)]];
+    NSString *blueHex   = [NSString stringWithFormat:@"0x%@", [hexString substringWithRange:NSMakeRange(5, 2)]];
+    
+    unsigned redInt = 0;
+    NSScanner *redScanner = [NSScanner scannerWithString:redHex];
+    [redScanner scanHexInt:&redInt];
+    
+    unsigned greenInt = 0;
+    NSScanner *greenScanner = [NSScanner scannerWithString:greenHex];
+    [greenScanner scanHexInt:&greenInt];
+    
+    unsigned blueInt = 0;
+    NSScanner *blueScanner = [NSScanner scannerWithString:blueHex];
+    [blueScanner scanHexInt:&blueInt];
+    
+    return [UIColor colorWith8BitRed:redInt green:greenInt blue:blueInt alpha:alpha];
+}
+
++ (UIColor *)colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue alpha:(CGFloat)alpha
+{
+    return [UIColor colorWithRed:(float)red/255 green:(float)green/255 blue:(float)blue/255 alpha:alpha];
+}
+
+@end
Pods/TSMessages/Classes/TSMessage.h
@@ -0,0 +1,157 @@
+//
+//  TSMessage.h
+//  Toursprung
+//
+//  Created by Felix Krause on 24.08.12.
+//  Copyright (c) 2012 Toursprung. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+typedef enum {
+    TSMessageNotificationTypeMessage = 0,
+    TSMessageNotificationTypeWarning,
+    TSMessageNotificationTypeError,
+    TSMessageNotificationTypeSuccess
+} TSMessageNotificationType;
+
+typedef enum {
+    TSMessageNotificationPositionTop = 0,
+    TSMessageNotificationPositionBottom
+} TSMessageNotificationPosition;
+
+/** This enum can be passed to the duration parameter */
+typedef enum {
+    TSMessageNotificationDurationAutomatic = 0,
+    TSMessageNotificationDurationEndless = -1 // The notification is displayed until the user dismissed it or it is dismissed by calling dismissActiveNotification
+} TSMessageNotificationDuration;
+
+
+@interface TSMessage : NSObject
+
++ (instancetype)sharedMessage;
+
+/** Indicates whether a notification is currently active. */
++ (BOOL)isNotificationActive;
+
+/** Shows a notification message 
+ @param message The title of the notification view
+ @param type The notification type (Message, Warning, Error, Success)
+ */
++ (void)showNotificationWithMessage:(NSString *)message
+                           withType:(TSMessageNotificationType)type;
+
+/** Shows a notification message
+ @param title The title of the notification view
+ @param message The message that is displayed underneath the title
+ @param type The notification type (Message, Warning, Error, Success)
+ */
++ (void)showNotificationWithTitle:(NSString *)title
+                      withMessage:(NSString *)message
+                         withType:(TSMessageNotificationType)type;
+
+/** Shows a notification message in a specific view controller
+ @param viewController The view controller to show the notification in.
+ @param title The title of the notification view
+ @param message The message that is displayed underneath the title
+ @param type The notification type (Message, Warning, Error, Success)
+ */
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type;
+
+/** Shows a notification message in a specific view controller
+ @param viewController The view controller to show the notification in.
+ @param title The title of the notification view
+ @param message The message that is displayed underneath the title
+ @param type The notification type (Message, Warning, Error, Success)
+ @param duration The duration of the notification being displayed
+ */
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration;
+
+/** Shows a notification message in a specific view controller
+ @param viewController The view controller to show the notification in.
+ @param title The title of the notification view
+ @param message The message that is displayed underneath the title
+ @param type The notification type (Message, Warning, Error, Success)
+ @param duration The duration of the notification being displayed
+ @param callback The block that should be executed, when the user tapped on the message
+ */
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+                            withCallback:(void (^)())callback;
+
+/** Shows a notification message in a specific view controller
+ @param viewController The view controller to show the notification in.
+ @param title The title of the notification view
+ @param message The message that is displayed underneath the title
+ @param type The notification type (Message, Warning, Error, Success)
+ @param duration The duration of the notification being displayed
+ @param callback The block that should be executed, when the user tapped on the message
+ @param position The position of the message on the screen
+ */
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+                            withCallback:(void (^)())callback
+                              atPosition:(TSMessageNotificationPosition)messagePosition;
+
+/** Shows a notification message in a specific view controller
+ @param viewController The view controller to show the notification in.
+ @param title The title of the notification view
+ @param message The message that is displayed underneath the title
+ @param type The notification type (Message, Warning, Error, Success)
+ @param duration The duration of the notification being displayed
+ @param callback The block that should be executed, when the user tapped on the message
+ @param buttonTitle The title for button (optional)
+ @param buttonCallback The block that should be executed, when the user tapped on the button
+ @param position The position of the message on the screen
+ @param dismissingEnabled Should the message be dismissed when the user taps/swipes it
+ */
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+                            withCallback:(void (^)())callback
+                         withButtonTitle:(NSString *)buttonTitle
+                      withButtonCallback:(void (^)())buttonCallback
+                              atPosition:(TSMessageNotificationPosition)messagePosition
+                     canBeDismisedByUser:(BOOL)dismissingEnabled;
+
+
+/** Fades out the currently displayed notification. If another notification is in the queue,
+ the next one will be displayed automatically 
+ @return YES if the currently displayed notification could be hidden. NO if no notification 
+ was currently displayed.
+ */
++ (BOOL)dismissActiveNotification;
+
+
+
+/** Shows a predefined error message, that is displayed, when this action requires an internet connection */
++ (void)showInternetError;
+
+/** Shows a predefined error message, that is displayed, when this action requires location services */
++ (void)showLocationError;
+
+
+
+
+/** Implement this in subclass to set a default view controller */
++ (UIViewController *)defaultViewController;
+
+/** Can be implemented differently in subclass. Is used to define the top position from which the notification flies in from */
++ (CGFloat)navigationbarBottomOfViewController:(UIViewController *)viewController;
+
+@end
Pods/TSMessages/Classes/TSMessage.m
@@ -0,0 +1,340 @@
+//
+//  TSMessage.m
+//  Toursprung
+//
+//  Created by Felix Krause on 24.08.12.
+//  Copyright (c) 2012 Toursprung. All rights reserved.
+//
+
+#import "TSMessage.h"
+#import "TSMessageView.h"
+
+#define kTSMessageDisplayTime 1.5
+#define kTSMessageExtraDisplayTimePerPixel 0.04
+#define kTSMessageAnimationDuration 0.3
+
+@interface TSMessage ()
+
+/** The queued messages (TSMessageView objects) */
+@property (nonatomic, strong) NSMutableArray *messages;
+
+- (void)fadeInCurrentNotification;
+- (void)fadeOutNotification:(TSMessageView *)currentView;
+
+@end
+
+@implementation TSMessage
+
+static TSMessage *sharedMessages;
+static BOOL notificationActive;
+
+
++ (TSMessage *)sharedMessage
+{
+    if (!sharedMessages)
+    {
+        sharedMessages = [[[self class] alloc] init];
+    }
+    return sharedMessages;
+}
+
++ (BOOL)isNotificationActive
+{
+    return notificationActive;
+}
+
+#pragma mark Methods to call from outside
+
++ (void)showNotificationWithMessage:(NSString *)message
+                           withType:(TSMessageNotificationType)type
+{
+    [self showNotificationWithTitle:message withMessage:nil withType:type];
+}
+
++ (void)showNotificationWithTitle:(NSString *)title
+                      withMessage:(NSString *)message
+                         withType:(TSMessageNotificationType)type
+{
+    [self showNotificationInViewController:[self defaultViewController]
+                                 withTitle:title
+                               withMessage:message
+                                  withType:type];
+}
+
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+{
+    [self showNotificationInViewController:viewController
+                                 withTitle:title
+                               withMessage:message
+                                  withType:type
+                              withDuration:0.0];
+}
+
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+{
+    [self showNotificationInViewController:viewController
+                                 withTitle:title
+                               withMessage:message
+                                  withType:type
+                              withDuration:duration
+                              withCallback:nil];
+}
+
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+                            withCallback:(void (^)())callback
+{
+    [self showNotificationInViewController:viewController
+                                 withTitle:title
+                               withMessage:message
+                                  withType:type
+                              withDuration:duration
+                              withCallback:callback
+                                atPosition:TSMessageNotificationPositionTop];
+}
+
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+                            withCallback:(void (^)())callback
+                              atPosition:(TSMessageNotificationPosition)messagePosition
+{
+    [self showNotificationInViewController:viewController
+                                 withTitle:title
+                               withMessage:message
+                                  withType:type
+                              withDuration:duration
+                              withCallback:callback
+                           withButtonTitle:nil
+                        withButtonCallback:nil
+                                atPosition:messagePosition
+                       canBeDismisedByUser:YES];
+}
+
+
++ (void)showNotificationInViewController:(UIViewController *)viewController
+                               withTitle:(NSString *)title
+                             withMessage:(NSString *)message
+                                withType:(TSMessageNotificationType)type
+                            withDuration:(NSTimeInterval)duration
+                            withCallback:(void (^)())callback
+                         withButtonTitle:(NSString *)buttonTitle
+                      withButtonCallback:(void (^)())buttonCallback
+                              atPosition:(TSMessageNotificationPosition)messagePosition
+                     canBeDismisedByUser:(BOOL)dismissingEnabled
+{
+    for (TSMessageView *n in [TSMessage sharedMessage].messages)
+    {
+        if (([n.title isEqualToString:title] || (!n.title && !title)) && ([n.content isEqualToString:message] || (!n.content && !message)))
+        {
+            return; // avoid showing the same messages twice in a row
+        }
+    }
+    
+    // Create the TSMessageView
+    TSMessageView *v = [[TSMessageView alloc] initWithTitle:title
+                                                withContent:message
+                                                   withType:type
+                                               withDuration:duration
+                                           inViewController:viewController
+                                               withCallback:callback
+                                            withButtonTitle:buttonTitle
+                                         withButtonCallback:buttonCallback
+                                                 atPosition:messagePosition
+                                          shouldBeDismissed:dismissingEnabled];
+    
+    [[TSMessage sharedMessage].messages addObject:v];
+    
+    if (!notificationActive)
+    {
+        [[TSMessage sharedMessage] fadeInCurrentNotification];
+    }
+}
+
+#pragma mark Example uses
+
++ (void)showInternetError
+{
+    [TSMessage showNotificationWithTitle:NSLocalizedString(@"Network error", nil)
+                             withMessage:NSLocalizedString(@"Couldn't connect to the server. Check your network connection.", nil)
+                                withType:TSMessageNotificationTypeError];
+}
+
++ (void)showLocationError
+{
+    [TSMessage showNotificationWithTitle:NSLocalizedString(@"Location error", nil)
+                             withMessage:NSLocalizedString(@"Couldn't detect your current location.", nil)
+                                withType:TSMessageNotificationTypeError];
+}
+
+
+#pragma mark Setting up of notification views
+
+- (id)init
+{
+    if ((self = [super init]))
+    {
+        _messages = [[NSMutableArray alloc] init];
+    }
+    return self;
+}
+
+- (void)fadeInCurrentNotification
+{
+    if ([self.messages count] == 0) return;
+    
+    notificationActive = YES;
+    
+    TSMessageView *currentView = [self.messages objectAtIndex:0];
+    
+    CGFloat verticalOffset = 0.0f;
+    
+    if ([currentView.viewController isKindOfClass:[UINavigationController class]])
+    {
+        if (![(UINavigationController *)currentView.viewController isNavigationBarHidden])
+        {
+            [currentView.viewController.view insertSubview:currentView
+                                              belowSubview:[(UINavigationController *)currentView.viewController navigationBar]];
+            verticalOffset = [(UINavigationController *)currentView.viewController navigationBar].bounds.size.height;
+            
+            if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]))
+            {
+                verticalOffset += [UIApplication sharedApplication].statusBarFrame.size.height;
+            }
+            else
+            {
+                verticalOffset += [UIApplication sharedApplication].statusBarFrame.size.width;
+            }
+        }
+        else
+        {
+            [currentView.viewController.view addSubview:currentView];
+        }
+    }
+    else
+    {
+        [currentView.viewController.view addSubview:currentView];
+    }
+    
+    CGPoint toPoint;
+    if (currentView.messagePosition == TSMessageNotificationPositionTop)
+    {
+        toPoint = CGPointMake(currentView.center.x,
+                              [[self class] navigationbarBottomOfViewController:currentView.viewController] + verticalOffset + CGRectGetHeight(currentView.frame) / 2.0);
+    }
+    else
+    {
+        toPoint = CGPointMake(currentView.center.x,
+                              currentView.viewController.view.bounds.size.height - CGRectGetHeight(currentView.frame) / 2.0);
+    }
+    
+    [UIView animateWithDuration:kTSMessageAnimationDuration animations:^
+     {
+         currentView.center = toPoint;
+         currentView.alpha = TSMessageViewAlpha;
+     } completion:^(BOOL finished) {
+         currentView.messageIsFullyDisplayed = YES;
+     }];
+    
+    
+    if (currentView.duration == TSMessageNotificationDurationAutomatic)
+    {
+        currentView.duration = kTSMessageAnimationDuration + kTSMessageDisplayTime + currentView.frame.size.height * kTSMessageExtraDisplayTimePerPixel;
+    }
+    
+    if (currentView.duration != TSMessageNotificationDurationEndless)
+    {
+        dispatch_async(dispatch_get_main_queue(), ^
+        {
+            [self performSelector:@selector(fadeOutNotification:)
+                       withObject:currentView
+                       afterDelay:currentView.duration];
+        });
+    }
+}
+
+- (void)fadeOutNotification:(TSMessageView *)currentView
+{
+    currentView.messageIsFullyDisplayed = NO;
+    [NSObject cancelPreviousPerformRequestsWithTarget:self
+                                             selector:@selector(fadeOutNotification:)
+                                               object:currentView];
+    
+    CGPoint fadeOutToPoint;
+    if (currentView.messagePosition == TSMessageNotificationPositionTop)
+    {
+        fadeOutToPoint = CGPointMake(currentView.center.x, -CGRectGetHeight(currentView.frame) / 2.0);;
+    }
+    else
+    {
+        fadeOutToPoint = CGPointMake(currentView.center.x,
+                                     currentView.viewController.view.bounds.size.height);
+    }
+    
+    [UIView animateWithDuration:kTSMessageAnimationDuration animations:^
+     {
+         currentView.center = fadeOutToPoint;
+         currentView.alpha = 0.0;
+     }
+                     completion:^(BOOL finished)
+     {
+         [currentView removeFromSuperview];
+         
+         if ([self.messages count] > 0)
+         {
+             [self.messages removeObjectAtIndex:0];
+         }
+         
+         notificationActive = NO;
+         
+         if ([self.messages count] > 0)
+         {
+             [self fadeInCurrentNotification];
+         }
+     }];
+}
+
++ (BOOL)dismissActiveNotification
+{
+    if ([[TSMessage sharedMessage].messages count] == 0) return NO;
+    
+    dispatch_async(dispatch_get_main_queue(), ^
+    {
+        TSMessageView *currentMessage = [[TSMessage sharedMessage].messages objectAtIndex:0];
+        if (currentMessage.messageIsFullyDisplayed)
+        {
+            [[TSMessage sharedMessage] fadeOutNotification:currentMessage];
+        }
+    });
+    return YES;
+}
+
+#pragma mark class Methods to subclass
+
++ (UIViewController *)defaultViewController
+{
+    NSLog(@"No view controller was set as parameter and TSMessage was not subclassed. If you want to subclass, implement defaultViewController to set the default viewController.");
+    return nil;
+    // Implement this in subclass
+}
+
+
++ (CGFloat)navigationbarBottomOfViewController:(UIViewController *)viewController
+{
+    return 0;
+    // Implement this in subclass
+}
+
+@end
Pods/TSMessages/Resources/Images/NotificationBackgroundError.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundError@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundErrorIcon.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundErrorIcon@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundMessage.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundMessage@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundSuccess.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundSuccess@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundSuccessIcon.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundSuccessIcon@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundWarning.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundWarning@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundWarningIcon.png
Binary file
Pods/TSMessages/Resources/Images/NotificationBackgroundWarningIcon@2x.png
Binary file
Pods/TSMessages/Resources/Images/NotificationButtonBackground.png
Binary file
Pods/TSMessages/Resources/Images/NotificationButtonBackground@2x.png
Binary file
Pods/TSMessages/Resources/design.json
@@ -0,0 +1,74 @@
+{
+    "success": {
+        "backgroundImageName": "NotificationBackgroundSuccess.png",
+        "borderColor": "#005700",
+        "borderHeight": 1,
+        "buttonBackgroundImageName": "NotificationButtonBackground.png",
+        "buttonTitleTextColor": "#FFFFFF",
+        "buttonTitleShadowColor": "#67B759",
+        "buttonTitleShadowOffsetX": 0,
+        "buttonTitleShadowOffsetY": -1,
+        "contentFontSize": 12,
+        "contentTextColor": "#FFFFFF",
+        "imageName": "NotificationBackgroundSuccessIcon.png",
+        "shadowColor": "#67B759",
+        "shadowOffsetX": 0,
+        "shadowOffsetY": -1,
+        "textColor": "#FFFFFF",
+        "titleFontSize": 14
+    },
+    "message": {
+        "backgroundImageName": "NotificationBackgroundMessage.png",
+        "borderColor": "#727C83",
+        "borderHeight": 1,
+        "buttonBackgroundImageName": "NotificationButtonBackground.png",
+        "buttonTitleTextColor": "#727C83",
+        "buttonTitleShadowColor": "#EBEEF1",
+        "buttonTitleShadowOffsetX": 0,
+        "buttonTitleShadowOffsetY": 1,
+        "contentFontSize": 12,
+        "contentTextColor": "#727C83",
+        "imageName": "",
+        "shadowColor": "#EBEEF1",
+        "shadowOffsetX": 0,
+        "shadowOffsetY": 1,
+        "textColor": "#727C83",
+        "titleFontSize": 14
+    },
+    "warning": {
+        "backgroundImageName": "NotificationBackgroundWarning.png",
+        "borderColor": "#A28918",
+        "borderHeight": 1,
+        "buttonBackgroundImageName": "NotificationButtonBackground.png",
+        "buttonTitleTextColor": "#484638",
+        "buttonTitleShadowColor": "#E5D87C",
+        "buttonTitleShadowOffsetX": 0,
+        "buttonTitleShadowOffsetY": 1,
+        "contentFontSize": 12,
+        "contentTextColor": "#484638",
+        "imageName": "NotificationBackgroundWarningIcon.png",
+        "shadowColor": "#E5D87C",
+        "shadowOffsetX": 0,
+        "shadowOffsetY": 1,
+        "textColor": "#484638",
+        "titleFontSize": 14
+    },
+    "error": {
+        "backgroundImageName": "NotificationBackgroundError.png",
+        "borderColor": "#700000",
+        "borderHeight": 1,
+        "buttonBackgroundImageName": "NotificationButtonBackground.png",
+        "buttonTitleTextColor": "#FFFFFF",
+        "buttonTitleShadowColor": "#812929",
+        "buttonTitleShadowOffsetX": 0,
+        "buttonTitleShadowOffsetY": -1,
+        "contentFontSize": 12,
+        "contentTextColor": "#FFFFFF",
+        "imageName": "NotificationBackgroundErrorIcon.png",
+        "shadowColor": "#812929",
+        "shadowOffsetX": 0,
+        "shadowOffsetY": -1,
+        "textColor": "#FFFFFF",
+        "titleFontSize": 14
+    }
+}
\ No newline at end of file
Pods/TSMessages/Views/TSMessageView.h
@@ -0,0 +1,60 @@
+//
+//  TSMessageView.h
+//  Toursprung
+//
+//  Created by Felix Krause on 24.08.12.
+//  Copyright (c) 2012 Toursprung. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "TSMessage.h"
+
+#define TSMessageViewAlpha 0.95
+
+@interface TSMessageView : UIView
+
+/** The displayed title of this message */
+@property (nonatomic, readonly) NSString *title;
+
+/** The displayed content of this message (optional) */
+@property (nonatomic, readonly) NSString *content;
+
+/** The view controller this message is displayed in */
+@property (nonatomic, readonly) UIViewController *viewController;
+
+/** The duration of the displayed message. If it is 0.0, it will automatically be calculated */
+@property (nonatomic, assign) CGFloat duration;
+
+/** The position of the message (top or bottom) */
+@property (nonatomic, assign) TSMessageNotificationPosition messagePosition;
+
+/** Is the message currenlty fully displayed? Is set as soon as the message is really fully visible */
+@property (nonatomic, assign) BOOL messageIsFullyDisplayed;
+
+/** Inits the notification view. Do not call this from outside this library.
+ @param title The title of the notification view
+ @param content The subtitle/content of the notification view (optional)
+ @param notificationType The type (color) of the notification view
+ @param duration The duration this notification should be displayed (optional)
+ @param viewController The view controller this message should be displayed in
+ @param callback The block that should be executed, when the user tapped on the message
+ @param buttonTitle The title for button (optional)
+ @param buttonCallback The block that should be executed, when the user tapped on the button
+ @param position The position of the message on the screen
+ @param dismissAble Should this message be dismissed when the user taps/swipes it?
+ */
+- (id)initWithTitle:(NSString *)title
+        withContent:(NSString *)content
+           withType:(TSMessageNotificationType)notificationType
+       withDuration:(CGFloat)duration
+   inViewController:(UIViewController *)viewController
+       withCallback:(void (^)())callback
+    withButtonTitle:(NSString *)buttonTitle
+ withButtonCallback:(void (^)())buttonCallback
+         atPosition:(TSMessageNotificationPosition)position
+  shouldBeDismissed:(BOOL)dismissAble;
+
+/** Fades out this notification view */
+- (void)fadeMeOut;
+
+@end
Pods/TSMessages/Views/TSMessageView.m
@@ -0,0 +1,384 @@
+//
+//  TSMessageView.m
+//  Toursprung
+//
+//  Created by Felix Krause on 24.08.12.
+//  Copyright (c) 2012 Toursprung. All rights reserved.
+//
+
+#import "TSMessageView.h"
+#import "UIColor+MLColorAdditions.h"
+
+#define TSMessageViewPadding 15.0
+
+#define TSDesignFileName @"design.json"
+
+static NSDictionary *notificationDesign;
+
+@interface TSMessageView ()
+
+@property (nonatomic, strong) NSString *title;
+@property (nonatomic, strong) NSString *content;
+@property (nonatomic, strong) NSString *buttonTitle;
+@property (nonatomic, strong) UIViewController *viewController;
+
+/** Internal properties needed to resize the view on device rotation properly */
+@property (nonatomic, strong) UILabel *titleLabel;
+@property (nonatomic, strong) UILabel *contentLabel;
+@property (nonatomic, strong) UIImageView *iconImageView;
+@property (nonatomic, strong) UIButton *button;
+@property (nonatomic, strong) UIView *borderView;
+@property (nonatomic, strong) UIImageView *backgroundImageView;
+
+@property (nonatomic, assign) CGFloat textSpaceLeft;
+@property (nonatomic, assign) CGFloat textSpaceRight;
+
+@property (copy) void (^callback)();
+@property (copy) void (^buttonCallback)();
+
+- (CGFloat)updateHeightOfMessageView;
+- (void)layoutSubviews;
+
+@end
+
+
+@implementation TSMessageView
+
+- (id)initWithTitle:(NSString *)title
+        withContent:(NSString *)content
+           withType:(TSMessageNotificationType)notificationType
+       withDuration:(CGFloat)duration
+   inViewController:(UIViewController *)viewController
+       withCallback:(void (^)())callback
+    withButtonTitle:(NSString *)buttonTitle
+ withButtonCallback:(void (^)())buttonCallback
+         atPosition:(TSMessageNotificationPosition)position
+  shouldBeDismissed:(BOOL)dismissAble
+{
+    if (!notificationDesign)
+    {
+        NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:TSDesignFileName];
+        notificationDesign = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:path]
+                                                             options:kNilOptions
+                                                               error:nil];
+    }
+    
+    if ((self = [self init]))
+    {
+        _title = title;
+        _content = content;
+        _buttonTitle = buttonTitle;
+        _duration = duration;
+        _viewController = viewController;
+        _messagePosition = position;
+        self.callback = callback;
+        self.buttonCallback = buttonCallback;
+        
+        CGFloat screenWidth = self.viewController.view.bounds.size.width;
+        NSDictionary *current;
+        NSString *currentString;
+        switch (notificationType)
+        {
+            case TSMessageNotificationTypeMessage:
+            {
+                currentString = @"message";
+                break;
+            }
+            case TSMessageNotificationTypeError:
+            {
+                currentString = @"error";
+                break;
+            }
+            case TSMessageNotificationTypeSuccess:
+            {
+                currentString = @"success";
+                break;
+            }
+            case TSMessageNotificationTypeWarning:
+            {
+                currentString = @"warning";
+                break;
+            }
+                
+            default:
+                break;
+        }
+        
+        current = [notificationDesign valueForKey:currentString];
+        
+        self.alpha = 0.0;
+        
+        UIImage *image;
+        if ([current valueForKey:@"imageName"])
+        {
+            image = [UIImage imageNamed:[current valueForKey:@"imageName"]];
+        }
+        
+        // add background image here
+        UIImage *backgroundImage = [[UIImage imageNamed:[current valueForKey:@"backgroundImageName"]] stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0];
+        _backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
+        self.backgroundImageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth);
+        [self addSubview:self.backgroundImageView];
+        
+        UIColor *fontColor = [UIColor colorWithHexString:[current valueForKey:@"textColor"]
+                                                   alpha:1.0];
+        
+        
+        self.textSpaceLeft = 2 * TSMessageViewPadding;
+        if (image) self.textSpaceLeft += image.size.width + 2 * TSMessageViewPadding;
+        
+        // Set up title label
+        _titleLabel = [[UILabel alloc] init];
+        [self.titleLabel setText:title];
+        [self.titleLabel setTextColor:fontColor];
+        [self.titleLabel setBackgroundColor:[UIColor clearColor]];
+        [self.titleLabel setFont:[UIFont boldSystemFontOfSize:[[current valueForKey:@"titleFontSize"] floatValue]]];
+        [self.titleLabel setShadowColor:[UIColor colorWithHexString:[current valueForKey:@"shadowColor"] alpha:1.0]];
+        [self.titleLabel setShadowOffset:CGSizeMake([[current valueForKey:@"shadowOffsetX"] floatValue],
+                                                    [[current valueForKey:@"shadowOffsetY"] floatValue])];
+        self.titleLabel.numberOfLines = 0;
+        self.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
+        [self addSubview:self.titleLabel];
+        
+        // Set up content label (if set)
+        if ([content length])
+        {
+            _contentLabel = [[UILabel alloc] init];
+            [self.contentLabel setText:content];
+            
+            UIColor *contentTextColor = [UIColor colorWithHexString:[current valueForKey:@"contentTextColor"] alpha:1.0];
+            if (!contentTextColor)
+            {
+                contentTextColor = fontColor;
+            }
+            [self.contentLabel setTextColor:contentTextColor];
+            [self.contentLabel setBackgroundColor:[UIColor clearColor]];
+            [self.contentLabel setFont:[UIFont systemFontOfSize:[[current valueForKey:@"contentFontSize"] floatValue]]];
+            [self.contentLabel setShadowColor:self.titleLabel.shadowColor];
+            [self.contentLabel setShadowOffset:self.titleLabel.shadowOffset];
+            self.contentLabel.lineBreakMode = self.titleLabel.lineBreakMode;
+            self.contentLabel.numberOfLines = 0;
+            
+            [self addSubview:self.contentLabel];
+        }
+        
+        if (image)
+        {
+            _iconImageView = [[UIImageView alloc] initWithImage:image];
+            self.iconImageView.frame = CGRectMake(TSMessageViewPadding * 2,
+                                                  TSMessageViewPadding,
+                                                  image.size.width,
+                                                  image.size.height);
+            [self addSubview:self.iconImageView];
+        }
+        
+        // Set up button (if set)
+        if ([buttonTitle length])
+        {
+            _button = [UIButton buttonWithType:UIButtonTypeCustom];
+            
+            UIImage *buttonBackgroundImage = [[UIImage imageNamed:[current valueForKey:@"buttonBackgroundImageName"]] resizableImageWithCapInsets:UIEdgeInsetsMake(15.0, 12.0, 15.0, 11.0)];
+            
+            if (!buttonBackgroundImage)
+            {
+                buttonBackgroundImage = [[UIImage imageNamed:[current valueForKey:@"NotificationButtonBackground"]] resizableImageWithCapInsets:UIEdgeInsetsMake(15.0, 12.0, 15.0, 11.0)];
+            }
+            
+            [self.button setBackgroundImage:buttonBackgroundImage forState:UIControlStateNormal];
+            [self.button setTitle:self.buttonTitle forState:UIControlStateNormal];
+            
+            UIColor *buttonTitleShadowColor = [UIColor colorWithHexString:[current valueForKey:@"buttonTitleShadowColor"] alpha:1.0];
+            if (!buttonTitleShadowColor)
+            {
+                buttonTitleShadowColor = self.titleLabel.shadowColor;
+            }
+            
+            [self.button setTitleShadowColor:buttonTitleShadowColor forState:UIControlStateNormal];
+            
+            UIColor *buttonTitleTextColor = [UIColor colorWithHexString:[current valueForKey:@"buttonTitleTextColor"] alpha:1.0];
+            if (!buttonTitleTextColor)
+            {
+                buttonTitleTextColor = fontColor;
+            }
+            
+            [self.button setTitleColor:buttonTitleTextColor forState:UIControlStateNormal];
+            self.button.titleLabel.font = [UIFont boldSystemFontOfSize:14.0];
+            self.button.titleLabel.shadowOffset = CGSizeMake([[current valueForKey:@"buttonTitleShadowOffsetX"] floatValue],
+                                                             [[current valueForKey:@"buttonTitleShadowOffsetY"] floatValue]);
+            [self.button addTarget:self
+                            action:@selector(buttonTapped:)
+                  forControlEvents:UIControlEventTouchUpInside];
+            
+            self.button.contentEdgeInsets = UIEdgeInsetsMake(0.0, 5.0, 0.0, 5.0);
+            [self.button sizeToFit];
+            self.button.frame = CGRectMake(screenWidth - TSMessageViewPadding - self.button.frame.size.width,
+                                           0.0,
+                                           self.button.frame.size.width,
+                                           31.0);
+            
+            [self addSubview:self.button];
+            
+            self.textSpaceRight = self.button.frame.size.width + TSMessageViewPadding;
+        }
+        
+        // Add a border on the bottom (or on the top, depending on the view's postion)
+        _borderView = [[UIView alloc] initWithFrame:CGRectMake(0.0,
+                                                               0.0, // will be set later
+                                                               screenWidth,
+                                                               [[current valueForKey:@"borderHeight"] floatValue])];
+        self.borderView.backgroundColor = [UIColor colorWithHexString:[current valueForKey:@"borderColor"]
+                                                           alpha:1.0];
+        self.borderView.autoresizingMask = (UIViewAutoresizingFlexibleWidth);
+        [self addSubview:self.borderView];
+        
+        
+        CGFloat actualHeight = [self updateHeightOfMessageView]; // this call also takes care of positioning the labels
+        CGFloat topPosition = -actualHeight;
+        
+        if (self.messagePosition == TSMessageNotificationPositionBottom)
+        {
+            topPosition = self.viewController.view.bounds.size.height;
+        }
+        
+        self.frame = CGRectMake(0.0, topPosition, screenWidth, actualHeight);
+        
+        if (self.messagePosition == TSMessageNotificationPositionTop)
+        {
+            self.autoresizingMask = UIViewAutoresizingFlexibleWidth;
+        }
+        else
+        {
+            self.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin);
+        }
+        
+        if (dismissAble)
+        {
+            UISwipeGestureRecognizer *gestureRec = [[UISwipeGestureRecognizer alloc] initWithTarget:self
+                                                                                             action:@selector(fadeMeOut)];
+            [gestureRec setDirection:(self.messagePosition == TSMessageNotificationPositionTop ?
+                                      UISwipeGestureRecognizerDirectionUp :
+                                      UISwipeGestureRecognizerDirectionDown)];
+            [self addGestureRecognizer:gestureRec];
+            
+            UITapGestureRecognizer *tapRec = [[UITapGestureRecognizer alloc] initWithTarget:self
+                                                                                     action:@selector(fadeMeOut)];
+            [self addGestureRecognizer:tapRec];
+        }
+    }
+    return self;
+}
+
+
+- (CGFloat)updateHeightOfMessageView
+{
+    CGFloat currentHeight;
+    CGFloat screenWidth = self.viewController.view.bounds.size.width;
+    
+    
+    self.titleLabel.frame = CGRectMake(self.textSpaceLeft,
+                                       TSMessageViewPadding,
+                                       screenWidth - TSMessageViewPadding - self.textSpaceLeft - self.textSpaceRight,
+                                       0.0);
+    [self.titleLabel sizeToFit];
+    
+    if ([self.content length])
+    {
+        self.contentLabel.frame = CGRectMake(self.textSpaceLeft,
+                                             self.titleLabel.frame.origin.y + self.titleLabel.frame.size.height + 5.0,
+                                             screenWidth - TSMessageViewPadding - self.textSpaceLeft - self.textSpaceRight,
+                                             0.0);
+        [self.contentLabel sizeToFit];
+        
+        currentHeight = self.contentLabel.frame.origin.y + self.contentLabel.frame.size.height;
+    }
+    else
+    {
+        // only the title was set
+        currentHeight = self.titleLabel.frame.origin.y + self.titleLabel.frame.size.height;
+    }
+    
+    currentHeight += TSMessageViewPadding;
+    
+    if (self.iconImageView)
+    {
+        // Check if that makes the popup larger (height)
+        if (self.iconImageView.frame.origin.y + self.iconImageView.frame.size.height + TSMessageViewPadding > currentHeight)
+        {
+            currentHeight = self.iconImageView.frame.origin.y + self.iconImageView.frame.size.height;
+        }
+        else
+        {
+            // z-align
+            self.iconImageView.center = CGPointMake([self.iconImageView center].x,
+                                                    round(currentHeight / 2.0));
+        }
+    }
+    
+    // z-align button
+    self.button.center = CGPointMake([self.button center].x,
+                                            round(currentHeight / 2.0));
+    
+    if (self.messagePosition == TSMessageNotificationPositionTop)
+    {
+        // Correct the border position
+        CGRect borderFrame = self.borderView.frame;
+        borderFrame.origin.y = currentHeight;
+        self.borderView.frame = borderFrame;
+    }
+    
+    currentHeight += self.borderView.frame.size.height;
+    
+    self.frame = CGRectMake(0.0, self.frame.origin.y, self.frame.size.width, currentHeight);
+    
+    
+    if (self.button)
+    {
+        self.button.frame = CGRectMake(self.frame.size.width - self.textSpaceRight,
+                                       round((self.frame.size.height / 2.0) - self.button.frame.size.height / 2.0),
+                                       self.button.frame.size.width,
+                                       self.button.frame.size.height);
+    }
+    
+    
+    self.backgroundImageView.frame = CGRectMake(self.backgroundImageView.frame.origin.x,
+                                                self.backgroundImageView.frame.origin.y,
+                                                screenWidth,
+                                                currentHeight);
+    
+    return currentHeight;
+}
+
+- (void)layoutSubviews
+{
+    [super layoutSubviews];
+    [self updateHeightOfMessageView];
+}
+
+- (void)fadeMeOut
+{
+    // user tapped on the message
+    dispatch_async(dispatch_get_main_queue(), ^
+    {
+        if (self.callback)
+        {
+            self.callback();
+        }
+        
+        [[TSMessage sharedMessage] performSelector:@selector(fadeOutNotification:)
+                                        withObject:self];
+    });
+}
+
+#pragma mark - UIButton target
+
+- (void)buttonTapped:(id) sender
+{
+    if (self.buttonCallback)
+    {
+        self.buttonCallback();
+    }
+    
+    [self fadeMeOut];
+}
+
+@end
Pods/TSMessages/LICENSE
@@ -0,0 +1,8 @@
+Copyright (c) 2013, Toursprung
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
Pods/TSMessages/README.md
@@ -0,0 +1,91 @@
+TSMessages
+==========
+
+This framework provides an easy to use class to show little notification views on the top of the screen. (à la Tweetbot). 
+
+The notification moves from the top of the screen underneath the navigation bar and stays there for a few seconds, depending on the length of the displayed text. To dismiss a notification before the time runs out, the user can swipe it to the top or just tap it.
+
+There are 4 different types already set up for you: Success, Error, Warning, Message (take a look at the screenshots)
+
+It is very easy to add new notification types with a different design. Add the new type to the notificationType enum, add the needed design properties to the configuration file and set the name of the theme (used in the config file and images) in TSMessagesView.m inside the switch case. 
+
+**Take a look at the Example project to see how to use this library.** You have to open the workspace, not the project file, since the Example project uses cocoapods.
+
+Follow the developer on Twitter: [KrauseFx](http://twitter.com/krausefx) (Felix Krause)
+
+## Installation
+
+### From CocoaPods
+
+Add `pod 'TSMessages'` to your Podfile.
+
+### Manually
+
+Drag the whole folder into your project and remove the example project. This library requires ARC.
+
+To show notifications use the following code:
+--------
+
+```objective-c
+    [TSMessage showNotificationInViewController:self
+                                      withTitle:notificationTitle
+                                    withMessage:notificationDescription
+                                       withType:TSMessageNotificationTypeError];
+
+
+    [TSMessage showNotificationInViewController:self
+                                      withTitle:title
+                                    withMessage:message
+                                       withType:TSMessageNotificationTypeSuccess
+                                   withDuration:15.0
+                                   withCallback:^{
+                                       // user dismissed callback
+                                   }];
+```
+
+The following properties can be set:
+
+* **viewController**: The view controller to show the notification in. This might be the navigation controller.
+* **title**: The title of the notification view
+* **message**: The message that is displayed underneath the title.
+* **type**: The notification type (Message, Warning, Error, Success)
+* **duration**: The duration the notification should be displayed
+* **callback**: The block that should be executed, when the user dismissed the message by tapping on it or swiping it to the top.
+
+Except the title and the notification type, all of the listed values are optional
+
+You don't need to do anything with TSMessageView, except you want to modify the behavior or the types of the notification itself.
+
+If you don't want a detailed description (the text underneath the title) you don't need to set one. The notification will automatically resize itself properly. There are different initializer available.
+
+![Warning](http://www.toursprung.com/wp-content/uploads/2013/04/iNotificationWarning.png)
+![Success](http://www.toursprung.com/wp-content/uploads/2013/04/iNotificationSuccess.png)
+![Error](http://www.toursprung.com/wp-content/uploads/2013/04/iNotificationError.png)
+![Message](http://www.toursprung.com/wp-content/uploads/2013/04/iNotificationMessage.png)
+
+This project requires ARC.
+
+If you have ideas how to improve this library please let me know or send a pull request.
+
+Changes
+-----
+**0.9.3**
+
+* Added new customization options for buttons (font size, custom background image, separate font and shadow color)
+* Added method to dismiss the currently active message
+* Added option to show a message until it is dismissed by the user
+* Added option to disable dismissing notification by the user
+* Added method to check whether a notification is currently being displayed
+* Fixed auto rotation when notification is displayed on the bottom
+
+**0.9.2**
+
+* Added option to show message on the bottom of the screen
+* Added option to show a button inside the message
+
+
+
+
+TODOs
+-----
+Currently empty
\ No newline at end of file
Pods/Manifest.lock
@@ -1,10 +1,16 @@
 PODS:
   - AFNetworking (1.3.1)
+  - MBProgressHUD (0.7)
+  - TSMessages (0.9.3)
 
 DEPENDENCIES:
   - AFNetworking
+  - MBProgressHUD
+  - TSMessages
 
 SPEC CHECKSUMS:
   AFNetworking: 9ec8aafb9269236a7630bd8d9838ce2ba30fa2a0
+  MBProgressHUD: 1fd8591a2216d5dec6de24e09187bb03bcbe9946
+  TSMessages: e741d102e8291074b4ee7545b53c90ed5f220dd5
 
 COCOAPODS: 0.22.2
Pods/Pods-acknowledgements.markdown
@@ -23,4 +23,37 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 
+
+## MBProgressHUD
+
+Copyright (c) 2013 Matej Bukovinski
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+## TSMessages
+
+Copyright (c) 2013, Toursprung
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 Generated by CocoaPods - http://cocoapods.org
Pods/Pods-acknowledgements.plist
@@ -39,6 +39,47 @@ THE SOFTWARE.
 			<key>Type</key>
 			<string>PSGroupSpecifier</string>
 		</dict>
+		<dict>
+			<key>FooterText</key>
+			<string>Copyright (c) 2013 Matej Bukovinski
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.</string>
+			<key>Title</key>
+			<string>MBProgressHUD</string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
+		<dict>
+			<key>FooterText</key>
+			<string>Copyright (c) 2013, Toursprung
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
+			<key>Title</key>
+			<string>TSMessages</string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
 		<dict>
 			<key>FooterText</key>
 			<string>Generated by CocoaPods - http://cocoapods.org</string>
Pods/Pods-AFNetworking-Private.xcconfig
@@ -1,5 +1,5 @@
 #include "Pods-AFNetworking.xcconfig"
 GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1
-HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/AFNetworking" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking"
+HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/AFNetworking" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/MBProgressHUD" "${PODS_ROOT}/Headers/TSMessages"
 OTHER_LDFLAGS = -ObjC ${PODS_AFNETWORKING_OTHER_LDFLAGS}
 PODS_ROOT = ${SRCROOT}
\ No newline at end of file
Pods/Pods-environment.h
@@ -12,3 +12,15 @@
 #define COCOAPODS_VERSION_MINOR_AFNetworking 3
 #define COCOAPODS_VERSION_PATCH_AFNetworking 1
 
+// MBProgressHUD
+#define COCOAPODS_POD_AVAILABLE_MBProgressHUD
+#define COCOAPODS_VERSION_MAJOR_MBProgressHUD 0
+#define COCOAPODS_VERSION_MINOR_MBProgressHUD 7
+#define COCOAPODS_VERSION_PATCH_MBProgressHUD 0
+
+// TSMessages
+#define COCOAPODS_POD_AVAILABLE_TSMessages
+#define COCOAPODS_VERSION_MAJOR_TSMessages 0
+#define COCOAPODS_VERSION_MINOR_TSMessages 9
+#define COCOAPODS_VERSION_PATCH_TSMessages 3
+
Pods/Pods-MBProgressHUD-dummy.m
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Pods_MBProgressHUD : NSObject
+@end
+@implementation PodsDummy_Pods_MBProgressHUD
+@end
Pods/Pods-MBProgressHUD-prefix.pch
@@ -0,0 +1,5 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#endif
+
+#import "Pods-environment.h"
Pods/Pods-MBProgressHUD-Private.xcconfig
@@ -0,0 +1,5 @@
+#include "Pods-MBProgressHUD.xcconfig"
+GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1
+HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/MBProgressHUD" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/MBProgressHUD" "${PODS_ROOT}/Headers/TSMessages"
+OTHER_LDFLAGS = -ObjC ${PODS_MBPROGRESSHUD_OTHER_LDFLAGS}
+PODS_ROOT = ${SRCROOT}
\ No newline at end of file
Pods/Pods-MBProgressHUD.xcconfig
@@ -0,0 +1,1 @@
+PODS_MBPROGRESSHUD_OTHER_LDFLAGS = -framework CoreGraphics
\ No newline at end of file
Pods/Pods-resources.sh
@@ -31,6 +31,23 @@ install_resource()
       ;;
   esac
 }
+install_resource 'TSMessages/Resources/design.json'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundError.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundError@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundErrorIcon.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundErrorIcon@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundMessage.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundMessage@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundSuccess.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundSuccess@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundSuccessIcon.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundSuccessIcon@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundWarning.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundWarning@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundWarningIcon.png'
+install_resource 'TSMessages/Resources/Images/NotificationBackgroundWarningIcon@2x.png'
+install_resource 'TSMessages/Resources/Images/NotificationButtonBackground.png'
+install_resource 'TSMessages/Resources/Images/NotificationButtonBackground@2x.png'
 
 rsync -avr --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
 rm "$RESOURCES_TO_COPY"
Pods/Pods-TSMessages-dummy.m
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Pods_TSMessages : NSObject
+@end
+@implementation PodsDummy_Pods_TSMessages
+@end
Pods/Pods-TSMessages-prefix.pch
@@ -0,0 +1,5 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#endif
+
+#import "Pods-environment.h"
Pods/Pods-TSMessages-Private.xcconfig
@@ -0,0 +1,5 @@
+#include "Pods-TSMessages.xcconfig"
+GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1
+HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/TSMessages" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/MBProgressHUD" "${PODS_ROOT}/Headers/TSMessages"
+OTHER_LDFLAGS = -ObjC
+PODS_ROOT = ${SRCROOT}
\ No newline at end of file
Pods/Pods-TSMessages.xcconfig
Pods/Pods.xcconfig
@@ -1,4 +1,4 @@
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking"
+HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/MBProgressHUD" "${PODS_ROOT}/Headers/TSMessages"
 OTHER_LDFLAGS = -ObjC -framework CoreGraphics -framework MobileCoreServices -framework Security -framework SystemConfiguration
 PODS_ROOT = ${SRCROOT}/Pods
\ No newline at end of file
Podfile
@@ -1,2 +1,4 @@
 platform :ios, '5.1'
 pod 'AFNetworking'
+pod 'MBProgressHUD'
+pod 'TSMessages'
Podfile.lock
@@ -1,10 +1,16 @@
 PODS:
   - AFNetworking (1.3.1)
+  - MBProgressHUD (0.7)
+  - TSMessages (0.9.3)
 
 DEPENDENCIES:
   - AFNetworking
+  - MBProgressHUD
+  - TSMessages
 
 SPEC CHECKSUMS:
   AFNetworking: 9ec8aafb9269236a7630bd8d9838ce2ba30fa2a0
+  MBProgressHUD: 1fd8591a2216d5dec6de24e09187bb03bcbe9946
+  TSMessages: e741d102e8291074b4ee7545b53c90ed5f220dd5
 
 COCOAPODS: 0.22.2