From 550e2a66c372ca3b249dbf84fa6e8e1306b387b8 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Tue, 27 Dec 2016 08:08:08 -0600 Subject: [PATCH 001/235] Update docs to Swift 3 syntax --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index f7bd1c15..da149dd5 100644 --- a/README.md +++ b/README.md @@ -73,10 +73,10 @@ and assortment of nib-based layouts that should handle most cases: ````swift // Instantiate a message view from the provided card view layout. SwiftMessages searches for nib // files in the main bundle first, so you can easily copy them into your project and make changes. -let view = MessageView.viewFromNib(layout: .CardView) +let view = MessageView.viewFromNib(layout: .cardView) // Theme message elements with the warning style. -view.configureTheme(.Warning) +view.configureTheme(.warning) // Add a drop shadow. view.configureDropShadow() @@ -95,7 +95,7 @@ your UIKit code is executed on the main queue: ````swift SwiftMessages.show { - let view = MessageView.viewFromNib(layout: .CardView) + let view = MessageView.viewFromNib(layout: .cardView) // ... configure the view return view } @@ -107,23 +107,23 @@ The `SwiftMessages.Config` struct provides numerous configuration options that c var config = SwiftMessages.Config() // Slide up from the bottom. -config.presentationStyle = .Bottom +config.presentationStyle = .bottom // Display in a window at the specified window level: UIWindowLevelStatusBar // displays over the status bar while UIWindowLevelNormal displays under. -config.presentationContext = .Window(windowLevel: UIWindowLevelStatusBar) +config.presentationContext = .window(windowLevel: UIWindowLevelStatusBar) // Disable the default auto-hiding behavior. -config.duration = .Forever +config.duration = .forever // Dim the background like a popover view. Hide when the background is tapped. -config.dimMode = .Gray(interactive: true) +config.dimMode = .gray(interactive: true) // Disable the interactive pan-to-hide gesture. config.interactiveHide = false // Specify a status bar style to if the message is displayed directly under the status bar. -config.preferredStatusBarStyle = .LightContent +config.preferredStatusBarStyle = .lightContent // Specify one or more event listeners to respond to show and hide events. config.eventListeners.append() { event in @@ -136,14 +136,14 @@ SwiftMessages.show(config: config, view: view) Specify default configuration options: ````swift -SwiftMessages.defaultConfig.presentationStyle = .Bottom +SwiftMessages.defaultConfig.presentationStyle = .bottom // Show message with default config. SwiftMessages.show(view: view) // Customize config using the default as a base. var config = SwiftMessages.defaultConfig -config.duration = .Forever +config.duration = .forever SwiftMessages.show(config: config, view: view) ```` @@ -170,7 +170,7 @@ To facilitate the use of nib-based layouts, `MessageView` provides some type-saf // Instantiate MessageView from one of the provided nibs in a type-safe way. // SwiftMessages searches the main bundle first, so you easily copy the nib into // your project and modify it while still using this type-safe call. -let view = MessageView.viewFromNib(layout: .CardView) +let view = MessageView.viewFromNib(layout: .cardView) ```` In addition, the `SwiftMessages` class provides some generic loading methods: From e3e94c474ee69006fed435d011d505cc3bd09e57 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Tue, 27 Dec 2016 12:15:09 -0600 Subject: [PATCH 002/235] Support custom ID --- SwiftMessages/MessageView.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/SwiftMessages/MessageView.swift b/SwiftMessages/MessageView.swift index 8c816e8e..112de4c3 100644 --- a/SwiftMessages/MessageView.swift +++ b/SwiftMessages/MessageView.swift @@ -59,8 +59,15 @@ open class MessageView: BaseView, Identifiable { */ open var id: String { - return "MessageView:title=\(titleLabel?.text), body=\(bodyLabel?.text)" + get { + return customId ?? "MessageView:title=\(titleLabel?.text), body=\(bodyLabel?.text)" + } + set { + customId = newValue + } } + + private var customId: String? } /* From ada900f2cf700740b3cb3d379007caf16fbe52bd Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Wed, 28 Dec 2016 08:19:38 -0600 Subject: [PATCH 003/235] Prepare for 3.1.3 release --- CHANGELOG.md | 6 ++++++ SwiftMessages.podspec | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77553f6a..51bea17d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Change Log All notable changes to this project will be documented in this file. +## [3.1.3](https://github.com/SwiftKickMobile/SwiftMessages/releases/tag/3.1.3) + +### Features + +* Added the ability to set a custom value on `MessageView.id`. This can be useful for dismissing specific messages using a pre-defined `id`. + ## [3.1.2](https://github.com/SwiftKickMobile/SwiftMessages/releases/tag/3.1.2) ### Features diff --git a/SwiftMessages.podspec b/SwiftMessages.podspec index 13c75214..a840a0b9 100644 --- a/SwiftMessages.podspec +++ b/SwiftMessages.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |spec| spec.name = 'SwiftMessages' - spec.version = '3.1.2' + spec.version = '3.1.3' spec.license = { :type => 'MIT' } spec.homepage = 'https://github.com/SwiftKickMobile/SwiftMessages' spec.authors = { 'Timothy Moose' => 'tim@swiftkick.it' } spec.summary = 'A very flexible message bar for iOS written in Swift.' - spec.source = {:git => 'https://github.com/SwiftKickMobile/SwiftMessages.git', :tag => '3.1.2'} + spec.source = {:git => 'https://github.com/SwiftKickMobile/SwiftMessages.git', :tag => '3.1.3'} spec.platform = :ios, '8.0' spec.ios.deployment_target = '8.0' spec.source_files = 'SwiftMessages/**/*.swift' From 2959f186515afd006aa6b9352a2392c65713b77f Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Sun, 8 Jan 2017 12:38:19 -0600 Subject: [PATCH 004/235] Add convenience function to specify icon size. --- SwiftMessages/MessageView.swift | 26 +++++++++++++++++++++ SwiftMessages/Resources/CardView.xib | 20 ++++++++++++---- SwiftMessages/Resources/MessageView.xib | 19 +++++++++++---- SwiftMessages/Resources/MessageViewIOS8.xib | 18 ++++++++++---- SwiftMessages/Resources/TabView.xib | 20 ++++++++++++---- 5 files changed, 87 insertions(+), 16 deletions(-) diff --git a/SwiftMessages/MessageView.swift b/SwiftMessages/MessageView.swift index 112de4c3..e9366780 100644 --- a/SwiftMessages/MessageView.swift +++ b/SwiftMessages/MessageView.swift @@ -147,6 +147,32 @@ extension MessageView { } } +/* + MARK: - Layout adjustments + + This extention provides a few convenience functions for adjusting the layout. + */ + +extension MessageView { + @available(iOS 9, *) + /** + Constrains the image view to a specified size. By default, the size of the + image view is determined by its `intrinsicContentSize`. + + - Parameter size: The size to be translated into Auto Layout constraints. + - Parameter contentMode: The optional content mode to apply. + */ + public func constrainIconImageView(toSize size: CGSize, contentMode: UIViewContentMode? = nil) { + guard let iconImageView = iconImageView else { return } + let constraints = [iconImageView.heightAnchor.constraint(equalToConstant: size.height), + iconImageView.widthAnchor.constraint(equalToConstant: size.width)] + iconImageView.addConstraints(constraints) + if let contentMode = contentMode { + iconImageView.contentMode = contentMode + } + } +} + /* MARK: - Theming diff --git a/SwiftMessages/Resources/CardView.xib b/SwiftMessages/Resources/CardView.xib index c03297b7..75cdff7d 100644 --- a/SwiftMessages/Resources/CardView.xib +++ b/SwiftMessages/Resources/CardView.xib @@ -1,8 +1,11 @@ - - + + + + + - + @@ -14,23 +17,31 @@ + + - + + + + diff --git a/SwiftMessages/Resources/MessageView.xib b/SwiftMessages/Resources/MessageView.xib index c063e18e..21a37c26 100644 --- a/SwiftMessages/Resources/MessageView.xib +++ b/SwiftMessages/Resources/MessageView.xib @@ -1,8 +1,11 @@ - - + + + + + - + @@ -14,21 +17,28 @@ + - + + + + diff --git a/SwiftMessages/Resources/MessageViewIOS8.xib b/SwiftMessages/Resources/MessageViewIOS8.xib index 1a2a9d54..2df350a2 100644 --- a/SwiftMessages/Resources/MessageViewIOS8.xib +++ b/SwiftMessages/Resources/MessageViewIOS8.xib @@ -1,8 +1,11 @@ - - + + + + + - + @@ -15,21 +18,28 @@ + - + + + + - - - - + + + + + @@ -96,16 +97,22 @@ + + + + + + - - - - - - + + + + + + - + diff --git a/SwiftMessages/Resources/CenteredView.xib b/SwiftMessages/Resources/CenteredView.xib index c040724d..ef81dac8 100644 --- a/SwiftMessages/Resources/CenteredView.xib +++ b/SwiftMessages/Resources/CenteredView.xib @@ -1,11 +1,11 @@ - + - + @@ -17,13 +17,13 @@ - + - + - + @@ -70,17 +70,18 @@ - + - - - - + + + + + @@ -90,6 +91,12 @@ + + + + + + diff --git a/SwiftMessages/Resources/MessageView.xib b/SwiftMessages/Resources/MessageView.xib index ba373493..85b86049 100644 --- a/SwiftMessages/Resources/MessageView.xib +++ b/SwiftMessages/Resources/MessageView.xib @@ -1,11 +1,11 @@ - + - + @@ -17,10 +17,10 @@ - + - + - + @@ -79,6 +79,12 @@ + + + + + + diff --git a/SwiftMessages/Resources/StatusLine.xib b/SwiftMessages/Resources/StatusLine.xib index d76c6ca7..87f75220 100644 --- a/SwiftMessages/Resources/StatusLine.xib +++ b/SwiftMessages/Resources/StatusLine.xib @@ -1,11 +1,11 @@ - + - + @@ -16,8 +16,8 @@ - + - + + + + + + + diff --git a/SwiftMessages/Resources/TabView.xib b/SwiftMessages/Resources/TabView.xib index 6c32134d..e37824c3 100644 --- a/SwiftMessages/Resources/TabView.xib +++ b/SwiftMessages/Resources/TabView.xib @@ -1,11 +1,11 @@ - + - + @@ -16,14 +16,14 @@ - - + + - + - + - + @@ -69,34 +69,41 @@ - - - + - + + - + + + - + + + + + + + diff --git a/SwiftMessages/SwiftMessages.swift b/SwiftMessages/SwiftMessages.swift index 5a532cc4..cab93a09 100644 --- a/SwiftMessages/SwiftMessages.swift +++ b/SwiftMessages/SwiftMessages.swift @@ -624,7 +624,7 @@ extension SwiftMessages { var view: T? messageQueue.sync { if let queued = queue.first(where: { $0.id == id }) { - view = queued as? T + view = queued.view as? T } } return view diff --git a/SwiftMessages/Theme.swift b/SwiftMessages/Theme.swift index 68613530..f1a959b6 100644 --- a/SwiftMessages/Theme.swift +++ b/SwiftMessages/Theme.swift @@ -19,18 +19,18 @@ public enum Theme { /// The Icon enum provides type-safe access to the included icons. public enum Icon: String { - case Error = "errorIcon" - case Warning = "warningIcon" - case Success = "successIcon" - case Info = "infoIcon" - case ErrorLight = "errorIconLight" - case WarningLight = "warningIconLight" - case SuccessLight = "successIconLight" - case InfoLight = "infoIconLight" - case ErrorSubtle = "errorIconSubtle" - case WarningSubtle = "warningIconSubtle" - case SuccessSubtle = "successIconSubtle" - case InfoSubtle = "infoIconSubtle" + case error = "errorIcon" + case warning = "warningIcon" + case success = "successIcon" + case info = "infoIcon" + case errorLight = "errorIconLight" + case warningLight = "warningIconLight" + case successLight = "successIconLight" + case infoLight = "infoIconLight" + case errorSubtle = "errorIconSubtle" + case warningSubtle = "warningIconSubtle" + case successSubtle = "successIconSubtle" + case infoSubtle = "infoIconSubtle" /// Returns the associated image. public var image: UIImage { @@ -49,18 +49,18 @@ public enum IconStyle { /// Returns the image for the given theme public func image(theme: Theme) -> UIImage? { switch (theme, self) { - case (.info, .default): return Icon.Info.image - case (.info, .light): return Icon.InfoLight.image - case (.info, .subtle): return Icon.InfoSubtle.image - case (.success, .default): return Icon.Success.image - case (.success, .light): return Icon.SuccessLight.image - case (.success, .subtle): return Icon.SuccessSubtle.image - case (.warning, .default): return Icon.Warning.image - case (.warning, .light): return Icon.WarningLight.image - case (.warning, .subtle): return Icon.WarningSubtle.image - case (.error, .default): return Icon.Error.image - case (.error, .light): return Icon.ErrorLight.image - case (.error, .subtle): return Icon.ErrorSubtle.image + case (.info, .default): return Icon.info.image + case (.info, .light): return Icon.infoLight.image + case (.info, .subtle): return Icon.infoSubtle.image + case (.success, .default): return Icon.success.image + case (.success, .light): return Icon.successLight.image + case (.success, .subtle): return Icon.successSubtle.image + case (.warning, .default): return Icon.warning.image + case (.warning, .light): return Icon.warningLight.image + case (.warning, .subtle): return Icon.warningSubtle.image + case (.error, .default): return Icon.error.image + case (.error, .light): return Icon.errorLight.image + case (.error, .subtle): return Icon.errorSubtle.image default: return nil } } diff --git a/SwiftMessages/TopBottomAnimation.swift b/SwiftMessages/TopBottomAnimation.swift index afe5537f..b0773e87 100644 --- a/SwiftMessages/TopBottomAnimation.swift +++ b/SwiftMessages/TopBottomAnimation.swift @@ -67,18 +67,41 @@ public class TopBottomAnimation: NSObject, Animator { } container.addConstraints([leading, trailing, translationConstraint]) if let adjustable = view as? MarginAdjustable { - var top: CGFloat = 0.0 - var bottom: CGFloat = 0.0 + // Important to layout now in order to get the right safe area insets + container.layoutIfNeeded() + var top: CGFloat = 0 + var bottom: CGFloat = 0 switch style { case .top: top += adjustable.bounceAnimationOffset - if context.behindStatusBar { - top += adjustable.statusBarOffset + if !context.safeZoneConflicts.isDisjoint(with: [.sensorNotch, .statusBar]) { + if #available(iOS 11, *), container.safeAreaInsets.top > 0 { + // Linear formula based on: + // iPhone 8 - 20pt top safe area with 0pt adjustment + // iPhone X - 44pt top safe area with -6pt adjustment + top -= 6 * (container.safeAreaInsets.top - 20) / (44 - 20) + top += adjustable.safeAreaTopOffset + } else { + top += adjustable.statusBarOffset + } + } + if #available(iOS 11, *), !context.safeZoneConflicts.isDisjoint(with: .coveredStatusBar) { + top -= view.safeAreaInsets.top } case .bottom: bottom += adjustable.bounceAnimationOffset + if !context.safeZoneConflicts.isDisjoint(with: [.homeIndicator]) { + if #available(iOS 11, *), container.safeAreaInsets.bottom > 0 { + bottom += adjustable.safeAreaBottomOffset + } + } + } + view.preservesSuperviewLayoutMargins = false + if #available(iOS 11, *) { + view.directionalLayoutMargins = NSDirectionalEdgeInsets(top: top, leading: view.directionalLayoutMargins.leading, bottom: bottom, trailing: view.directionalLayoutMargins.trailing) + } else { + view.layoutMargins = UIEdgeInsets(top: top, left: view.layoutMargins.left, bottom: bottom, right: view.layoutMargins.right) } - view.layoutMargins = UIEdgeInsets(top: top, left: 0.0, bottom: bottom, right: 0.0) } let size = view.systemLayoutSizeFitting(UILayoutFittingCompressedSize) translationConstraint.constant -= size.height @@ -94,6 +117,14 @@ public class TopBottomAnimation: NSObject, Animator { } } +// @available(iOS 11, *) +// private func adjustForCoveredStatusBarSafeArea(view: UIView) { +// var margins = view.directionalLayoutMargins +// margins.top -= 2 * view.safeAreaInsets.top +// view.directionalLayoutMargins = margins +// view.subviews.forEach { self.adjustForCoveredStatusBarSafeArea(view: $0) } +// } + func showAnimation(completion: @escaping AnimationCompletion) { guard let container = containerView else { completion(false) From 59bd33c1100ae309cc0701b5827fb295b4552aa4 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Wed, 20 Sep 2017 18:53:31 -0500 Subject: [PATCH 047/235] Fix changelog formatting --- CHANGELOG.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b28d9ddf..8db66102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,14 +10,14 @@ All notable changes to this project will be documented in this file. SwiftMessages 4 supports iOS 11 out-of-the-box with built-in support for safe areas. To ensur that message view layouts look just right when overlapping safe areas, views that adopt the `MarginAdjustable` protocol (like `MessageView`) will have their layout margins automatically adjusted by SwiftMessages. However, there is no one-size-fits-all adjustment, so the following properties were added to `MarginAdjustable` to allow for additional adjustments to be made to the layout margins: ````swift -public protocol MarginAdjustable { - ... - /// Safe area top adjustment in iOS 11+ - var safeAreaTopOffset: CGFloat { get set } - /// Safe area bottom adjustment in iOS 11+ - var safeAreaBottomOffset: CGFloat { get set } -} -```` + public protocol MarginAdjustable { + ... + /// Safe area top adjustment in iOS 11+ + var safeAreaTopOffset: CGFloat { get set } + /// Safe area bottom adjustment in iOS 11+ + var safeAreaBottomOffset: CGFloat { get set } + } + ```` If you're using using custom nib files or view classes and your layouts don't look quite right, try adjusting the values of these properties. `BaseView` (the super class of `MessageView`) declares these properties to be `@IBDesignable` and you can find sample values in the nib files included with SwiftMessages. From 0d344e7ccc89f8232817e9a26e1b27e049bc4568 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Wed, 20 Sep 2017 19:00:11 -0500 Subject: [PATCH 048/235] Fix pod spec validation error --- SwiftMessages/MessageView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SwiftMessages/MessageView.swift b/SwiftMessages/MessageView.swift index 6c4e4324..ca158f65 100644 --- a/SwiftMessages/MessageView.swift +++ b/SwiftMessages/MessageView.swift @@ -227,7 +227,7 @@ extension MessageView { views.forEach { let constraints = [$0.heightAnchor.constraint(equalToConstant: size.height), $0.widthAnchor.constraint(equalToConstant: size.width)] - constraints.forEach { $0.priority = UILayoutPriority(rawValue: 999) } + constraints.forEach { $0.priority = UILayoutPriority(999.0) } $0.addConstraints(constraints) if let contentMode = contentMode { $0.contentMode = contentMode From 61a673553c8d9467c5d79295e329094013215413 Mon Sep 17 00:00:00 2001 From: mbesnili Date: Thu, 28 Sep 2017 18:59:13 +0300 Subject: [PATCH 049/235] Made close percent and close speed parameterizable to enhance closing action. --- SwiftMessages/TopBottomAnimation.swift | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/SwiftMessages/TopBottomAnimation.swift b/SwiftMessages/TopBottomAnimation.swift index b0773e87..a0bbea33 100644 --- a/SwiftMessages/TopBottomAnimation.swift +++ b/SwiftMessages/TopBottomAnimation.swift @@ -10,13 +10,25 @@ import UIKit public class TopBottomAnimation: NSObject, Animator { - enum Style { + public enum Style { case top case bottom } + + public struct Config { + let closeSpeedThreshold: CGFloat + let closePercentThreshold: CGFloat + + static var `default` = Config(closeSpeedThreshold: 750.0, closePercentThreshold: 33.0) + + public init(closeSpeedThreshold: CGFloat, closePercentThreshold: CGFloat) { + self.closePercentThreshold = closePercentThreshold + self.closeSpeedThreshold = closeSpeedThreshold + } + } public weak var delegate: AnimationDelegate? - + let config: Config var style: Style var translationConstraint: NSLayoutConstraint! = nil @@ -25,7 +37,8 @@ public class TopBottomAnimation: NSObject, Animator { weak var containerView: UIView? - init(style: Style, delegate: AnimationDelegate) { + init(style: Style, delegate: AnimationDelegate, config: Config = Config.default) { + self.config = config self.style = style self.delegate = delegate } @@ -180,7 +193,7 @@ public class TopBottomAnimation: NSObject, Animator { closePercent = translation.y / height panTranslationY = translation.y case .ended, .cancelled: - if closeSpeed > 750.0 || closePercent > 0.33 { + if closeSpeed > config.closeSpeedThreshold || closePercent > config.closePercentThreshold { delegate?.hide(animator: self) } else { closing = false From 7f8e5fc7d8682cc25ff2e4569017dc799f1b465b Mon Sep 17 00:00:00 2001 From: mbesnili Date: Fri, 29 Sep 2017 10:48:24 +0300 Subject: [PATCH 050/235] Made TopBottomAnimation init method public. --- SwiftMessages/TopBottomAnimation.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SwiftMessages/TopBottomAnimation.swift b/SwiftMessages/TopBottomAnimation.swift index a0bbea33..36af95d7 100644 --- a/SwiftMessages/TopBottomAnimation.swift +++ b/SwiftMessages/TopBottomAnimation.swift @@ -19,7 +19,7 @@ public class TopBottomAnimation: NSObject, Animator { let closeSpeedThreshold: CGFloat let closePercentThreshold: CGFloat - static var `default` = Config(closeSpeedThreshold: 750.0, closePercentThreshold: 33.0) + public static var `default` = Config(closeSpeedThreshold: 750.0, closePercentThreshold: 33.0) public init(closeSpeedThreshold: CGFloat, closePercentThreshold: CGFloat) { self.closePercentThreshold = closePercentThreshold @@ -37,7 +37,7 @@ public class TopBottomAnimation: NSObject, Animator { weak var containerView: UIView? - init(style: Style, delegate: AnimationDelegate, config: Config = Config.default) { + public init(style: Style, delegate: AnimationDelegate, config: Config = Config.default) { self.config = config self.style = style self.delegate = delegate From d8c8ec631f70e86c29339a982c6a85dffe447aa6 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Fri, 29 Sep 2017 17:05:01 -0500 Subject: [PATCH 051/235] Minor refactoring --- SwiftMessages/TopBottomAnimation.swift | 29 +++++++++++--------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/SwiftMessages/TopBottomAnimation.swift b/SwiftMessages/TopBottomAnimation.swift index 36af95d7..38fb91ab 100644 --- a/SwiftMessages/TopBottomAnimation.swift +++ b/SwiftMessages/TopBottomAnimation.swift @@ -14,22 +14,14 @@ public class TopBottomAnimation: NSObject, Animator { case top case bottom } - - public struct Config { - let closeSpeedThreshold: CGFloat - let closePercentThreshold: CGFloat - - public static var `default` = Config(closeSpeedThreshold: 750.0, closePercentThreshold: 33.0) - - public init(closeSpeedThreshold: CGFloat, closePercentThreshold: CGFloat) { - self.closePercentThreshold = closePercentThreshold - self.closeSpeedThreshold = closeSpeedThreshold - } - } public weak var delegate: AnimationDelegate? - let config: Config - var style: Style + + open let style: Style + + open var closeSpeedThreshold: CGFloat = 750.0; + + open var closePercentThreshold: CGFloat = 33.0; var translationConstraint: NSLayoutConstraint! = nil @@ -37,8 +29,11 @@ public class TopBottomAnimation: NSObject, Animator { weak var containerView: UIView? - public init(style: Style, delegate: AnimationDelegate, config: Config = Config.default) { - self.config = config + public init(style: Style) { + self.style = style + } + + init(style: Style, delegate: AnimationDelegate) { self.style = style self.delegate = delegate } @@ -193,7 +188,7 @@ public class TopBottomAnimation: NSObject, Animator { closePercent = translation.y / height panTranslationY = translation.y case .ended, .cancelled: - if closeSpeed > config.closeSpeedThreshold || closePercent > config.closePercentThreshold { + if closeSpeed > closeSpeedThreshold || closePercent > closePercentThreshold { delegate?.hide(animator: self) } else { closing = false From a913f6ed0191a3e5b9dea59f6b338190c1e05393 Mon Sep 17 00:00:00 2001 From: Kizito Nwose Date: Wed, 11 Oct 2017 09:02:51 +0100 Subject: [PATCH 052/235] Fix broken markdown in README GitHub changed the way they parse sub-lists in markdown. I've adjusted the indentation for sub-list items. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 040e05ba..0249b1e8 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,8 @@ github "SwiftKickMobile/SwiftMessages" 1. Put SwiftMessages repo somewhere in your project directory. 1. In Xcode, add `SwiftMessages.xcodeproj` to your project. 1. On your app's target, add the SwiftMessages framework: - 1. as an embedded binary on the General tab. - 1. as a target dependency on the Build Phases tab. + 1. as an embedded binary on the General tab. + 1. as a target dependency on the Build Phases tab. ## Usage From 7c20e60834aa5a43465a7b0bde456075c840d0a8 Mon Sep 17 00:00:00 2001 From: Mathieu Allaire Date: Fri, 3 Nov 2017 13:03:45 -0400 Subject: [PATCH 053/235] Clarify how to use multiple instances of SwiftMessages --- README.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 040e05ba..f0ed9537 100644 --- a/README.md +++ b/README.md @@ -202,12 +202,18 @@ SwiftMessages.hide(id: someId) SwiftMessages.hideCounted(id: someId) ```` -Multiple instances of `SwiftMessages` can be used to show more than one message at a time. Note that the static `SwiftMessages.show()` and other static APIs on `SwiftMessage` are just convenience wrappers around the shared instance `SwiftMessages.sharedInstance`): +Multiple instances of `SwiftMessages` can be used to show more than one message at a time. Note that the static `SwiftMessages.show()` and other static APIs on `SwiftMessage` are just convenience wrappers around the shared instance `SwiftMessages.sharedInstance`). Instances must be retained, thus it should be a property of something (e.g. your view controller): ````swift -let otherMessages = SwiftMessages() -SwiftMessages.show(...) -otherMessages.show(...) +class SomeViewController: UIViewController { + static var otherMessages = SwiftMessages() + + + func someMethod() { + SwiftMessages.show(...) + otherMessages.show(...) + } +} ```` ### Retrieving Messages From 65bb7646c8d437e47329c9c3e465b135b6ea4f53 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Fri, 3 Nov 2017 12:17:01 -0500 Subject: [PATCH 054/235] Remove extra newline --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index f0ed9537..55865487 100644 --- a/README.md +++ b/README.md @@ -206,8 +206,7 @@ Multiple instances of `SwiftMessages` can be used to show more than one message ````swift class SomeViewController: UIViewController { - static var otherMessages = SwiftMessages() - + static var otherMessages = SwiftMessages() func someMethod() { SwiftMessages.show(...) From bf053bd511e3211ba4a49848618854ba1066d7d7 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Fri, 3 Nov 2017 12:18:31 -0500 Subject: [PATCH 055/235] Update README.md Update `otherMessages` to immutable --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 55865487..1a4c61cf 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ Multiple instances of `SwiftMessages` can be used to show more than one message ````swift class SomeViewController: UIViewController { - static var otherMessages = SwiftMessages() + static let otherMessages = SwiftMessages() func someMethod() { SwiftMessages.show(...) From 57b3530d63ef2a1d5782a10adceab93c068147e4 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Fri, 3 Nov 2017 12:20:15 -0500 Subject: [PATCH 056/235] Update README.md Make `otherMessages` an instance variable. --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1a4c61cf..0db53968 100644 --- a/README.md +++ b/README.md @@ -206,12 +206,12 @@ Multiple instances of `SwiftMessages` can be used to show more than one message ````swift class SomeViewController: UIViewController { - static let otherMessages = SwiftMessages() + let otherMessages = SwiftMessages() - func someMethod() { - SwiftMessages.show(...) - otherMessages.show(...) - } + func someMethod() { + SwiftMessages.show(...) + otherMessages.show(...) + } } ```` From 089c0f4a87e58af7d98e24423ee4b0d101b1988f Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Sun, 5 Nov 2017 10:48:58 -0600 Subject: [PATCH 057/235] Move icons out of asset catalog to prevent mysterious crash --- CHANGELOG.md | 7 + Demo/Pods/Pods.xcodeproj/project.pbxproj | 408 ++++++++++++------ Design/SwiftMessagesDesign.sketch | Bin 1471873 -> 1108689 bytes SwiftMessages.podspec | 4 +- SwiftMessages.xcodeproj/project.pbxproj | 148 ++++++- .../Resources/Images.xcassets/Contents.json | 6 - .../errorIcon.imageset/Contents.json | 15 - .../errorIcon.imageset/errorIcon.pdf | Bin 4058 -> 0 bytes .../errorIconLight.imageset/Contents.json | 15 - .../errorIconLight.pdf | Bin 4127 -> 0 bytes .../errorIconSubtle.imageset/Contents.json | 15 - .../errorIconSubtle.pdf | Bin 3948 -> 0 bytes .../infoIcon.imageset/Contents.json | 15 - .../infoIcon.imageset/infoIcon.pdf | Bin 3922 -> 0 bytes .../infoIconLight.imageset/Contents.json | 15 - .../infoIconLight.imageset/infoIconLight.pdf | Bin 4014 -> 0 bytes .../infoIconSubtle.imageset/Contents.json | 15 - .../infoIconSubtle.pdf | Bin 3893 -> 0 bytes .../successIcon.imageset/Contents.json | 15 - .../successIcon.imageset/successIcon.pdf | Bin 4041 -> 0 bytes .../successIconLight.imageset/Contents.json | 15 - .../successIconLight.pdf | Bin 4131 -> 0 bytes .../successIconSubtle.imageset/Contents.json | 15 - .../successIconSubtle.pdf | Bin 3941 -> 0 bytes .../warningIcon.imageset/Contents.json | 15 - .../warningIcon.imageset/warningIcon.pdf | Bin 3929 -> 0 bytes .../warningIconLight.imageset/Contents.json | 15 - .../warningIconLight.pdf | Bin 4014 -> 0 bytes .../warningIconSubtle.imageset/Contents.json | 15 - .../warningIconSubtle.pdf | Bin 3892 -> 0 bytes SwiftMessages/Resources/errorIcon.png | Bin 0 -> 698 bytes SwiftMessages/Resources/errorIcon@2x.png | Bin 0 -> 1338 bytes SwiftMessages/Resources/errorIcon@3x.png | Bin 0 -> 2074 bytes SwiftMessages/Resources/errorIconLight.png | Bin 0 -> 879 bytes SwiftMessages/Resources/errorIconLight@2x.png | Bin 0 -> 1911 bytes SwiftMessages/Resources/errorIconLight@3x.png | Bin 0 -> 2900 bytes SwiftMessages/Resources/errorIconSubtle.png | Bin 0 -> 225 bytes .../Resources/errorIconSubtle@2x.png | Bin 0 -> 402 bytes .../Resources/errorIconSubtle@3x.png | Bin 0 -> 543 bytes SwiftMessages/Resources/infoIcon.png | Bin 0 -> 495 bytes SwiftMessages/Resources/infoIcon@2x.png | Bin 0 -> 913 bytes SwiftMessages/Resources/infoIcon@3x.png | Bin 0 -> 1553 bytes SwiftMessages/Resources/infoIconLight.png | Bin 0 -> 640 bytes SwiftMessages/Resources/infoIconLight@2x.png | Bin 0 -> 1391 bytes SwiftMessages/Resources/infoIconLight@3x.png | Bin 0 -> 2441 bytes SwiftMessages/Resources/infoIconSubtle.png | Bin 0 -> 139 bytes SwiftMessages/Resources/infoIconSubtle@2x.png | Bin 0 -> 188 bytes SwiftMessages/Resources/infoIconSubtle@3x.png | Bin 0 -> 263 bytes SwiftMessages/Resources/successIcon.png | Bin 0 -> 639 bytes SwiftMessages/Resources/successIcon@2x.png | Bin 0 -> 1214 bytes SwiftMessages/Resources/successIcon@3x.png | Bin 0 -> 1930 bytes SwiftMessages/Resources/successIconLight.png | Bin 0 -> 808 bytes .../Resources/successIconLight@2x.png | Bin 0 -> 1809 bytes .../Resources/successIconLight@3x.png | Bin 0 -> 2743 bytes SwiftMessages/Resources/successIconSubtle.png | Bin 0 -> 235 bytes .../Resources/successIconSubtle@2x.png | Bin 0 -> 323 bytes .../Resources/successIconSubtle@3x.png | Bin 0 -> 418 bytes SwiftMessages/Resources/warningIcon.png | Bin 0 -> 493 bytes SwiftMessages/Resources/warningIcon@2x.png | Bin 0 -> 916 bytes SwiftMessages/Resources/warningIcon@3x.png | Bin 0 -> 1577 bytes SwiftMessages/Resources/warningIconLight.png | Bin 0 -> 660 bytes .../Resources/warningIconLight@2x.png | Bin 0 -> 1404 bytes .../Resources/warningIconLight@3x.png | Bin 0 -> 2479 bytes SwiftMessages/Resources/warningIconSubtle.png | Bin 0 -> 131 bytes .../Resources/warningIconSubtle@2x.png | Bin 0 -> 178 bytes .../Resources/warningIconSubtle@3x.png | Bin 0 -> 259 bytes SwiftMessages/Theme.swift | 4 +- 67 files changed, 429 insertions(+), 328 deletions(-) delete mode 100644 SwiftMessages/Resources/Images.xcassets/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/errorIcon.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/errorIcon.imageset/errorIcon.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/errorIconLight.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/errorIconLight.imageset/errorIconLight.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/errorIconSubtle.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/errorIconSubtle.imageset/errorIconSubtle.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/infoIcon.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/infoIcon.imageset/infoIcon.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/infoIconLight.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/infoIconLight.imageset/infoIconLight.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/infoIconSubtle.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/infoIconSubtle.imageset/infoIconSubtle.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/successIcon.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/successIcon.imageset/successIcon.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/successIconLight.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/successIconLight.imageset/successIconLight.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/successIconSubtle.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/successIconSubtle.imageset/successIconSubtle.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/warningIcon.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/warningIcon.imageset/warningIcon.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/warningIconLight.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/warningIconLight.imageset/warningIconLight.pdf delete mode 100644 SwiftMessages/Resources/Images.xcassets/warningIconSubtle.imageset/Contents.json delete mode 100644 SwiftMessages/Resources/Images.xcassets/warningIconSubtle.imageset/warningIconSubtle.pdf create mode 100644 SwiftMessages/Resources/errorIcon.png create mode 100644 SwiftMessages/Resources/errorIcon@2x.png create mode 100644 SwiftMessages/Resources/errorIcon@3x.png create mode 100644 SwiftMessages/Resources/errorIconLight.png create mode 100644 SwiftMessages/Resources/errorIconLight@2x.png create mode 100644 SwiftMessages/Resources/errorIconLight@3x.png create mode 100644 SwiftMessages/Resources/errorIconSubtle.png create mode 100644 SwiftMessages/Resources/errorIconSubtle@2x.png create mode 100644 SwiftMessages/Resources/errorIconSubtle@3x.png create mode 100644 SwiftMessages/Resources/infoIcon.png create mode 100644 SwiftMessages/Resources/infoIcon@2x.png create mode 100644 SwiftMessages/Resources/infoIcon@3x.png create mode 100644 SwiftMessages/Resources/infoIconLight.png create mode 100644 SwiftMessages/Resources/infoIconLight@2x.png create mode 100644 SwiftMessages/Resources/infoIconLight@3x.png create mode 100644 SwiftMessages/Resources/infoIconSubtle.png create mode 100644 SwiftMessages/Resources/infoIconSubtle@2x.png create mode 100644 SwiftMessages/Resources/infoIconSubtle@3x.png create mode 100644 SwiftMessages/Resources/successIcon.png create mode 100644 SwiftMessages/Resources/successIcon@2x.png create mode 100644 SwiftMessages/Resources/successIcon@3x.png create mode 100644 SwiftMessages/Resources/successIconLight.png create mode 100644 SwiftMessages/Resources/successIconLight@2x.png create mode 100644 SwiftMessages/Resources/successIconLight@3x.png create mode 100644 SwiftMessages/Resources/successIconSubtle.png create mode 100644 SwiftMessages/Resources/successIconSubtle@2x.png create mode 100644 SwiftMessages/Resources/successIconSubtle@3x.png create mode 100644 SwiftMessages/Resources/warningIcon.png create mode 100644 SwiftMessages/Resources/warningIcon@2x.png create mode 100644 SwiftMessages/Resources/warningIcon@3x.png create mode 100644 SwiftMessages/Resources/warningIconLight.png create mode 100644 SwiftMessages/Resources/warningIconLight@2x.png create mode 100644 SwiftMessages/Resources/warningIconLight@3x.png create mode 100644 SwiftMessages/Resources/warningIconSubtle.png create mode 100644 SwiftMessages/Resources/warningIconSubtle@2x.png create mode 100644 SwiftMessages/Resources/warningIconSubtle@3x.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 8db66102..30acb843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log All notable changes to this project will be documented in this file. +## 4.0.1 + +### Fixes + +* Fix #128 move icons out of asset catalog to prevent mysterious crash +* + ## 4.0.0 ### Features diff --git a/Demo/Pods/Pods.xcodeproj/project.pbxproj b/Demo/Pods/Pods.xcodeproj/project.pbxproj index a28c9f1c..2b7f0d6a 100644 --- a/Demo/Pods/Pods.xcodeproj/project.pbxproj +++ b/Demo/Pods/Pods.xcodeproj/project.pbxproj @@ -7,43 +7,78 @@ objects = { /* Begin PBXBuildFile section */ - 02794C8B4373B07096E10E2C76A798F2 /* AccessibleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C1EECDE513D02A97FE3145E34C748B /* AccessibleMessage.swift */; }; - 03BB56DA46C312D015A70460E72D052C /* BaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93F9CA1F604355146DA49D4DFC84D9DF /* BaseView.swift */; }; + 0028E6BBC336B107CF9EF0528B5EE43A /* errorIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9ACFD5309E99F8F47EF6ECBBDCC84F48 /* errorIcon@2x.png */; }; + 00A3BE42119648E09F4481207AA1B305 /* successIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 356BEF0CD1D48ACEB259708875B6F45B /* successIcon@2x.png */; }; + 02794C8B4373B07096E10E2C76A798F2 /* AccessibleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639F46247D2853502E85538D44A55369 /* AccessibleMessage.swift */; }; + 03BB56DA46C312D015A70460E72D052C /* BaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEBB9569BC83DBD2EE2C38E27BE6BFC /* BaseView.swift */; }; + 0A479206575AA251A0AAA308EB99009F /* successIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 68F421E50804DE31408EA50F32EB3FB5 /* successIcon.png */; }; 13B45A8C97351353898FFFA04BB3311E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */; }; - 162BAE771E705217925C031A5796DAB8 /* UIViewController+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F963F98E30609D720E506187E5A7031 /* UIViewController+Utils.swift */; }; - 2133C50E9F077E94A7BEC1F87BCDA612 /* Weak.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2DC962503B293E07CAAE638D8DB2658 /* Weak.swift */; }; - 264E10EDC0BEA939B73BE9451D037E86 /* Animator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBD0CC7265564725FC404904AC95D8F /* Animator.swift */; }; - 340332C1EF8489FE2F0BEEBD289EF3C1 /* CenteredView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1AA081944189D64EF7DC74A9D9E0B105 /* CenteredView.xib */; }; - 346CDFB7D2376B2445984A775A4121A7 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E458408B29C97A95A09C97699717187 /* Error.swift */; }; - 362E7D68DD559582C73A13E61EE2FC37 /* MaskingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEC4A492D703E0AE5C9A7483B71DC453 /* MaskingView.swift */; }; - 3A759DB4294C8F8C8828BC02D7B87782 /* SwiftMessages.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE17362477F7C3332D1D746C87DDBBE /* SwiftMessages.swift */; }; - 404EC55260ADF93EE4524E361FB41E2E /* Identifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 815C2CECB66685FE16CEC9749C8C1EB2 /* Identifiable.swift */; }; - 4A260B03A32F1C019FEEE0D82B79C991 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 219461964B980BFA09BC31E63FD2A006 /* Theme.swift */; }; - 4E364992EED691DC0458E39AFAC99F4B /* SwiftMessages-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 83B3725B836FAFD60A1F04779F5D68FA /* SwiftMessages-dummy.m */; }; - 609DECCC3E47D6BAED5BF42D05FA1E82 /* PhysicsPanHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF256256D805C850726206BC55D7B13 /* PhysicsPanHandler.swift */; }; - 65E8CA0D1FCC09C09F7143ECE9E7A131 /* TabView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 072B9A20FAB93ECDC5C4558B17344FCB /* TabView.xib */; }; - 6691C8C6B4D27015701FE961E040D157 /* PassthroughView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCFA729E463A0A1D6BA38B0EA40E2285 /* PassthroughView.swift */; }; - 7272D6441E55F668BF0191449176756F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E291F4BC584442AEB8D93B1DC5A3F3B5 /* Images.xcassets */; }; + 142F06B5618B79D5764391E6BFA51BD8 /* infoIconSubtle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BC768E58995BEE1752FF37E204D3B741 /* infoIconSubtle@3x.png */; }; + 162BAE771E705217925C031A5796DAB8 /* UIViewController+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6602B72571766EB10E664C9007999F20 /* UIViewController+Utils.swift */; }; + 170BAF58A90972BF0A6FA5609E625F7A /* errorIconLight@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7FF4F840A060487F0CF72B0A9143BFF7 /* errorIconLight@3x.png */; }; + 1A1084830C5F231B0428308DB11A5240 /* errorIconLight.png in Resources */ = {isa = PBXBuildFile; fileRef = 3F76B77F23524013D7DFBFB2DE8ECE0B /* errorIconLight.png */; }; + 2133C50E9F077E94A7BEC1F87BCDA612 /* Weak.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF31AA6050883852CFA30D6E1CCC483A /* Weak.swift */; }; + 23D88FAB1966383C09D215502E790BD1 /* successIconLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A1D24A70ED9BA222C2873D799659DA0 /* successIconLight@2x.png */; }; + 264E10EDC0BEA939B73BE9451D037E86 /* Animator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96715550AC8AF9FE1A039D711B911911 /* Animator.swift */; }; + 2A2F604FE6113C6A85F128ED4D12DD87 /* infoIconLight.png in Resources */ = {isa = PBXBuildFile; fileRef = 4D98A634A2F1E915954835684E7A8D1B /* infoIconLight.png */; }; + 32642169BD476A2F909DDF18C1077154 /* warningIconSubtle.png in Resources */ = {isa = PBXBuildFile; fileRef = 181A29B0159C6F7DE70346FA70FA5FFC /* warningIconSubtle.png */; }; + 33C6333BE8A551858E68DAF5AF905596 /* CenteredView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 32A099E194C7E794D67EA5ED5CB317A4 /* CenteredView.xib */; }; + 346CDFB7D2376B2445984A775A4121A7 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDB5240B8697E947A06F8CC23ED7C33B /* Error.swift */; }; + 362E7D68DD559582C73A13E61EE2FC37 /* MaskingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1204D55AF556C999DC38027DF5890B28 /* MaskingView.swift */; }; + 36A7F3FA50D96416A55BA790C4097E78 /* infoIconSubtle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8200E7E98EC0B8B4C12E5FC14642439A /* infoIconSubtle@2x.png */; }; + 3A759DB4294C8F8C8828BC02D7B87782 /* SwiftMessages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E81162128B5BD796919A2132D254B66 /* SwiftMessages.swift */; }; + 404EC55260ADF93EE4524E361FB41E2E /* Identifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35AD6C0CF4846B0CB08666B320471528 /* Identifiable.swift */; }; + 465A49B0B6350BE37433D665E1E1FEA3 /* errorIconSubtle.png in Resources */ = {isa = PBXBuildFile; fileRef = F4ADE1A948CAACA0952DA85DFE93EDC6 /* errorIconSubtle.png */; }; + 4A260B03A32F1C019FEEE0D82B79C991 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6BB71453B273789C63FBC534601E6ED /* Theme.swift */; }; + 4E364992EED691DC0458E39AFAC99F4B /* SwiftMessages-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 328CFFAA6D37707EC9D0BC86A19F5152 /* SwiftMessages-dummy.m */; }; + 5778E9746050B1A3A1DAF371CAD8BFF4 /* infoIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = C879038BE7020010FE957BCD44067FF5 /* infoIcon.png */; }; + 59AC62DE1D07102AC9405C78F2FD3263 /* warningIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30DB15067A730C6A2BC7F05396887C75 /* warningIcon@2x.png */; }; + 5A94363433C34AAA9CE44B13CACB5111 /* warningIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = A26E6447C47D4797EBA12C51DF1FA4CC /* warningIcon.png */; }; + 609DECCC3E47D6BAED5BF42D05FA1E82 /* PhysicsPanHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF3A9CB840536B3BADF6BE7DCAAACEEA /* PhysicsPanHandler.swift */; }; + 6691C8C6B4D27015701FE961E040D157 /* PassthroughView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A1441A4FFE2B7F778BEB3B5DBA62661 /* PassthroughView.swift */; }; 7AAB19F2F518FAFEFCC099693B8B8BA9 /* Pods-Demo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */; }; - 7EB804602F033B85C3DFF6A68D435408 /* Array+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A62156538C70FE8DFF7054F7A77552 /* Array+Utils.swift */; }; - 81DD02C7573B584C3853D8CF611A5A40 /* BackgroundViewable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9617E8050E64749DBA263DBE31A626F /* BackgroundViewable.swift */; }; - 89260C6C79CC3F72265591A7EF097605 /* NSBundle+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ABDAE2F220044E536027A7180117F84 /* NSBundle+Utils.swift */; }; - 91D85F7BB2DC3C6517F1526A49672975 /* TopBottomAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E17A5A366E08E3E20DFE6B3CE09B35 /* TopBottomAnimation.swift */; }; - 96BAB81A1F1AEFFAC341F6E313EBA661 /* MarginAdjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 024A0D8BA639E996F69D5758209521C4 /* MarginAdjustable.swift */; }; - 99C9C752D747BED0D2D5C4C32D2D9EF4 /* PassthroughWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B3162C34528ABE7E5780BE1852AD013 /* PassthroughWindow.swift */; }; + 7EB804602F033B85C3DFF6A68D435408 /* Array+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C81F05F5F00DFF8FF634AF354A70632 /* Array+Utils.swift */; }; + 7F5B8756755F727E220FE7E3228D0A04 /* successIconSubtle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E086DFA5ED7D77314F2C0EDFDACBD456 /* successIconSubtle@2x.png */; }; + 81CD353FE0CAE522A248792202CE7ECD /* infoIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D14558C79F02E838042204033837A92B /* infoIcon@3x.png */; }; + 81DD02C7573B584C3853D8CF611A5A40 /* BackgroundViewable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E81D2B21F048699D41BDEFCB01602F /* BackgroundViewable.swift */; }; + 85B1E60D86531952B984DCF12179B460 /* errorIconSubtle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 65A6CD233FD29C05E00B0169D19C61FE /* errorIconSubtle@2x.png */; }; + 89260C6C79CC3F72265591A7EF097605 /* NSBundle+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8373717C1BB6ADDBD984D9FDA77C3545 /* NSBundle+Utils.swift */; }; + 8B92312643E68138C3515DA2D9AD5B85 /* warningIconLight@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2DD0B43155EC2BA9B26BAA0A2CECF688 /* warningIconLight@3x.png */; }; + 91D85F7BB2DC3C6517F1526A49672975 /* TopBottomAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A6BF5E78D1639242188052850104FF /* TopBottomAnimation.swift */; }; + 96BAB81A1F1AEFFAC341F6E313EBA661 /* MarginAdjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE30A2E3C7B478B14B3318BD6B15A3E0 /* MarginAdjustable.swift */; }; + 979F2EF8EA034DBF9A718446D789FDEC /* errorIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CF6BD7B87B4458C33C40DCD348714FA4 /* errorIcon.png */; }; + 99C9C752D747BED0D2D5C4C32D2D9EF4 /* PassthroughWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B704BB1358D1D80549D0C41265533BED /* PassthroughWindow.swift */; }; + 9CA74EA125ED23780EC0754309A40975 /* warningIconLight.png in Resources */ = {isa = PBXBuildFile; fileRef = 4857ED94E6E55284EDD161E7FE045A1F /* warningIconLight.png */; }; 9D19AFE650DB5BC03BF075993C34AF91 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B63C6A64CF66340668996F78DA6BB482 /* UIKit.framework */; }; + 9D8C6E9DC33A198A15C606FFA3759B20 /* successIconLight.png in Resources */ = {isa = PBXBuildFile; fileRef = 97EADE94C5D04CC66387DB68AE47FD15 /* successIconLight.png */; }; A0DA50804F4D0578FA0F9ADB8E127D55 /* SwiftMessages.bundle in Resources */ = {isa = PBXBuildFile; fileRef = EDA8A9CFB00CA35B42F93F216EB7DA9B /* SwiftMessages.bundle */; }; + A1E97D2B454032D3883DE3BFFE705300 /* warningIconSubtle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B4AC34DCB364CB4647739D69B339BA0E /* warningIconSubtle@3x.png */; }; ADABE508FBF83EB6D66E7C9D3FC376AD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */; }; - AE6E8D5E60D42429EFC488BBACB5B22E /* CardView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7E5EDA5081F4BFCF6D515BFB9E6A46CD /* CardView.xib */; }; - B6C02449EB4B8386B573B34D778407C7 /* MessageViewIOS8.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8F7DEEAA47DF230A64A8A4A5C83B5042 /* MessageViewIOS8.xib */; }; - B95990682EEDE805DF3D65F3D9F18933 /* CenterAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DD60CD83E69B14B2BF628B8AEFEEA4F /* CenterAnimation.swift */; }; - BC2BA13F0070A8D9152D40C9546366F7 /* SwiftMessages-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B8F80FA0EA95624BFC02B47AEBB8FEF8 /* SwiftMessages-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6831BC308DC879EDCC48E0F9C68D24B /* Presenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E151F72287666C273EE9F13AE4A6FD8E /* Presenter.swift */; }; - C909E2C8F96396AE8F738650771D19AD /* MessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86BF7466A20EA158235AF3560DC587A1 /* MessageView.swift */; }; - D2AA927FC4D15F603EC8393A92A338E4 /* StatusLine.xib in Resources */ = {isa = PBXBuildFile; fileRef = DD63799D7F07CC21FB7DFACE7AFAFE7D /* StatusLine.xib */; }; - D6DBC84B97E355ADCD61AFBBA6A7A217 /* WindowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7447A70AD4CFA7C1F2E1DB09FC3E0110 /* WindowViewController.swift */; }; + B182F806EA9E2EDBBA3E7F4D04134BF3 /* warningIconLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C262B9DA7B148B035DD8D359BE20A137 /* warningIconLight@2x.png */; }; + B341470AE557F15B0944480B28F2DA0C /* TabView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 579E1FBF4F4C64B13D5F665156C3A4B6 /* TabView.xib */; }; + B6E92C2E1E6D90DC98B3FFDD4646DD37 /* infoIconLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C4AEB15B449176FBB2DBC600874E40D /* infoIconLight@2x.png */; }; + B95990682EEDE805DF3D65F3D9F18933 /* CenterAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 342E3936327A3C9E7ED4AEBF784BD6F9 /* CenterAnimation.swift */; }; + BC03A227950234D64554F5F9D7088078 /* MessageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7B276C8D6648E04FD4472040B437165 /* MessageView.xib */; }; + BC2BA13F0070A8D9152D40C9546366F7 /* SwiftMessages-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 375CE8F6508E1CAE438C4F0AFE25F11B /* SwiftMessages-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C17880F9EE88CB60BD9AADC9325441E1 /* successIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 98DF6503E18A257D9C538978CF3FF269 /* successIcon@3x.png */; }; + C6831BC308DC879EDCC48E0F9C68D24B /* Presenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD27FDD66007991C42B5E87CEA373B3C /* Presenter.swift */; }; + C909E2C8F96396AE8F738650771D19AD /* MessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21A0CE071BF939DBCE73CCD161735F5A /* MessageView.swift */; }; + CB702D2D770EB6EBC1CA7E85FC05B29C /* successIconSubtle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6012C56F929BD7E6D187DACBAE5AC351 /* successIconSubtle@3x.png */; }; + D0D024AF440DF9CBA8AC9608A606A46E /* warningIconSubtle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CB372E13B00350FAA5006037EFF32E5C /* warningIconSubtle@2x.png */; }; + D29D943274AEAD9924087D9831F5A977 /* infoIconLight@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 68780855EFD69507270AE7759F574203 /* infoIconLight@3x.png */; }; + D51337D9E7181151CFB485ABE64D8ED4 /* CardView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCE5447B894027A7B3991550C3EB207F /* CardView.xib */; }; + D6DBC84B97E355ADCD61AFBBA6A7A217 /* WindowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90540615DCF7328A5F6A991FF2AC83F /* WindowViewController.swift */; }; + D7B293097B25E687AE1DAFC6B892130B /* successIconLight@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9748E635DB4E2533D1C0E68DF92B204 /* successIconLight@3x.png */; }; + DAE5B1597EF6F6559D226E746ABEF77D /* infoIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9831B5DB13B7397C2395DD95882167D3 /* infoIcon@2x.png */; }; + DBB41DE004BA395A6E821E79180E9E56 /* successIconSubtle.png in Resources */ = {isa = PBXBuildFile; fileRef = 88E13430E4C415AA42D797FDE90E92F5 /* successIconSubtle.png */; }; + DC114E92AEE9441DDE5C8EA4628AD3E3 /* warningIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 338F853182E3B4D02927C1A44E041B65 /* warningIcon@3x.png */; }; + DF73F74353812AA9B649DBECB4C16C17 /* errorIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0251D501C80E73E7C001641D22CBE99A /* errorIcon@3x.png */; }; E9F211145EAEC09D0A0A33E46BB2059E /* Pods-Demo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FF614E4B3177462BC428F55337A84343 /* MessageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E8FE556582EF331E2394039D69668F3F /* MessageView.xib */; }; + EC5A51E34AE2F5295B758A044B7F1DEB /* StatusLine.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5FBAB332FFA90AAC27BD91388985379A /* StatusLine.xib */; }; + ED6096988EFAF7CD1E7E92AF15E810DA /* errorIconSubtle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6F9220BCA5415E3FE16D859550E145A5 /* errorIconSubtle@3x.png */; }; + EFA6497F5ECC79A4E4196F08698EDF03 /* infoIconSubtle.png in Resources */ = {isa = PBXBuildFile; fileRef = B229458AF87B201601318D0C55EA5C00 /* infoIconSubtle.png */; }; + F5D8207FCCD4BF9668D2912174341EF4 /* MessageViewIOS8.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3713446C0F668B78E107B1CBCAB643A8 /* MessageViewIOS8.xib */; }; + FD74F6961877FDCDB7E7679311D82D1F /* errorIconLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EBBAAA0476612EC9F78FAA9A6CCEDB4 /* errorIconLight@2x.png */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -64,58 +99,93 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 024A0D8BA639E996F69D5758209521C4 /* MarginAdjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MarginAdjustable.swift; path = SwiftMessages/MarginAdjustable.swift; sourceTree = ""; }; + 0251D501C80E73E7C001641D22CBE99A /* errorIcon@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "errorIcon@3x.png"; path = "SwiftMessages/Resources/errorIcon@3x.png"; sourceTree = ""; }; 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Demo-umbrella.h"; sourceTree = ""; }; - 0605D96E366DB55ABEAC32B776CA3E5F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 072B9A20FAB93ECDC5C4558B17344FCB /* TabView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = TabView.xib; path = SwiftMessages/Resources/TabView.xib; sourceTree = ""; }; - 0B3162C34528ABE7E5780BE1852AD013 /* PassthroughWindow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PassthroughWindow.swift; path = SwiftMessages/PassthroughWindow.swift; sourceTree = ""; }; - 1AA081944189D64EF7DC74A9D9E0B105 /* CenteredView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = CenteredView.xib; path = SwiftMessages/Resources/CenteredView.xib; sourceTree = ""; }; - 1E6D8CE225591FD7DC26180B2B4D3AC5 /* ResourceBundle-SwiftMessages-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SwiftMessages-Info.plist"; sourceTree = ""; }; - 219461964B980BFA09BC31E63FD2A006 /* Theme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Theme.swift; path = SwiftMessages/Theme.swift; sourceTree = ""; }; + 0A3C73D7B53F155955B8BC0134404A38 /* SwiftMessages.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftMessages.xcconfig; sourceTree = ""; }; + 0BF2B5381CD38A267ABD9BE1916699AE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1204D55AF556C999DC38027DF5890B28 /* MaskingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MaskingView.swift; path = SwiftMessages/MaskingView.swift; sourceTree = ""; }; + 181A29B0159C6F7DE70346FA70FA5FFC /* warningIconSubtle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = warningIconSubtle.png; path = SwiftMessages/Resources/warningIconSubtle.png; sourceTree = ""; }; + 1AEBB9569BC83DBD2EE2C38E27BE6BFC /* BaseView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BaseView.swift; path = SwiftMessages/BaseView.swift; sourceTree = ""; }; + 1E81162128B5BD796919A2132D254B66 /* SwiftMessages.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftMessages.swift; path = SwiftMessages/SwiftMessages.swift; sourceTree = ""; }; + 21A0CE071BF939DBCE73CCD161735F5A /* MessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageView.swift; path = SwiftMessages/MessageView.swift; sourceTree = ""; }; + 2DD0B43155EC2BA9B26BAA0A2CECF688 /* warningIconLight@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "warningIconLight@3x.png"; path = "SwiftMessages/Resources/warningIconLight@3x.png"; sourceTree = ""; }; + 30DB15067A730C6A2BC7F05396887C75 /* warningIcon@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "warningIcon@2x.png"; path = "SwiftMessages/Resources/warningIcon@2x.png"; sourceTree = ""; }; 322419E99883B306EE7EC77959FCC8DF /* Pods-Demo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Demo.modulemap"; sourceTree = ""; }; + 328CFFAA6D37707EC9D0BC86A19F5152 /* SwiftMessages-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftMessages-dummy.m"; sourceTree = ""; }; + 32A099E194C7E794D67EA5ED5CB317A4 /* CenteredView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = CenteredView.xib; path = SwiftMessages/Resources/CenteredView.xib; sourceTree = ""; }; + 338F853182E3B4D02927C1A44E041B65 /* warningIcon@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "warningIcon@3x.png"; path = "SwiftMessages/Resources/warningIcon@3x.png"; sourceTree = ""; }; + 342E3936327A3C9E7ED4AEBF784BD6F9 /* CenterAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CenterAnimation.swift; path = SwiftMessages/CenterAnimation.swift; sourceTree = ""; }; + 356BEF0CD1D48ACEB259708875B6F45B /* successIcon@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "successIcon@2x.png"; path = "SwiftMessages/Resources/successIcon@2x.png"; sourceTree = ""; }; + 35AD6C0CF4846B0CB08666B320471528 /* Identifiable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Identifiable.swift; path = SwiftMessages/Identifiable.swift; sourceTree = ""; }; + 3713446C0F668B78E107B1CBCAB643A8 /* MessageViewIOS8.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MessageViewIOS8.xib; path = SwiftMessages/Resources/MessageViewIOS8.xib; sourceTree = ""; }; + 375CE8F6508E1CAE438C4F0AFE25F11B /* SwiftMessages-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftMessages-umbrella.h"; sourceTree = ""; }; + 3A1441A4FFE2B7F778BEB3B5DBA62661 /* PassthroughView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PassthroughView.swift; path = SwiftMessages/PassthroughView.swift; sourceTree = ""; }; 3CD5A30239C90F1B549B4AB9299ECF16 /* Pods-Demo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Demo-frameworks.sh"; sourceTree = ""; }; 3D653C9DA16200D75AD14323AA830C6B /* Pods-Demo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Demo-resources.sh"; sourceTree = ""; }; - 49027BADE40B71DE9A177DF75AFB59AA /* SwiftMessages-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftMessages-prefix.pch"; sourceTree = ""; }; - 4ABDAE2F220044E536027A7180117F84 /* NSBundle+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+Utils.swift"; path = "SwiftMessages/NSBundle+Utils.swift"; sourceTree = ""; }; - 4F963F98E30609D720E506187E5A7031 /* UIViewController+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+Utils.swift"; path = "SwiftMessages/UIViewController+Utils.swift"; sourceTree = ""; }; + 3F76B77F23524013D7DFBFB2DE8ECE0B /* errorIconLight.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = errorIconLight.png; path = SwiftMessages/Resources/errorIconLight.png; sourceTree = ""; }; + 4857ED94E6E55284EDD161E7FE045A1F /* warningIconLight.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = warningIconLight.png; path = SwiftMessages/Resources/warningIconLight.png; sourceTree = ""; }; + 4A1D24A70ED9BA222C2873D799659DA0 /* successIconLight@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "successIconLight@2x.png"; path = "SwiftMessages/Resources/successIconLight@2x.png"; sourceTree = ""; }; + 4D98A634A2F1E915954835684E7A8D1B /* infoIconLight.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = infoIconLight.png; path = SwiftMessages/Resources/infoIconLight.png; sourceTree = ""; }; + 4FBAA031DB3BA56621DD6880C6980C33 /* ResourceBundle-SwiftMessages-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SwiftMessages-Info.plist"; sourceTree = ""; }; 5259A068CBCD8780234A0D70629C1271 /* SwiftMessages.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftMessages.framework; path = SwiftMessages.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 64A62156538C70FE8DFF7054F7A77552 /* Array+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Utils.swift"; path = "SwiftMessages/Array+Utils.swift"; sourceTree = ""; }; - 65E17A5A366E08E3E20DFE6B3CE09B35 /* TopBottomAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TopBottomAnimation.swift; path = SwiftMessages/TopBottomAnimation.swift; sourceTree = ""; }; + 53ABFBCBD51C323F6DFA9DCF333E1CED /* SwiftMessages.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftMessages.modulemap; sourceTree = ""; }; + 579E1FBF4F4C64B13D5F665156C3A4B6 /* TabView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = TabView.xib; path = SwiftMessages/Resources/TabView.xib; sourceTree = ""; }; + 5EBBAAA0476612EC9F78FAA9A6CCEDB4 /* errorIconLight@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "errorIconLight@2x.png"; path = "SwiftMessages/Resources/errorIconLight@2x.png"; sourceTree = ""; }; + 5FBAB332FFA90AAC27BD91388985379A /* StatusLine.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = StatusLine.xib; path = SwiftMessages/Resources/StatusLine.xib; sourceTree = ""; }; + 6012C56F929BD7E6D187DACBAE5AC351 /* successIconSubtle@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "successIconSubtle@3x.png"; path = "SwiftMessages/Resources/successIconSubtle@3x.png"; sourceTree = ""; }; + 639F46247D2853502E85538D44A55369 /* AccessibleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AccessibleMessage.swift; path = SwiftMessages/AccessibleMessage.swift; sourceTree = ""; }; + 65A6CD233FD29C05E00B0169D19C61FE /* errorIconSubtle@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "errorIconSubtle@2x.png"; path = "SwiftMessages/Resources/errorIconSubtle@2x.png"; sourceTree = ""; }; + 6602B72571766EB10E664C9007999F20 /* UIViewController+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+Utils.swift"; path = "SwiftMessages/UIViewController+Utils.swift"; sourceTree = ""; }; + 68780855EFD69507270AE7759F574203 /* infoIconLight@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "infoIconLight@3x.png"; path = "SwiftMessages/Resources/infoIconLight@3x.png"; sourceTree = ""; }; + 68F421E50804DE31408EA50F32EB3FB5 /* successIcon.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = successIcon.png; path = SwiftMessages/Resources/successIcon.png; sourceTree = ""; }; + 6F9220BCA5415E3FE16D859550E145A5 /* errorIconSubtle@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "errorIconSubtle@3x.png"; path = "SwiftMessages/Resources/errorIconSubtle@3x.png"; sourceTree = ""; }; 71940C1CEB7995DC34CFE54CAF1AEF88 /* Pods-Demo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Demo-acknowledgements.markdown"; sourceTree = ""; }; - 7447A70AD4CFA7C1F2E1DB09FC3E0110 /* WindowViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WindowViewController.swift; path = SwiftMessages/WindowViewController.swift; sourceTree = ""; }; - 7DD60CD83E69B14B2BF628B8AEFEEA4F /* CenterAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CenterAnimation.swift; path = SwiftMessages/CenterAnimation.swift; sourceTree = ""; }; - 7E5EDA5081F4BFCF6D515BFB9E6A46CD /* CardView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = CardView.xib; path = SwiftMessages/Resources/CardView.xib; sourceTree = ""; }; - 815C2CECB66685FE16CEC9749C8C1EB2 /* Identifiable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Identifiable.swift; path = SwiftMessages/Identifiable.swift; sourceTree = ""; }; - 83B3725B836FAFD60A1F04779F5D68FA /* SwiftMessages-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftMessages-dummy.m"; sourceTree = ""; }; - 86BF7466A20EA158235AF3560DC587A1 /* MessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MessageView.swift; path = SwiftMessages/MessageView.swift; sourceTree = ""; }; - 8E458408B29C97A95A09C97699717187 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = SwiftMessages/Error.swift; sourceTree = ""; }; - 8F7DEEAA47DF230A64A8A4A5C83B5042 /* MessageViewIOS8.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MessageViewIOS8.xib; path = SwiftMessages/Resources/MessageViewIOS8.xib; sourceTree = ""; }; + 7C4AEB15B449176FBB2DBC600874E40D /* infoIconLight@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "infoIconLight@2x.png"; path = "SwiftMessages/Resources/infoIconLight@2x.png"; sourceTree = ""; }; + 7FF4F840A060487F0CF72B0A9143BFF7 /* errorIconLight@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "errorIconLight@3x.png"; path = "SwiftMessages/Resources/errorIconLight@3x.png"; sourceTree = ""; }; + 81A6BF5E78D1639242188052850104FF /* TopBottomAnimation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TopBottomAnimation.swift; path = SwiftMessages/TopBottomAnimation.swift; sourceTree = ""; }; + 8200E7E98EC0B8B4C12E5FC14642439A /* infoIconSubtle@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "infoIconSubtle@2x.png"; path = "SwiftMessages/Resources/infoIconSubtle@2x.png"; sourceTree = ""; }; + 8373717C1BB6ADDBD984D9FDA77C3545 /* NSBundle+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+Utils.swift"; path = "SwiftMessages/NSBundle+Utils.swift"; sourceTree = ""; }; + 88E13430E4C415AA42D797FDE90E92F5 /* successIconSubtle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = successIconSubtle.png; path = SwiftMessages/Resources/successIconSubtle.png; sourceTree = ""; }; + 8C81F05F5F00DFF8FF634AF354A70632 /* Array+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Utils.swift"; path = "SwiftMessages/Array+Utils.swift"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 93F9CA1F604355146DA49D4DFC84D9DF /* BaseView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BaseView.swift; path = SwiftMessages/BaseView.swift; sourceTree = ""; }; - AEC4A492D703E0AE5C9A7483B71DC453 /* MaskingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MaskingView.swift; path = SwiftMessages/MaskingView.swift; sourceTree = ""; }; - B21DB98CEE62C3CFA181FAE93CE35EA9 /* SwiftMessages.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftMessages.xcconfig; sourceTree = ""; }; - B5C4CD23AB00FACC6371B3C46A88273D /* SwiftMessages.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftMessages.modulemap; sourceTree = ""; }; + 96715550AC8AF9FE1A039D711B911911 /* Animator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Animator.swift; path = SwiftMessages/Animator.swift; sourceTree = ""; }; + 97EADE94C5D04CC66387DB68AE47FD15 /* successIconLight.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = successIconLight.png; path = SwiftMessages/Resources/successIconLight.png; sourceTree = ""; }; + 9831B5DB13B7397C2395DD95882167D3 /* infoIcon@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "infoIcon@2x.png"; path = "SwiftMessages/Resources/infoIcon@2x.png"; sourceTree = ""; }; + 98DF6503E18A257D9C538978CF3FF269 /* successIcon@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "successIcon@3x.png"; path = "SwiftMessages/Resources/successIcon@3x.png"; sourceTree = ""; }; + 9ACFD5309E99F8F47EF6ECBBDCC84F48 /* errorIcon@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "errorIcon@2x.png"; path = "SwiftMessages/Resources/errorIcon@2x.png"; sourceTree = ""; }; + A26E6447C47D4797EBA12C51DF1FA4CC /* warningIcon.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = warningIcon.png; path = SwiftMessages/Resources/warningIcon.png; sourceTree = ""; }; + A9748E635DB4E2533D1C0E68DF92B204 /* successIconLight@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "successIconLight@3x.png"; path = "SwiftMessages/Resources/successIconLight@3x.png"; sourceTree = ""; }; + AF3A9CB840536B3BADF6BE7DCAAACEEA /* PhysicsPanHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PhysicsPanHandler.swift; path = SwiftMessages/PhysicsPanHandler.swift; sourceTree = ""; }; + B229458AF87B201601318D0C55EA5C00 /* infoIconSubtle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = infoIconSubtle.png; path = SwiftMessages/Resources/infoIconSubtle.png; sourceTree = ""; }; + B4AC34DCB364CB4647739D69B339BA0E /* warningIconSubtle@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "warningIconSubtle@3x.png"; path = "SwiftMessages/Resources/warningIconSubtle@3x.png"; sourceTree = ""; }; B63C6A64CF66340668996F78DA6BB482 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - B8F80FA0EA95624BFC02B47AEBB8FEF8 /* SwiftMessages-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftMessages-umbrella.h"; sourceTree = ""; }; - BFBD0CC7265564725FC404904AC95D8F /* Animator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Animator.swift; path = SwiftMessages/Animator.swift; sourceTree = ""; }; + B704BB1358D1D80549D0C41265533BED /* PassthroughWindow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PassthroughWindow.swift; path = SwiftMessages/PassthroughWindow.swift; sourceTree = ""; }; + B90540615DCF7328A5F6A991FF2AC83F /* WindowViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WindowViewController.swift; path = SwiftMessages/WindowViewController.swift; sourceTree = ""; }; + BC768E58995BEE1752FF37E204D3B741 /* infoIconSubtle@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "infoIconSubtle@3x.png"; path = "SwiftMessages/Resources/infoIconSubtle@3x.png"; sourceTree = ""; }; + BCE5447B894027A7B3991550C3EB207F /* CardView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = CardView.xib; path = SwiftMessages/Resources/CardView.xib; sourceTree = ""; }; BFCD7E7BC43700342D2ECDA704620869 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Demo.framework; path = "Pods-Demo.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - BFE17362477F7C3332D1D746C87DDBBE /* SwiftMessages.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftMessages.swift; path = SwiftMessages/SwiftMessages.swift; sourceTree = ""; }; + C262B9DA7B148B035DD8D359BE20A137 /* warningIconLight@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "warningIconLight@2x.png"; path = "SwiftMessages/Resources/warningIconLight@2x.png"; sourceTree = ""; }; C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Demo-dummy.m"; sourceTree = ""; }; + C879038BE7020010FE957BCD44067FF5 /* infoIcon.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = infoIcon.png; path = SwiftMessages/Resources/infoIcon.png; sourceTree = ""; }; CA19694C0AC41D598DE4ABFEB300E619 /* Pods-Demo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Demo-acknowledgements.plist"; sourceTree = ""; }; + CB372E13B00350FAA5006037EFF32E5C /* warningIconSubtle@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "warningIconSubtle@2x.png"; path = "SwiftMessages/Resources/warningIconSubtle@2x.png"; sourceTree = ""; }; + CBEF14FD36920E1CC43E416AEAAE4515 /* SwiftMessages-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftMessages-prefix.pch"; sourceTree = ""; }; CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Demo.debug.xcconfig"; sourceTree = ""; }; - CCFA729E463A0A1D6BA38B0EA40E2285 /* PassthroughView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PassthroughView.swift; path = SwiftMessages/PassthroughView.swift; sourceTree = ""; }; + CD27FDD66007991C42B5E87CEA373B3C /* Presenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Presenter.swift; path = SwiftMessages/Presenter.swift; sourceTree = ""; }; + CDB5240B8697E947A06F8CC23ED7C33B /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = SwiftMessages/Error.swift; sourceTree = ""; }; + CE30A2E3C7B478B14B3318BD6B15A3E0 /* MarginAdjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MarginAdjustable.swift; path = SwiftMessages/MarginAdjustable.swift; sourceTree = ""; }; + CF31AA6050883852CFA30D6E1CCC483A /* Weak.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Weak.swift; path = SwiftMessages/Weak.swift; sourceTree = ""; }; + CF6BD7B87B4458C33C40DCD348714FA4 /* errorIcon.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = errorIcon.png; path = SwiftMessages/Resources/errorIcon.png; sourceTree = ""; }; + D14558C79F02E838042204033837A92B /* infoIcon@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "infoIcon@3x.png"; path = "SwiftMessages/Resources/infoIcon@3x.png"; sourceTree = ""; }; + D7B276C8D6648E04FD4472040B437165 /* MessageView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MessageView.xib; path = SwiftMessages/Resources/MessageView.xib; sourceTree = ""; }; D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D9C1EECDE513D02A97FE3145E34C748B /* AccessibleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AccessibleMessage.swift; path = SwiftMessages/AccessibleMessage.swift; sourceTree = ""; }; DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Demo.release.xcconfig"; sourceTree = ""; }; - DD63799D7F07CC21FB7DFACE7AFAFE7D /* StatusLine.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = StatusLine.xib; path = SwiftMessages/Resources/StatusLine.xib; sourceTree = ""; }; - E151F72287666C273EE9F13AE4A6FD8E /* Presenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Presenter.swift; path = SwiftMessages/Presenter.swift; sourceTree = ""; }; - E291F4BC584442AEB8D93B1DC5A3F3B5 /* Images.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SwiftMessages/Resources/Images.xcassets; sourceTree = ""; }; + E086DFA5ED7D77314F2C0EDFDACBD456 /* successIconSubtle@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "successIconSubtle@2x.png"; path = "SwiftMessages/Resources/successIconSubtle@2x.png"; sourceTree = ""; }; E68F8C86FB3267A3C87983DA9E269889 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E8FE556582EF331E2394039D69668F3F /* MessageView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MessageView.xib; path = SwiftMessages/Resources/MessageView.xib; sourceTree = ""; }; EDA8A9CFB00CA35B42F93F216EB7DA9B /* SwiftMessages.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = SwiftMessages.bundle; path = SwiftMessages.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - F2DC962503B293E07CAAE638D8DB2658 /* Weak.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Weak.swift; path = SwiftMessages/Weak.swift; sourceTree = ""; }; - F9617E8050E64749DBA263DBE31A626F /* BackgroundViewable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BackgroundViewable.swift; path = SwiftMessages/BackgroundViewable.swift; sourceTree = ""; }; - FDF256256D805C850726206BC55D7B13 /* PhysicsPanHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PhysicsPanHandler.swift; path = SwiftMessages/PhysicsPanHandler.swift; sourceTree = ""; }; + F4ADE1A948CAACA0952DA85DFE93EDC6 /* errorIconSubtle.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = errorIconSubtle.png; path = SwiftMessages/Resources/errorIconSubtle.png; sourceTree = ""; }; + F5E81D2B21F048699D41BDEFCB01602F /* BackgroundViewable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BackgroundViewable.swift; path = SwiftMessages/BackgroundViewable.swift; sourceTree = ""; }; + F6BB71453B273789C63FBC534601E6ED /* Theme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Theme.swift; path = SwiftMessages/Theme.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -149,7 +219,7 @@ 0854EB70FE99EC96B07690A526ACE353 /* Development Pods */ = { isa = PBXGroup; children = ( - 2D8F984E551AA75AA0405B601CB7483C /* SwiftMessages */, + 743DE5A9A92F0F5CCF2E1C85498953F9 /* SwiftMessages */, ); name = "Development Pods"; sourceTree = ""; @@ -164,36 +234,19 @@ name = Products; sourceTree = ""; }; - 2D8F984E551AA75AA0405B601CB7483C /* SwiftMessages */ = { + 2B9B34F42C5FB47C85F8821456EB3057 /* Support Files */ = { isa = PBXGroup; children = ( - D9C1EECDE513D02A97FE3145E34C748B /* AccessibleMessage.swift */, - BFBD0CC7265564725FC404904AC95D8F /* Animator.swift */, - 64A62156538C70FE8DFF7054F7A77552 /* Array+Utils.swift */, - F9617E8050E64749DBA263DBE31A626F /* BackgroundViewable.swift */, - 93F9CA1F604355146DA49D4DFC84D9DF /* BaseView.swift */, - 7DD60CD83E69B14B2BF628B8AEFEEA4F /* CenterAnimation.swift */, - 8E458408B29C97A95A09C97699717187 /* Error.swift */, - 815C2CECB66685FE16CEC9749C8C1EB2 /* Identifiable.swift */, - 024A0D8BA639E996F69D5758209521C4 /* MarginAdjustable.swift */, - AEC4A492D703E0AE5C9A7483B71DC453 /* MaskingView.swift */, - 86BF7466A20EA158235AF3560DC587A1 /* MessageView.swift */, - 4ABDAE2F220044E536027A7180117F84 /* NSBundle+Utils.swift */, - CCFA729E463A0A1D6BA38B0EA40E2285 /* PassthroughView.swift */, - 0B3162C34528ABE7E5780BE1852AD013 /* PassthroughWindow.swift */, - FDF256256D805C850726206BC55D7B13 /* PhysicsPanHandler.swift */, - E151F72287666C273EE9F13AE4A6FD8E /* Presenter.swift */, - BFE17362477F7C3332D1D746C87DDBBE /* SwiftMessages.swift */, - 219461964B980BFA09BC31E63FD2A006 /* Theme.swift */, - 65E17A5A366E08E3E20DFE6B3CE09B35 /* TopBottomAnimation.swift */, - 4F963F98E30609D720E506187E5A7031 /* UIViewController+Utils.swift */, - F2DC962503B293E07CAAE638D8DB2658 /* Weak.swift */, - 7447A70AD4CFA7C1F2E1DB09FC3E0110 /* WindowViewController.swift */, - 7606EC1F401C53C1D774B6EE0DF13AEE /* Resources */, - 4F98004D96CC56766BE8BE71662205C1 /* Support Files */, + 0BF2B5381CD38A267ABD9BE1916699AE /* Info.plist */, + 4FBAA031DB3BA56621DD6880C6980C33 /* ResourceBundle-SwiftMessages-Info.plist */, + 53ABFBCBD51C323F6DFA9DCF333E1CED /* SwiftMessages.modulemap */, + 0A3C73D7B53F155955B8BC0134404A38 /* SwiftMessages.xcconfig */, + 328CFFAA6D37707EC9D0BC86A19F5152 /* SwiftMessages-dummy.m */, + CBEF14FD36920E1CC43E416AEAAE4515 /* SwiftMessages-prefix.pch */, + 375CE8F6508E1CAE438C4F0AFE25F11B /* SwiftMessages-umbrella.h */, ); - name = SwiftMessages; - path = ../..; + name = "Support Files"; + path = "Demo/Pods/Target Support Files/SwiftMessages"; sourceTree = ""; }; 433CD3331B6C3787F473C941B61FC68F /* Frameworks */ = { @@ -213,21 +266,6 @@ name = iOS; sourceTree = ""; }; - 4F98004D96CC56766BE8BE71662205C1 /* Support Files */ = { - isa = PBXGroup; - children = ( - 0605D96E366DB55ABEAC32B776CA3E5F /* Info.plist */, - 1E6D8CE225591FD7DC26180B2B4D3AC5 /* ResourceBundle-SwiftMessages-Info.plist */, - B5C4CD23AB00FACC6371B3C46A88273D /* SwiftMessages.modulemap */, - B21DB98CEE62C3CFA181FAE93CE35EA9 /* SwiftMessages.xcconfig */, - 83B3725B836FAFD60A1F04779F5D68FA /* SwiftMessages-dummy.m */, - 49027BADE40B71DE9A177DF75AFB59AA /* SwiftMessages-prefix.pch */, - B8F80FA0EA95624BFC02B47AEBB8FEF8 /* SwiftMessages-umbrella.h */, - ); - name = "Support Files"; - path = "Demo/Pods/Target Support Files/SwiftMessages"; - sourceTree = ""; - }; 6F2351C272926D3E0225FEFC2F9C5D1F /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -236,18 +274,36 @@ name = "Targets Support Files"; sourceTree = ""; }; - 7606EC1F401C53C1D774B6EE0DF13AEE /* Resources */ = { + 743DE5A9A92F0F5CCF2E1C85498953F9 /* SwiftMessages */ = { isa = PBXGroup; children = ( - 7E5EDA5081F4BFCF6D515BFB9E6A46CD /* CardView.xib */, - 1AA081944189D64EF7DC74A9D9E0B105 /* CenteredView.xib */, - E291F4BC584442AEB8D93B1DC5A3F3B5 /* Images.xcassets */, - E8FE556582EF331E2394039D69668F3F /* MessageView.xib */, - 8F7DEEAA47DF230A64A8A4A5C83B5042 /* MessageViewIOS8.xib */, - DD63799D7F07CC21FB7DFACE7AFAFE7D /* StatusLine.xib */, - 072B9A20FAB93ECDC5C4558B17344FCB /* TabView.xib */, + 639F46247D2853502E85538D44A55369 /* AccessibleMessage.swift */, + 96715550AC8AF9FE1A039D711B911911 /* Animator.swift */, + 8C81F05F5F00DFF8FF634AF354A70632 /* Array+Utils.swift */, + F5E81D2B21F048699D41BDEFCB01602F /* BackgroundViewable.swift */, + 1AEBB9569BC83DBD2EE2C38E27BE6BFC /* BaseView.swift */, + 342E3936327A3C9E7ED4AEBF784BD6F9 /* CenterAnimation.swift */, + CDB5240B8697E947A06F8CC23ED7C33B /* Error.swift */, + 35AD6C0CF4846B0CB08666B320471528 /* Identifiable.swift */, + CE30A2E3C7B478B14B3318BD6B15A3E0 /* MarginAdjustable.swift */, + 1204D55AF556C999DC38027DF5890B28 /* MaskingView.swift */, + 21A0CE071BF939DBCE73CCD161735F5A /* MessageView.swift */, + 8373717C1BB6ADDBD984D9FDA77C3545 /* NSBundle+Utils.swift */, + 3A1441A4FFE2B7F778BEB3B5DBA62661 /* PassthroughView.swift */, + B704BB1358D1D80549D0C41265533BED /* PassthroughWindow.swift */, + AF3A9CB840536B3BADF6BE7DCAAACEEA /* PhysicsPanHandler.swift */, + CD27FDD66007991C42B5E87CEA373B3C /* Presenter.swift */, + 1E81162128B5BD796919A2132D254B66 /* SwiftMessages.swift */, + F6BB71453B273789C63FBC534601E6ED /* Theme.swift */, + 81A6BF5E78D1639242188052850104FF /* TopBottomAnimation.swift */, + 6602B72571766EB10E664C9007999F20 /* UIViewController+Utils.swift */, + CF31AA6050883852CFA30D6E1CCC483A /* Weak.swift */, + B90540615DCF7328A5F6A991FF2AC83F /* WindowViewController.swift */, + BB2DFCF45484324DBF5235343B6B7119 /* Resources */, + 2B9B34F42C5FB47C85F8821456EB3057 /* Support Files */, ); - name = Resources; + name = SwiftMessages; + path = ../..; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -261,6 +317,55 @@ ); sourceTree = ""; }; + BB2DFCF45484324DBF5235343B6B7119 /* Resources */ = { + isa = PBXGroup; + children = ( + BCE5447B894027A7B3991550C3EB207F /* CardView.xib */, + 32A099E194C7E794D67EA5ED5CB317A4 /* CenteredView.xib */, + CF6BD7B87B4458C33C40DCD348714FA4 /* errorIcon.png */, + 9ACFD5309E99F8F47EF6ECBBDCC84F48 /* errorIcon@2x.png */, + 0251D501C80E73E7C001641D22CBE99A /* errorIcon@3x.png */, + 3F76B77F23524013D7DFBFB2DE8ECE0B /* errorIconLight.png */, + 5EBBAAA0476612EC9F78FAA9A6CCEDB4 /* errorIconLight@2x.png */, + 7FF4F840A060487F0CF72B0A9143BFF7 /* errorIconLight@3x.png */, + F4ADE1A948CAACA0952DA85DFE93EDC6 /* errorIconSubtle.png */, + 65A6CD233FD29C05E00B0169D19C61FE /* errorIconSubtle@2x.png */, + 6F9220BCA5415E3FE16D859550E145A5 /* errorIconSubtle@3x.png */, + C879038BE7020010FE957BCD44067FF5 /* infoIcon.png */, + 9831B5DB13B7397C2395DD95882167D3 /* infoIcon@2x.png */, + D14558C79F02E838042204033837A92B /* infoIcon@3x.png */, + 4D98A634A2F1E915954835684E7A8D1B /* infoIconLight.png */, + 7C4AEB15B449176FBB2DBC600874E40D /* infoIconLight@2x.png */, + 68780855EFD69507270AE7759F574203 /* infoIconLight@3x.png */, + B229458AF87B201601318D0C55EA5C00 /* infoIconSubtle.png */, + 8200E7E98EC0B8B4C12E5FC14642439A /* infoIconSubtle@2x.png */, + BC768E58995BEE1752FF37E204D3B741 /* infoIconSubtle@3x.png */, + D7B276C8D6648E04FD4472040B437165 /* MessageView.xib */, + 3713446C0F668B78E107B1CBCAB643A8 /* MessageViewIOS8.xib */, + 5FBAB332FFA90AAC27BD91388985379A /* StatusLine.xib */, + 68F421E50804DE31408EA50F32EB3FB5 /* successIcon.png */, + 356BEF0CD1D48ACEB259708875B6F45B /* successIcon@2x.png */, + 98DF6503E18A257D9C538978CF3FF269 /* successIcon@3x.png */, + 97EADE94C5D04CC66387DB68AE47FD15 /* successIconLight.png */, + 4A1D24A70ED9BA222C2873D799659DA0 /* successIconLight@2x.png */, + A9748E635DB4E2533D1C0E68DF92B204 /* successIconLight@3x.png */, + 88E13430E4C415AA42D797FDE90E92F5 /* successIconSubtle.png */, + E086DFA5ED7D77314F2C0EDFDACBD456 /* successIconSubtle@2x.png */, + 6012C56F929BD7E6D187DACBAE5AC351 /* successIconSubtle@3x.png */, + 579E1FBF4F4C64B13D5F665156C3A4B6 /* TabView.xib */, + A26E6447C47D4797EBA12C51DF1FA4CC /* warningIcon.png */, + 30DB15067A730C6A2BC7F05396887C75 /* warningIcon@2x.png */, + 338F853182E3B4D02927C1A44E041B65 /* warningIcon@3x.png */, + 4857ED94E6E55284EDD161E7FE045A1F /* warningIconLight.png */, + C262B9DA7B148B035DD8D359BE20A137 /* warningIconLight@2x.png */, + 2DD0B43155EC2BA9B26BAA0A2CECF688 /* warningIconLight@3x.png */, + 181A29B0159C6F7DE70346FA70FA5FFC /* warningIconSubtle.png */, + CB372E13B00350FAA5006037EFF32E5C /* warningIconSubtle@2x.png */, + B4AC34DCB364CB4647739D69B339BA0E /* warningIconSubtle@3x.png */, + ); + name = Resources; + sourceTree = ""; + }; ECC58720C5754A079F9A150E40E2FCDD /* Pods-Demo */ = { isa = PBXGroup; children = ( @@ -344,7 +449,7 @@ buildPhases = ( F08614BD38C701F3AADA90C9947DC76A /* Sources */, E91BEACBF4240D4C99B76EFD369464A8 /* Frameworks */, - 30741D36AB0A5F4DDE81AE6335F8F829 /* Resources */, + D0E84AE3DF77FFCB9990E831F6C843E5 /* Resources */, ); buildRules = ( ); @@ -384,25 +489,60 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 30741D36AB0A5F4DDE81AE6335F8F829 /* Resources */ = { + A71C7940AD91593112CD3B1F284D67E5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - AE6E8D5E60D42429EFC488BBACB5B22E /* CardView.xib in Resources */, - 340332C1EF8489FE2F0BEEBD289EF3C1 /* CenteredView.xib in Resources */, - 7272D6441E55F668BF0191449176756F /* Images.xcassets in Resources */, - FF614E4B3177462BC428F55337A84343 /* MessageView.xib in Resources */, - B6C02449EB4B8386B573B34D778407C7 /* MessageViewIOS8.xib in Resources */, - D2AA927FC4D15F603EC8393A92A338E4 /* StatusLine.xib in Resources */, - 65E8CA0D1FCC09C09F7143ECE9E7A131 /* TabView.xib in Resources */, + A0DA50804F4D0578FA0F9ADB8E127D55 /* SwiftMessages.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A71C7940AD91593112CD3B1F284D67E5 /* Resources */ = { + D0E84AE3DF77FFCB9990E831F6C843E5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - A0DA50804F4D0578FA0F9ADB8E127D55 /* SwiftMessages.bundle in Resources */, + D51337D9E7181151CFB485ABE64D8ED4 /* CardView.xib in Resources */, + 33C6333BE8A551858E68DAF5AF905596 /* CenteredView.xib in Resources */, + 979F2EF8EA034DBF9A718446D789FDEC /* errorIcon.png in Resources */, + 0028E6BBC336B107CF9EF0528B5EE43A /* errorIcon@2x.png in Resources */, + DF73F74353812AA9B649DBECB4C16C17 /* errorIcon@3x.png in Resources */, + 1A1084830C5F231B0428308DB11A5240 /* errorIconLight.png in Resources */, + FD74F6961877FDCDB7E7679311D82D1F /* errorIconLight@2x.png in Resources */, + 170BAF58A90972BF0A6FA5609E625F7A /* errorIconLight@3x.png in Resources */, + 465A49B0B6350BE37433D665E1E1FEA3 /* errorIconSubtle.png in Resources */, + 85B1E60D86531952B984DCF12179B460 /* errorIconSubtle@2x.png in Resources */, + ED6096988EFAF7CD1E7E92AF15E810DA /* errorIconSubtle@3x.png in Resources */, + 5778E9746050B1A3A1DAF371CAD8BFF4 /* infoIcon.png in Resources */, + DAE5B1597EF6F6559D226E746ABEF77D /* infoIcon@2x.png in Resources */, + 81CD353FE0CAE522A248792202CE7ECD /* infoIcon@3x.png in Resources */, + 2A2F604FE6113C6A85F128ED4D12DD87 /* infoIconLight.png in Resources */, + B6E92C2E1E6D90DC98B3FFDD4646DD37 /* infoIconLight@2x.png in Resources */, + D29D943274AEAD9924087D9831F5A977 /* infoIconLight@3x.png in Resources */, + EFA6497F5ECC79A4E4196F08698EDF03 /* infoIconSubtle.png in Resources */, + 36A7F3FA50D96416A55BA790C4097E78 /* infoIconSubtle@2x.png in Resources */, + 142F06B5618B79D5764391E6BFA51BD8 /* infoIconSubtle@3x.png in Resources */, + BC03A227950234D64554F5F9D7088078 /* MessageView.xib in Resources */, + F5D8207FCCD4BF9668D2912174341EF4 /* MessageViewIOS8.xib in Resources */, + EC5A51E34AE2F5295B758A044B7F1DEB /* StatusLine.xib in Resources */, + 0A479206575AA251A0AAA308EB99009F /* successIcon.png in Resources */, + 00A3BE42119648E09F4481207AA1B305 /* successIcon@2x.png in Resources */, + C17880F9EE88CB60BD9AADC9325441E1 /* successIcon@3x.png in Resources */, + 9D8C6E9DC33A198A15C606FFA3759B20 /* successIconLight.png in Resources */, + 23D88FAB1966383C09D215502E790BD1 /* successIconLight@2x.png in Resources */, + D7B293097B25E687AE1DAFC6B892130B /* successIconLight@3x.png in Resources */, + DBB41DE004BA395A6E821E79180E9E56 /* successIconSubtle.png in Resources */, + 7F5B8756755F727E220FE7E3228D0A04 /* successIconSubtle@2x.png in Resources */, + CB702D2D770EB6EBC1CA7E85FC05B29C /* successIconSubtle@3x.png in Resources */, + B341470AE557F15B0944480B28F2DA0C /* TabView.xib in Resources */, + 5A94363433C34AAA9CE44B13CACB5111 /* warningIcon.png in Resources */, + 59AC62DE1D07102AC9405C78F2FD3263 /* warningIcon@2x.png in Resources */, + DC114E92AEE9441DDE5C8EA4628AD3E3 /* warningIcon@3x.png in Resources */, + 9CA74EA125ED23780EC0754309A40975 /* warningIconLight.png in Resources */, + B182F806EA9E2EDBBA3E7F4D04134BF3 /* warningIconLight@2x.png in Resources */, + 8B92312643E68138C3515DA2D9AD5B85 /* warningIconLight@3x.png in Resources */, + 32642169BD476A2F909DDF18C1077154 /* warningIconSubtle.png in Resources */, + D0D024AF440DF9CBA8AC9608A606A46E /* warningIconSubtle@2x.png in Resources */, + A1E97D2B454032D3883DE3BFFE705300 /* warningIconSubtle@3x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -518,7 +658,7 @@ }; 16C76C11C5F44BBFE957FB7ECB49DA6E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B21DB98CEE62C3CFA181FAE93CE35EA9 /* SwiftMessages.xcconfig */; + baseConfigurationReference = 0A3C73D7B53F155955B8BC0134404A38 /* SwiftMessages.xcconfig */; buildSettings = { CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftMessages"; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -573,7 +713,7 @@ }; 9C5F7DEFFFE6887556FC88B3615B391B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B21DB98CEE62C3CFA181FAE93CE35EA9 /* SwiftMessages.xcconfig */; + baseConfigurationReference = 0A3C73D7B53F155955B8BC0134404A38 /* SwiftMessages.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -608,7 +748,7 @@ }; B183EFBB9DFD7B5A4B9147C0BF6A96CB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B21DB98CEE62C3CFA181FAE93CE35EA9 /* SwiftMessages.xcconfig */; + baseConfigurationReference = 0A3C73D7B53F155955B8BC0134404A38 /* SwiftMessages.xcconfig */; buildSettings = { CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftMessages"; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -664,7 +804,7 @@ }; E25C556D4D914CFB2CDBFC591BB94F8B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B21DB98CEE62C3CFA181FAE93CE35EA9 /* SwiftMessages.xcconfig */; + baseConfigurationReference = 0A3C73D7B53F155955B8BC0134404A38 /* SwiftMessages.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; diff --git a/Design/SwiftMessagesDesign.sketch b/Design/SwiftMessagesDesign.sketch index 37ecb64c1193735de1184cbaae9520a2d8e64a9b..c83ae2914eb6c04e207392be192cdb70c389bf10 100644 GIT binary patch delta 29224 zcmce+1yr6(w&MS8(WTjgQZ+p1#MorTufmUoprKtG^ zraiWOzBB1gC-G26tX3ifzMHwrskt>^C01aC8%(OSNV=9(C+?wESsXT4WTzW&gUrFIhb)_ z_BUGeM$rBmyfvDkyJPcO6fn^qp@lPnw#MuHHp!ZLG!h8C;?Q-mx|7_$}b?T_J^$Y$O^5{E@mH8VJ(Y(r~8*El#!*Y@jFmUb0 z#zAWD@QQQwtdP@bBB*f`AMS3V%H!_Y-E?|XPAgd^gwXLmprYnuLZ=`Y*Q_MrsCz~ zu5XkaY|J*QeLSmrwY#YwHa`;8FQ}YZ^RAyGd|9t?nRirW^+(e(J5A>;Y8@K~7CHs~Z;GT12-jO)r-sM=DD>YxbRFR(L0k4+FJ3wds~mwgThc zpFOue7;WSy-di~}wVfE12(CV$2iE@7t>!*qsjl9|F&umysPjpfJd2V!nI8w7S04F@ z-_^gA2hG)c3ns4`_|%EoXE*D6I?nne7!{CZ@RJxfrI0M2DHXriCZd{l+btB_bZqu^ zaO!(=*r;6Aj=ZucOPn#VI-Z}m2p{+zqYB&<12gw2yv;h&Q6V!-XIEKqoLe3q{;^8q z4!r)&w(I8JtHxyC`m^}7J|_cqydhg&;uZ0%-ZLHd=YamJxYx#vy-??^5plO8PwlhO zWyd@TI;-Gnc{?6kj(u;H}KV0lpb^uVO`5k+*2J62li=bO^;e9dfv zujO5ch_;v+TKHTuzt|6S>Q%3Qm3gpbZNF#4Fj?wKU)%C0<0b2_IfTOJ8q9zFO9H`Vyv$%s*D)R4{#|?A6Iwz3JaP88&U9 zMC@FAs4?lhM_7v-qxldrjB|(}08di;{tAD2yL=%cs(Re}tOOp2%gd+Z@PaG7OvL#; zmRVeJJJQvek+M!akT*GV(6SIZ%TuzZKKIpxoQSu*6aD^oCdv;gL6%yFQM;2wWl!Xd2N+M;s)z^oRc({c`{nb&-<;2!2MLYW z5kvN(#Qmn}k~|#%E6}fzt1R^E<`8Sol9g_69|T1*LRfb{xp%iP3+q1h8S9ct>i3g; z20k7Q`gBUl(TZe@R&A~(*YAiN1iV!;)N2oa^nO^a*SoGUn5SLpJso!Gy{gY}BE=n0V6_O>W6|QUS{Z;1j8<-}b}Ppyu(7(9e2dmO zd(yJUiDeSRKk9e)@YZA>i!G%RQzh4V-nW*(GzNE@b0PoBfK z6)S1Mm+3Dd7&0AxZGtsC-mkB#I$W(g^|Y5f%i2Hxq0q^CEqij<#x>ip_3&V*@mjI< z^62Dud2}}iSXA!6R3E>tYnykeUmNm_3vAiXc2Z|LO^WFVr^6xbQxM`y6PCKEJQUq^ z-G9U$tnqc@7U;M4_U`-TLVW9;r>yVqIo(s_@+OOE@3boV((!Ekaf-j<#CWA)&!MDX zT}!grOT84`Y4`DB8{s;}ey36mfh?otr8axPv%|*^0QpWarcTLc&Un(|6}%vp?X2^7 z9@ZV35usgnku+}lSbmgas8r)SJV~AMsn#mYvFY~H6ph)*v$SbgO&~0?*qP1ioHnaM4~prymU&I-x~h&@Xm}N_rcN z*gk(A9f&_k?|6SMc_PrZguE-4@y2j}U%RpZaMO@w79_nsOZM|EvU5>Dt~IVnu7CLu zP?fbhHJpp4Qc={w8DShcW59}Y7~)4ZXoWlc`Gm~lk#?{I#lxyf?#4JU_RhiH^`r$& zCEA0wBqV7Hv25FH(E*KR+{3#qBf+I;Qq&ITfo$`3;l!J_$%}uy$kesO+nID(ugk^` zC{lg>DB&SHmZgBk`n(yB!iaZRx3iVHG41YQzv+AI9|v=54@iH)#A;wYdbbSSX*|EM z#O>Z{@6nKR@I5WnhFu<7JpmPBX9DMQa%)=f8K@;vP; z&sgA%9GS;Ecig3i_ZhoPlOeIz)t3;M02%sQENPCH8iP&u?gavahCOdff6>RtmWBDI z$A+8;b!1bggOIK#0oqL5!8|)bt*GX>xs`b%$dBoS`@EDd-f@Hw1H@kx zij~wtqQ}QUr^owE(E=y!(Kf3r@1I!%^}2qSPwNpyGc-Q6xlE;N>>8d*XnRIvZ7hBj z?kFW2xER;xDY@d%PLNA$w4}()+D#-1Y<+h~_I6KYA)6%oM>q@1ri*lVgu7Iri@OTC ztk1IoaY)x~TdqR|-(vMNx-735Hqct`g1u)m9EGWM$~^y_)6cz|#EzJEv6`fZ|88P^ z@rcBCg+KC6>SU20csyr_wmV=0xiU9-%}dSr8qqAO9dXS2Eh6dM=g&EvY1(5GkJrta zViVZuRW5NptOMvR6HI&#UX;Igra?WYvZ$xSl;7BwSoZR){q zQOc%r-`y%X!i8;cnyxJInvMa>+o^PrL~!P@|E{s$JID6D2ibLdTG+>XWt~w=r`?h^ zhB5I)GsBEjPYW_+A*PHarp)~U$%KP|D|YTI-4Dh&sxvt_-U0=?AV6ESjbf~_W6Q1H z?CYrDBY&M)=S--a$+kWG(QQJ9R@&*fy^D6oWM}m15q3!%?TL8nomx)L@|JG&6X!Dh z8OhO9-%HVLv3LH7eG^bv@4HK(O2BV(>F%?uw( z0O7;*jU93whvt_TqON;rfA7n|b*Rq!&*3ULO^#gCrjArYjU#g<&uh7cBo<@u%WORB z(K|ORG(&z%6tuZoeU;^{+x4=_Trlfi_Wq=u{HCEHJvX@Zn=fGWGwQTM{R?Bt^UY6- z8GFN5qt!7YF5P_~Yt*Phc;QI2YW8`8fe!6y<q}oGsPw zDPSC(qSUTiO14m=;?y;WLKIX_#fI<+gr(X~%tm8`IZ+kFW>PRTdJU!8#u2L8RTB!K zFttJhg+Y_i5DqX!QMhs*Q!Rc-Ai2R?{@`j)xVi-#;PmzC1U2WW^n` zi!V!jC_|7@r>uh%)E04PnC7W(`hqky$Hbv397xZmTOwWP`1JOXLmedp$?>o# zh6&b66&pcThc6Uv)+iy*9y}ifZDUf5`!1HMFUdZ#3`E4*IxTA43(5ChiTqhvpwRP076IU#eg$ z$6w1)&$?pkhfhLyVd^^4y1i%eyc#Re7tA}ztnnVS+b7MIgR_@duBtrp2AhzDy9|Hp zpL~jOSlIlo0*p@yfPQ4*Zs(xFw@y)CEZ59tYvB%LcH}AMc~*%Ue^IfFrIdmp50VbR z$_oT$6#{$W+)`okTNHlZ6aTtI7bG@(6+-FX98|-m!B(Psc+B7bEjix}pZo1?a41)R z4gQXbb-~jx4$KNDQuP;%-gA1x^q6dMchn3U{C81jEc%61YyCd%NK?wvPnTq!6WSlM zs+!no;t`_>^n5SaAehFiJ@1Z{b#P&8X(7b`G`rj7i@Bx=(bk16*#3l22>q7f6wAU8vpa^kNhY)Ej+Gk__}nBP^02S|VFA3?-#Ow?RKjy?%C1y^!v2A#a){hIp=e^I`?dax2SY zop}&hBvj_EDaH&W{?UaWc4VL?Y{kz}Zs6uJ1oNEz9CMWIXAV-R=%Q~<ZRegc9} zr3IAh$*54psmasUU&{PDbslwfm<746f1^SK@vR#;$a~nN zRXJO$E7jTW4_~UFL{MX)$H8);>F3pd_)QyQ`zR?boNbx79f?@T_pMa`?LOxAOcu!t z#?a4cL(~o>U-LpK<`9>DsJnU&r=TS&8&2~hdTA|yk(&En^UJQF zK86Z`!e3H(rV{<@l)B^?(V^QY*A1iE~K*zZiDfT3eo#(gxe1ui~7?(34`)`&WN9Km_NgT#kQ zKuP@Z05O-4A(xp#3>XXx(zZqY?Aw{K9FIUFr6&FnTWibAtG@Ll-AUJe`geC=XK%uo z=;BjK81xbYW+Bvc1Rc}+H`n|U&?W{_z3^KYb8QO|XcJeFBbX((-j&AEf z!fJ>~bgn>C}nuj(4jupgFp&{7qCVRVtXi0$r7pX3k@R+9GuKLtg{_QJdbG0+yw)CwL5o<$Wb0PBye<7E~e} zGRj*>v6!lJ1Uo`0Bm=oXWEJ5I1mTSOFn`C&Z;BKAg+^sP%y8H{Wdq`hxt};7Fo{dW z6b@4gYlOF+-Zm^g6_`IO&!6q|E{D2U;zvbvhQEsA1JYHIAH@i!0?Fyg{iKO=66?%Q zl;=;)PhP0!9m7!7hIBEwwgU9T19()SsC;XN@QIyD-u2U3G2~mtmZff&P>C|9l4`J0 zvBSUwxhLjO?lH;`=T5ueC()^_9({PA5}`h)4^xr%ec;}F(-1ov5MYrENvJt1b@_%H zW-eV3A2^@;qJzy;bAR%c#~Dr!2}UjuLO)hOg{`kARSeQ%1R|kADXzEnGm_wuI=L8D zI{4RLG8srPCg~IhuqJ^-V)BVYyRvSIc;tJNF4A6qb*u0lV65Gr!+UamWEmtaent_w zBmj*OPvgtc!{nj~=9Ym1_!V%l7*v6;Mkk9Q@vP0GM%_wO#RtdV3#Xn%_DC2aLM0#( zqNsAAkaD>%0>m7`G!RTb8Dk>+IuQ!f7L!ISJSSU$vv!%rHCZ-Lk3Sn3&x?G`eNq#^ zXLry~N$e`T62>b!6O8&D$|ep|D5g$$En-H@_7gFnCY*tcMvDESowzb|qX`>O`zD>} z(zmZJE51zi6;dcXFqARq{F1+hvR|y@7k=nC-=>OSPBQoMj|)qChr)b$pKjs(ZI}#R zx8SOH%mGR(3EalGp-w7UR4M+VOj$2j8PmOw{>1Z2UKM(HZwxx|(Mnc54BG2=4R#I2 zemh?+zF$dHjf!dVH%FMXMVJHu2p3#Gmk~eZ5EPN>j(vaY7lL+?mcycx>SM+wx@YId zHRrqN11a&4f<79>h)1=iDn|7|%@AFL;S_E6F&@dZ^c&35`fkn2i7zAZaH$x|I?m=W zkJ)?jZ^4Neb^Qg~_3|a##TuX)`qqQQ6*mP(0czf?_zdM?zpj#P!tl&!0E(<z#0)Q?7MM5G=`7c$&D%EoSpMn^Fpuo+G!I$Eq;rH^fh0?2Z z$VLw*Hf8sf{C%8_-{jOtOj{#E8rY|W6UV9|1$^qslu$|o(K|fTmQ`e3RrrRd2h6L!mdh zxfm4O=a&~CkdTp~H#2zIHBW!^4;-VgwOYjM@7@BS(T;l-p+YH&ePL)-JNVLGG&*XO zUow~yZV0KdK_T5R=m1C+2^SIf4HM1#r^dCzGxj(vnji`VXw*(PE^=5Z6l}4>(r-fw zA;zc4hPPD|eDK9WKUG8$>S+=v+$^91iIFqU*rYB~HR$+MCn?C8Brtp!3loPi(oyna zES>?YU%f9h>#w*?%J8jjk&-5I{xstj z{lY{eH<3dG!-2`Ynnu=&UH~%{>oWf7if9y2F<`e778esBP9yz*99e*7y#?!{VDiaY z;fLa;23Ah|U7`Vru}Jq1^<9TqF;uh5ND?IT&^9{HOrPF3Y*w3zt!ry%kWVHqwJWiO zwIAzIFq3pYXEG@b@R#W+tx)8n@&7J zWS&&BIZ`uDexk{6nbf=C4B-cy0t3WEvZ{~+N>gH|h|*^jE3BLvCUJ>)2a)l8Q*!e`AjbwUevB;5_w|>g<$99qS zz&K~j(0#usP5eMlq5Gv=L}ln{5fL)AC@3H(1CbYib2KG_+KPw3x3Cq%F%^RaqQtO8 z=uv2XkLQe3J_b2@=^XUv zmmi$12{7rgToebczj+Bu@_449KE1tDua?I)?u5$B%}wf2MtTibuNVS-FB>e>e!i-Y zjTb%VF^vVq8ADr3o`v0y5x*o@~9C;L)`n#Krl5O`&Z zGt05DGZU{03rjM~tM@c1(4q0L%saaI9Ux#{y|NKJS{6Y+gA`BDJ;U?LPrUwZd(2TzX`9%mHTv2^}{a5)8 z;_pgp$I&-Ky^va5sFYe-jcpQQ^ig{2Eg9ftYav~Y7!7ZSKXS_GL+ z0`cFYPsw)0B@CGjKu(zrK;eQhOUbluMhQfL4M>T7MR9MAfJ8mO{SVTwf28B_QB&ga z(YRpvY6q25Oe`Qxo0$mE3V`O>R5VWZ{~&GR29~BCK}(??LFa<`IYi6bY&e1r9)y(w z#*7@^zX$Q(iq*aY4LvFE5-`XBQ^%(8(`qUwPg*h(q}8?%EQ8M)DO84pPpe0j6dB1m z*|(PEKMT#&tof0H7!Wx$;D-6t-6^D*EL+k>_q+^~Z!d+$)-Bn1$sE>o8sH-5l}XT#f5MH9(yNd^cYGo)-dgr;?IPVfII@MaJMS9*(a0h3 zcC~%P-$f05Gwy9$rfv?N!eM*oZr-Hhvgm&<_p&zGXP$r;p%7e|M+8^q9W2~F{8g3D ziZ=%Amf5iTyA>u~v56JyiaHKrq>=52k{wyi(Ce6KEgNx|n%@Tb-Wpm}wpf^%IqB%6 zxK5loPn04VE<{^@w$h!I^#*D$40Q!+gkRJp+Zwh%hZn%E1gP!v{ z>XKBvZ@+#ly|XTZp%{Kg>F<wv3aR-?^6hSXn2Nem`JJPyJ<8kEukwMxxMIo9Bf*nL@5a2$BmE=K!pM=8m_Dlp z0g#lvDB4I2>gE_)rWz*cVJpu;x+~gw@cGoA_PLU3v<}^)%jQr%st3w{O&vp`&=OGT zyJKM@HT1$s#exjO6Yaw_BI->pMHEh5@f892Htu)wuS7Ff*!M!2 z>bxU#nEy3_%Eo2*>-l@_dVo)zDH<=b-u_%DTAMGfd65G4~8?y z!o$YG)0Oq_KUka{tsp~{J!`{Mm1R+p2$8@tsPb}B>JSi+lMoP4mI!d*mSdW!>lFVH zG(6xW3wf4A%j=6L0tNyFH>3nz3Klsc#UxLF340>dr%zRSj0?q(wk@SY-?a41+;wN$ ztg9-R+HCXYq1agvo3YBE^4aq!@Fietd61zX8L0vcuoR$Z3^=mR_C=0gpRC5y7F{22 zGOenwtNC9u7kz;B%hR;mAAVBUc#?q-FysIPB!U?En?Mo{=CN-W0pJ#JLj!_IE(#2S z7z7kXKma@>$}BXY)}MB813sPEpH{HkFL4Oy>i`*?e~CfBjo|#-|J{E4 zS76k|$v=H->b&6Y<=8umBc!a?}O9=$-iG+HKbYlR-;OUp8EU%?CQBV4FCa zaOKbJ{zF($(r-RV~qtNhZD+o*jY?U#o+Uf9*B9KJ+cB6mwg&?R8rMKu9zlW>-vRVlR-1I=pe;6mnCL(zwGj*wE!u zC)AV(5T1kz-fvb*{@TZ9HI}YrQa$FV@c#OtcB7s)TzQO?(;R>gEC-tcY@Bkv+Rdsy z16?0^Mx3zX;&*HhdFqI;d<`t=T}cQiUGSiF!`yYVqd<6cu;UCPQd4DOYSu_l7;N~~ zCK0!1)mrWgTYwonFAiG*{%VHfGpt<-Ob$#zBDN5;)!m-Z+rpKS}` za%AvJ$(rY*fF}@ZekP#Eka_uzGQr6oS28hslAi3Wqj8aMkNUm8AJ>IhWT3b6XdUE) zw@vo#ixr@{JwIIU-fhLOZnu`DS}jp%oq$AW!o9RBFgwL_%U}rYa!s=@urmh90HNFO zgX}7+-$f(BOtae>sRR&$q;lin4%16;-j2@L+LNT2X0xD*fEN_gKw&x zzoCdy&gv~9fzG!1d6vyrXT7kDn$rL?(oxd4*8R;bj*cRSH zMRBUiGsT1zFVdN1d)&?PDpe#{Cuy<)Q&b#3LLgw&F=O#;c^mCl+qlDdb1%OA?i0N? zN=}G(zb^*OWb5E&)iG5FpQ&ys>b**gm4vx~cd&e*T92=B+EL8d`=IEZB@tSnrF6Qs zitadWjzAO3%oEH{zCEk=9>~_)vLDGwcT#qp*O%9Bc-~}K3q`l#p)Gstsqd@+Tmm!) zi6xFn{L^?ahvYp4Pfw-jL4io=Ttt&pLGna9g*$1+LV;Wl*E40IJmC|OxD=|QU`9~+ zEMp`!iz=Ot9MLv+)U0-@9pcrGMK^Lc9SO<8#Goyx_gO3f5hXG(Jk*9K_v_Ep62*e- z3F)+wD3LMz9w}yK@G^_BLO}x-xloj2aGJ^Ag@PrXcTU^Scsy6#bxg@c1d0ftr%SGs z{?J9Nl*um?O|h%xfCu};1PD%1vcTJpJ>lJSyRYnm$85f(yHjNg__1AuDhCi?m7J30edo?a=my)l3+zmNV0rRTfe_+K*(x~f&}ccr)mFC)t|w* z;y7Z#+!E_!f~W1Dnv>J>Ef{(1>HbpR=L^`zZAj#Y)(`b{tVciSFJATuMdUtc6B%sW z<04n(Ob)4}1@fx)($G9KR{M=*0x$Q$4vEj(x!R&orl5-^l0_e;x*_~n*KFb@=J>0vX#d|3!2dbd;@=qm1Ofbib6@_aF#ZVw0H5yv*|qwodHfT` zKS2P;2%oNCz!YrRWWP9F&Sv=opVM}>^eRcWjst36lfYKsQ;!&!T?My+%Q4=u7~sjw zbwcc8HFu=3n|&eR z2W`h%+?Tuut7MwU*VFF?*9%)gMP7HnM#$Jwqn-ZI_&^lV*zQ<{J}^B2z6I7Eh(!H; z?K;y0+{@E=9MaSHU5gi;x}U?5f<3Sha@C;lV;0}$w|tzn(@fGa^6FplSa#U`LgdKi zx$fubBYmr+&Vx~JImYpaXYPC8MNGi`yz9lKdl+K0@L%F%{&)zZDXhEz@49cjZj-(4 zDBEQaji}7tk2Eu7!4ob{pBwx7?`WA8Bi}U+^VN(#2_HrTqS<=w=Y`~ZUG7R3$i^g- zVfwvpN;XZA`W#O^Buv;G$}LZaTuGn54N&%98L7P9PEe6S#$^iK6duq#5>Iz8awV|Q ze~9g(TSUxN^RU#lL)j(;_R)bm$xB|~l6SX#{n@c&9E}y8*g4?-dHvPzGTO7_`@1xb zBKK6Ab-!C~!IOrW*kEJe*}eY5_b>C+r?O;zvn${kTlRvOA+p+B z%Um7py{C#&i~z#^z2}gqJ;XOOQaN{hwE1^~X4u9(J0!)kNj!zjHubKnab47KVZj`k zV6Z=)jD`oi-ct8rc}4!+$RY)!g>RmU+W>);)Oq##^tY#}82{Nr$p;WG0@mo9jP&X zjH~5u+Y#uv)Ik3*86v`EPmR6BWa`9O^?o|#YO$3)_9xYVIO~3)6U-mJZrjg~_!6~v z2h~c~rO;UyP{exhXViaWSgbXxAEJ0B?|2gTd!W&Y>o!UJ?>5wYiyRzgi=4uGSMdS4 zNUWn=T({|x4ub&DcAP94LCNEBy^7oO^}+&feZUh zS=8p^k1v(>c*ef9;l`C06>6p~yf9c5eL~i-Sy%KdqSgY{UxmTWX?}{4ciD{zcmewj zJ*no!A0fkK8qxc;A)>e@14pz;33cBOy^RDB8N)N9y>qfjcITYvj7p!2{d-@4F_ zk7q<|YcQmd6l5}HJzXfDWJI^kSY=>BRlC%(^8qzpQR9yi?eUV<5Qi;UO__7QmItVl zP&w1Y_a|*{`MIt$=?L9JtADKz;O~#Jb`z8M{_Z`&kw1MK;Y6n$z-NenRpE1%u}#U( zU6q?4BE6H@;nN#?JQoa@WG5H)9iE0Muqd?);6+s~wG~IPPu7nMR5)aVjB0=Q2#&_9 zntDuxDJUy3?iZ>|jq7W1ku@ph)3Psjs-}Tk8LSI6#$@pK8yAcO&39T4iZk4%l`)h0 zP8|`bnv1c)TU)pia2Czm%11jp?e#%TgS06?##`3>HymNNCBQ_;>uBKf*0~oJZ@(yu zgJZbYah8gAnEeX8_SlKC-K{G4@yn7UElcy!JL5J}QdAzdxOl_NSA#EkYEuP;KW{$q zPF_xkc02H#SH$MueVFaXD$nB{76;W55&x~l?e^z3B&@~ip3R`kUIPkc{O8A-;Mm*J zV06MHfL$Tnj?)@C%Gj5r{|wolXpF>jMU6NuUN1hv8kbpbw%L8S-_e;$c9?rsJxCdJ z{}PO6^nS!ur~6^9T4uq}GYfA`)jix8TXehkw}r@uq3EsgGQ8i|NmO{tDMA58Ak^C2 zIRCj%U>hiEKf&4YJM+o$UNX%-ulS+IKDw+2Jm3ruJ0d8HK41AqR6L7RE1PEDAnjs_fAFpvokbeP{mCoPMt zbWXg!oV{u*Epw~1Qyf_3i{1~bED`Y!a~CdyD)GJCL1Qx@#u2G1uO*M*+L*8}#R)5b z3V!!;lW^0BKU>GnGJm64VPx61`D22CWIHc*)CfLKe=|X4p#RernNu}6Xd_^EdQ9kK zWOYJnHG-0AZ&HCYt1Yc$CwW0iaBQaO$S$Aa0J}T2t@AX~`5R&pI{j#qtDeW;X~iVf zUMvz}aGrK79K#vX3YbEdi2^M~lgogj)ls1nxSghDN5x2EQ2nU#gg& zM;!}m>!R!4boDl=M44nkTT4)R+)ksUP|YXC^Y3s=>^WY$X*693h0oo|=;zP+yI?xx zIX4@?k_;c4>C@Rxk9#Xi!vef*m5**}XFuLQOWkB{UNPM) zAxgWGmD}XFi2$A#0B*ATA=z!&f-G)x!iNlaa^~qxxH6c_T?I)9fNw2j z(x3!l2N&1oOD^SAzA3o^3FUY5@{;KTL@hVf`;TYc#)kXS$6jsnfP8eVd6np}aH4vm z@&%*T4Hxrg#~FX0e2WvWHoc(S1Rvl$9EWk`x8mc95^I`{bR4n6YrGFa5n9yYHdek& zvJQ8_&l~NYD=X1QU7uilK@aVq;DXn4oV;WGgk{$6Cs~8B-Cq>p-7pc}byY$}H z3kPK-*|sqhUJh$bfWtBafsDtBhjPWf0VvVHVf~w!Ynft!Kw407+$ckfWXt)^!Fk*7 zii>g2uKK+Vm39NInS5~YHozG2ky=OJ0L~-3sf@@BQ($9*m5V-Y+v1o^ttT>0A{?dz(v9EM zlx*{(D?x)5!^5wE5Sj2Gc?9YfMug2l{YH(j37iJeh5J1F%fyux14B6X-PH;wUK!pS zBll@vD(u{n#$3T3VJD#P}s)w$U+ zjpdw-mtJsdF1r)22(M#QEiOSqM#X6EkjRKNV~g>+UY>KaQ!B_R%%J%Hh2o9 ze58J7IOYz1nwRo1%+e3>QW$dl%JP}?0MNWivfDp}tEhvpJsbk7R@LAWZg<~u z-8$7RgEVeyZ9{1&!OaZpy4#F!C_dN6TgsX7kB!m;dmT&tJ}f#(UJ4k0G-X51-xU!R z5c#N46tPb^`Xx2)**t<=-3fl49c4PMwA8LX_l3RrzmFgI4-?>nUahlG%=n(lZU#p2 zjg^Ex-|GAU_6ko|X!MG_6deBmad|D&M*abct2O7IsvFY)xq?x!)0&<1IV>F({ccxJ z1_xAD!Ani}#uGe^d3?J#_EzvT!jB6gn`DNlTP?T@v@^~>=PmP&4K@Qjgs8pt`3za zeI1(osUG;&UKk<~>;+B&+f+`%atID~vyQ@})H>JoUIf zs-4Wr(yp6-?Yvpa-lae3x)@>HO~`pNe;iD4GJZY`F4pMwy(5LfkfX^36jv~P<|WOK z7OKhW_6~Sb=A@1|RKga8iT632FQ={+qo$%d_wi4v7;KitE`XoiTqo}O1AmU1!(#bf zuy-mGEA4G;?kKrayT$CE6=W%3RdV=q5V-n(GAHMv&IYeB^QYZrbl+#}f=}(c2Z8JC z(krd&5Bj{;ygCjg%s~S-Eb%zM#3^lOxHhmO)y&@)(`gGRKahtA;;|T5gF~Z~207z5I4(zA zDu^p%bDgHl>}BcQL**Lt&W~v&;QSqfMS7`a)<6u|y3ECK{X~-}@AK!sP}crOAct#K zDL4K=o)ArWuaNXd-i15AB#X#kiRG&)dIyN-9~xhql90c6uhQxzhuO{#&rua-%*{kc z6z=>nWBJhq{`IJdsP^&H^8MvMW+T1s^?X1M=MewSK``JXU6Dk$)0uFcgQp!bgs4<;*d2N(xEeJ@r$M4pq|J~J1hP|&My1LFWcty z4YRk(EO=P4;9B%$iBiV=>1iN5sWssE0RQI#8|YZQTWR4Q&@%_#{V^)aN4g^BR&=hy z3otb|8Y^M1bK*Q-q;&rv_V;~M#Lju+(ER2z$&K#PDbM~b@hfaxV@hq+_C^t827tq}zJLz0%w%F6L<^-&K~zueXB z3UJjer;OX+qz9MA?O?4?th_gIotCE^F4S`DIG1^3pWzzYSaC!h*tG#WZkh)^a;wCv zEA9OyHrYfK8IsBP^`uQow(a5HTOFevPvzO?*n#m(fd9nNsq=dNX0O=a+11T;A+wsO zgs6Kr^|EhwcYim#WNhS6j~3OY&33LF%$zP;1JWRbo@VpKH&xyf8ld@)O>Umb&WkRI75=8GI57 zVgz~zn;9B(BL8sy?iRO_S-yK}3Dp~8`K56U5L(st)Ir7q>IZ&zzxCN~p`y zOSr!$`g(se;sTDbmV7%(I^Q+0Tqc?WRJ?+v)L=)>2<*sNlU_DF#lM>!6e=2vbi`&F<9h$~O8AqadCEGcrkIg+8K zUC!A)^l8Zdf$!58CDXaTf6wwB8Yc)G;<@-xgOeyS6d~3IZ>na5sL{Y4GYr*&sv@R9 zSlEDy34^bswbJZ@kmQ`r%hUZyEjTw*sUDI{@;z&YLog}R9@xwBG)gl}n&%-*`qEVM z1Phe8Jtw_6>gf%fnIUg^I>7*yXoLZxb1nV`*X?R{OWduiE?A&+1>> zSqEkmQnjaV_Rq7AQg>G~DzfKbZ{15iIuFln8YuY%&H^lvn*9lSucj4QlduZ8>&I;f zvgFa?BTf`SD6P41j@O@fRTmlg?|yw=X8h5$t%>$ae6->5T7Sa2f z)F*C!{S)5NH>;lOH}3_(@vnle=kfc~%;E@+XZ5;MIkYA+@KOA?%3dN-K*)FK1dZaX zw$;ZLgdDOx|5waw0L~UHJNJE*STl3Iou|SZu0n*3x+?#P0FBd;V(6jkBS}8+MifVe z^*U&X%JQ~LcDT&uPvGr6C5_j(K*FAV_uTsM>G(}tpZ%?n1p_~KS#F#%H<4K`2s6}Y zXBAwcB7Xh_FFGmT2`FlU!*+XKsQ8GpU}nQ~9Zuw|S-B}RDYWYL+uD%`k|+a0ZxP-BG1voe(kw*C+W$u?dlh``QSYiSmKQ>6pY50i={J^E zu10XEYq8TMd5b9RbJD1TLBp_1U%TWk3qm-_o@gk5jGB%I${kx}2ue*7^l3J4#hY~K z7Aq14D{YvuGTQg(YeRfT74*jU6O%RFN2_$}Er;gT>vT%)oxk?&o_dWW9mPu~fQeka z*#(Z_BbnEB+yaFrYq|jR7FF~2SL1FGfv4Z!mv^a%K5fN_8uhPb9s9{M z>6>)GGY=tUW28vsst2MLM2zPTw4o=$>PZ3x)OBry{(Mrk2NVqCNqW&>gF6?{$E% z^w&y*jRtmiic6?k6p0|uLkMse@+VfW$ZWZy_X8ABzIrMAI|q~LE>_?lH1gUt1;=o=?L4uQVl1*ao!60xo$WIFwd(u?mfht{ z?Uv@69M^0_3e*S{c9>^ALO1Sj+X}a~&3*Ot5U?0Ylrvg+0;>l+roI*bm96^ua;#~J zc%U8lE%(X>A?pF6e8a9aZr#r`j^sOSrn3aqnQNjIBA#KP5;);l^SoHrH=P(lh24)D z6;7E}l@-XY+Dpl}gQH`>4jf~YSEjZf*D1OkmX$P-_WTAjphdwx6SMnHAi{KVgN=^2 zVAA(yEJ*?)657aI(fkCF`|UUoXe0U&!dtMI7JS3|ZNA9~)vkPx>9E{1Cit<8(Lqjs zy4Yb|8JyyxxEj3lf*)3NNCo4xDsf=p<=bsoAnAC4{+jh{^Hz(TffPkoruSt?OgxOkAfHxTX2$CGqT6j*6n!3cfRX-3l^#Ti4X#)J9!)3?nm=!-H+|voDsOp9Ovj+A1L~r z&^S1)#<^rk+!NCP0e9OYr_H{ws_OwmPxEK5n?i1a@5yzIw6e&-4ipJ zem9G|8aWS%Va7JR$3B)Q)B!S*UWpIJh{eS35-uW6Mi{G!FV@EJZ)%LYymp5Lg^SP+ zA~t0qvYuL!bQM`lbZbm{Ybx9?D;cxgcMkOq%v4zctdR;b!X4_L-7jLNfdh<(HI&^! zTawk52h&BnFOO%u=Np9|Mhnw0*MB-h^Y7xjZidmObB^;BTq6r92`9^gl~22r+m@Xy zH)rgOretI|buBXKH&wcG(WtD08mz`M`F9&;lsW6ICV0;4^Den$S5qMflXy|sCRyya z7?%M(8p3tExh3);3QYb?x)A%F$pmbEV(JjL9p_47?RXsE;p%|-GIGMt!zM{r`i)pg ze%P)PYgcu%JDs+&#ZU|he2<#te526S zq~uhG*Jb`xf$V5ZsQOEx!-3>O{vD8-R3& zNC^_s!U#ii-lhBdzx|){o&W58KKJGIb6wQTTI-GVuIGK8`@WxN(iU2a`p+8iBP=() zmaCx)5}T6|>Lx1@tyi}qYj|e?T_d4sAVi)&-~2)5H>>`Q*CMZ_+x5?$S}jcM3w$YoSp2mRDi| z3kg8c?d;`ve43j#OF{wWmM^*vHKkrbCUiI!9#lArwC1D(a51JV58X_6sV<~BurKzM(fsZkKn&K` zU6^=358<0%-TwT2Q(OnTcXEUR4~Ua0ov5V0Y17F_6!w0az-kPvD+e=mx%=vfe&%6_ zQD#NgHCB2l2tqg0P0Bxw(SMuOf+`B9c@>m>nN+@e=9!;nE)mMR+lt$BrygM@nNV_^ zQ*(o6UDTN?K?P|WJ{Y-^_XEf1KYCUhNeSq_7Zg{^PkGAWCb971T`IJRgLtPbrx{Ie z$+<0+&t&v-s#b=&gfsEX~%pb4Kn5Fc+KLP9PK)0G5k=SBdEeWvDJ;Gs9UK1dy1?40KV|EKTAi;YgkV zDadI_F(&K0){ryJY3BQyC>hJBWqgUZWTs;5je?h41D#7p6w}(fQt|uOj(q#fwtv^U zHrXpL-mYfeCh^Y28zMUJg_JX$r|s|^4yg&#c0+=1FPF}jTzhk0ZQvw;|6^@NcZ+%N2rxC5DG8;fx*Y)7Yw{L5KU4}7N{k= z-YlJL#H^SQVxCKe`nm5!D8Ty{8}f6}@Zm7-Ui8Y=?gAHf;o@)IvVb7Jvy3%iki!eb zHAvNNwz(*ADnGfB5c1>7rbHa42Xg>y=sUd$s99xzgF}$Lba=yK!-S_oX0eiG>G2WM zJhQkGZzDW6fm-b(b5y;QLuJa%8}D^M>S??9jD8JGqXc#HS*-v$6xFk1DSBb2jib=^ z{j(qt&h;KqWiBup$gXNpUt*7xKs2|!%-Z_>WaBzkd7b+n4w(Y@$Ql?f(2=0GOf`UF zGi?%1Yb8p(Am=N8q&?S}HFPKU3Htj{E<>2KwX02bgu;5>51#5_^2_ z^B%wv8MIVHAPfaF`7(c?=6vVB4B+lyhgax^BOZfwml$2!P8*lGx#Usn@C3*c>WB(z z_dH#Jj~BNgkEyfX@_|xfFfbfAcK7oUI+@3#!>AU)mqC{B#rp)zt3K4(4DAVtY0+5( z-w0=AA;2g#yqVm6<}|=Nr_gnHwV@O>)m)`PW?>=eS1}Q!A$KR^;cg%MU9-d9C?5y) z&w7;)B~~iA9KMu7ID?qX%c)Tq_3U7#yZ|+s>rY1lp#))@?QtsTl^8zqL-Vyx!I=_# zNqvOa5(loQUDnH6(LSu#Q04G_(asG9Kdz;W8GeDL#gzDufv95|%JygfL*Eq9&PlLMXzRNiXEv$soXq9+QFxJFel5}y!K;+c@ z>z~ZSS>D=~C$KY!;4K^zyLz-_Ml@HzmK8K1-PO9NGFFIwIrhBU`Ne02exAeDO{%O< z@~SuHBK`f$47aul_O}WWRbD!eFl)pjn$%r}w4nZMv4lIL=ovM9SylLh!ZD;cJ$dXQ z<`|VqrKOF7&Qu8B1+%IeYyP5{a_>!4F_1=-@B_g|p}AM8`x5%&r_UFBKZMw4UXs{6 z&50apKA=#ow&Q4mhr>Yy=i9TT-ZW$W$$B*CZgMj6r}ySF*u6)Aw{&hd@F~TyO0PsH zLEHvlX90n8fJ8BJ56#l)VsUm%1& zaNfM*^+CRDDli&(z)#?IGZX8#)C35#zVVz%hFyfRT^69u%U774$7)96fkJMYWo$#~ zdbRIqzWatN4^rxgBx|BC-oF0+gwMWBAFl)XZmTPB76UX4ty4d`F$1v zB=tMs>*|=OvqO4DWDyoPt>x>NJ=ql?1T^=RRjVCG&e-<^AgyCmwsVT+y3g2+yqMRH z(pzLM&kZjS@xbY>Z@zeUl*J~{=zykGsw!kRV3!!~b>Rl(Tp8#cF2Ie#b0?&vIXd}O== zKiVyDc?>)1jc?26B}mK+x;$I9Oc*gfw3Spx=H{xq#rt6wjZ^<(EOnPCj`@O!4 zQ1MZ0cy}J^#DjD&x=AoPeOIu}G^U4kFW+(o7{61v;L^VV55huGdj?y_TI4fZ&yMTMLm{GLt^&~Ca~BYZMOB9vFq!x zzwelwM@;3rv)WoD>~8ijLgshbnWa75QfkvH7X$1+;DhV!r})Gl83uMXjnK6f&+wiY zsco0;s`5%q`SJ}`bggDE;S^(%A{rcHd@7vO^TSwk~r&yQ( z!D1$v?EwNT(zT(n7Et#56-%o?QeFUqWg-v>EDti)EOFh|f|$!xTNtJHtMKjWzsaq6 zBXk9|_+KR-(O+WZ^Ay%MG#BaW(UcS%K)>Js7@?I4LCO8-cB)&Tg{on*lEoE7hqzXb zyNX0p2u;&agZXrctJH`6mW7^|usg=ifaoqTX5u+8QJP{BmU+Nut0!q`-5?*0(nQo0 zUIN!NC5GJepPt|bSh9}9ny0Kcs~C6>Tyw|+T+`K4xO|e9#nUP?Jnf||ZKgj~$xgMe zY?yLoW2>TLtk_XMQ!B}N!qsY%MeoDgHxz7+{kcX~lm4CT0NBkOeJW_un(~O%Ud-`> zw*4*DxM&(qrO1!Vz*al3q9Z@$0;cSx zngreOmoo*PBg=A`T97rXQQeZq(iYZ{cixAaG*0t+cV;cbExKIyk=PWiM^@42m)BIJBT7o3Ng=+}tw&wY74=9N*Qrm@DrF)u=mrAQsj z7`l7dE^(6jqjZv;GAZ*jZi5jN_8brbmt9$?-QRlyG(hX2E=H=7Ze6^B*>g{WgbjlL zL&vrN!X@>i8bZMTRv&3Np7jY^P!$A=G(L%u(H7TTIs?PWKzTKHN<+U@?>gIq`%0er z&gq!nM%U&ClpnGA-aUKzk5DLG_qb_5=`09a(#Wt90lj$0>WKa=Siu%J){-@PnOiBq zT^p8AnYWku-?9v=`_Su}xT|ykVqW9a-y>kfwBPU)kXP)iw(xs78a+KEG$~?58&`Mn z3+M-ysC-oqzeq=G(v$zPP2#uCGyH|uaV}LDV^f)(aVi6|6n^AKwJVV+WSw?rsE+Il z8WnK`Ce5Wyt30XW5YZXsxToY&n6=vTnkh@x2k6?;`14Y0&) z$$B0_?(HL0Xjiw{XSjY(F6Ad5R1VV~vc5=+U~W%e5C<_Y!!)2x7=5NilL7$njf@FX zvw#)izk^^XUbMpFDw~{ULI8N(Hp|5zTbFJ25cWCerBHJFm1g0W03J9O3z!r;B|ay0 zwjKMIy~U7L7q4V-kwfDF0U*^pvu1BrUSYV!)Eo3*)&8*(`rvv2+s@F{iJ&{b@j49T zp9ezMG@}Z)?DGA+ZR~PR@#LH3_a|I~#aHU++K$`CTLQ1fSj8K$%1`no-GQqyXaA|N z#i-}*Sdn$hl`296|Ldj*o;YBSqc?o2Yyjtug}hZS3(2xZbv2S2H}f&wWYk`XauTG& zE|=OnQG?jpHWAuGa~3cJ5*`|#|Bi*m(XM}VDCplNx30$xJP$xG6}1SN8Cx56k#%O@ zOx+v`TAn}8kIY9<$?UucW0Sm|wUWkSGLNlXYTTle*?HaQ$tiOVFrqd#?eWLIc|k7t zo}7#W2)-wx)-#Lk^Q-TKtE?1|6F7LqAlnz%+=p9RnV`Td@vsnj4c0s%lm)4 zFVIhXmj1`a{zY5R-|$TTm3~0Ka`M4^KtIcn{gpxgVa#y;?Vq<+KmQ4Yey#cAfPTs@ z^1qyXF!#`}oP03%(BHDF{`vWU_upS={)nKT=SuwfLH}XQ-|hb|d;+0gIr*eVe4s|6 zXdmn2<-9phbl4C&1)v;e?o&Szu;oN5c#XZ~vdc@(WxRhc|@u_2QCYRlp*5Lh-Tknoc zueJy;o6G}j8i6#utvEJym55}QGWap%uC&WA;RQNsM7C5hFN7Ze3VK*n&=LRPOIKQ( z@}*T82#*6~jSUb$NY4l9n1M`UXcwxyGe@v-9ga zRK8#Rru$7?oc22?C^u+7oyZavpOZT!O9BT-u&{zB$-4-LR%M0~j9&@mgiA0-rvjC=vn{|WmD)>nPidbAZP`zJqrfmz3S52hI@h8Wswqj_pAg=A zTlMwrq4FWZUNMwG{tk_pB- zS1%yQh$(v&KV`%@pL2nLapmx>`;rENJwUKbDBx7@_mg z@7_6*-FBaLz}7Fkvf8(OUIh^P^DbUPL$t*aCOVVa&Z8U;h0BJ%@fRVhZ;ik84O)>V zQ{%jcdHV3_L-u69d#0G7oW?~#m})6dG#(3RYJPWA%w;rwW1!{Q_MJ}xq0{k;AS=Z= z5j}kz%4A?;*A@i##d!1^Ii~qwW4&B;Ge~H10pzv=oRjKM*zZxfRFQLB)aJ^BMZvq* zJ}e##q3`NLFz{Kk81!Ye22yLs|g@3MN$8{Z`vcJ)WKNwLwp| z#G+9cI1OSx95waTscfWwO)`d;s=5}!w@X&~3L_7PoDeUX_h@|}8wRRQaM*P-kR781 zqGL{7MQ(y_^ScjIIuOt$hyuXZd!APTmC{a1C3OuZYxNgz7=1}&+r2q4QN4b4>dg_C znoXO53g{~Z)JZsAZN`6&j^y~kYstqkg%`=>IlltFqXSU4+}Lt1v;)|KsZRQ7}$;N?-5K24CW7egB%{|ByTRNicHz$-$ zHzL(>LK+K%GRSwn%s50~p`R6hN*e)g!_CwZ3Sxh<$#F_XGdCT}uz>QB+wV^*9i@Vk zK+Biv;pc?z^W2@RmjfwggCZpR^3y}qXN$xQ$|C47ObX0 znlQmx*StHyEhS?39pAE0sbW5pW(D+0#kn{}2C6ZO6 zVs!f=z*|~j3a>)ti`lX#@;ML9n!38sXc*3EI})Vt9xs1iVgf92jTMv#L|y&J>Z4=p z632$~%%nCsSTrbnJV+aM3}fXr$mrx`8=VHb`jRE~|TN!rLK3y|!x-7_-mC^7$~ZQUdnl%u8CTq}U8=RHu5 zH!@{*?FN=_WW@Wm*>413R}PTr(q5xNaGzoDd!0-Zx_wDYdabu#8i%TER^>_PWyCOL zxolRCZCCdjRFBLRn3M^v_@sdp;)u}7RO ztB6}!nvzWR(+8`N^V^GM79A>6+=DIf+ zxj@FpacTy-2G2B- zK*0J#xDMC9JC6VDFrc4XPV6ra<464Wmr9oXf3SRTk~1w(3*Z6TufK!U(>yh$E_qMR3u#82Cu!PDU`F6v3^5zlrs5r*1Qt5^v*tZZoJc8Z(g) zse^CP@8|sE$2e~EHp4aIV4MsJ{CbZ|2ERyoHz{zGn-mD#1y=?>Qb$mYQ@!RO0v8Sb zBmRba=L!xf0<|>5n2sQD#%|z6MV!AIgA&>IDwrK^3=EWaBdCeoU9C~LueTWJS^jgu oNVxGIUH8GAbZ0oh0#^?FW8uJm^p1!q45#nTz(cM*MGap24}}hcW&i*H delta 395254 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