From dc3e22a26e4b9f77e04623d9c5ad022ba16b8a9d Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 2 Oct 2020 12:06:48 -0400 Subject: [PATCH] Updated to Swift 5, updates pods, and builds for Xcode 12 (#15) --- .swift-version | 2 +- Example/Podfile | 20 +- Example/Podfile.lock | 37 +- .../UIApplication+StrictKeyWindow.h | 20 - .../UIApplication+StrictKeyWindow.m | 27 - .../Categories/UIImage+Compare.h | 37 - .../Categories/UIImage+Compare.m | 134 -- .../Categories/UIImage+Diff.h | 37 - .../Categories/UIImage+Diff.m | 56 - .../Categories/UIImage+Snapshot.h | 24 - .../Categories/UIImage+Snapshot.m | 73 - .../FBSnapshotTestCase/FBSnapshotTestCase.h | 180 -- .../FBSnapshotTestCase/FBSnapshotTestCase.m | 192 -- .../FBSnapshotTestCasePlatform.h | 44 - .../FBSnapshotTestCasePlatform.m | 51 - .../FBSnapshotTestController.h | 166 -- .../FBSnapshotTestController.m | 358 --- .../FBSnapshotTestCase/SwiftSupport.swift | 125 - Example/Pods/FBSnapshotTestCase/LICENSE | 29 - Example/Pods/FBSnapshotTestCase/README.md | 97 - .../Local Podspecs/StyledText.podspec.json | 8 +- Example/Pods/Manifest.lock | 37 +- .../Nimble_Snapshots/HaveValidSnapshot.swift | 4 + Example/Pods/Nimble/README.md | 2 +- .../Nimble/Matchers/PostNotification.swift | 24 +- .../Nimble/Matchers/ThrowAssertion.swift | 4 +- .../Nimble/Sources/Nimble/Utils/Await.swift | 14 +- .../XCTestObservationCenter+Register.m | 68 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 2065 +++++++---------- Example/Pods/Quick/README.md | 5 +- .../Pods/Quick/Sources/Quick/Behavior.swift | 14 +- .../Pods/Quick/Sources/Quick/Callsite.swift | 31 +- .../Quick/Configuration/Configuration.swift | 44 +- .../Configuration/QuickConfiguration.swift | 78 + .../Pods/Quick/Sources/Quick/DSL/DSL.swift | 28 +- .../Quick/Sources/Quick/DSL/World+DSL.swift | 54 +- .../Quick/Sources/Quick/ErrorUtility.swift | 2 +- .../Pods/Quick/Sources/Quick/Example.swift | 53 +- .../Quick/Sources/Quick/ExampleGroup.swift | 7 + .../Quick/Sources/Quick/ExampleMetadata.swift | 14 +- Example/Pods/Quick/Sources/Quick/Filter.swift | 14 +- .../Quick/NSBundle+CurrentTestBundle.swift | 4 +- .../NSString+C99ExtendedIdentifier.swift | 33 - .../Quick/QuickSelectedTestSuiteBuilder.swift | 2 +- .../Sources/Quick/QuickTestObservation.swift | 69 + .../Quick/Sources/Quick/QuickTestSuite.swift | 2 +- .../Quick/String+C99ExtendedIdentifier.swift | 46 + Example/Pods/Quick/Sources/Quick/World.swift | 70 +- .../QuickSpecBase.m | 27 +- .../QuickObjCRuntime/include/QuickSpecBase.h | 7 + .../Configuration/QuickConfiguration.m | 50 +- .../Sources/QuickObjectiveC/DSL/QCKDSL.m | 8 +- .../Sources/QuickObjectiveC/DSL/World+DSL.h | 20 - .../Quick/Sources/QuickObjectiveC/QuickSpec.h | 6 + .../Quick/Sources/QuickObjectiveC/QuickSpec.m | 106 +- .../Quick/Sources/QuickObjectiveC/World.h | 18 - .../XCTestSuite+QuickTestSuiteBuilder.m | 5 + .../QuickSpecBase/include/QuickSpecBase.h | 11 - .../FBSnapshotTestCase-Info.plist | 26 - .../FBSnapshotTestCase-dummy.m | 5 - .../FBSnapshotTestCase-prefix.pch | 12 - .../FBSnapshotTestCase-umbrella.h | 19 - .../FBSnapshotTestCase.debug.xcconfig | 16 - .../FBSnapshotTestCase.modulemap | 6 - .../FBSnapshotTestCase.release.xcconfig | 16 - .../Nimble-Snapshots-Info.plist | 2 +- .../Nimble-Snapshots.debug.xcconfig | 2 +- .../Nimble-Snapshots.release.xcconfig | 2 +- .../Nimble/Nimble-Info.plist | 2 +- .../Nimble/Nimble.debug.xcconfig | 2 +- .../Nimble/Nimble.release.xcconfig | 2 +- ...StyledText_Tests-acknowledgements.markdown | 33 - ...ds-StyledText_Tests-acknowledgements.plist | 39 - .../Pods-StyledText_Tests-frameworks.sh | 2 - .../Pods-StyledText_Tests.debug.xcconfig | 4 +- .../Pods-StyledText_Tests.release.xcconfig | 4 +- .../Quick/Quick-Info.plist | 2 +- .../Quick/Quick.debug.xcconfig | 6 +- .../Quick/Quick.release.xcconfig | 6 +- .../StyledText/StyledText-Info.plist | 2 +- .../iOSSnapshotTestCase.debug.xcconfig | 2 +- .../iOSSnapshotTestCase.release.xcconfig | 2 +- Example/StyledText.xcodeproj/project.pbxproj | 22 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + Example/StyledText/AppDelegate.swift | 2 +- .../StyledText/Base.lproj/LaunchScreen.xib | 28 +- .../StyledButtonSpec/color_blue@2x.png | Bin 3653 -> 3637 bytes .../StyledButtonSpec/color_green@2x.png | Bin 3708 -> 3706 bytes .../StyledButtonSpec/color_red@2x.png | Bin 3721 -> 3721 bytes .../StyledButtonSpec/font_bold@2x.png | Bin 3564 -> 3567 bytes .../StyledButtonSpec/font_italic@2x.png | Bin 3782 -> 3797 bytes .../StyledButtonSpec/font_regular@2x.png | Bin 3500 -> 3496 bytes .../StyledButtonSpec/kern_large@2x.png | Bin 3617 -> 3622 bytes .../StyledButtonSpec/kern_medium@2x.png | Bin 3526 -> 3533 bytes .../StyledButtonSpec/kern_negative@2x.png | Bin 3144 -> 3140 bytes .../StyledLabelSpec/color_blue@2x.png | Bin 15440 -> 15410 bytes .../StyledLabelSpec/color_green@2x.png | Bin 15429 -> 15337 bytes .../StyledLabelSpec/color_red@2x.png | Bin 16038 -> 15992 bytes .../StyledLabelSpec/font_bold@2x.png | Bin 15291 -> 15224 bytes .../StyledLabelSpec/font_italic@2x.png | Bin 15724 -> 15658 bytes .../StyledLabelSpec/font_regular@2x.png | Bin 15002 -> 15013 bytes .../StyledLabelSpec/kern_large@2x.png | Bin 10022 -> 10009 bytes .../StyledLabelSpec/kern_medium@2x.png | Bin 14194 -> 14168 bytes .../StyledLabelSpec/kern_negative@2x.png | Bin 15489 -> 15519 bytes .../line_break_clipping@2x.png | Bin 3474 -> 3495 bytes .../line_break_truncate_head@2x.png | Bin 3349 -> 3383 bytes .../line_break_truncate_tail@2x.png | Bin 3419 -> 3461 bytes .../line_break_word_wrap@2x.png | Bin 3121 -> 3127 bytes .../line_height_multiple_double@2x.png | Bin 5096 -> 5137 bytes .../line_height_multiple_half@2x.png | Bin 3298 -> 3330 bytes .../line_height_multiple_triple@2x.png | Bin 5355 -> 5428 bytes .../StyledLabelSpec/line_spacing_large@2x.png | Bin 5971 -> 6031 bytes .../line_spacing_medium@2x.png | Bin 5969 -> 6026 bytes .../line_spacing_negative@2x.png | Bin 5961 -> 6024 bytes .../StyledTextViewSpec/color_blue@2x.png | Bin 26347 -> 26281 bytes .../StyledTextViewSpec/color_green@2x.png | Bin 26101 -> 26098 bytes .../StyledTextViewSpec/color_red@2x.png | Bin 26338 -> 26280 bytes .../StyledTextViewSpec/font_bold@2x.png | Bin 26887 -> 26977 bytes .../StyledTextViewSpec/font_italic@2x.png | Bin 28625 -> 28433 bytes .../StyledTextViewSpec/font_regular@2x.png | Bin 26758 -> 26675 bytes .../StyledTextViewSpec/kern_large@2x.png | Bin 29003 -> 28960 bytes .../StyledTextViewSpec/kern_medium@2x.png | Bin 27710 -> 27491 bytes .../StyledTextViewSpec/kern_negative@2x.png | Bin 24726 -> 24936 bytes .../line_break_clipping@2x.png | Bin 4484 -> 4480 bytes .../line_break_truncate_head@2x.png | Bin 4512 -> 4361 bytes .../line_break_truncate_tail@2x.png | Bin 4235 -> 4249 bytes .../line_height_multiple_double@2x.png | Bin 5387 -> 5429 bytes .../line_height_multiple_half@2x.png | Bin 4398 -> 4390 bytes .../line_height_multiple_triple@2x.png | Bin 7473 -> 7552 bytes .../line_spacing_large@2x.png | Bin 3750 -> 6004 bytes .../line_spacing_medium@2x.png | Bin 4450 -> 4461 bytes .../line_spacing_negative@2x.png | Bin 3879 -> 4111 bytes StyledText.podspec | 3 +- .../Classes/DynamicTypeController.swift | 2 +- StyledText/Classes/StyledButton.swift | 10 +- StyledText/Classes/StyledText.swift | 2 +- StyledText/Classes/TextStyle.swift | 12 +- StyledText/Classes/WeakArray.swift | 2 +- 138 files changed, 1548 insertions(+), 3520 deletions(-) delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m delete mode 100644 Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift delete mode 100644 Example/Pods/FBSnapshotTestCase/LICENSE delete mode 100644 Example/Pods/FBSnapshotTestCase/README.md create mode 100644 Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift delete mode 100644 Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift create mode 100644 Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift create mode 100644 Example/Pods/Quick/Sources/Quick/String+C99ExtendedIdentifier.swift rename Example/Pods/Quick/Sources/{QuickSpecBase => QuickObjCRuntime}/QuickSpecBase.m (60%) create mode 100644 Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h delete mode 100644 Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h delete mode 100644 Example/Pods/Quick/Sources/QuickObjectiveC/World.h delete mode 100644 Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap delete mode 100644 Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig create mode 100644 Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/.swift-version b/.swift-version index 5186d07..819e07a 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -4.0 +5.0 diff --git a/Example/Podfile b/Example/Podfile index a4d3874..eb3e175 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -7,23 +7,17 @@ target 'StyledText_Example' do target 'StyledText_Tests' do inherit! :search_paths - pod 'Nimble', '~> 8.0.5' + pod 'Nimble' pod 'Quick' - pod 'FBSnapshotTestCase', '~> 2.1.4' - pod 'Nimble-Snapshots', '~> 8.1.1' + pod 'iOSSnapshotTestCase' + pod 'Nimble-Snapshots' end end -# Hack until `swift_version` is added to the podspec https://github.com/CocoaPods/CocoaPods/issues/7134 -swift4 = ['FBSnapshotTestCase'] - post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] = '' - if swift4.include?(target.name) - config.build_settings['SWIFT_VERSION'] = swift_version = '4.0' - end - end + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0' end + end end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index fb2def1..69e3362 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,33 +1,27 @@ PODS: - - FBSnapshotTestCase (2.1.4): - - FBSnapshotTestCase/SwiftSupport (= 2.1.4) - - FBSnapshotTestCase/Core (2.1.4) - - FBSnapshotTestCase/SwiftSupport (2.1.4): - - FBSnapshotTestCase/Core - iOSSnapshotTestCase (6.2.0): - iOSSnapshotTestCase/SwiftSupport (= 6.2.0) - iOSSnapshotTestCase/Core (6.2.0) - iOSSnapshotTestCase/SwiftSupport (6.2.0): - iOSSnapshotTestCase/Core - - Nimble (8.0.5) - - Nimble-Snapshots (8.1.1): - - Nimble-Snapshots/Core (= 8.1.1) - - Nimble-Snapshots/Core (8.1.1): + - Nimble (8.1.2) + - Nimble-Snapshots (8.2.1): + - Nimble-Snapshots/Core (= 8.2.1) + - Nimble-Snapshots/Core (8.2.1): - iOSSnapshotTestCase (~> 6.0) - Nimble (~> 8.0) - - Quick (1.2.0) - - StyledText (1.2.0) + - Quick (3.0.0) + - StyledText (1.3.0) DEPENDENCIES: - - FBSnapshotTestCase (~> 2.1.4) - - Nimble (~> 8.0.5) - - Nimble-Snapshots (~> 8.1.1) + - iOSSnapshotTestCase + - Nimble + - Nimble-Snapshots - Quick - StyledText (from `../`) SPEC REPOS: trunk: - - FBSnapshotTestCase - iOSSnapshotTestCase - Nimble - Nimble-Snapshots @@ -38,13 +32,12 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a iOSSnapshotTestCase: 9ab44cb5aa62b84d31847f40680112e15ec579a6 - Nimble: 4ab1aeb9b45553c75b9687196b0fa0713170a332 - Nimble-Snapshots: 5058fb9b459e64371f54a0f8d9dde6f33db490a0 - Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08 - StyledText: beae3735c7519bb41b62763eb88aa31d17fc8243 + Nimble: 3864815b4703c7ebffba875973c70e854489fbae + Nimble-Snapshots: 3a4750d83752625c8ebfdc588da105303ee2201e + Quick: 6d9559f40647bc4d510103842ef2fdd882d753e2 + StyledText: f1f3da3cb2151c2821d7b84a462bb57d22eb0b33 -PODFILE CHECKSUM: 3651a54dfc5a4b87eaeda450dfb810881dcebde4 +PODFILE CHECKSUM: c81093a63a3ec0078b3e3bb558a994249613c555 -COCOAPODS: 1.9.0 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h deleted file mode 100644 index eefe11b..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIApplication (StrictKeyWindow) - -/** - @return The receiver's @c keyWindow. Raises an assertion if @c nil. - */ -- (UIWindow *)fb_strictKeyWindow; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m deleted file mode 100644 index 0f7a0c2..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@implementation UIApplication (StrictKeyWindow) - -- (UIWindow *)fb_strictKeyWindow -{ - UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; - if (!keyWindow) { - [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException" - format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test" - " host sets up a key window at launch (either via storyboards or programmatically) and doesn't" - " do anything to remove it while snapshot tests are running."]; - } - return keyWindow; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h deleted file mode 100644 index 9091d62..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@interface UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m deleted file mode 100644 index c997f57..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m +++ /dev/null @@ -1,134 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -// This makes debugging much more fun -typedef union { - uint32_t raw; - unsigned char bytes[4]; - struct { - char red; - char green; - char blue; - char alpha; - } __attribute__ ((packed)) pixels; -} FBComparePixel; - -@implementation UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance -{ - NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size."); - - CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage)); - CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage)); - - // The images have the equal size, so we could use the smallest amount of bytes because of byte padding - size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage)); - size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow; - void *referenceImagePixels = calloc(1, referenceImageSizeBytes); - void *imagePixels = calloc(1, referenceImageSizeBytes); - - if (!referenceImagePixels || !imagePixels) { - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels, - referenceImageSize.width, - referenceImageSize.height, - CGImageGetBitsPerComponent(self.CGImage), - minBytesPerRow, - CGImageGetColorSpace(self.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - CGContextRef imageContext = CGBitmapContextCreate(imagePixels, - imageSize.width, - imageSize.height, - CGImageGetBitsPerComponent(image.CGImage), - minBytesPerRow, - CGImageGetColorSpace(image.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - - if (!referenceImageContext || !imageContext) { - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage); - CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage); - - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - - BOOL imageEqual = YES; - - // Do a fast compare if we can - if (tolerance == 0) { - imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0); - } else { - // Go through each pixel in turn and see if it is different - const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height; - - FBComparePixel *p1 = referenceImagePixels; - FBComparePixel *p2 = imagePixels; - - NSInteger numDiffPixels = 0; - for (int n = 0; n < pixelCount; ++n) { - // If this pixel is different, increment the pixel diff count and see - // if we have hit our limit. - if (p1->raw != p2->raw) { - numDiffPixels ++; - - CGFloat percent = (CGFloat)numDiffPixels / pixelCount; - if (percent > tolerance) { - imageEqual = NO; - break; - } - } - - p1++; - p2++; - } - } - - free(referenceImagePixels); - free(imagePixels); - - return imageEqual; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h deleted file mode 100644 index a0863f3..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@interface UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m deleted file mode 100644 index ebb72fe..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m +++ /dev/null @@ -1,56 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@implementation UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image -{ - if (!image) { - return nil; - } - CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height)); - UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)]; - CGContextSetAlpha(context, 0.5); - CGContextBeginTransparencyLayer(context, NULL); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - CGContextSetBlendMode(context, kCGBlendModeDifference); - CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor); - CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height)); - CGContextEndTransparencyLayer(context); - UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return returnImage; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h deleted file mode 100644 index b0d5b26..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIImage (Snapshot) - -/// Uses renderInContext: to get a snapshot of the layer. -+ (UIImage *)fb_imageForLayer:(CALayer *)layer; - -/// Uses renderInContext: to get a snapshot of the view layer. -+ (UIImage *)fb_imageForViewLayer:(UIView *)view; - -/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed. -+ (UIImage *)fb_imageForView:(UIView *)view; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m deleted file mode 100644 index 968091b..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation UIImage (Snapshot) - -+ (UIImage *)fb_imageForLayer:(CALayer *)layer -{ - CGRect bounds = layer.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer); - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - NSAssert1(context, @"Could not generate context for layer %@", layer); - CGContextSaveGState(context); - [layer layoutIfNeeded]; - [layer renderInContext:context]; - CGContextRestoreGState(context); - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return snapshot; -} - -+ (UIImage *)fb_imageForViewLayer:(UIView *)view -{ - [view layoutIfNeeded]; - return [self fb_imageForLayer:view.layer]; -} - -+ (UIImage *)fb_imageForView:(UIView *)view -{ - CGRect bounds = view.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view); - - // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window. - UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window; - BOOL removeFromSuperview = NO; - if (!window) { - window = [[UIApplication sharedApplication] fb_strictKeyWindow]; - } - - if (!view.window && view != window) { - [window addSubview:view]; - removeFromSuperview = YES; - } - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - [view layoutIfNeeded]; - [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - if (removeFromSuperview) { - [view removeFromSuperview]; - } - - return snapshot; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 100644 index 72abc3c..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -#import - -#import - -#import - -/* - There are three ways of setting reference image directories. - - 1. Set the preprocessor macro FB_REFERENCE_IMAGE_DIR to a double quoted - c-string with the path. - 2. Set an environment variable named FB_REFERENCE_IMAGE_DIR with the path. This - takes precedence over the preprocessor macro to allow for run-time override. - 3. Keep everything unset, which will cause the reference images to be looked up - inside the bundle holding the current test, in the - Resources/ReferenceImages_* directories. - */ -#ifndef FB_REFERENCE_IMAGE_DIR -#define FB_REFERENCE_IMAGE_DIR "" -#endif - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param view The view to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' view - */ -#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyView(view__, identifier__) \ - FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param layer The layer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' layer - */ -#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyLayer(layer__, identifier__) \ - FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \ -{ \ - NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__]; \ - BOOL noErrors = (errorDescription == nil); \ - XCTAssertTrue(noErrors, @"%@", errorDescription); \ -} - - -/** - The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test - and compare an image of the view to a reference image that write lots of complex layout-code tests. - - In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES. - - @attention When recording, the reference image directory should be explicitly - set, otherwise the images may be written to somewhere inside the - simulator directory. - - For example: - @code - - (void)setUp - { - [super setUp]; - self.recordMode = YES; - } - @endcode - */ -@interface FBSnapshotTestCase : XCTestCase - -/** - When YES, the test macros will save reference images, rather than performing an actual test. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - When YES, renders a snapshot of the complete view hierarchy as visible onscreen. - There are several things that do not work if renderInContext: is used. - - UIVisualEffect #70 - - UIAppearance #91 - - Size Classes #92 - - @attention If the view does't belong to a UIWindow, it will create one and add the view as a subview. - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -- (void)setUp NS_REQUIRES_SUPER; -- (void)tearDown NS_REQUIRES_SUPER; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param viewOrLayer The UIView or CALayer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description. - */ -- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer - identifier:(NSString *)identifier - suffixes:(NSOrderedSet *)suffixes - tolerance:(CGFloat)tolerance; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param layer The Layer to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Performs the comparison or records a snapshot of the view if recordMode is YES. - @param view The view to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Checks if reference image with identifier based name exists in the reference images directory. - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if reference image exists. - */ -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Returns the reference image directory. - - Helper function used to implement the assert macros. - - @param dir directory to use if environment variable not specified. Ignored if null or empty. - */ -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m deleted file mode 100644 index f44458c..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation FBSnapshotTestCase -{ - FBSnapshotTestController *_snapshotController; -} - -#pragma mark - Overrides - -- (void)setUp -{ - [super setUp]; - _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])]; -} - -- (void)tearDown -{ - _snapshotController = nil; - [super tearDown]; -} - -- (BOOL)recordMode -{ - return _snapshotController.recordMode; -} - -- (void)setRecordMode:(BOOL)recordMode -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.recordMode = recordMode; -} - -- (BOOL)isDeviceAgnostic -{ - return _snapshotController.deviceAgnostic; -} - -- (void)setDeviceAgnostic:(BOOL)deviceAgnostic -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.deviceAgnostic = deviceAgnostic; -} - -- (BOOL)usesDrawViewHierarchyInRect -{ - return _snapshotController.usesDrawViewHierarchyInRect; -} - -- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect; -} - -#pragma mark - Public API - -- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer - identifier:(NSString *)identifier - suffixes:(NSOrderedSet *)suffixes - tolerance:(CGFloat)tolerance -{ - if (nil == viewOrLayer) { - return @"Object to be snapshotted must not be nil"; - } - NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)]; - if (referenceImageDirectory == nil) { - return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme."; - } - if (suffixes.count == 0) { - return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes]; - } - - BOOL testSuccess = NO; - NSError *error = nil; - NSMutableArray *errors = [NSMutableArray array]; - - if (self.recordMode) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject]; - BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error]; - if (!referenceImageSaved) { - [errors addObject:error]; - } - } else { - for (NSString *suffix in suffixes) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix]; - BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error]; - - if (referenceImageAvailable) { - BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error]; - [errors removeAllObjects]; - if (comparisonSuccess) { - testSuccess = YES; - break; - } else { - [errors addObject:error]; - } - } else { - [errors addObject:error]; - } - } - } - - if (!testSuccess) { - return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject]; - } - if (self.recordMode) { - return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"; - } - - return nil; -} - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:layer - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:view - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector - identifier:identifier - error:errorPtr]; - - return (referenceImage != nil); -} - -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir -{ - NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"]; - if (envReferenceImageDirectory) { - return envReferenceImageDirectory; - } - if (dir && dir.length > 0) { - return dir; - } - return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"]; -} - - -#pragma mark - Private API - -- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer - selector:self.invocation.selector - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 100644 index e04acf2..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#ifdef __cplusplus -extern "C" { -#endif - -/** - Returns a Boolean value that indicates whether the snapshot test is running in 64Bit. - This method is a convenience for creating the suffixes set based on the architecture - that the test is running. - - @returns @c YES if the test is running in 64bit, otherwise @c NO. - */ -BOOL FBSnapshotTestCaseIs64Bit(void); - -/** - Returns a default set of strings that is used to append a suffix based on the architectures. - @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions() - - @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory. - */ -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void); - -/** - Returns a fully «normalized» file name. - Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name. - - @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end. - */ -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName); - -#ifdef __cplusplus -} -#endif diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m deleted file mode 100644 index d8709d8..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import - -BOOL FBSnapshotTestCaseIs64Bit(void) -{ -#if __LP64__ - return YES; -#else - return NO; -#endif -} - -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void) -{ - NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init]; - [suffixesSet addObject:@"_32"]; - [suffixesSet addObject:@"_64"]; - if (FBSnapshotTestCaseIs64Bit()) { - return [suffixesSet reversedOrderedSet]; - } - return [suffixesSet copy]; -} - -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName) -{ - UIDevice *device = [UIDevice currentDevice]; - UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow]; - CGSize screenSize = keyWindow.bounds.size; - NSString *os = device.systemVersion; - - fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height]; - - NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; - NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters]; - fileName = [validComponents componentsJoinedByString:@"_"]; - - return fileName; -} \ No newline at end of file diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 100644 index a0285ad..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) { - FBSnapshotTestControllerErrorCodeUnknown, - FBSnapshotTestControllerErrorCodeNeedsRecord, - FBSnapshotTestControllerErrorCodePNGCreationFailed, - FBSnapshotTestControllerErrorCodeImagesDifferentSizes, - FBSnapshotTestControllerErrorCodeImagesDifferent, -}; -/** - Errors returned by the methods of FBSnapshotTestController use this domain. - */ -extern NSString *const FBSnapshotTestControllerErrorDomain; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageFilePathKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBCapturedImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBDiffedImageKey; - -/** - Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel- - by-pixel comparison of images. - Instances are initialized with the test class, and directories to read and write to. - */ -@interface FBSnapshotTestController : NSObject - -/** - Record snapshots. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - Uses drawViewHierarchyInRect:afterScreenUpdates: to draw the image instead of renderInContext: - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -/** - The directory in which referfence images are stored. - */ -@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory; - -/** - @param testClass The subclass of FBSnapshotTestCase that is using this controller. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestClass:(Class)testClass; - -/** - Designated initializer. - @param testName The name of the tests. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestName:(NSString *)testName; - -/** - Performs the comparison of the layer. - @param layer The Layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of the view. - @param view The view to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of a view or layer. - @param view The view or layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Loads a reference image. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error, if this methods returns nil, the error will be something useful. - @returns An image. - */ -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs a pixel-by-pixel comparison of the two images with an allowable margin of error. - @param referenceImage The reference (correct) image. - @param image The image to test against the reference. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the comparison succeeded and the images are the same(ish). - */ -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Saves the reference image and the test image to `failedOutputDirectory`. - @param referenceImage The reference (correct) image. - @param testImage The image to test against the reference. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the save succeeded. - */ -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m deleted file mode 100644 index 74c5a0a..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m +++ /dev/null @@ -1,358 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import -#import -#import - -#import - -NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain"; -NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey"; -NSString *const FBReferenceImageKey = @"FBReferenceImageKey"; -NSString *const FBCapturedImageKey = @"FBCapturedImageKey"; -NSString *const FBDiffedImageKey = @"FBDiffedImageKey"; - -typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) { - FBTestSnapshotFileNameTypeReference, - FBTestSnapshotFileNameTypeFailedReference, - FBTestSnapshotFileNameTypeFailedTest, - FBTestSnapshotFileNameTypeFailedTestDiff, -}; - -@implementation FBSnapshotTestController -{ - NSString *_testName; - NSFileManager *_fileManager; -} - -#pragma mark - Initializers - -- (instancetype)initWithTestClass:(Class)testClass; -{ - return [self initWithTestName:NSStringFromClass(testClass)]; -} - -- (instancetype)initWithTestName:(NSString *)testName -{ - if (self = [super init]) { - _testName = [testName copy]; - _deviceAgnostic = NO; - - _fileManager = [[NSFileManager alloc] init]; - } - return self; -} - -#pragma mark - Overrides - -- (NSString *)description -{ - return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory]; -} - -#pragma mark - Public API - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:layer - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:view - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - if (self.recordMode) { - return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr]; - } else { - return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr]; - } -} - -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - UIImage *image = [UIImage imageWithContentsOfFile:filePath]; - if (nil == image && NULL != errorPtr) { - BOOL exists = [_fileManager fileExistsAtPath:filePath]; - if (!exists) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeNeedsRecord - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - NSLocalizedDescriptionKey: @"Unable to load reference image.", - NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode", - }]; - } else { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeUnknown - userInfo:nil]; - } - } - return image; -} - -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size); - if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) { - return YES; - } - - if (NULL != errorPtr) { - NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes"; - NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100] - : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)]; - FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes; - - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:errorCode - userInfo:@{ - NSLocalizedDescriptionKey: errorDescription, - NSLocalizedFailureReasonErrorKey: errorReason, - FBReferenceImageKey: referenceImage, - FBCapturedImageKey: image, - FBDiffedImageKey: [referenceImage fb_diffWithImage:image], - }]; - } - return NO; -} - -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSData *referencePNGData = UIImagePNGRepresentation(referenceImage); - NSData *testPNGData = UIImagePNGRepresentation(testImage); - - NSString *referencePath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedReference]; - - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - - if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *testPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTest]; - - if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *diffPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff]; - - UIImage *diffImage = [referenceImage fb_diffWithImage:testImage]; - NSData *diffImageData = UIImagePNGRepresentation(diffImage); - - if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n" - @"ksdiff \"%@\" \"%@\"", referencePath, testPath); - - return YES; -} - -#pragma mark - Private API - -- (NSString *)_fileNameForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = nil; - switch (fileNameType) { - case FBTestSnapshotFileNameTypeFailedReference: - fileName = @"reference_"; - break; - case FBTestSnapshotFileNameTypeFailedTest: - fileName = @"failed_"; - break; - case FBTestSnapshotFileNameTypeFailedTestDiff: - fileName = @"diff_"; - break; - default: - fileName = @""; - break; - } - fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)]; - if (0 < identifier.length) { - fileName = [fileName stringByAppendingFormat:@"_%@", identifier]; - } - - if (self.isDeviceAgnostic) { - fileName = FBDeviceAgnosticNormalizedFileName(fileName); - } - - if ([[UIScreen mainScreen] scale] > 1) { - fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]]; - } - fileName = [fileName stringByAppendingPathExtension:@"png"]; - return fileName; -} - -- (NSString *)_referenceFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeReference]; - NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (NSString *)_failedFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:fileNameType]; - NSString *folderPath = NSTemporaryDirectory(); - if (getenv("IMAGE_DIFF_DIR")) { - folderPath = @(getenv("IMAGE_DIFF_DIR")); - } - NSString *filePath = [folderPath stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr]; - if (nil != referenceImage) { - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr]; - if (!imagesSame) { - NSError *saveError = nil; - if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) { - NSLog(@"Error saving test images: %@", saveError); - } - } - return imagesSame; - } - return NO; -} - -- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr]; -} - -- (BOOL)_saveReferenceImage:(UIImage *)image - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - BOOL didWrite = NO; - if (nil != image) { - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - NSData *pngData = UIImagePNGRepresentation(image); - if (nil != pngData) { - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr]; - if (didWrite) { - NSLog(@"Reference image save at: %@", filePath); - } - } else { - if (nil != errorPtr) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodePNGCreationFailed - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - }]; - } - } - } - return didWrite; -} - -- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer -{ - if ([viewOrLayer isKindOfClass:[UIView class]]) { - if (_usesDrawViewHierarchyInRect) { - return [UIImage fb_imageForView:viewOrLayer]; - } else { - return [UIImage fb_imageForViewLayer:viewOrLayer]; - } - } else if ([viewOrLayer isKindOfClass:[CALayer class]]) { - return [UIImage fb_imageForLayer:viewOrLayer]; - } else { - [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer]; - } - return nil; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift deleted file mode 100644 index 471bb0d..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift +++ /dev/null @@ -1,125 +0,0 @@ -/* -* Copyright (c) 2015, Facebook, Inc. -* All rights reserved. -* -* This source code is licensed under the BSD-style license found in the -* LICENSE file in the root directory of this source tree. An additional grant -* of patent rights can be found in the PATENTS file in the same directory. -* -*/ - -#if swift(>=3) - public extension FBSnapshotTestCase { - public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR) - var error: NSError? - var comparisonSuccess = false - - if let envReferenceImageDirectory = envReferenceImageDirectory { - for suffix in suffixes { - let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" - if viewOrLayer.isKind(of: UIView.self) { - do { - try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else if viewOrLayer.isKind(of: CALayer.self) { - do { - try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else { - assertionFailure("Only UIView and CALayer classes can be snapshotted") - } - - assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) - - if comparisonSuccess || recordMode { - break - } - - assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) - } - } else { - XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") - } - } - - func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) { - if !assertion { - XCTFail(message, file: file, line: line) - } - } - } -#else -public extension FBSnapshotTestCase { - public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR) - var error: NSError? - var comparisonSuccess = false - - if let envReferenceImageDirectory = envReferenceImageDirectory { - for suffix in suffixes { - let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" - if viewOrLayer.isKindOfClass(UIView) { - do { - try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else if viewOrLayer.isKindOfClass(CALayer) { - do { - try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else { - assertionFailure("Only UIView and CALayer classes can be snapshotted") - } - - assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) - - if comparisonSuccess || recordMode { - break - } - - assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) - } - } else { - XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") - } - } - - func assert(assertion: Bool, message: String, file: StaticString, line: UInt) { - if !assertion { - XCTFail(message, file: file, line: line) - } - } -} -#endif diff --git a/Example/Pods/FBSnapshotTestCase/LICENSE b/Example/Pods/FBSnapshotTestCase/LICENSE deleted file mode 100644 index 2dd780c..0000000 --- a/Example/Pods/FBSnapshotTestCase/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Example/Pods/FBSnapshotTestCase/README.md b/Example/Pods/FBSnapshotTestCase/README.md deleted file mode 100644 index bc23b83..0000000 --- a/Example/Pods/FBSnapshotTestCase/README.md +++ /dev/null @@ -1,97 +0,0 @@ -FBSnapshotTestCase -====================== - -[![Build Status](https://travis-ci.org/facebook/ios-snapshot-test-case.svg)](https://travis-ci.org/facebook/ios-snapshot-test-case) [![Cocoa Pod Version](https://cocoapod-badges.herokuapp.com/v/FBSnapshotTestCase/badge.svg)](http://cocoadocs.org/docsets/FBSnapshotTestCase/) - -What it does ------------- - -A "snapshot test case" takes a configured `UIView` or `CALayer` and uses the -`renderInContext:` method to get an image snapshot of its contents. It -compares this snapshot to a "reference image" stored in your source code -repository and fails the test if the two images don't match. - -Why? ----- - -At Facebook we write a lot of UI code. As you might imagine, each type of -feed story is rendered using a subclass of `UIView`. There are a lot of edge -cases that we want to handle correctly: - -- What if there is more text than can fit in the space available? -- What if an image doesn't match the size of an image view? -- What should the highlighted state look like? - -It's straightforward to test logic code, but less obvious how you should test -views. You can do a lot of rectangle asserts, but these are hard to understand -or visualize. Looking at an image diff shows you exactly what changed and how -it will look to users. - -We developed `FBSnapshotTestCase` to make snapshot tests easy. - -Installation with CocoaPods ---------------------------- - -1. Add the following lines to your Podfile: - - ``` - target "Tests" do - pod 'FBSnapshotTestCase' - end - ``` - - If you support iOS 7 use `FBSnapshotTestCase/Core` instead, which doesn't contain Swift support. - - Replace "Tests" with the name of your test project. - -2. There are [three ways](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. At Facebook, we normally use this: - -|Name|Value| -|:---|:----| -|`FB_REFERENCE_IMAGE_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages`| - - -![](FBSnapshotTestCaseDemo/Scheme_FB_REFERENCE_IMAGE_DIR.png) - -Creating a snapshot test ------------------------- - -1. Subclass `FBSnapshotTestCase` instead of `XCTestCase`. -2. From within your test, use `FBSnapshotVerifyView`. -3. Run the test once with `self.recordMode = YES;` in the test's `-setUp` - method. (This creates the reference images on disk.) -4. Remove the line enabling record mode and run the test. - -Features --------- - -- Automatically names reference images on disk according to test class and - selector. -- Prints a descriptive error message to the console on failure. (Bonus: - failure message includes a one-line command to see an image diff if - you have [Kaleidoscope](http://www.kaleidoscopeapp.com) installed.) -- Supply an optional "identifier" if you want to perform multiple snapshots - in a single test method. -- Support for `CALayer` via `FBSnapshotVerifyLayer`. -- `usesDrawViewHierarchyInRect` to handle cases like `UIVisualEffect`, `UIAppearance` and Size Classes. -- `isDeviceAgnostic` to allow appending the device model (`iPhone`, `iPad`, `iPod Touch`, etc), OS version and screen size to the images (allowing to have multiple tests for the same «snapshot» for different `OS`s and devices). - -Notes ------ - -Your unit test must be an "application test", not a "logic test." (That is, it -must be run within the Simulator so that it has access to UIKit.) In Xcode 5 -and later new projects only offer application tests, but older projects will -have separate targets for the two types. - -Authors -------- - -`FBSnapshotTestCase` was written at Facebook by -[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by -[Todd Krabach](https://facebook.com/toddkrabach). - -License -------- - -`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`. diff --git a/Example/Pods/Local Podspecs/StyledText.podspec.json b/Example/Pods/Local Podspecs/StyledText.podspec.json index f3ae6af..364377e 100644 --- a/Example/Pods/Local Podspecs/StyledText.podspec.json +++ b/Example/Pods/Local Podspecs/StyledText.podspec.json @@ -1,6 +1,6 @@ { "name": "StyledText", - "version": "1.2.0", + "version": "1.3.0", "summary": "Declarative text styles and simple Dynamic Type support for iOS", "description": "StyledText is a library that simplifies styling dynamic text in iOS applications. Instead of having to use attributed strings every time you need to update text, you can declaratively set a text style on your labels. When the text of the label is updated, the label uses the preset style.", "homepage": "https://github.com/blueapron/styled-text", @@ -13,11 +13,13 @@ }, "source": { "git": "https://github.com/blueapron/styled-text.git", - "tag": "v1.2.0" + "tag": "v1.3.0" }, "platforms": { "ios": "10.0" }, + "swift_versions": "5.0", "source_files": "StyledText/Classes/**/*", - "frameworks": "UIKit" + "frameworks": "UIKit", + "swift_version": "5.0" } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index fb2def1..69e3362 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,33 +1,27 @@ PODS: - - FBSnapshotTestCase (2.1.4): - - FBSnapshotTestCase/SwiftSupport (= 2.1.4) - - FBSnapshotTestCase/Core (2.1.4) - - FBSnapshotTestCase/SwiftSupport (2.1.4): - - FBSnapshotTestCase/Core - iOSSnapshotTestCase (6.2.0): - iOSSnapshotTestCase/SwiftSupport (= 6.2.0) - iOSSnapshotTestCase/Core (6.2.0) - iOSSnapshotTestCase/SwiftSupport (6.2.0): - iOSSnapshotTestCase/Core - - Nimble (8.0.5) - - Nimble-Snapshots (8.1.1): - - Nimble-Snapshots/Core (= 8.1.1) - - Nimble-Snapshots/Core (8.1.1): + - Nimble (8.1.2) + - Nimble-Snapshots (8.2.1): + - Nimble-Snapshots/Core (= 8.2.1) + - Nimble-Snapshots/Core (8.2.1): - iOSSnapshotTestCase (~> 6.0) - Nimble (~> 8.0) - - Quick (1.2.0) - - StyledText (1.2.0) + - Quick (3.0.0) + - StyledText (1.3.0) DEPENDENCIES: - - FBSnapshotTestCase (~> 2.1.4) - - Nimble (~> 8.0.5) - - Nimble-Snapshots (~> 8.1.1) + - iOSSnapshotTestCase + - Nimble + - Nimble-Snapshots - Quick - StyledText (from `../`) SPEC REPOS: trunk: - - FBSnapshotTestCase - iOSSnapshotTestCase - Nimble - Nimble-Snapshots @@ -38,13 +32,12 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a iOSSnapshotTestCase: 9ab44cb5aa62b84d31847f40680112e15ec579a6 - Nimble: 4ab1aeb9b45553c75b9687196b0fa0713170a332 - Nimble-Snapshots: 5058fb9b459e64371f54a0f8d9dde6f33db490a0 - Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08 - StyledText: beae3735c7519bb41b62763eb88aa31d17fc8243 + Nimble: 3864815b4703c7ebffba875973c70e854489fbae + Nimble-Snapshots: 3a4750d83752625c8ebfdc588da105303ee2201e + Quick: 6d9559f40647bc4d510103842ef2fdd882d753e2 + StyledText: f1f3da3cb2151c2821d7b84a462bb57d22eb0b33 -PODFILE CHECKSUM: 3651a54dfc5a4b87eaeda450dfb810881dcebde4 +PODFILE CHECKSUM: c81093a63a3ec0078b3e3bb558a994249613c555 -COCOAPODS: 1.9.0 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift b/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift index 07958cc..1c66711 100644 --- a/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift +++ b/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift @@ -117,6 +117,10 @@ public func setNimblePixelTolerance(_ pixelTolerance: CGFloat) { FBSnapshotTest.sharedInstance.pixelTolerance = pixelTolerance } +public func recordAllSnapshots() { + switchChecksWithRecords = true +} + func getDefaultReferenceDirectory(_ sourceFileName: String) -> String { if let globalReference = FBSnapshotTest.sharedInstance.referenceImagesDirectory { return globalReference diff --git a/Example/Pods/Nimble/README.md b/Example/Pods/Nimble/README.md index 4f7f89b..b358b1d 100644 --- a/Example/Pods/Nimble/README.md +++ b/Example/Pods/Nimble/README.md @@ -1186,7 +1186,7 @@ expect { let notificationCenter = NotificationCenter() expect { notificationCenter.postNotification(testNotification) -}.to(postNotifications(equal([testNotification]), fromNotificationCenter: notificationCenter)) +}.to(postNotifications(equal([testNotification]), from: notificationCenter)) ``` > This matcher is only available in Swift. diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift index 5e8bee3..1a62247 100644 --- a/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift +++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift @@ -29,7 +29,7 @@ private let mainThread = pthread_self() public func postNotifications( _ predicate: Predicate<[Notification]>, - fromNotificationCenter center: NotificationCenter = .default + from center: NotificationCenter = .default ) -> Predicate { _ = mainThread // Force lazy-loading of this value let collector = NotificationCollector(notificationCenter: center) @@ -66,12 +66,18 @@ public func postNotifications( } } +@available(*, deprecated, renamed: "postNotifications(_:from:)") +public func postNotifications( + _ predicate: Predicate<[Notification]>, + fromNotificationCenter center: NotificationCenter +) -> Predicate { + return postNotifications(predicate, from: center) +} + public func postNotifications( _ notificationsMatcher: T, - fromNotificationCenter center: NotificationCenter = .default) - -> Predicate - where T: Matcher, T.ValueType == [Notification] -{ + from center: NotificationCenter = .default +)-> Predicate where T: Matcher, T.ValueType == [Notification] { _ = mainThread // Force lazy-loading of this value let collector = NotificationCollector(notificationCenter: center) collector.startObserving() @@ -98,3 +104,11 @@ public func postNotifications( return PredicateResult(bool: match, message: failureMessage.toExpectationMessage()) } } + +@available(*, deprecated, renamed: "postNotifications(_:from:)") +public func postNotifications( + _ notificationsMatcher: T, + fromNotificationCenter center: NotificationCenter +)-> Predicate where T: Matcher, T.ValueType == [Notification] { + return postNotifications(notificationsMatcher, from: center) +} diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift index e20f9ea..0124431 100644 --- a/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift +++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift @@ -1,7 +1,7 @@ import Foundation -#if canImport(CwlPreconditionTesting) -import CwlPreconditionTesting +#if canImport(NimbleCwlPreconditionTesting) +import NimbleCwlPreconditionTesting #endif public func throwAssertion() -> Predicate { diff --git a/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift b/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift index 8ffc60b..ebd81d0 100644 --- a/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift +++ b/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift @@ -301,11 +301,19 @@ internal class Awaiter { let timeoutSource = createTimerSource(timeoutQueue) var completionCount = 0 let trigger = AwaitTrigger(timeoutSource: timeoutSource, actionSource: nil) { - try closure { + try closure { result in completionCount += 1 if completionCount < 2 { - if promise.resolveResult(.completed($0)) { - CFRunLoopStop(CFRunLoopGetMain()) + func completeBlock() { + if promise.resolveResult(.completed(result)) { + CFRunLoopStop(CFRunLoopGetMain()) + } + } + + if Thread.isMainThread { + completeBlock() + } else { + DispatchQueue.main.async { completeBlock() } } } else { fail("waitUntil(..) expects its completion closure to be only called once", diff --git a/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m b/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m index fa5030a..3c1110b 100644 --- a/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m +++ b/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m @@ -1,5 +1,4 @@ #import -#import #if __has_include("Nimble-Swift.h") #import "Nimble-Swift.h" @@ -7,77 +6,12 @@ #import #endif -#pragma mark - Method Swizzling - -/// Swaps the implementations between two instance methods. -/// -/// @param class The class containing `originalSelector`. -/// @param originalSelector Original method to replace. -/// @param replacementSelector Replacement method. -void swizzleSelectors(Class class, SEL originalSelector, SEL replacementSelector) { - Method originalMethod = class_getInstanceMethod(class, originalSelector); - Method replacementMethod = class_getInstanceMethod(class, replacementSelector); - - BOOL didAddMethod = - class_addMethod(class, - originalSelector, - method_getImplementation(replacementMethod), - method_getTypeEncoding(replacementMethod)); - - if (didAddMethod) { - class_replaceMethod(class, - replacementSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, replacementMethod); - } -} - #pragma mark - Private -@interface XCTestObservationCenter (Private) -- (void)_addLegacyTestObserver:(id)observer; -@end - @implementation XCTestObservationCenter (Register) -/// Uses objc method swizzling to register `CurrentTestCaseTracker` as a test observer. This is necessary -/// because Xcode 7.3 introduced timing issues where if a custom `XCTestObservation` is registered too early -/// it suppresses all console output (generated by `XCTestLog`), breaking any tools that depend on this output. -/// This approach waits to register our custom test observer until XCTest adds its first "legacy" observer, -/// falling back to registering after the first normal observer if this private method ever changes. + (void)load { - if (class_getInstanceMethod([self class], @selector(_addLegacyTestObserver:))) { - // Swizzle -_addLegacyTestObserver: - swizzleSelectors([self class], @selector(_addLegacyTestObserver:), @selector(NMB_original__addLegacyTestObserver:)); - } else { - // Swizzle -addTestObserver:, only if -_addLegacyTestObserver: is not implemented - swizzleSelectors([self class], @selector(addTestObserver:), @selector(NMB_original_addTestObserver:)); - } -} - -#pragma mark - Replacement Methods - -/// Registers `CurrentTestCaseTracker` as a test observer after `XCTestLog` has been added. -- (void)NMB_original__addLegacyTestObserver:(id)observer { - [self NMB_original__addLegacyTestObserver:observer]; - - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - [self addTestObserver:[CurrentTestCaseTracker sharedInstance]]; - }); -} - -/// Registers `CurrentTestCaseTracker` as a test observer after `XCTestLog` has been added. -/// This method is only used if `-_addLegacyTestObserver:` is not impelemented. (added in Xcode 7.3) -- (void)NMB_original_addTestObserver:(id)observer { - [self NMB_original_addTestObserver:observer]; - - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - [self NMB_original_addTestObserver:[CurrentTestCaseTracker sharedInstance]]; - }); + [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:[CurrentTestCaseTracker sharedInstance]]; } @end diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index f566eb3..c38b8b9 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,561 +7,499 @@ objects = { /* Begin PBXBuildFile section */ - 00224C929D57F45B70E87359E719948D /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = C02C838B479DA9D87C0BC24B928E4F77 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0353CDD8BF6BD68D5822B5306BBACCAF /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = C3FFC9516B323D99D2C7DF20BD5B8985 /* UIImage+Compare.m */; }; - 03C0BA55217336E3053CE514F8E880FD /* Pods-StyledText_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BC7ABDA6DB1620BD4B7052AC3182C13 /* Pods-StyledText_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0683FC9DDCAB80660BD11E7159607DB6 /* World+DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 3437ACAC69A9BC0B957BC85F00D46F3B /* World+DSL.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0892D14FE7A3452423E9129D7917664B /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C5F8AAEDCC146CA200C4254AAC23C5E /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 092256E303520E50ADEFF25EEB4E73EE /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = D885C25D6129701085FDABB4606047D5 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 098BFC14C537EA9FAF9C07ADBBC45B52 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D31D44BA8136F4B1BED16A2F02C5502 /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; - 0C091B7E293E5115646EE277C809E91A /* Nimble-Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EE2E3B7C318BECD7BAF6AD9896090ED3 /* Nimble-Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11C410135C7E89353B480AC8DE0BFB77 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A849C1EFF157DA59BD6EB71A45887B /* UIApplication+StrictKeyWindow.m */; }; - 11EDFDE1BC5494E14D6F81320FE3925F /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9F69C34F551D51D1962F7951A9EF81 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1291696393FFEA6F94FF1E0B79923B43 /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38A029BD33644B2F87CC02FF24CEF2B1 /* HooksPhase.swift */; }; - 13D2A4D59DD9612E1AA7F3182A342162 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0BAE4448AD0D24984DA6B1792907A9 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 14A94253562A978A55E5A7CE62FAC108 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 13FD88F3D38EBF44F986FF408383047F /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14AD81D52FAD9CF2C065C61FB00C3B4F /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9ACD42F0FDA5E2CBE9F70295667345 /* UIImage+Diff.m */; }; - 14C511527597E5846AB2627F791C7D8E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */; }; - 1517C401FBD8160B225D9A781C37CB5A /* Nimble-Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CEF99E69EAD782AEDD946A6BE58C216 /* Nimble-Snapshots-dummy.m */; }; - 192A3F8BEC1A99FD8712D3E09724D72C /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61D1ED503171C9E34795C28630C79553 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1E9765321C09CD3A53C3962859EB4008 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = C2DAD5B94EEFEE829E704529A73E31B0 /* FBSnapshotTestCasePlatform.m */; }; - 234849AD309265FD107C74357FC8C0CF /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCAEA8B9C02FCAF65860369371BD356B /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2391FFD3230B40E2348B5257D6296BBB /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D3E5D96225DED077D3EF966D01C9C14 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 018228C4760DF4F8B80630BC9ACCB39E /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90702A36987A4407C503DAF5EA8BF70 /* DSL.swift */; }; + 02DD7FC6A855D0675EA8B3BE66C99BBB /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; + 071B91450BAB053E659829D1A0E1C192 /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF5AFCC82D5982C7BDE5AF6F164BE1A /* DynamicSizeSnapshot.swift */; }; + 075211D7E4409D0826AC00348BDD999F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */; }; + 0892D14FE7A3452423E9129D7917664B /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 037B0A8291396D89D4F77E07627C0F83 /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 092256E303520E50ADEFF25EEB4E73EE /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = AC2D34E58EC07DA65CE887853E5EC4EC /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B7F3B8D408B030721FDB8C595D61AE2 /* Nimble-Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 69C20EEF52DBE6C562A06347CB7CAD0B /* Nimble-Snapshots-dummy.m */; }; + 0F09592624001A1870813A4F998A0D2A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; + 10C8810E574F925B5CD3449B6DBE6EC0 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = B92890D125C4551D906651D30FD431BE /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 13D2A4D59DD9612E1AA7F3182A342162 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 9EDB30106ECB5FC688529F61427E6BB6 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 14ECE81218F5F5C9BEF00819A7C078EC /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 698366958DC6935608D5A2AC1124B24F /* Closures.swift */; }; + 15A736854C06BE8BD030797A7122D98B /* Nimble_Snapshots.h in Headers */ = {isa = PBXBuildFile; fileRef = BB6EC39CBFE50D195B12ABC32E499302 /* Nimble_Snapshots.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 163C2D9C86D8AA40817453CC2F41F5BE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + 192A3F8BEC1A99FD8712D3E09724D72C /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1012F5D8CD6359B797D4CC8EC02030 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 19BE484FBF9788D950C5F0F58E76168C /* Nimble-Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 823214BB437475073AD6380CDD9BE2DB /* Nimble-Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1A8DF79F5EF3D69864A84173E7C9810E /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B0AA9191CB3A0D6711FA08729EE0CD /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D614FAF3233332BF1DABF640545D72F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; + 209F98BB7B328893FB64BA0393B4BD57 /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C107EF1AE0303E5F158349466E1553FC /* HooksPhase.swift */; }; + 22B5B4ED0824E7BAF2091AAD6238A73F /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = BA4254CF1C59658097CD397A1908A07C /* QuickSpecBase.m */; }; + 234849AD309265FD107C74357FC8C0CF /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55C1DA629049424DC91675887D9F68A7 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 2391FFD3230B40E2348B5257D6296BBB /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = F414BF62DF9495F0F479DB4C362D8B16 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 25699DE8F06F26C21F3824F074DC2DD4 /* DynamicTypeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08B2F4E72EA687CCA717EAB0C59F656 /* DynamicTypeController.swift */; }; - 26B9FEAB3DE0C8B91709D53571752A3B /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA44B3F730848082AA9F1D9E591D5EB2 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 26B9FEAB3DE0C8B91709D53571752A3B /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C7F742D91EA9171A992AA4625653D7 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 274D7398458439FC1CFC4F5D412F46EF /* WeakArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91FBE7480A38D7D7FF327B577F6ED9C4 /* WeakArray.swift */; }; - 2A94FACEA07096DDE05ACF58491DD963 /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = EACA3A093ED9BB7A60633402E9D40E28 /* World+DSL.swift */; }; - 2A95AD48CE160CCC59957E4F91EEC9B9 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 38BFD03F1F5CFDF9828650C4A20055A6 /* XCTestSuite+QuickTestSuiteBuilder.m */; }; - 2ADD7D3E0B94EF044CF3FFD2F8EA2C67 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED6B10B8F12295D008DC954385194128 /* DSL.swift */; }; - 2B350015B9F7546D0769649EE12D7D1A /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28647D71540442E83491CCA7ABD942A4 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 2B350015B9F7546D0769649EE12D7D1A /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEF1DF655526BAF961DC5768E7BD299F /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 2C83A7BFA2F4DFC3C1DE20702814E02E /* StyledText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C152F93A865CD3CF2503C2530A540576 /* StyledText-dummy.m */; }; - 2DCFF0CE0BD295F1D46D3247F36B192C /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F3939E47B03A04CCEE11831F7FA276A /* UIImage+Compare.m */; }; - 2EA6B2E10F38275D4CEB37B7ADDAE0E0 /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 532C2F46C22116ABA22E309056D6458E /* QuickConfiguration.m */; }; + 2EC794115349425A8865FE5DAD061D1D /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A2A771C0F6CC509080DA21DC76D606 /* iOSSnapshotTestCase-dummy.m */; }; + 2F0B5199CDB717CA9F680579900ABF15 /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3A0932BB28EEB2EA4B38DE436E8BC5 /* QuickSpec.m */; }; + 2F9C2BB07DA61523AD7C9DCE47DC7498 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 849C54FB99D27CD7653267C08F392E72 /* UIImage+Snapshot.m */; }; 30B1055F25BD4D7C9B87E90286DD9F8D /* TextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71A28591554C37F4773DE54C43571D6 /* TextStyle.swift */; }; - 3262B230B938C8D6522790093FEAF69D /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36AFF643D999732F2CB2654CA2E4952 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 32DF30CA07145B105E1F456EB3459623 /* Nimble_Snapshots.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B5724B71AEE25862063B59E66F4BF61 /* Nimble_Snapshots.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 330E8E4A6596ED625E9B34C94CC4136E /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10D951E4943C47039EF9F0EC0612C7D6 /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 33F3D6D33A64FCE3417538DF0CC6BF64 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C2F984A0D1A6663D8358FB74616C0EF /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3460FEA0CEADB05D3B56C2E1CAF9590C /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20E4CFBCDE6C12F0E217FA52C09D342 /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 3722B93E1E8BF31C11CDF45AA815A767 /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = A99E6A47133AED1341A2C1590E22594C /* QuickTestSuite.swift */; }; - 39133A7716CEDEB690A7DA9D12C45C4D /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 820D38D8EE6A6451C76FFC43FD73CCC7 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3262B230B938C8D6522790093FEAF69D /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DEA02BA580AFE76B269F8D10ED807AE /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 330E8E4A6596ED625E9B34C94CC4136E /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC969A46E97EAB16729C9B770320256E /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3460FEA0CEADB05D3B56C2E1CAF9590C /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1AA4C77433E4419B8E52DD4BE31C5DA /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 39133A7716CEDEB690A7DA9D12C45C4D /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22016A00EDECC7ECB820A382AED90EEB /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 3937CFDBB2D0472D717F07BF3ADFC98C /* StyledTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F79D8BF19C2FA8DB683C45A9BABB1D5 /* StyledTextView.swift */; }; - 3BD0C370BBCEBDEA68B8EDBD969370EB /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = B8463D6B4FEE37F049D267A6BB6BB429 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D317145F0CA3D74E737AB0B919AB6E9 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 4588FC13E7F7E57EC53EFF1479C48B43 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D9143D80C7867629C19ADCFD3086CBA /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = CE8B5A37E4E06570F40F9B430D628CFE /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3EA08EB6F673D8876FE9A2CDB31275DC /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 995DAB18CD52B258DCD728CE7A2FCA55 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 40039E0AF0D764360B1D4FC4F7950D2E /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = C92609FA3F628802C76D980E12A94585 /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4203EF96811AE514D64AE069311B1575 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27DD284FA901FCAB014FD00EFC244700 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 39382B0A1EF090D15BA6C89FC3DCB099 /* QuickTestObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873DD83B39F65143143EF2C7EBC2EAD1 /* QuickTestObservation.swift */; }; + 397F8F8200C5201681E45A3A308FB09C /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F137A96B9257016E0D9451D24756E63 /* XCTestObservationCenter+CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3BD0C370BBCEBDEA68B8EDBD969370EB /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D7A8AAE16A29455D88A96E1CAD77620 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3D6A581E79FD9EAC1A948D8BC53F1EB0 /* QuickConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3291F9E8823BE853FDBF39E713BBC8E /* QuickConfiguration.swift */; }; + 4203EF96811AE514D64AE069311B1575 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EA429D9E5076692DD64BE30CDCF846 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 4291EBA3474A02E90B01EAE2A1865772 /* StyledButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF8EB84DDBF7B517959F766080CE185 /* StyledButton.swift */; }; - 42F76698690916E0407F51610D829412 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E02C503602DC755FE67F0C4FB9D2A7F /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 43BF42159F430B01CB7F94DFDA66F510 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 44C9470137EF941955A1FDCE71D68C26 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64CD1CB40F72876DE2A4A6419F80A00F /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 4672FD9F2A61E374A3E7DD79336D4831 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */; }; - 46B90B2CF2EB97B38C43A31E9A5478C2 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90D71B3DC97F41D5C97B183F006CD500 /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 46BDEBF35D99D2CC53EF72DFC5BDCDCC /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = B11690633C49BCECBD572913D98D9387 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 48F15AE2F06B8500AD60C39BB45280A3 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 888DCF2F6DEA8CD62AC0BE7143C84F2C /* NSBundle+CurrentTestBundle.swift */; }; - 4A9E7C1A8B697A1C0B0A1E0DF855A591 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10476AB6B6D82C5D04171DFB2F043C6E /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 4CD5591DB1830D1F96292CDFF84B30A0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 4E5EE3187B48F60A0FBA4EB9ACB7FD76 /* NSString+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFC3F0CE34BEEDA0FB51C6910AEE5811 /* NSString+C99ExtendedIdentifier.swift */; }; - 51AF27C6C6A436C598A9C6FD24990EF7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - 524B49575CF7A7FF74F8B460C17512F2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 52AB6461CAA9481D24835F3E48301FC6 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4018085C58D26AF5FD02154991BDE8B7 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 53D4EA82797AB425B9DD2A06C8DED64B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - 5578F928AEFA8B2B7CC542033590DFD6 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = DECB05C01F82D94232FBF570CDAD6647 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 5A49B2C87AABFAED124DE8DDCC2FEAA1 /* World.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D59FF37755330882EF7356E677CE501 /* World.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B6F70DDD4C63CF6ED95291BCB633494 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67EBE1E3FE91179FC4FB238EF1D0FD2F /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 602E3758C0EF64AF6B7FCEA05BF5B9B9 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A5517971FCF5D6E93A5DC75B4AFBD47 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 610D6EC1202EB3B04500DD44B66A9DB1 /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = CB769D9B2B743149BE634D411B836ABA /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 618B2BE4222F19852598D9A76F888685 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = D6E97B6D373A3D03F97FD7A3CE86FA22 /* FBSnapshotTestController.m */; }; - 64E26D7D025AC4462DFA8BA66B38C9D8 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A1B22DCD492D4627DC014F7C2766E5 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 65C7F5A043925A30B66024D146D70C0E /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C4BCA6D4B80F53F10C5B3620E27A84 /* SuiteHooks.swift */; }; - 663333C5E1449EB8487518A5FEAEF8AD /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F8842749959EB75CFBC97264CC7A19B /* Configuration.swift */; }; - 67365D8C7D4AB95553BB274368DBCF1E /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = D419F5CCB71712721E4487CF8A10AB4C /* Example.swift */; }; - 6AE239C5D116E1C06F5705699FB9EAF0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 6DBC8EB7532E931C2FBDA71D1E0B66A4 /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FBC31F2A015FAE02F6D4F3BDB37F8E60 /* FBSnapshotTestCase-dummy.m */; }; - 705758F52A2D1F3ECE59D027D63B1F91 /* Pods-StyledText_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08A10C56C7D1217A42D6F412071CC1F4 /* Pods-StyledText_Example-dummy.m */; }; - 72FB8CEABF346A37D54CC08647489A98 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 800C09AB4F1564BCEADB2508345BDEB9 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 74A2E7C83AA510B19CBCFDEDF0993DFF /* NBSMockedApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 543E8B9014E1EFD35412C772C6F225F2 /* NBSMockedApplication.m */; }; - 78A51B7FCC1DFB888AAA254529013C12 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE4471BBDE617986FF64CCCC1858BD4E /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 7A5B1CC9274B3E4E10EE1561F3AFD58E /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091CA31B0A95BC5E12112A8BB41F33E2 /* Callsite.swift */; }; - 7A66539DD738BE28A057CA37AAF8F829 /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = B63892BFC1B4B8F852DD26675FF2FC12 /* ExampleHooks.swift */; }; - 7AC93EB6DCDA9226165D5BC354FE7BC6 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = EE88AACEFE6D10B5B9D95F9DECDFE3C6 /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 7DAC86DCBC36C10F43FA5FEB819B7BF1 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF70696FD648BCFC705B58352C886EDA /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 806B9040D79A3DC58FB56EAC16FE19BF /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2736EA742D5B0B34C12161B845B4EBF8 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 80DEBE41D84FBA1C4D4FE00C8D797E82 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 7303B9484DF95EADC676574D3BF05344 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84A3D2DAA3A41331772597AE8A5B5DD9 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F64940D9241DA56E989F5444A9D8772 /* SwiftSupport.swift */; }; - 857347F7E0C2B578C29882CA41D164E6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */; }; - 88396E68DC05A379282F3B374F75F43C /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1096B98C859D3A8CE6DD4D5C37498A9B /* FBSnapshotTestController.m */; }; - 88DAA80CCAE48DDE7693D93D9ECD7E01 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F61484E938FC64965DF8C00269C871A /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89EE4D6DBDB79963D65AA1E67B543B6D /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E66836C99A6034B5527AFD5E0A407C6 /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8A0EF19254BAC5DF0885D1FBA345E016 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B75D24DF2274E73658317C1F4C084C4 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8A8DC42AC071D3F57CC4D206A090C5B6 /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 832F04544C8E99B5AF42D30F4426E9F2 /* DynamicSizeSnapshot.swift */; }; - 8AEAC7C2D0B3B1E6B77EC8B91F429387 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - 8C3F5E7FF0571B63D4DAA2825C9705D1 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98211E90E300CA842AC398D4DA33163F /* QuickSelectedTestSuiteBuilder.swift */; }; - 8CE3BF0ACE07EA42DD5DAC871BF4B767 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 00832869E480C76DBB84AD058AD3FAD4 /* FBSnapshotTestCase.m */; }; - 8D16EAB20CD849E7DC1B1EDCEF61067D /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E5B7BFC466E98F654DBB81438DD318 /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D17749611AB0C8BD51C068749D8DF68 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 221F59BFBF9F3B79DCE086640939A88E /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D543DAD9A6C0B8BF8A5DB38AD876677 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 756C528F11958D81E8CC1113978AC556 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8D75EC8969EA46FBD6E1BED7791A3C37 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DF262DB0DC90A8FC65E082DDABB28A7 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8FC6C180807249B2D0654E9D6EFF736E /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = B746E3CA514C286129DD14E63D92F631 /* XCTestObservationCenter+CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90142C6259374E18E640396A59AD379A /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = C7AC2B5C91F1168A8A52F374A958077D /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9349D71F027919C3199C586D061DBF1F /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D6998C6EA66CAD972E848F584B200A4 /* iOSSnapshotTestCase-dummy.m */; }; - 94DA3131D64B3D904BE28E72F1871065 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36B199CE95E97FAF14044C5C5429512F /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 99E8019F4689A514DAC6AA40AFF7352E /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75337034950776B7AE14F83FB1DD53E5 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9B9714C476F416AD7FD803EA1184D113 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77AC9827A3F86EF2AF3E5FD99D17BE6F /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9BB5E9B6487FE95C710687B484C17161 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = E4B2BC5F009FC51A71D0D45F7D87220E /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C460BA614D4B1D314A252C4C5CE1D87 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = F19B22264F3D313DE666984005B288CB /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 42F76698690916E0407F51610D829412 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA11FEA42B596B36E38E740F2C402CB /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 43229D9C99662499BAA1E3484BD51DB7 /* Pods-StyledText_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BB1827F741762101B444B0409086BD4 /* Pods-StyledText_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 433FA195424D6A2878EC9A7C5EC6C9EB /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 060B9409813D285EFD77CF77B4CDE509 /* UIImage+Compare.m */; }; + 44C9470137EF941955A1FDCE71D68C26 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50B8761C6DBCF44247E7E2B04C96D9A1 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 46B90B2CF2EB97B38C43A31E9A5478C2 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0399FD3EE0287676D4AD9833E0CE64F /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 46BDEBF35D99D2CC53EF72DFC5BDCDCC /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F251AE1707364F5431A0D768B5B6311 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4A9E7C1A8B697A1C0B0A1E0DF855A591 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27161DF57DC7FE81ED74BFD4473B311 /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4ADE5FC9505A3BF7DF17AF9756585116 /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = E068EE1DC859745AC9FF716482AE461D /* QCKDSL.m */; }; + 4D0099C93EDDE5969949B92DB8B1CA89 /* Pods-StyledText_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08A10C56C7D1217A42D6F412071CC1F4 /* Pods-StyledText_Example-dummy.m */; }; + 4E1DBC9FF76D6AD924D1356260438074 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACC4471A2A893B7C123DAC9B52B1C488 /* QuickSelectedTestSuiteBuilder.swift */; }; + 4F1404FF2C99BA11E57980D7EB696D57 /* Pods-StyledText_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BC7ABDA6DB1620BD4B7052AC3182C13 /* Pods-StyledText_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5051F444A210706E6F97FD5E5D966388 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE8457174445D379830D8F3646D79BA1 /* SwiftSupport.swift */; }; + 512AAF465EE936155DD9BBA92368928E /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A52436417166E0515C5F31EAA391FD32 /* Quick-dummy.m */; }; + 52AB6461CAA9481D24835F3E48301FC6 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B6C779A417D2690400136E99A0221D /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 5578F928AEFA8B2B7CC542033590DFD6 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C82F3CCF156093E1AE5DB33A783814 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 58A884856B7E64EE3C204D9EDAA14045 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BC4B0ED77D2E218907801F4C12890DA /* Behavior.swift */; }; + 59BF9ABA8BB14E0E4E345D13AB6D49FB /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B79EC603B4E8EB417F507CDBC4C90E8 /* ExampleMetadata.swift */; }; + 5B6F70DDD4C63CF6ED95291BCB633494 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0751A496A6A05097EB8C07B669886618 /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 602E3758C0EF64AF6B7FCEA05BF5B9B9 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50A472314EC0A3E678A65FC57D8153E /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 62A94E823FD0713A5AFBCE481451B78D /* NBSMockedApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = A06059ADF39C1ADBC9C2A5C4B9EB554D /* NBSMockedApplication.m */; }; + 63008DABB9B5693D4A1B3FFDD8F9A7D8 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F7E1AE8B439D7FB8B81DCBC9166EC /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; + 64BD1A297C3042E344E3990E7B3C2E8A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; + 64E26D7D025AC4462DFA8BA66B38C9D8 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D4073902C0D4FAE9F3C67F83D9F377 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 72FB8CEABF346A37D54CC08647489A98 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = A040413F7F6ABBB7B3AC7488F7EE6EBB /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7536DD99ACEDE673713161E597B7B447 /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 621E31A318A51783CF5D776EFBFA25A6 /* ExampleHooks.swift */; }; + 76E7C7CDAA543C791A714B991F595F2B /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = E2576AC3CAD25D67A8C5E56CE523F900 /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78A51B7FCC1DFB888AAA254529013C12 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9160ABF8D2A98F0FEEAA578C57F33B5 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7AC93EB6DCDA9226165D5BC354FE7BC6 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = AFB4F9E9DFA8A094DC84C80495AA1FBD /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7B4DFCBFD778A3684C81E1C36FCFAF16 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + 7CE6049975894E447F2D4071C74F6F8F /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9524C781E2440F3942356936F439D18 /* Callsite.swift */; }; + 7DAC86DCBC36C10F43FA5FEB819B7BF1 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8CEF961CFDF78AB3495291E54451B /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7EB28FEC3D0ABA1A2A6CFE57C400F74D /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B006F01DB3387A08422BAF95887B492 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 806B9040D79A3DC58FB56EAC16FE19BF /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B2626771DA97CBA4EA15E42DC05A95 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8098FE9A2D056381A3AE9B3A5FEDBA9E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; + 80DEBE41D84FBA1C4D4FE00C8D797E82 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F38B1236C479F83E22B3E05A2673834 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 812937E2E121B94525810D18A5EA06B4 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = ABA9A50C0077C5F4EECC113E46C6D41F /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 822CDF6CD6A9304707F2280B23F9A7DB /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 97389060151A2A0432DC7E32BC98537A /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 82D181F8DB6FBF06C77BAA3BF47ACFBB /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 25595D5089B0C7FDDE17CB0EB174A58D /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 887AF8C809D60140319DE71D6427F370 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86436D8F816DE1A7E01E1547097CE72 /* NSBundle+CurrentTestBundle.swift */; }; + 89EE4D6DBDB79963D65AA1E67B543B6D /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A32716BB8DC40EB09F91DDAC300E0BE /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8A0EF19254BAC5DF0885D1FBA345E016 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D85E8C8B45913AB5537B178C9750F126 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8D17749611AB0C8BD51C068749D8DF68 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B4E5AB2AD401A4BE4029EBFC9414BFF /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D543DAD9A6C0B8BF8A5DB38AD876677 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B568D920744DD63B95FAA242837337DB /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8D75EC8969EA46FBD6E1BED7791A3C37 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FDB7E4028E2585959E6CF0E8D12E3F8 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8DC01045AC421ECC21348F2B1664640D /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 1946D4C97FF72F772753BEFD53A8A572 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8E4A2F4A1EF16B63817A516CC2743619 /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D9019FC72997AC85F32123652AD4E15 /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9231B70907F130F31CF5717C502B780C /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 996550147138561F420B418F0C5A633B /* ExampleGroup.swift */; }; + 94B18F2CFF543F6B2E43E84630C337E2 /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C1CB16DE6D5A34FC2D39F52E817093 /* SuiteHooks.swift */; }; + 94DA3131D64B3D904BE28E72F1871065 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CF39512C0EB7210E2659D61AC850FF9 /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 99E8019F4689A514DAC6AA40AFF7352E /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DCC4A06320B61568FCFDB07F80ACE1 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9B9714C476F416AD7FD803EA1184D113 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4C82A6846C66B0A3704057184557B1D /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9BB5E9B6487FE95C710687B484C17161 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = FFEDBAF0A120E7BFE35F22CC94F950D4 /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9C460BA614D4B1D314A252C4C5CE1D87 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74D93E06DE4E33E564E9F372052BCEA /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 9D064EED0DB294FD591E7EFBB0E8F1C4 /* StyledText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC878AA711E6600C06E590743AB2BB8 /* StyledText.swift */; }; - 9D65089019D558E5A9661F2DCAD20313 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62F45A15F27BDACE995D923F9B65B58A /* SwiftSupport.swift */; }; - 9DB13659CA8F9BF54942DEDAE9F5E858 /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 83EE9D2B1AF416BD18C7FAE3CEAD5470 /* QuickSpecBase.m */; }; - 9E82E59647C2E9653D2E5BAA5D15CF3D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - 9F70369EF71BD9ABAFF687AF532CC20D /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E25220F85BB2A30FE1363A85705CBDD /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A33E1BD9292B392CF497D5804DF323B2 /* Pods-StyledText_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE6E3EE0DC6789599163F59F1DFFC233 /* Pods-StyledText_Tests-dummy.m */; }; - A525E29E0A8079B35B793D8A2B5FBDF2 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 928FD352260FA47317B599D7FB011FCC /* UIImage+Snapshot.m */; }; - A6A550089B7797DEF915A0C0BAE2390D /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */; }; - A787308C5CA0BCA2B3A706F44CD5F7B4 /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C2E26DA34CCA2B3EBAF185B8E9F946B /* ErrorUtility.swift */; }; - A804E6F5F86B3E26663C8A8EFCC0019A /* CurrentTestCaseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87D177AA928246E37A081EE075265541 /* CurrentTestCaseTracker.swift */; }; - A9996A6303084D17B9C439CB132A1F69 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE2BA2655B28BCD5D3CA0D8A5F49F44E /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - AD69407E2FA1D39A9E09248052F2D81B /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA7E8F691F413315915F2FAC01EBFB0E /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9E874C00792FA983399C03EC00AE326D /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D88D49779B1E347CABA59825D8FF155 /* XCTestSuite+QuickTestSuiteBuilder.m */; }; + 9F70369EF71BD9ABAFF687AF532CC20D /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = C7D0B43188FFBB40D6C02C9DD5618681 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9FB5F3B3AAF3103848313FACD0CACBCD /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 03C9D28A513D494A763196171BECC894 /* QuickConfiguration.m */; }; + A1BD451BD9DF7C65965CC17E2AE6B0B6 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 35564388437BF672543E79471CDC287E /* UIImage+Diff.m */; }; + A29619C12C64B536E8E91E1D8F4EA1E0 /* NBSMockedApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = FFBC4A9F8C968FE82A9F2FCB275B29DD /* NBSMockedApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A35159AD5A7A49BA9093F29B63DBD30D /* String+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB6F2AEF482D688AAD5CBC704A2F250 /* String+C99ExtendedIdentifier.swift */; }; + A6CE2E672C8EB4DF57485428AFD64A3C /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36C8492F29F48B871868582BA96E335D /* URL+FileName.swift */; }; + A7F5B07BF96955EFDC9106335235EDB2 /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1BEF16996F9ECAEED4AAB6AD383153 /* QuickTestSuite.swift */; }; + A9996A6303084D17B9C439CB132A1F69 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040F136FD8222B1A3B2FD28DD750CEF8 /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A9DC72AE28D2D7C2C2D6B9924E03D2BF /* CurrentTestCaseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7300A4BED21A2443F94C8213190B5EFA /* CurrentTestCaseTracker.swift */; }; + AC3457501DE121722F5C831081472B3C /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB6F865D573F861854A32CDA44E34BA0 /* PrettyDynamicTypeSyntax.swift */; }; + AD69407E2FA1D39A9E09248052F2D81B /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80F1EC01269D1E7D4B5E1C9C77B61D96 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + AF60C00928A7AFE04E374B620EEA5F49 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC04239B041B4944B6FBB9C5DC49E97 /* Filter.swift */; }; AFC37A09B54E34CC706F3A716D23A389 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - B17CEF5ECE9BA91DC07E7208AECB567F /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD1B3CE9A052A52487DD60774BA82376 /* Filter.swift */; }; - B25D795BDC4F426BC01EFC911F368B81 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - B2A65EEDB5D5EC246EA68E10964FF7B3 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23D568D4EF62C9A9ED6CFD847B302079 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B32EB305A484CF6A32F05B2E5BC13502 /* HaveValidSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = B745139304C7CDA08C674FE68C3B9BC1 /* HaveValidSnapshot.swift */; }; - B33F9EBFFC464D032BFBF2297BC48872 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 22CD40159D6C997342E35B580EEF96CA /* FBSnapshotTestCase.m */; }; - B4058A2AA8486E9879F113E6F67B9679 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785A7BD94236F4EA146D476A2ACDE49 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B4CE2BADD0EA88CC09F3A9B05E2C0A0E /* NBSMockedApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 16A3A8D9D7511362E4B610EC1508B466 /* NBSMockedApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5491A88571862A1B914E6BE3CFCA5BD /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 359559EDDA06792B6BA56E4FB7C00981 /* QuickSpec.m */; }; - B6CC23C6C288F4EB9EDD3A06F1F5F094 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBAD2BDA1FEC753971BD0B05271F168E /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B71070160CF07EFA99ED0445B0D191E7 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A213E348D2F1F809E77DCA9D79900BE /* Nimble-dummy.m */; }; - B74CD6E6EBEA0B642776BCB37850415D /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = D084B35C6886DCE7C84D454491B35846 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; - B7662703AF8D3FFFCB0070C50FEDCC58 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86F31DDBF314B458CC718548636CA71F /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B79FC6E46F642C3FC74B3E6D9175B1AB /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1AB3D3E1F075E5808F34442D0AA4303 /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - BB55A0D6AC131302602D602979ADE914 /* PrettySyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A6AEE65279ABD74253538A493F93C15 /* PrettySyntax.swift */; }; - BD8AB3699C483B11671A85C72CE92B50 /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84E188967AC53FEF855F875FF253E27 /* ExampleGroup.swift */; }; - BEDC36DEA21352A0F346A2513EE0540E /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FF14760A13B9994B1EABE4DB9840501A /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C051C0411627BD5FCDA031782EB1F716 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 32742AFE076B4A882E97EBEB3ADA8D6F /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0C98C8C7D07E1598F20EE2F0539197D /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 248D10BF9B49F97E0B49D6D09B3777FE /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C3BA37BF33BCB5D88108213FEE83D462 /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BD77283BDFFF01672C8E4ABB11E7309 /* PrettyDynamicTypeSyntax.swift */; }; - C49D52712466511E332C952834C81FE1 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 95CF3B768CC069318D8B60885DD3C51A /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C903AEFEEB4E73644A03FB8285543107 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C93A37228E1C9ECC325A73FC2D1452 /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C979EEB0159A65246F6BD2C906A8ADB7 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5C208198589C9A5A8D427AC4D0D3974 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C99BBC3F70E056CB6A3CC0516318939D /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF61252BE76F896DED85A94C63847A18 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CD6B1F146B0E157FE5B9CAFFAE77A5B5 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E34E16E9D1B3311284744BAFED6604E /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B13D9477F6901EE1619FA527910C9E55 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CB95BAD1D18A44B5DEFE339877AFBFB /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B1D6C9BB4B351163B7356350C14E0BD6 /* HaveValidSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21099B3A812D79405F5DAD9F5A04D01E /* HaveValidSnapshot.swift */; }; + B2A65EEDB5D5EC246EA68E10964FF7B3 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1708326A921C5C6AA5D9AF148144F8 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B32E27BC6F40F3D3823163F5F9D3C61E /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */; }; + B4058A2AA8486E9879F113E6F67B9679 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A0887366A1BEA0CD8A3B000E9BA7705 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B48508EB39EE315F5A00429EEA69DD63 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0750DFFA251B58D778E14E60AA38CF /* Configuration.swift */; }; + B5168D73EAD4724F10EC5DC802293A38 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = E4113E832A34587810432A2E8280FBB2 /* FBSnapshotTestCasePlatform.m */; }; + B6CC23C6C288F4EB9EDD3A06F1F5F094 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9C510B2F82EADBBFD6DAFA22022585 /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B71070160CF07EFA99ED0445B0D191E7 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9810CC4E143491676FF281F5C16432EE /* Nimble-dummy.m */; }; + B7662703AF8D3FFFCB0070C50FEDCC58 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84648FAD4E02F4D8929320E2B7DECAC6 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B79FC6E46F642C3FC74B3E6D9175B1AB /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6528F98FB950E84C26B66EC74F7D71CB /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B887FBBD900E5050F0822B0498F1223E /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = A2BA45ED5441C69F43D998995C1E44F7 /* FBSnapshotTestCase.m */; }; + BE56C54CD29F23A1C631645390E8569D /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15CE71915C6BE16338CE937C8066A148 /* ErrorUtility.swift */; }; + BF2D9B7DD43CCF7EA1C083FD65A3F85F /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83F616ABF875692A1B893061A6DF0677 /* FBSnapshotTestController.m */; }; + BFEBC90223F66B0FF770B92B1C670BCF /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = F3EB8050C124A57011C93309C82F42E9 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C051C0411627BD5FCDA031782EB1F716 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 27F0BDDA52DD5F68726D31978E0FB4BF /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C0C98C8C7D07E1598F20EE2F0539197D /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161AC9213271CA5922941E6C0BCB4A08 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C229EB9011844CF381C647E88E2EC5E8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + C61962778E73144801F86C61C1D6C392 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E3A20086756A500F8046735520B8185 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6CA334FFB74ECF769F8647E33D67E56 /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E9EA6B3818D6D3663BB3FCB400FE7F /* HaveValidDynamicTypeSnapshot.swift */; }; + C903AEFEEB4E73644A03FB8285543107 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2A9AE94C22AC2B53E027EB2E5D1B02F /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C979EEB0159A65246F6BD2C906A8ADB7 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 004C3834767B2B44F423DEFB5AE0C02E /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C99BBC3F70E056CB6A3CC0516318939D /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8DED670B42A9967846EF662DD1E83FF /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C9E716023868A97D2F5B19934D93045E /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 570C953BA2A6238E3116EFB0588A46B0 /* World+DSL.swift */; }; + CD6B1F146B0E157FE5B9CAFFAE77A5B5 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F5DA74F2268147937B6D3259AB769A8A /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; CD84E9898D44A910B64AFD0F2F077A77 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - CEB0B57C65304E1E2A8C70B2A3FC7A6B /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 97F89ADED4A11991F76BBE0B3BE0342C /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CEE8D31A4E76BB7B350BF2A7175D4BC2 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = C87789E8424FC4060FB3A449A673D711 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CF9218FF56D8EE43681150A3E1635C9A /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031A28C7532888301C0D7CDFCAB9AD14 /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D04AAC8B22E4A4DC4F39891C4E52F251 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 3329BC5315878028FED0ED21139E578D /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D2BE111AE3950E47C5603F7EE3456107 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A8ED7FBDA9BCEC35FA719E1F40930D5 /* Behavior.swift */; }; - D34D0540ADCBF163575B6B5444B1AAF6 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ED0881801DF0E361DB94D9F5FB0922A /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D9CFB8E5E354D7BE61D092259779F437 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC129BDCD479793877F0EE43BCB93B05 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D9D6150D329A87CBB415FD349F0C50FD /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08D39B07B845B5BF2AAE7AA6956A77D1 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DB84342A0C0DEABBF7F729DE55225D82 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F6EF2C285BF926EBB95897E34E7FFF2 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DC5219DBE9A6FFCC45A5A78F09E63A22 /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1233245C027B68CE1BCC18EC2424BA7 /* URL+FileName.swift */; }; - DCD198D49C0A198A09525B7688EE3BC9 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 282B93AAD29C720659C46A9512E2FF39 /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DF70F08D90E88A079516ECC9C7EB972E /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = DEDD6AAB634A73F9A31003EA05C8E872 /* UIImage+Snapshot.m */; }; - E0B8D095C732352C854D365B9E5B993D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - E0EAC85F7ACFAD998B14FCE66144000E /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AD7B08DA5EEDFE5245C3550B707E1A3 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0F1AD626C62F77B7C0A8B63B88A8D9C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - E2A3FF8FBAC2E21C91E8C5EE009E0FCD /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 30CFF1798F285AD7690DF7773E2F39C9 /* QCKDSL.m */; }; - E458AAE1AE9E2250F29806E5633B1860 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DE16502B1A0089F2A8B489A5A1B9B9A /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E4E6A6902C6743D0145B0CF274E90310 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - E8AC509D18EBF21B1FEA909652A01108 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 1971ED6C7EABA1D1BA2B761111C6BD1F /* FBSnapshotTestCasePlatform.m */; }; - E95B64448591FFBF6AE819B9C556ACAF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - E9C86DA18E95A3E7935363BFA47B5F7D /* Pods-StyledText_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BB1827F741762101B444B0409086BD4 /* Pods-StyledText_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBF72E2425380C4EE843419B62C4ABC4 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = F4297F167A1464F0E9B512FB9AE8B365 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CEE8D31A4E76BB7B350BF2A7175D4BC2 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 8691C6C8A7926D7CFB296501EF10D354 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CEFEB9BF35A6ED6C9E82272021398F82 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + CF9218FF56D8EE43681150A3E1635C9A /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09FF27E8AE4DB657873D5D0A66EEF77E /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CFC4A8771A408B9801B3E77C6AAEF104 /* Pods-StyledText_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE6E3EE0DC6789599163F59F1DFFC233 /* Pods-StyledText_Tests-dummy.m */; }; + D2C041844A0EB4EB2E8C7B9DAA748EEB /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81D5ACA65F2B2871826CC14B0744F52 /* Example.swift */; }; + D34D0540ADCBF163575B6B5444B1AAF6 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4DEEE38754361E817A050F6D8AF9637 /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D92BCED3106FC640EC43DA7012092AE1 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A3FD595A99C854B12B66E0943153110E /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9CFB8E5E354D7BE61D092259779F437 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96B61CDAAA97B0861F2E52B76ABE5540 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D9D6150D329A87CBB415FD349F0C50FD /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC64EFB3EBDEA8C55E73C2EB0A441B22 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DB84342A0C0DEABBF7F729DE55225D82 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 85D2330D99C6E45F227FFC0718C22D9D /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DCD198D49C0A198A09525B7688EE3BC9 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A10C96CC94B79C6F65582F913AE54C /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E0EAC85F7ACFAD998B14FCE66144000E /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = F79D928FCE468BDD0F8CBEE4772504B2 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E458AAE1AE9E2250F29806E5633B1860 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9E814449EE59FCEFB666D932CCE1A15 /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E4F20C5ABD7648541E31802F835C58AF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; EC79ED8FB05B07FE2E3A03BA8787209B /* StyledText-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A5C77238CC6CA8DDA752154F7C030A7A /* StyledText-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EC7EF3D5778783BD93EBC6F82016ADA9 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE72C6C9AE05756D447D927B8599A9A9 /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - ECCA1FA570A912E8CDB54EB843F1D030 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA30C4723D1C6AFDAF11A4E6D301E4EA /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EC7EF3D5778783BD93EBC6F82016ADA9 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0B6DCEB9A5D25B4FF90E5F8826145D /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + ECCA1FA570A912E8CDB54EB843F1D030 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE66AB9F82502D8BE282BEE7AC1E8875 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; EFB9CC9267297D8104141A4046AAD14E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - EFC160CE0D8BD88499BACB45706186B4 /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6450A2F713873B3028909262AD2AA428 /* Quick-dummy.m */; }; - F0EC1E8DF64700838C1BC79AFEC93A1C /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709F19FD7DFBE2C32C4441321777FBD1 /* World.swift */; }; - F1AAAE00BB32B733B238E2B4E8424506 /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = BC215521BB1EC60C90136D00C8AAA7E7 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; + EFD47670BC5A28EC90926DCD32214F69 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */; }; + F01995755687FA91F51A15ED8FD9D125 /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035E34510146E6A90A078A0293AF484B /* World.swift */; }; F1FE6FF93AB0F9E80DEAFEA4C8F3A374 /* StyledLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 531EF1531B9CE03F44959AA7AAD1AD8E /* StyledLabel.swift */; }; - F27A7DE93F66B0C12B4C646D99F5B9F4 /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 21D4822AF805EE4755B2097B0C2F0935 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F2879D2ED08204999EAB760DE2A2E200 /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97B5EF051EE75E4D591BCBE7F2147F05 /* Closures.swift */; }; - F310B21703A7BC438A09DDB96670583F /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2C3826454A477CDC393DFD224763243 /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F4877B3857C780DCDB7F413A03F95600 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = E288CD9E15B6CFB53B3C6B8A022C385F /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F6BADA37B8D3F92052CE2BA71E702FAB /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA96AE05FB7BBE396C35F5D30B5A4E96 /* HaveValidDynamicTypeSnapshot.swift */; }; - F720FAF13A108CE6901E0A8B0580E1E8 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C9646287AD24D360D504CDFC6271E8B /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F78E35D04F09485FA5DFA72FE1AD5AB2 /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = BABDF32E71466F4CB09A66D8FAF8EC7B /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F93310609CA1D35157D85EFAB3808763 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = B31BB04F98F6BE0D5790A480EE61081A /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F9E85548BF1EF8C5035BAF92233C34B6 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27DA3F33D705182CC11A03E86830F6A1 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - FA22FC2D79147F6C3A6EA988DF868741 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = F3344FBD5845A5702EB1D9E31F146C7E /* UIImage+Diff.m */; }; - FAB210037DEE6DDF3679C07D48D9E8DD /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55AB72618C2B431DE9FCACCD65B943D /* ExampleMetadata.swift */; }; - FF920E965F1CA016FF302DE8C92C5122 /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170C4E1A0FB1524E80D7647AED2B21E7 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F27A7DE93F66B0C12B4C646D99F5B9F4 /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 9409C0B3600E2BD1F9B9BEC3D181B8A3 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F310B21703A7BC438A09DDB96670583F /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B090FACE06D97DC389F5AB0ABE1CED /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F4877B3857C780DCDB7F413A03F95600 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8FF75F8DB454A4726BC2566463E73A5 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F5FDCCBF377562DCAFA4AE711307C281 /* PrettySyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F95F6A526D3DF705FFAF854981B1452 /* PrettySyntax.swift */; }; + F78E35D04F09485FA5DFA72FE1AD5AB2 /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = FBF3CEA309332EB156B3E2D0B6324309 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F9E85548BF1EF8C5035BAF92233C34B6 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = DACB8F2E57FC1515881908D07D0480B3 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + FF920E965F1CA016FF302DE8C92C5122 /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2697698D59A1BD0B6AFE98D1B1081B8D /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 2B15B64CBD0343BD296C362C27C35ACD /* PBXContainerItemProxy */ = { + 1FB3950EF8EC1F8CDDB7BBA69F8FCDA7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 98A98149697C80CEF8D5772791E92E66; - remoteInfo = FBSnapshotTestCase; + remoteGlobalIDString = 46C93AA424DF07F96D109412C94B5106; + remoteInfo = StyledText; }; - 366FEC074276E9FB710B5CB8522BAD1C /* PBXContainerItemProxy */ = { + 44D070512699E8CBAF92DF247800D8E3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; - remoteInfo = Nimble; + remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; + remoteInfo = iOSSnapshotTestCase; }; - 773733D4D6BF2D1F0C4B848749EC8A31 /* PBXContainerItemProxy */ = { + 4D6661145E1BD8D9896AA20D68A630CF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EE19095A8C98E0BC5774005673495238; remoteInfo = "Nimble-Snapshots"; }; - 8BF7CDF381A9A09379538836C17062D5 /* PBXContainerItemProxy */ = { + 63798BD7772D339231286E5BDC0102E2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 034C948C972057A8D4790D3F8C019319; - remoteInfo = "Pods-StyledText_Example"; + remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; + remoteInfo = Quick; }; - 8CCA0AE2DA74CF6725E0628440C59A10 /* PBXContainerItemProxy */ = { + 6D531970C5A5558D172961E0C0A35B4D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; - remoteInfo = iOSSnapshotTestCase; + remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; + remoteInfo = Nimble; }; - 98F8DF67052050573C49B84C23C40CC3 /* PBXContainerItemProxy */ = { + 8848BC76ADACFE84CC6114F45DEDB063 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; - remoteInfo = Quick; + remoteGlobalIDString = 034C948C972057A8D4790D3F8C019319; + remoteInfo = "Pods-StyledText_Example"; }; - DB9C8D60B4B98A3639B343794963EBF4 /* PBXContainerItemProxy */ = { + 9E443FE0E4321DE86707BBAC44BBCAFA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; remoteInfo = Nimble; }; - F96FEF39888CFFD5E608C83ED48A84A8 /* PBXContainerItemProxy */ = { + A6FAE84199743AD4B181E9EC947093D1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; remoteInfo = iOSSnapshotTestCase; }; - FF3240993B885D532B59216E5981C16F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 46C93AA424DF07F96D109412C94B5106; - remoteInfo = StyledText; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00832869E480C76DBB84AD058AD3FAD4 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; - 031A28C7532888301C0D7CDFCAB9AD14 /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; - 04A849C1EFF157DA59BD6EB71A45887B /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; }; - 04DB51D85249338340A33A37F3B14CC8 /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; }; + 004C3834767B2B44F423DEFB5AE0C02E /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; + 02DCC4A06320B61568FCFDB07F80ACE1 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; + 035E34510146E6A90A078A0293AF484B /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; + 037B0A8291396D89D4F77E07627C0F83 /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; + 03C9D28A513D494A763196171BECC894 /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; + 040F136FD8222B1A3B2FD28DD750CEF8 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; + 060B9409813D285EFD77CF77B4CDE509 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; + 0751A496A6A05097EB8C07B669886618 /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; 08A10C56C7D1217A42D6F412071CC1F4 /* Pods-StyledText_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StyledText_Example-dummy.m"; sourceTree = ""; }; - 08D39B07B845B5BF2AAE7AA6956A77D1 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; - 091CA31B0A95BC5E12112A8BB41F33E2 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; - 0A213E348D2F1F809E77DCA9D79900BE /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; + 09FF27E8AE4DB657873D5D0A66EEF77E /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; + 0A0887366A1BEA0CD8A3B000E9BA7705 /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; + 0A32716BB8DC40EB09F91DDAC300E0BE /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; 0AC36DC99F2AA8C562B4CEC1F02FB01C /* Pods-StyledText_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Example-Info.plist"; sourceTree = ""; }; - 0B6694E91C80480B0DAAD6750A215B71 /* FBSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FBSnapshotTestCase-Info.plist"; sourceTree = ""; }; 0BC7ABDA6DB1620BD4B7052AC3182C13 /* Pods-StyledText_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-StyledText_Example-umbrella.h"; sourceTree = ""; }; 0C28D3CBB116B5C0A580732D63B2516D /* Pods-StyledText_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-StyledText_Example.modulemap"; sourceTree = ""; }; - 0CEF99E69EAD782AEDD946A6BE58C216 /* Nimble-Snapshots-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-Snapshots-dummy.m"; sourceTree = ""; }; 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Quick.framework; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D787F825BC06DA3877C96AFFAB392F8 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 0F8842749959EB75CFBC97264CC7A19B /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; - 10476AB6B6D82C5D04171DFB2F043C6E /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; - 1096B98C859D3A8CE6DD4D5C37498A9B /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; - 10D951E4943C47039EF9F0EC0612C7D6 /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; }; - 110871CC1CABE4158F42B5A9EE6CCB0D /* Nimble-Snapshots.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.release.xcconfig"; sourceTree = ""; }; + 0F95F6A526D3DF705FFAF854981B1452 /* PrettySyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettySyntax.swift; path = Nimble_Snapshots/PrettySyntax.swift; sourceTree = ""; }; 12E2B2576B24210DF8972ABE955577D5 /* Pods-StyledText_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Tests.release.xcconfig"; sourceTree = ""; }; - 13FD88F3D38EBF44F986FF408383047F /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; 14397138128D174C02D1144237F130C0 /* Pods-StyledText_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Example-acknowledgements.plist"; sourceTree = ""; }; 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 16A3A8D9D7511362E4B610EC1508B466 /* NBSMockedApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBSMockedApplication.h; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.h; sourceTree = ""; }; - 170C4E1A0FB1524E80D7647AED2B21E7 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; - 1971ED6C7EABA1D1BA2B761111C6BD1F /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; - 1BD77283BDFFF01672C8E4ABB11E7309 /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettyDynamicTypeSyntax.swift; path = Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; - 1C5F8AAEDCC146CA200C4254AAC23C5E /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; + 15A84F1025B8E8E5246E0654DAF8C168 /* Quick.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.release.xcconfig; sourceTree = ""; }; + 15CE71915C6BE16338CE937C8066A148 /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; + 161AC9213271CA5922941E6C0BCB4A08 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; + 18A10C96CC94B79C6F65582F913AE54C /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; }; + 1946D4C97FF72F772753BEFD53A8A572 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; 1C639A5778EBC828D88881CD05B9AFD8 /* Pods-StyledText_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Tests-acknowledgements.plist"; sourceTree = ""; }; - 1C9646287AD24D360D504CDFC6271E8B /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - 1CE81EAB18DF1F9D8104534D8C659A83 /* Quick.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.release.xcconfig; sourceTree = ""; }; - 1D31D44BA8136F4B1BED16A2F02C5502 /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+CurrentTestCaseTracker.m"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; + 1E3A20086756A500F8046735520B8185 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; 1EF8EB84DDBF7B517959F766080CE185 /* StyledButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledButton.swift; path = StyledText/Classes/StyledButton.swift; sourceTree = ""; }; - 1F6EF2C285BF926EBB95897E34E7FFF2 /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; 1F79D8BF19C2FA8DB683C45A9BABB1D5 /* StyledTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledTextView.swift; path = StyledText/Classes/StyledTextView.swift; sourceTree = ""; }; - 2059C148205460F442DCFD88481819AB /* Nimble.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.debug.xcconfig; sourceTree = ""; }; - 216C66F5B0631FCEF5DD094DA4F8DEDC /* Nimble-Snapshots-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Snapshots-Info.plist"; sourceTree = ""; }; - 21D4822AF805EE4755B2097B0C2F0935 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; - 221F59BFBF9F3B79DCE086640939A88E /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; - 22CD40159D6C997342E35B580EEF96CA /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; + 21099B3A812D79405F5DAD9F5A04D01E /* HaveValidSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidSnapshot.swift; path = Nimble_Snapshots/HaveValidSnapshot.swift; sourceTree = ""; }; + 22016A00EDECC7ECB820A382AED90EEB /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; 22F9678507641C32C95517996C9FA782 /* Pods-StyledText_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Tests-Info.plist"; sourceTree = ""; }; - 23D568D4EF62C9A9ED6CFD847B302079 /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; - 248D10BF9B49F97E0B49D6D09B3777FE /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; - 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_StyledText_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2736EA742D5B0B34C12161B845B4EBF8 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; + 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_StyledText_Example.framework; path = "Pods-StyledText_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 25595D5089B0C7FDDE17CB0EB174A58D /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; + 265278376D30ED62A1D410D362C4DA15 /* Nimble-Snapshots-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-prefix.pch"; sourceTree = ""; }; + 2697698D59A1BD0B6AFE98D1B1081B8D /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; 277915C22BBFC6CBF054A5E161230B60 /* StyledText.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StyledText.debug.xcconfig; sourceTree = ""; }; - 27A2A860C6FCF07037FD83ED9A3F3F10 /* Quick.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.debug.xcconfig; sourceTree = ""; }; - 27DA3F33D705182CC11A03E86830F6A1 /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; - 27DD284FA901FCAB014FD00EFC244700 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; - 2821555F8556D99C87BB6D70FB3B887F /* iOSSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = iOSSnapshotTestCase.modulemap; sourceTree = ""; }; - 282B93AAD29C720659C46A9512E2FF39 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; }; - 28647D71540442E83491CCA7ABD942A4 /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; - 2D6998C6EA66CAD972E848F584B200A4 /* iOSSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "iOSSnapshotTestCase-dummy.m"; sourceTree = ""; }; - 2E34E16E9D1B3311284744BAFED6604E /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; - 30C4BCA6D4B80F53F10C5B3620E27A84 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; - 30CFF1798F285AD7690DF7773E2F39C9 /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; - 32742AFE076B4A882E97EBEB3ADA8D6F /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; - 3329BC5315878028FED0ED21139E578D /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - 3437ACAC69A9BC0B957BC85F00D46F3B /* World+DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "World+DSL.h"; path = "Sources/QuickObjectiveC/DSL/World+DSL.h"; sourceTree = ""; }; - 359559EDDA06792B6BA56E4FB7C00981 /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; - 369B964522C41E19E9549B887578F369 /* Nimble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Info.plist"; sourceTree = ""; }; - 36B199CE95E97FAF14044C5C5429512F /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; - 38A029BD33644B2F87CC02FF24CEF2B1 /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; - 38BFD03F1F5CFDF9828650C4A20055A6 /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; + 27F0BDDA52DD5F68726D31978E0FB4BF /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; + 28E4365D7D3C1AD3275047D89CE8EAC5 /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; + 2F251AE1707364F5431A0D768B5B6311 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; + 3021AEA3B3D2FA8FBD2C4F6309412A9F /* Quick.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.debug.xcconfig; sourceTree = ""; }; + 35564388437BF672543E79471CDC287E /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; + 36C8492F29F48B871868582BA96E335D /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; 3A78372BBAA254E75C8EB830A59818F7 /* Pods-StyledText_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StyledText_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 3B75D24DF2274E73658317C1F4C084C4 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; - 3C2E26DA34CCA2B3EBAF185B8E9F946B /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; - 3C2F984A0D1A6663D8358FB74616C0EF /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - 3D9ACD42F0FDA5E2CBE9F70295667345 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; - 3D9B78B20EB30156B24F2DD6C4F1A4A1 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; - 3E25220F85BB2A30FE1363A85705CBDD /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; - 4018085C58D26AF5FD02154991BDE8B7 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; + 3CF39512C0EB7210E2659D61AC850FF9 /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; + 3F137A96B9257016E0D9451D24756E63 /* XCTestObservationCenter+CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestObservationCenter+CurrentTestCaseTracker.h"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h"; sourceTree = ""; }; + 42DFA1164EFCB4439D339BE020B0BB12 /* iOSSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-prefix.pch"; sourceTree = ""; }; + 44BB1BB142DF99EC623B598EBEF36D8A /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Quick.modulemap; sourceTree = ""; }; + 44D16F035CC13D1315E697EC2EF5A158 /* Nimble-Snapshots.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Nimble-Snapshots.modulemap"; sourceTree = ""; }; 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4588FC13E7F7E57EC53EFF1479C48B43 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; - 4785A7BD94236F4EA146D476A2ACDE49 /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; - 478CE23E6DA813E6B943BBC65307D0A8 /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; - 4A57290FFAFFB18CAE5A4F43CFB6E5C0 /* FBSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.release.xcconfig; sourceTree = ""; }; - 4B9F69C34F551D51D1962F7951A9EF81 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; - 4CAE7DB50E0F983D24BB4405E9BDCB42 /* iOSSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.release.xcconfig; sourceTree = ""; }; + 45F576FF77A242929D7E9783D6C9AE47 /* Nimble.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.debug.xcconfig; sourceTree = ""; }; + 48A2A771C0F6CC509080DA21DC76D606 /* iOSSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "iOSSnapshotTestCase-dummy.m"; sourceTree = ""; }; + 4C1BEF16996F9ECAEED4AAB6AD383153 /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; + 4C9C510B2F82EADBBFD6DAFA22022585 /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; 4CC878AA711E6600C06E590743AB2BB8 /* StyledText.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledText.swift; path = StyledText/Classes/StyledText.swift; sourceTree = ""; }; - 4D59FF37755330882EF7356E677CE501 /* World.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = World.h; path = Sources/QuickObjectiveC/World.h; sourceTree = ""; }; - 4E02C503602DC755FE67F0C4FB9D2A7F /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; - 4F61484E938FC64965DF8C00269C871A /* iOSSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble_Snapshots.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4F2E06B0C27FD73B088E2EDB6E6EA177 /* Nimble-Snapshots-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Snapshots-Info.plist"; sourceTree = ""; }; + 50B8761C6DBCF44247E7E2B04C96D9A1 /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; + 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble_Snapshots.framework; path = "Nimble-Snapshots.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 531EF1531B9CE03F44959AA7AAD1AD8E /* StyledLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledLabel.swift; path = StyledText/Classes/StyledLabel.swift; sourceTree = ""; }; - 532C2F46C22116ABA22E309056D6458E /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; - 543E8B9014E1EFD35412C772C6F225F2 /* NBSMockedApplication.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBSMockedApplication.m; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.m; sourceTree = ""; }; 54AFFCBA358A7835B41F0545F9F0961D /* Pods-StyledText_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StyledText_Example-frameworks.sh"; sourceTree = ""; }; - 5A5517971FCF5D6E93A5DC75B4AFBD47 /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; - 5AE28BD227CB9E883F9A103F1FBE7B64 /* StyledText.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = StyledText.podspec; sourceTree = ""; tabWidth = 2; }; - 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DF262DB0DC90A8FC65E082DDABB28A7 /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; - 61D1ED503171C9E34795C28630C79553 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; - 62F45A15F27BDACE995D923F9B65B58A /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; - 6450A2F713873B3028909262AD2AA428 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; - 64CD1CB40F72876DE2A4A6419F80A00F /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; + 55C1DA629049424DC91675887D9F68A7 /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; + 570C953BA2A6238E3116EFB0588A46B0 /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; + 5AE28BD227CB9E883F9A103F1FBE7B64 /* StyledText.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = StyledText.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 5D0750DFFA251B58D778E14E60AA38CF /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; + 5D88D49779B1E347CABA59825D8FF155 /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; + 621E31A318A51783CF5D776EFBFA25A6 /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; + 6528F98FB950E84C26B66EC74F7D71CB /* SatisfyAllOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAllOf.swift; path = Sources/Nimble/Matchers/SatisfyAllOf.swift; sourceTree = ""; }; 65D6AC668C22A2F5A85E1B78D3B4371B /* Pods-StyledText_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-StyledText_Tests.modulemap"; sourceTree = ""; }; - 67EBE1E3FE91179FC4FB238EF1D0FD2F /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; - 6DE16502B1A0089F2A8B489A5A1B9B9A /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; - 6F64940D9241DA56E989F5444A9D8772 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; - 709F19FD7DFBE2C32C4441321777FBD1 /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; - 7303B9484DF95EADC676574D3BF05344 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/include/CwlPreconditionTesting.h; sourceTree = ""; }; - 73E5B7BFC466E98F654DBB81438DD318 /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; - 75337034950776B7AE14F83FB1DD53E5 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; - 756C528F11958D81E8CC1113978AC556 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; - 75A1B22DCD492D4627DC014F7C2766E5 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; - 77AC9827A3F86EF2AF3E5FD99D17BE6F /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; - 78CC5C70773DC0A6C2CBE6F83DEAA7E9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 792F7E11A8FCFE14904F29B7AB53B750 /* iOSSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; - 7A6AEE65279ABD74253538A493F93C15 /* PrettySyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettySyntax.swift; path = Nimble_Snapshots/PrettySyntax.swift; sourceTree = ""; }; - 7A8ED7FBDA9BCEC35FA719E1F40930D5 /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; - 7AA0304BAB90D0ECD03B2624095DAA82 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FBSnapshotTestCase.modulemap; sourceTree = ""; }; + 698366958DC6935608D5A2AC1124B24F /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; + 69C20EEF52DBE6C562A06347CB7CAD0B /* Nimble-Snapshots-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-Snapshots-dummy.m"; sourceTree = ""; }; + 6AC04239B041B4944B6FBB9C5DC49E97 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; + 6B006F01DB3387A08422BAF95887B492 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; + 6C8E38F40C0999C2C7E00138E57B3194 /* Quick-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Quick-Info.plist"; sourceTree = ""; }; + 6CB95BAD1D18A44B5DEFE339877AFBFB /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; + 6DEA02BA580AFE76B269F8D10ED807AE /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; + 6F38B1236C479F83E22B3E05A2673834 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/include/CwlPreconditionTesting.h; sourceTree = ""; }; + 700FA20DBE1B10DDBA99DC0051B0C309 /* iOSSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.release.xcconfig; sourceTree = ""; }; + 7300A4BED21A2443F94C8213190B5EFA /* CurrentTestCaseTracker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentTestCaseTracker.swift; path = Nimble_Snapshots/CurrentTestCaseTracker.swift; sourceTree = ""; }; + 78CC5C70773DC0A6C2CBE6F83DEAA7E9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 7B79EC603B4E8EB417F507CDBC4C90E8 /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; 7CC69EC1D2BD51F32762FA107C6A0CB1 /* StyledText.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StyledText.release.xcconfig; sourceTree = ""; }; - 7E66836C99A6034B5527AFD5E0A407C6 /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; - 800C09AB4F1564BCEADB2508345BDEB9 /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; - 820D38D8EE6A6451C76FFC43FD73CCC7 /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; - 832F04544C8E99B5AF42D30F4426E9F2 /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicSizeSnapshot.swift; path = Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift; sourceTree = ""; }; - 83EE9D2B1AF416BD18C7FAE3CEAD5470 /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickSpecBase/QuickSpecBase.m; sourceTree = ""; }; + 7DA11FEA42B596B36E38E740F2C402CB /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; + 80F1EC01269D1E7D4B5E1C9C77B61D96 /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; + 823214BB437475073AD6380CDD9BE2DB /* Nimble-Snapshots-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-umbrella.h"; sourceTree = ""; }; + 83D4073902C0D4FAE9F3C67F83D9F377 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; + 83F616ABF875692A1B893061A6DF0677 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; + 84648FAD4E02F4D8929320E2B7DECAC6 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; + 849C54FB99D27CD7653267C08F392E72 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; 8524496123516BD2556D7FFD3D226B8C /* Pods-StyledText_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StyledText_Tests-frameworks.sh"; sourceTree = ""; }; + 85D2330D99C6E45F227FFC0718C22D9D /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; + 8691C6C8A7926D7CFB296501EF10D354 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; 86A9A97943F737E541AAC9CE584F6050 /* Pods-StyledText_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Example.debug.xcconfig"; sourceTree = ""; }; - 86F31DDBF314B458CC718548636CA71F /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; - 87D177AA928246E37A081EE075265541 /* CurrentTestCaseTracker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentTestCaseTracker.swift; path = Nimble_Snapshots/CurrentTestCaseTracker.swift; sourceTree = ""; }; - 888DCF2F6DEA8CD62AC0BE7143C84F2C /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; + 873DD83B39F65143143EF2C7EBC2EAD1 /* QuickTestObservation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestObservation.swift; path = Sources/Quick/QuickTestObservation.swift; sourceTree = ""; }; + 8B4E5AB2AD401A4BE4029EBFC9414BFF /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; 8BB1827F741762101B444B0409086BD4 /* Pods-StyledText_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-StyledText_Tests-umbrella.h"; sourceTree = ""; }; - 8ED0881801DF0E361DB94D9F5FB0922A /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; - 90D71B3DC97F41D5C97B183F006CD500 /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; + 8D9019FC72997AC85F32123652AD4E15 /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; 91FBE7480A38D7D7FF327B577F6ED9C4 /* WeakArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WeakArray.swift; path = StyledText/Classes/WeakArray.swift; sourceTree = ""; }; - 928FD352260FA47317B599D7FB011FCC /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - 95CF3B768CC069318D8B60885DD3C51A /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - 96E654233A23C1D1699A4ACC94C8452B /* Quick-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Quick-Info.plist"; sourceTree = ""; }; - 97B5EF051EE75E4D591BCBE7F2147F05 /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; - 97F89ADED4A11991F76BBE0B3BE0342C /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; - 98211E90E300CA842AC398D4DA33163F /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; - 995DAB18CD52B258DCD728CE7A2FCA55 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; + 9409C0B3600E2BD1F9B9BEC3D181B8A3 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; + 95B6C779A417D2690400136E99A0221D /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; + 96B61CDAAA97B0861F2E52B76ABE5540 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; + 97389060151A2A0432DC7E32BC98537A /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; + 97CDC737044A34867D445AA4C0EF6A6B /* iOSSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "iOSSnapshotTestCase-Info.plist"; sourceTree = ""; }; + 9810CC4E143491676FF281F5C16432EE /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; + 996550147138561F420B418F0C5A633B /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; 997C790F9BC59840F47B8D0CDA79CA8C /* StyledText-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StyledText-prefix.pch"; sourceTree = ""; }; - 9AD7B08DA5EEDFE5245C3550B707E1A3 /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; - 9B5724B71AEE25862063B59E66F4BF61 /* Nimble_Snapshots.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble_Snapshots.h; path = Nimble_Snapshots/Nimble_Snapshots.h; sourceTree = ""; }; + 9BC4B0ED77D2E218907801F4C12890DA /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; + 9C1708326A921C5C6AA5D9AF148144F8 /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; 9C99005A67BC0F57ACC4A979E48766BC /* StyledText-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "StyledText-Info.plist"; sourceTree = ""; }; - 9D3E5D96225DED077D3EF966D01C9C14 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9F3939E47B03A04CCEE11831F7FA276A /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; - A1AA68CF746FCFF15B6F04BCD0A0B840 /* Nimble-Snapshots.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Nimble-Snapshots.modulemap"; sourceTree = ""; }; - A20E4CFBCDE6C12F0E217FA52C09D342 /* ElementsEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementsEqual.swift; path = Sources/Nimble/Matchers/ElementsEqual.swift; sourceTree = ""; }; - A3C93A37228E1C9ECC325A73FC2D1452 /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; + 9D7A8AAE16A29455D88A96E1CAD77620 /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9EDB30106ECB5FC688529F61427E6BB6 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; + 9F1012F5D8CD6359B797D4CC8EC02030 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; + 9FDB7E4028E2585959E6CF0E8D12E3F8 /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; + A040413F7F6ABBB7B3AC7488F7EE6EBB /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; + A06059ADF39C1ADBC9C2A5C4B9EB554D /* NBSMockedApplication.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBSMockedApplication.m; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.m; sourceTree = ""; }; + A2A358CF6DFCD46437AC4093EDDE1024 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; }; + A2BA45ED5441C69F43D998995C1E44F7 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; + A3C1CB16DE6D5A34FC2D39F52E817093 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; + A3FD595A99C854B12B66E0943153110E /* iOSSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-umbrella.h"; sourceTree = ""; }; A41113005A7A99534DA8A1F85466E482 /* Pods-StyledText_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Example.release.xcconfig"; sourceTree = ""; }; + A4C82A6846C66B0A3704057184557B1D /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; + A52436417166E0515C5F31EAA391FD32 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; A5C77238CC6CA8DDA752154F7C030A7A /* StyledText-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StyledText-umbrella.h"; sourceTree = ""; }; A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - A99E6A47133AED1341A2C1590E22594C /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; - AA0BAE4448AD0D24984DA6B1792907A9 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; - AA7E8F691F413315915F2FAC01EBFB0E /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; + A7EA429D9E5076692DD64BE30CDCF846 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; + A8FF75F8DB454A4726BC2566463E73A5 /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; + A9524C781E2440F3942356936F439D18 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; + A9C82F3CCF156093E1AE5DB33A783814 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; }; + AB6F865D573F861854A32CDA44E34BA0 /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettyDynamicTypeSyntax.swift; path = Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; + ABA9A50C0077C5F4EECC113E46C6D41F /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; + AC2D34E58EC07DA65CE887853E5EC4EC /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; + ACC4471A2A893B7C123DAC9B52B1C488 /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; ACC954830B3FD9AE00D6D488D382F6C6 /* Pods-StyledText_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StyledText_Example-acknowledgements.markdown"; sourceTree = ""; }; - AE6707881662A476B25D243E206AEA15 /* Nimble-Snapshots.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.debug.xcconfig"; sourceTree = ""; }; + AD0B6DCEB9A5D25B4FF90E5F8826145D /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - B11690633C49BCECBD572913D98D9387 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; - B1D25846FC4A41B996B4286648181258 /* Nimble-Snapshots-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-prefix.pch"; sourceTree = ""; }; - B31BB04F98F6BE0D5790A480EE61081A /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; - B36AFF643D999732F2CB2654CA2E4952 /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; - B58555BB4BE99A0FF6F7BFACE1580603 /* iOSSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "iOSSnapshotTestCase-Info.plist"; sourceTree = ""; }; - B63892BFC1B4B8F852DD26675FF2FC12 /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; - B71F16E6C18131F11E69BE2B9D5635A3 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; }; - B745139304C7CDA08C674FE68C3B9BC1 /* HaveValidSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidSnapshot.swift; path = Nimble_Snapshots/HaveValidSnapshot.swift; sourceTree = ""; }; - B746E3CA514C286129DD14E63D92F631 /* XCTestObservationCenter+CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestObservationCenter+CurrentTestCaseTracker.h"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h"; sourceTree = ""; }; - B8463D6B4FEE37F049D267A6BB6BB429 /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; }; - B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_StyledText_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BA30C4723D1C6AFDAF11A4E6D301E4EA /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; - BABDF32E71466F4CB09A66D8FAF8EC7B /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; - BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BC215521BB1EC60C90136D00C8AAA7E7 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; - BCAEA8B9C02FCAF65860369371BD356B /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; - BE0FD72D067430E3552BB5C50778D36C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - BE72C6C9AE05756D447D927B8599A9A9 /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; - BE8FE45A5550F2344CEFB92134E72DFD /* Nimble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.release.xcconfig; sourceTree = ""; }; - BFC3F0CE34BEEDA0FB51C6910AEE5811 /* NSString+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSString+C99ExtendedIdentifier.swift"; path = "Sources/Quick/NSString+C99ExtendedIdentifier.swift"; sourceTree = ""; }; + AFB4F9E9DFA8A094DC84C80495AA1FBD /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; + B0399FD3EE0287676D4AD9833E0CE64F /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; + B2A9AE94C22AC2B53E027EB2E5D1B02F /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; + B50A472314EC0A3E678A65FC57D8153E /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; + B568D920744DD63B95FAA242837337DB /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; + B81D5ACA65F2B2871826CC14B0744F52 /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; + B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_StyledText_Tests.framework; path = "Pods-StyledText_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + B8B2626771DA97CBA4EA15E42DC05A95 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; + B90702A36987A4407C503DAF5EA8BF70 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; + B9160ABF8D2A98F0FEEAA578C57F33B5 /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; + B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FBSnapshotTestCase.framework; path = iOSSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B92890D125C4551D906651D30FD431BE /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; + BA4254CF1C59658097CD397A1908A07C /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickObjCRuntime/QuickSpecBase.m; sourceTree = ""; }; + BAB6F2AEF482D688AAD5CBC704A2F250 /* String+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+C99ExtendedIdentifier.swift"; path = "Sources/Quick/String+C99ExtendedIdentifier.swift"; sourceTree = ""; }; + BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BB6EC39CBFE50D195B12ABC32E499302 /* Nimble_Snapshots.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble_Snapshots.h; path = Nimble_Snapshots/Nimble_Snapshots.h; sourceTree = ""; }; + BE0FD72D067430E3552BB5C50778D36C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; BFFA29E507D8E614157A3F9FA313A4BB /* Pods-StyledText_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Tests.debug.xcconfig"; sourceTree = ""; }; - C02C838B479DA9D87C0BC24B928E4F77 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; C08B2F4E72EA687CCA717EAB0C59F656 /* DynamicTypeController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicTypeController.swift; path = StyledText/Classes/DynamicTypeController.swift; sourceTree = ""; }; + C107EF1AE0303E5F158349466E1553FC /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; C152F93A865CD3CF2503C2530A540576 /* StyledText-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "StyledText-dummy.m"; sourceTree = ""; }; - C2C3826454A477CDC393DFD224763243 /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; - C2DAD5B94EEFEE829E704529A73E31B0 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; - C3FFC9516B323D99D2C7DF20BD5B8985 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; - C55AB72618C2B431DE9FCACCD65B943D /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; - C5C208198589C9A5A8D427AC4D0D3974 /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; - C7AC2B5C91F1168A8A52F374A958077D /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; - C84E188967AC53FEF855F875FF253E27 /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; - C87789E8424FC4060FB3A449A673D711 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; - C92609FA3F628802C76D980E12A94585 /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; }; - CB769D9B2B743149BE634D411B836ABA /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; - CE8B5A37E4E06570F40F9B430D628CFE /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; - CEA1C552AF2358323833420270401208 /* iOSSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-prefix.pch"; sourceTree = ""; }; - CF61252BE76F896DED85A94C63847A18 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; - D084B35C6886DCE7C84D454491B35846 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; - D419F5CCB71712721E4487CF8A10AB4C /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; - D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StyledText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D6E97B6D373A3D03F97FD7A3CE86FA22 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; + C3291F9E8823BE853FDBF39E713BBC8E /* QuickConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickConfiguration.swift; path = Sources/Quick/Configuration/QuickConfiguration.swift; sourceTree = ""; }; + C5B0AA9191CB3A0D6711FA08729EE0CD /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; + C74E490F563150BA55CD0E5083B6FEFF /* iOSSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = iOSSnapshotTestCase.modulemap; sourceTree = ""; }; + C7D0B43188FFBB40D6C02C9DD5618681 /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; + C9B090FACE06D97DC389F5AB0ABE1CED /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; + CDD9842C771EEB1AB20CD035BACB5265 /* Nimble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Info.plist"; sourceTree = ""; }; + CE3513D7582110817468E6FA307AD5EB /* Nimble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.release.xcconfig; sourceTree = ""; }; + CEC8CEF961CFDF78AB3495291E54451B /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; }; + CFEB9A0753416A9A0C7079B83B025B8A /* Nimble-Snapshots.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.release.xcconfig"; sourceTree = ""; }; + D27F7E1AE8B439D7FB8B81DCBC9166EC /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+CurrentTestCaseTracker.m"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; + D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = StyledText.framework; path = StyledText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D71A28591554C37F4773DE54C43571D6 /* TextStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextStyle.swift; path = StyledText/Classes/TextStyle.swift; sourceTree = ""; }; - D885C25D6129701085FDABB4606047D5 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; - DA44B3F730848082AA9F1D9E591D5EB2 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; - DA96AE05FB7BBE396C35F5D30B5A4E96 /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidDynamicTypeSnapshot.swift; path = Nimble_Snapshots/DynamicType/HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; - DC129BDCD479793877F0EE43BCB93B05 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; - DE4471BBDE617986FF64CCCC1858BD4E /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; - DECB05C01F82D94232FBF570CDAD6647 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; }; - DEDD6AAB634A73F9A31003EA05C8E872 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - DF70696FD648BCFC705B58352C886EDA /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; }; - E1233245C027B68CE1BCC18EC2424BA7 /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; - E1AB3D3E1F075E5808F34442D0AA4303 /* SatisfyAllOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAllOf.swift; path = Sources/Nimble/Matchers/SatisfyAllOf.swift; sourceTree = ""; }; - E288CD9E15B6CFB53B3C6B8A022C385F /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; - E4B2BC5F009FC51A71D0D45F7D87220E /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; - EACA3A093ED9BB7A60633402E9D40E28 /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; - EBAD2BDA1FEC753971BD0B05271F168E /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; - ED6B10B8F12295D008DC954385194128 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; - EE2BA2655B28BCD5D3CA0D8A5F49F44E /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; - EE2E3B7C318BECD7BAF6AD9896090ED3 /* Nimble-Snapshots-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-umbrella.h"; sourceTree = ""; }; - EE88AACEFE6D10B5B9D95F9DECDFE3C6 /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; + D74D93E06DE4E33E564E9F372052BCEA /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; + D85E8C8B45913AB5537B178C9750F126 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; + D86436D8F816DE1A7E01E1547097CE72 /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; + D8C7F742D91EA9171A992AA4625653D7 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; + D8DED670B42A9967846EF662DD1E83FF /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; + DACB8F2E57FC1515881908D07D0480B3 /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; + DC3A0932BB28EEB2EA4B38DE436E8BC5 /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; + DE66AB9F82502D8BE282BEE7AC1E8875 /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; + E068EE1DC859745AC9FF716482AE461D /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; + E2576AC3CAD25D67A8C5E56CE523F900 /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickObjCRuntime/include/QuickSpecBase.h; sourceTree = ""; }; + E27161DF57DC7FE81ED74BFD4473B311 /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; + E2E9EA6B3818D6D3663BB3FCB400FE7F /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidDynamicTypeSnapshot.swift; path = Nimble_Snapshots/DynamicType/HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; + E4113E832A34587810432A2E8280FBB2 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; + E4DEEE38754361E817A050F6D8AF9637 /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; + E5DA5D4A4D7C3CD635B7BC24A0012DDD /* Nimble-Snapshots.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.debug.xcconfig"; sourceTree = ""; }; + E9E814449EE59FCEFB666D932CCE1A15 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; + EC0F7AE49B7DDCB29385C225EF4CF3F1 /* iOSSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; + EE8457174445D379830D8F3646D79BA1 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; EFA8008C49C2975D8861120E1346E9E0 /* StyledText.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = StyledText.modulemap; sourceTree = ""; }; - F19B22264F3D313DE666984005B288CB /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; - F3344FBD5845A5702EB1D9E31F146C7E /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; - F4297F167A1464F0E9B512FB9AE8B365 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - F4AB17C7335985CC780771623C19DB91 /* FBSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; - F6BC052D44097F7EED5FB14C89852CA5 /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Quick.modulemap; sourceTree = ""; }; - FBC31F2A015FAE02F6D4F3BDB37F8E60 /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; }; - FD1B3CE9A052A52487DD60774BA82376 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; + F1AA4C77433E4419B8E52DD4BE31C5DA /* ElementsEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementsEqual.swift; path = Sources/Nimble/Matchers/ElementsEqual.swift; sourceTree = ""; }; + F3EB8050C124A57011C93309C82F42E9 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; + F414BF62DF9495F0F479DB4C362D8B16 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; + F5DA74F2268147937B6D3259AB769A8A /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; + F79D928FCE468BDD0F8CBEE4772504B2 /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; + FBF3CEA309332EB156B3E2D0B6324309 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; + FC64EFB3EBDEA8C55E73C2EB0A441B22 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; + FC969A46E97EAB16729C9B770320256E /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; }; FE6E3EE0DC6789599163F59F1DFFC233 /* Pods-StyledText_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StyledText_Tests-dummy.m"; sourceTree = ""; }; - FF14760A13B9994B1EABE4DB9840501A /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickSpecBase/include/QuickSpecBase.h; sourceTree = ""; }; + FEF1DF655526BAF961DC5768E7BD299F /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; + FFBC4A9F8C968FE82A9F2FCB275B29DD /* NBSMockedApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBSMockedApplication.h; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.h; sourceTree = ""; }; + FFEDBAF0A120E7BFE35F22CC94F950D4 /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; + FFF5AFCC82D5982C7BDE5AF6F164BE1A /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicSizeSnapshot.swift; path = Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 0C728B6C9A216E836740DA9B24398D9A /* Frameworks */ = { + 1FB41F3B817F50C08A530AB486E92A06 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E95B64448591FFBF6AE819B9C556ACAF /* Foundation.framework in Frameworks */, + 163C2D9C86D8AA40817453CC2F41F5BE /* Foundation.framework in Frameworks */, + 02DD7FC6A855D0675EA8B3BE66C99BBB /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2B02DE39DA67E24238677D9850083C8A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4E6A6902C6743D0145B0CF274E90310 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4F7CCDE571CE6AF563671836E654CE1E /* Frameworks */ = { + 55C81EE76C6A69F1F69792A679310C68 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9E82E59647C2E9653D2E5BAA5D15CF3D /* Foundation.framework in Frameworks */, - 43BF42159F430B01CB7F94DFDA66F510 /* XCTest.framework in Frameworks */, + EFB9CC9267297D8104141A4046AAD14E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 55C81EE76C6A69F1F69792A679310C68 /* Frameworks */ = { + 5ABDEF1BE9BF796A65FDE3CF47B5F454 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EFB9CC9267297D8104141A4046AAD14E /* Foundation.framework in Frameworks */, + EFD47670BC5A28EC90926DCD32214F69 /* FBSnapshotTestCase.framework in Frameworks */, + C229EB9011844CF381C647E88E2EC5E8 /* Foundation.framework in Frameworks */, + B32E27BC6F40F3D3823163F5F9D3C61E /* Nimble.framework in Frameworks */, + 8098FE9A2D056381A3AE9B3A5FEDBA9E /* UIKit.framework in Frameworks */, + 64BD1A297C3042E344E3990E7B3C2E8A /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 646AD24EE5B74793A35B98E8D31081AC /* Frameworks */ = { + 664CFDBE73205468E132AC481E2EA271 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4672FD9F2A61E374A3E7DD79336D4831 /* FBSnapshotTestCase.framework in Frameworks */, - 51AF27C6C6A436C598A9C6FD24990EF7 /* Foundation.framework in Frameworks */, - A6A550089B7797DEF915A0C0BAE2390D /* Nimble.framework in Frameworks */, - 8AEAC7C2D0B3B1E6B77EC8B91F429387 /* UIKit.framework in Frameworks */, - 4CD5591DB1830D1F96292CDFF84B30A0 /* XCTest.framework in Frameworks */, + 7B4DFCBFD778A3684C81E1C36FCFAF16 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9DB672DFFA247AC8A9BF7DD49ECD9400 /* Frameworks */ = { + B25B1D32D86BA1FF4D75AB37ED872F05 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E0F1AD626C62F77B7C0A8B63B88A8D9C /* Foundation.framework in Frameworks */, - 857347F7E0C2B578C29882CA41D164E6 /* QuartzCore.framework in Frameworks */, - 53D4EA82797AB425B9DD2A06C8DED64B /* UIKit.framework in Frameworks */, - 524B49575CF7A7FF74F8B460C17512F2 /* XCTest.framework in Frameworks */, + E4F20C5ABD7648541E31802F835C58AF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E581515110D66F94F80A6937831489A1 /* Frameworks */ = { + E61F5C730931C04996CBE8991743477A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B25D795BDC4F426BC01EFC911F368B81 /* Foundation.framework in Frameworks */, - 14C511527597E5846AB2627F791C7D8E /* QuartzCore.framework in Frameworks */, - E0B8D095C732352C854D365B9E5B993D /* UIKit.framework in Frameworks */, - 6AE239C5D116E1C06F5705699FB9EAF0 /* XCTest.framework in Frameworks */, + CD84E9898D44A910B64AFD0F2F077A77 /* Foundation.framework in Frameworks */, + AFC37A09B54E34CC706F3A716D23A389 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E61F5C730931C04996CBE8991743477A /* Frameworks */ = { + F9562D459AC319258D55691E2B07B305 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CD84E9898D44A910B64AFD0F2F077A77 /* Foundation.framework in Frameworks */, - AFC37A09B54E34CC706F3A716D23A389 /* UIKit.framework in Frameworks */, + CEFEB9BF35A6ED6C9E82272021398F82 /* Foundation.framework in Frameworks */, + 075211D7E4409D0826AC00348BDD999F /* QuartzCore.framework in Frameworks */, + 1D614FAF3233332BF1DABF640545D72F /* UIKit.framework in Frameworks */, + 0F09592624001A1870813A4F998A0D2A /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -586,42 +524,58 @@ name = Pod; sourceTree = ""; }; - 11DEE666686ED0DD13CC5C2F2D664ECF /* SwiftSupport */ = { + 151C57E269E91EF0BA300BBB210EEA08 /* iOSSnapshotTestCase */ = { isa = PBXGroup; children = ( - 6F64940D9241DA56E989F5444A9D8772 /* SwiftSupport.swift */, + 260C5FD31CE0263F960F4A9E0F9EBB75 /* Core */, + B7F48E2F8F400463037EC020E9C520D8 /* Support Files */, + 64B29B44BCAD69135F1DEA7AD9099C02 /* SwiftSupport */, ); - name = SwiftSupport; + name = iOSSnapshotTestCase; + path = iOSSnapshotTestCase; + sourceTree = ""; + }; + 1A45DF9CA3BB4307BFD63259EBC30A9A /* Nimble-Snapshots */ = { + isa = PBXGroup; + children = ( + 648739F142CF2C09F094C4364482558B /* Core */, + 9A0C94EC4E882ECF2AFF37CD715089BB /* Support Files */, + ); + name = "Nimble-Snapshots"; + path = "Nimble-Snapshots"; sourceTree = ""; }; - 17267D03DB12DBA76FFCED436F8FB69C /* Core */ = { + 260C5FD31CE0263F960F4A9E0F9EBB75 /* Core */ = { isa = PBXGroup; children = ( - C02C838B479DA9D87C0BC24B928E4F77 /* FBSnapshotTestCase.h */, - 00832869E480C76DBB84AD058AD3FAD4 /* FBSnapshotTestCase.m */, - 95CF3B768CC069318D8B60885DD3C51A /* FBSnapshotTestCasePlatform.h */, - 1971ED6C7EABA1D1BA2B761111C6BD1F /* FBSnapshotTestCasePlatform.m */, - C7AC2B5C91F1168A8A52F374A958077D /* FBSnapshotTestController.h */, - 1096B98C859D3A8CE6DD4D5C37498A9B /* FBSnapshotTestController.m */, - C92609FA3F628802C76D980E12A94585 /* UIApplication+StrictKeyWindow.h */, - 04A849C1EFF157DA59BD6EB71A45887B /* UIApplication+StrictKeyWindow.m */, - BC215521BB1EC60C90136D00C8AAA7E7 /* UIImage+Compare.h */, - 9F3939E47B03A04CCEE11831F7FA276A /* UIImage+Compare.m */, - 3329BC5315878028FED0ED21139E578D /* UIImage+Diff.h */, - 3D9ACD42F0FDA5E2CBE9F70295667345 /* UIImage+Diff.m */, - D084B35C6886DCE7C84D454491B35846 /* UIImage+Snapshot.h */, - 928FD352260FA47317B599D7FB011FCC /* UIImage+Snapshot.m */, + ABA9A50C0077C5F4EECC113E46C6D41F /* FBSnapshotTestCase.h */, + A2BA45ED5441C69F43D998995C1E44F7 /* FBSnapshotTestCase.m */, + 6CB95BAD1D18A44B5DEFE339877AFBFB /* FBSnapshotTestCasePlatform.h */, + E4113E832A34587810432A2E8280FBB2 /* FBSnapshotTestCasePlatform.m */, + 1E3A20086756A500F8046735520B8185 /* FBSnapshotTestController.h */, + 83F616ABF875692A1B893061A6DF0677 /* FBSnapshotTestController.m */, + 97389060151A2A0432DC7E32BC98537A /* UIImage+Compare.h */, + 060B9409813D285EFD77CF77B4CDE509 /* UIImage+Compare.m */, + 1946D4C97FF72F772753BEFD53A8A572 /* UIImage+Diff.h */, + 35564388437BF672543E79471CDC287E /* UIImage+Diff.m */, + 25595D5089B0C7FDDE17CB0EB174A58D /* UIImage+Snapshot.h */, + 849C54FB99D27CD7653267C08F392E72 /* UIImage+Snapshot.m */, ); name = Core; sourceTree = ""; }; - 1BFA43C2F2DF3F1ECD20CA84B3673430 /* Nimble-Snapshots */ = { + 26EBB4E7661031EC124E2CDC6C21F6B8 /* Products */ = { isa = PBXGroup; children = ( - 8263684E02E024756DBB59B2F23416A8 /* Core */, - F92DB25826C1C4DC0CC15630004C3310 /* Support Files */, + B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */, + BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */, + 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */, + 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */, + B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */, + 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */, + D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */, ); - path = "Nimble-Snapshots"; + name = Products; sourceTree = ""; }; 2F439AEC6253322440C73BF9FBADE2AE /* iOS */ = { @@ -635,23 +589,34 @@ name = iOS; sourceTree = ""; }; - 30CD47707D4EA1E2F69422552C71ED74 /* Core */ = { + 31A06AEC0EF60D407CCEF7468B0C8EEC /* Support Files */ = { isa = PBXGroup; children = ( - CE8B5A37E4E06570F40F9B430D628CFE /* FBSnapshotTestCase.h */, - 22CD40159D6C997342E35B580EEF96CA /* FBSnapshotTestCase.m */, - 3C2F984A0D1A6663D8358FB74616C0EF /* FBSnapshotTestCasePlatform.h */, - C2DAD5B94EEFEE829E704529A73E31B0 /* FBSnapshotTestCasePlatform.m */, - 13FD88F3D38EBF44F986FF408383047F /* FBSnapshotTestController.h */, - D6E97B6D373A3D03F97FD7A3CE86FA22 /* FBSnapshotTestController.m */, - CB769D9B2B743149BE634D411B836ABA /* UIImage+Compare.h */, - C3FFC9516B323D99D2C7DF20BD5B8985 /* UIImage+Compare.m */, - F4297F167A1464F0E9B512FB9AE8B365 /* UIImage+Diff.h */, - F3344FBD5845A5702EB1D9E31F146C7E /* UIImage+Diff.m */, - 995DAB18CD52B258DCD728CE7A2FCA55 /* UIImage+Snapshot.h */, - DEDD6AAB634A73F9A31003EA05C8E872 /* UIImage+Snapshot.m */, + 44BB1BB142DF99EC623B598EBEF36D8A /* Quick.modulemap */, + A52436417166E0515C5F31EAA391FD32 /* Quick-dummy.m */, + 6C8E38F40C0999C2C7E00138E57B3194 /* Quick-Info.plist */, + 0D787F825BC06DA3877C96AFFAB392F8 /* Quick-prefix.pch */, + 8D9019FC72997AC85F32123652AD4E15 /* Quick-umbrella.h */, + 3021AEA3B3D2FA8FBD2C4F6309412A9F /* Quick.debug.xcconfig */, + 15A84F1025B8E8E5246E0654DAF8C168 /* Quick.release.xcconfig */, ); - name = Core; + name = "Support Files"; + path = "../Target Support Files/Quick"; + sourceTree = ""; + }; + 44274676EE5D52B2685BBA888E17B309 /* Support Files */ = { + isa = PBXGroup; + children = ( + A2A358CF6DFCD46437AC4093EDDE1024 /* Nimble.modulemap */, + 9810CC4E143491676FF281F5C16432EE /* Nimble-dummy.m */, + CDD9842C771EEB1AB20CD035BACB5265 /* Nimble-Info.plist */, + 28E4365D7D3C1AD3275047D89CE8EAC5 /* Nimble-prefix.pch */, + F5DA74F2268147937B6D3259AB769A8A /* Nimble-umbrella.h */, + 45F576FF77A242929D7E9783D6C9AE47 /* Nimble.debug.xcconfig */, + CE3513D7582110817468E6FA307AD5EB /* Nimble.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/Nimble"; sourceTree = ""; }; 4D870060BB9BF30D70777F5218486065 /* StyledText */ = { @@ -671,107 +636,30 @@ path = ../..; sourceTree = ""; }; - 5028E4C16F3CAABA3D9A29A7278B5799 /* Products */ = { - isa = PBXGroup; - children = ( - B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */, - 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase.framework */, - BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */, - 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */, - 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */, - B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */, - 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */, - D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */, - ); - name = Products; - sourceTree = ""; - }; - 53904D611B26BC8CC160D19E7254EC88 /* FBSnapshotTestCase */ = { + 648739F142CF2C09F094C4364482558B /* Core */ = { isa = PBXGroup; children = ( - 17267D03DB12DBA76FFCED436F8FB69C /* Core */, - DB9AC09B7DCD333DAF8AEBDA48448417 /* Support Files */, - ECB89522438DF884F9D243901F37D579 /* SwiftSupport */, + 7300A4BED21A2443F94C8213190B5EFA /* CurrentTestCaseTracker.swift */, + FFF5AFCC82D5982C7BDE5AF6F164BE1A /* DynamicSizeSnapshot.swift */, + E2E9EA6B3818D6D3663BB3FCB400FE7F /* HaveValidDynamicTypeSnapshot.swift */, + 21099B3A812D79405F5DAD9F5A04D01E /* HaveValidSnapshot.swift */, + FFBC4A9F8C968FE82A9F2FCB275B29DD /* NBSMockedApplication.h */, + A06059ADF39C1ADBC9C2A5C4B9EB554D /* NBSMockedApplication.m */, + BB6EC39CBFE50D195B12ABC32E499302 /* Nimble_Snapshots.h */, + AB6F865D573F861854A32CDA44E34BA0 /* PrettyDynamicTypeSyntax.swift */, + 0F95F6A526D3DF705FFAF854981B1452 /* PrettySyntax.swift */, + 3F137A96B9257016E0D9451D24756E63 /* XCTestObservationCenter+CurrentTestCaseTracker.h */, + D27F7E1AE8B439D7FB8B81DCBC9166EC /* XCTestObservationCenter+CurrentTestCaseTracker.m */, ); - path = FBSnapshotTestCase; + name = Core; sourceTree = ""; }; - 6477D6D60AE4B3407B604B96112C4501 /* Nimble */ = { + 64B29B44BCAD69135F1DEA7AD9099C02 /* SwiftSupport */ = { isa = PBXGroup; children = ( - 4785A7BD94236F4EA146D476A2ACDE49 /* AdapterProtocols.swift */, - 27DD284FA901FCAB014FD00EFC244700 /* AllPass.swift */, - CF61252BE76F896DED85A94C63847A18 /* AssertionDispatcher.swift */, - C2C3826454A477CDC393DFD224763243 /* AssertionRecorder.swift */, - 282B93AAD29C720659C46A9512E2FF39 /* Async.swift */, - 10D951E4943C47039EF9F0EC0612C7D6 /* Await.swift */, - 36B199CE95E97FAF14044C5C5429512F /* BeAKindOf.swift */, - F19B22264F3D313DE666984005B288CB /* BeAnInstanceOf.swift */, - E288CD9E15B6CFB53B3C6B8A022C385F /* BeCloseTo.swift */, - A3C93A37228E1C9ECC325A73FC2D1452 /* BeEmpty.swift */, - DE4471BBDE617986FF64CCCC1858BD4E /* BeginWith.swift */, - 4E02C503602DC755FE67F0C4FB9D2A7F /* BeGreaterThan.swift */, - 9D3E5D96225DED077D3EF966D01C9C14 /* BeGreaterThanOrEqualTo.swift */, - 4018085C58D26AF5FD02154991BDE8B7 /* BeIdenticalTo.swift */, - 77AC9827A3F86EF2AF3E5FD99D17BE6F /* BeLessThan.swift */, - B11690633C49BCECBD572913D98D9387 /* BeLessThanOrEqual.swift */, - 5DF262DB0DC90A8FC65E082DDABB28A7 /* BeLogical.swift */, - BE72C6C9AE05756D447D927B8599A9A9 /* BeNil.swift */, - C5C208198589C9A5A8D427AC4D0D3974 /* BeVoid.swift */, - 8ED0881801DF0E361DB94D9F5FB0922A /* Contain.swift */, - 67EBE1E3FE91179FC4FB238EF1D0FD2F /* ContainElementSatisfying.swift */, - 170C4E1A0FB1524E80D7647AED2B21E7 /* CwlBadInstructionException.swift */, - 7E66836C99A6034B5527AFD5E0A407C6 /* CwlCatchBadInstruction.swift */, - D885C25D6129701085FDABB4606047D5 /* CwlCatchException.h */, - 21D4822AF805EE4755B2097B0C2F0935 /* CwlCatchException.m */, - 10476AB6B6D82C5D04171DFB2F043C6E /* CwlCatchException.swift */, - 820D38D8EE6A6451C76FFC43FD73CCC7 /* CwlDarwinDefinitions.swift */, - 3E25220F85BB2A30FE1363A85705CBDD /* CwlMachBadInstructionHandler.h */, - 3B75D24DF2274E73658317C1F4C084C4 /* CwlMachBadInstructionHandler.m */, - 7303B9484DF95EADC676574D3BF05344 /* CwlPreconditionTesting.h */, - 32742AFE076B4A882E97EBEB3ADA8D6F /* DSL.h */, - EE88AACEFE6D10B5B9D95F9DECDFE3C6 /* DSL.m */, - EE2BA2655B28BCD5D3CA0D8A5F49F44E /* DSL.swift */, - BCAEA8B9C02FCAF65860369371BD356B /* DSL+Wait.swift */, - A20E4CFBCDE6C12F0E217FA52C09D342 /* ElementsEqual.swift */, - B36AFF643D999732F2CB2654CA2E4952 /* EndWith.swift */, - DC129BDCD479793877F0EE43BCB93B05 /* Equal.swift */, - 86F31DDBF314B458CC718548636CA71F /* Errors.swift */, - 5A5517971FCF5D6E93A5DC75B4AFBD47 /* Expectation.swift */, - AA7E8F691F413315915F2FAC01EBFB0E /* ExpectationMessage.swift */, - 6DE16502B1A0089F2A8B489A5A1B9B9A /* Expression.swift */, - 61D1ED503171C9E34795C28630C79553 /* FailureMessage.swift */, - DF70696FD648BCFC705B58352C886EDA /* Functional.swift */, - 75A1B22DCD492D4627DC014F7C2766E5 /* HaveCount.swift */, - AA0BAE4448AD0D24984DA6B1792907A9 /* mach_excServer.c */, - B8463D6B4FEE37F049D267A6BB6BB429 /* mach_excServer.h */, - DECB05C01F82D94232FBF570CDAD6647 /* Match.swift */, - DA44B3F730848082AA9F1D9E591D5EB2 /* MatcherFunc.swift */, - 64CD1CB40F72876DE2A4A6419F80A00F /* MatcherProtocols.swift */, - 1C5F8AAEDCC146CA200C4254AAC23C5E /* MatchError.swift */, - E4B2BC5F009FC51A71D0D45F7D87220E /* Nimble.h */, - BA30C4723D1C6AFDAF11A4E6D301E4EA /* NimbleEnvironment.swift */, - 28647D71540442E83491CCA7ABD942A4 /* NimbleXCTestHandler.swift */, - 221F59BFBF9F3B79DCE086640939A88E /* NMBExceptionCapture.h */, - C87789E8424FC4060FB3A449A673D711 /* NMBExceptionCapture.m */, - 248D10BF9B49F97E0B49D6D09B3777FE /* NMBExpectation.swift */, - 75337034950776B7AE14F83FB1DD53E5 /* NMBObjCMatcher.swift */, - 9AD7B08DA5EEDFE5245C3550B707E1A3 /* NMBStringify.h */, - BABDF32E71466F4CB09A66D8FAF8EC7B /* NMBStringify.m */, - 90D71B3DC97F41D5C97B183F006CD500 /* PostNotification.swift */, - EBAD2BDA1FEC753971BD0B05271F168E /* Predicate.swift */, - 27DA3F33D705182CC11A03E86830F6A1 /* RaisesException.swift */, - E1AB3D3E1F075E5808F34442D0AA4303 /* SatisfyAllOf.swift */, - 756C528F11958D81E8CC1113978AC556 /* SatisfyAnyOf.swift */, - 08D39B07B845B5BF2AAE7AA6956A77D1 /* SourceLocation.swift */, - 2736EA742D5B0B34C12161B845B4EBF8 /* Stringers.swift */, - 800C09AB4F1564BCEADB2508345BDEB9 /* ThrowAssertion.swift */, - 23D568D4EF62C9A9ED6CFD847B302079 /* ThrowError.swift */, - 031A28C7532888301C0D7CDFCAB9AD14 /* ToSucceed.swift */, - 1F6EF2C285BF926EBB95897E34E7FFF2 /* XCTestObservationCenter+Register.m */, - 81F668A2500DCE7D3FAA5BCC79A1735C /* Support Files */, + EE8457174445D379830D8F3646D79BA1 /* SwiftSupport.swift */, ); - path = Nimble; + name = SwiftSupport; sourceTree = ""; }; 6843EA588AF3B38D6B98B55132793D88 /* Support Files */ = { @@ -789,52 +677,15 @@ path = "Example/Pods/Target Support Files/StyledText"; sourceTree = ""; }; - 731304FC2CEE96E8C79A01EBC83FD843 /* Support Files */ = { - isa = PBXGroup; - children = ( - F6BC052D44097F7EED5FB14C89852CA5 /* Quick.modulemap */, - 6450A2F713873B3028909262AD2AA428 /* Quick-dummy.m */, - 96E654233A23C1D1699A4ACC94C8452B /* Quick-Info.plist */, - 3D9B78B20EB30156B24F2DD6C4F1A4A1 /* Quick-prefix.pch */, - 97F89ADED4A11991F76BBE0B3BE0342C /* Quick-umbrella.h */, - 27A2A860C6FCF07037FD83ED9A3F3F10 /* Quick.debug.xcconfig */, - 1CE81EAB18DF1F9D8104534D8C659A83 /* Quick.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Quick"; - sourceTree = ""; - }; - 81F668A2500DCE7D3FAA5BCC79A1735C /* Support Files */ = { - isa = PBXGroup; - children = ( - B71F16E6C18131F11E69BE2B9D5635A3 /* Nimble.modulemap */, - 0A213E348D2F1F809E77DCA9D79900BE /* Nimble-dummy.m */, - 369B964522C41E19E9549B887578F369 /* Nimble-Info.plist */, - 478CE23E6DA813E6B943BBC65307D0A8 /* Nimble-prefix.pch */, - 2E34E16E9D1B3311284744BAFED6604E /* Nimble-umbrella.h */, - 2059C148205460F442DCFD88481819AB /* Nimble.debug.xcconfig */, - BE8FE45A5550F2344CEFB92134E72DFD /* Nimble.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Nimble"; - sourceTree = ""; - }; - 8263684E02E024756DBB59B2F23416A8 /* Core */ = { + 7AC65365BA8ADCD886926935747E9C60 /* Pods */ = { isa = PBXGroup; children = ( - 87D177AA928246E37A081EE075265541 /* CurrentTestCaseTracker.swift */, - 832F04544C8E99B5AF42D30F4426E9F2 /* DynamicSizeSnapshot.swift */, - DA96AE05FB7BBE396C35F5D30B5A4E96 /* HaveValidDynamicTypeSnapshot.swift */, - B745139304C7CDA08C674FE68C3B9BC1 /* HaveValidSnapshot.swift */, - 16A3A8D9D7511362E4B610EC1508B466 /* NBSMockedApplication.h */, - 543E8B9014E1EFD35412C772C6F225F2 /* NBSMockedApplication.m */, - 9B5724B71AEE25862063B59E66F4BF61 /* Nimble_Snapshots.h */, - 1BD77283BDFFF01672C8E4ABB11E7309 /* PrettyDynamicTypeSyntax.swift */, - 7A6AEE65279ABD74253538A493F93C15 /* PrettySyntax.swift */, - B746E3CA514C286129DD14E63D92F631 /* XCTestObservationCenter+CurrentTestCaseTracker.h */, - 1D31D44BA8136F4B1BED16A2F02C5502 /* XCTestObservationCenter+CurrentTestCaseTracker.m */, + 151C57E269E91EF0BA300BBB210EEA08 /* iOSSnapshotTestCase */, + F889CD7C324BCBD184CBAD26150ACB5E /* Nimble */, + 1A45DF9CA3BB4307BFD63259EBC30A9A /* Nimble-Snapshots */, + B059106979BE87C564D4483459E50501 /* Quick */, ); - name = Core; + name = Pods; sourceTree = ""; }; 8F20CE1B35AB947A87869E60DCC8AAEB /* Pods-StyledText_Tests */ = { @@ -854,19 +705,19 @@ path = "Target Support Files/Pods-StyledText_Tests"; sourceTree = ""; }; - 92D239BBBE92E59D068D6BE2AF04A44E /* Support Files */ = { + 9A0C94EC4E882ECF2AFF37CD715089BB /* Support Files */ = { isa = PBXGroup; children = ( - 2821555F8556D99C87BB6D70FB3B887F /* iOSSnapshotTestCase.modulemap */, - 2D6998C6EA66CAD972E848F584B200A4 /* iOSSnapshotTestCase-dummy.m */, - B58555BB4BE99A0FF6F7BFACE1580603 /* iOSSnapshotTestCase-Info.plist */, - CEA1C552AF2358323833420270401208 /* iOSSnapshotTestCase-prefix.pch */, - 4F61484E938FC64965DF8C00269C871A /* iOSSnapshotTestCase-umbrella.h */, - 792F7E11A8FCFE14904F29B7AB53B750 /* iOSSnapshotTestCase.debug.xcconfig */, - 4CAE7DB50E0F983D24BB4405E9BDCB42 /* iOSSnapshotTestCase.release.xcconfig */, + 44D16F035CC13D1315E697EC2EF5A158 /* Nimble-Snapshots.modulemap */, + 69C20EEF52DBE6C562A06347CB7CAD0B /* Nimble-Snapshots-dummy.m */, + 4F2E06B0C27FD73B088E2EDB6E6EA177 /* Nimble-Snapshots-Info.plist */, + 265278376D30ED62A1D410D362C4DA15 /* Nimble-Snapshots-prefix.pch */, + 823214BB437475073AD6380CDD9BE2DB /* Nimble-Snapshots-umbrella.h */, + E5DA5D4A4D7C3CD635B7BC24A0012DDD /* Nimble-Snapshots.debug.xcconfig */, + CFEB9A0753416A9A0C7079B83B025B8A /* Nimble-Snapshots.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/iOSSnapshotTestCase"; + path = "../Target Support Files/Nimble-Snapshots"; sourceTree = ""; }; 9B64E10658CCD4E4A6A19813112D14A8 /* Targets Support Files */ = { @@ -878,6 +729,47 @@ name = "Targets Support Files"; sourceTree = ""; }; + B059106979BE87C564D4483459E50501 /* Quick */ = { + isa = PBXGroup; + children = ( + 9BC4B0ED77D2E218907801F4C12890DA /* Behavior.swift */, + A9524C781E2440F3942356936F439D18 /* Callsite.swift */, + 698366958DC6935608D5A2AC1124B24F /* Closures.swift */, + 5D0750DFFA251B58D778E14E60AA38CF /* Configuration.swift */, + B90702A36987A4407C503DAF5EA8BF70 /* DSL.swift */, + 15CE71915C6BE16338CE937C8066A148 /* ErrorUtility.swift */, + B81D5ACA65F2B2871826CC14B0744F52 /* Example.swift */, + 996550147138561F420B418F0C5A633B /* ExampleGroup.swift */, + 621E31A318A51783CF5D776EFBFA25A6 /* ExampleHooks.swift */, + 7B79EC603B4E8EB417F507CDBC4C90E8 /* ExampleMetadata.swift */, + 6AC04239B041B4944B6FBB9C5DC49E97 /* Filter.swift */, + C107EF1AE0303E5F158349466E1553FC /* HooksPhase.swift */, + D86436D8F816DE1A7E01E1547097CE72 /* NSBundle+CurrentTestBundle.swift */, + C5B0AA9191CB3A0D6711FA08729EE0CD /* QCKDSL.h */, + E068EE1DC859745AC9FF716482AE461D /* QCKDSL.m */, + B92890D125C4551D906651D30FD431BE /* Quick.h */, + F3EB8050C124A57011C93309C82F42E9 /* QuickConfiguration.h */, + 03C9D28A513D494A763196171BECC894 /* QuickConfiguration.m */, + C3291F9E8823BE853FDBF39E713BBC8E /* QuickConfiguration.swift */, + ACC4471A2A893B7C123DAC9B52B1C488 /* QuickSelectedTestSuiteBuilder.swift */, + 6B006F01DB3387A08422BAF95887B492 /* QuickSpec.h */, + DC3A0932BB28EEB2EA4B38DE436E8BC5 /* QuickSpec.m */, + E2576AC3CAD25D67A8C5E56CE523F900 /* QuickSpecBase.h */, + BA4254CF1C59658097CD397A1908A07C /* QuickSpecBase.m */, + 873DD83B39F65143143EF2C7EBC2EAD1 /* QuickTestObservation.swift */, + 4C1BEF16996F9ECAEED4AAB6AD383153 /* QuickTestSuite.swift */, + BAB6F2AEF482D688AAD5CBC704A2F250 /* String+C99ExtendedIdentifier.swift */, + A3C1CB16DE6D5A34FC2D39F52E817093 /* SuiteHooks.swift */, + 36C8492F29F48B871868582BA96E335D /* URL+FileName.swift */, + 035E34510146E6A90A078A0293AF484B /* World.swift */, + 570C953BA2A6238E3116EFB0588A46B0 /* World+DSL.swift */, + 5D88D49779B1E347CABA59825D8FF155 /* XCTestSuite+QuickTestSuiteBuilder.m */, + 31A06AEC0EF60D407CCEF7468B0C8EEC /* Support Files */, + ); + name = Quick; + path = Quick; + sourceTree = ""; + }; B1B4096D5753B5293BC3F1EEECFF0B4D /* Pods-StyledText_Example */ = { isa = PBXGroup; children = ( @@ -895,16 +787,19 @@ path = "Target Support Files/Pods-StyledText_Example"; sourceTree = ""; }; - B3F5DDEDECFB0CD3AF9AD5D5F67C7F3F /* Pods */ = { + B7F48E2F8F400463037EC020E9C520D8 /* Support Files */ = { isa = PBXGroup; children = ( - 53904D611B26BC8CC160D19E7254EC88 /* FBSnapshotTestCase */, - ED3090B09AFC52D32C984884D28368AC /* iOSSnapshotTestCase */, - 6477D6D60AE4B3407B604B96112C4501 /* Nimble */, - 1BFA43C2F2DF3F1ECD20CA84B3673430 /* Nimble-Snapshots */, - EBE996A702A293D3F56EA500CF8C5C44 /* Quick */, + C74E490F563150BA55CD0E5083B6FEFF /* iOSSnapshotTestCase.modulemap */, + 48A2A771C0F6CC509080DA21DC76D606 /* iOSSnapshotTestCase-dummy.m */, + 97CDC737044A34867D445AA4C0EF6A6B /* iOSSnapshotTestCase-Info.plist */, + 42DFA1164EFCB4439D339BE020B0BB12 /* iOSSnapshotTestCase-prefix.pch */, + A3FD595A99C854B12B66E0943153110E /* iOSSnapshotTestCase-umbrella.h */, + EC0F7AE49B7DDCB29385C225EF4CF3F1 /* iOSSnapshotTestCase.debug.xcconfig */, + 700FA20DBE1B10DDBA99DC0051B0C309 /* iOSSnapshotTestCase.release.xcconfig */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/iOSSnapshotTestCase"; sourceTree = ""; }; CBCADAC55956C76F0B767C2F56A1B758 /* Frameworks */ = { @@ -923,145 +818,99 @@ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, 04E19A482701EACC7424E195B87340D1 /* Development Pods */, CBCADAC55956C76F0B767C2F56A1B758 /* Frameworks */, - B3F5DDEDECFB0CD3AF9AD5D5F67C7F3F /* Pods */, - 5028E4C16F3CAABA3D9A29A7278B5799 /* Products */, + 7AC65365BA8ADCD886926935747E9C60 /* Pods */, + 26EBB4E7661031EC124E2CDC6C21F6B8 /* Products */, 9B64E10658CCD4E4A6A19813112D14A8 /* Targets Support Files */, ); sourceTree = ""; }; - DB9AC09B7DCD333DAF8AEBDA48448417 /* Support Files */ = { - isa = PBXGroup; - children = ( - 7AA0304BAB90D0ECD03B2624095DAA82 /* FBSnapshotTestCase.modulemap */, - FBC31F2A015FAE02F6D4F3BDB37F8E60 /* FBSnapshotTestCase-dummy.m */, - 0B6694E91C80480B0DAAD6750A215B71 /* FBSnapshotTestCase-Info.plist */, - 04DB51D85249338340A33A37F3B14CC8 /* FBSnapshotTestCase-prefix.pch */, - 1C9646287AD24D360D504CDFC6271E8B /* FBSnapshotTestCase-umbrella.h */, - F4AB17C7335985CC780771623C19DB91 /* FBSnapshotTestCase.debug.xcconfig */, - 4A57290FFAFFB18CAE5A4F43CFB6E5C0 /* FBSnapshotTestCase.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/FBSnapshotTestCase"; - sourceTree = ""; - }; - EBE996A702A293D3F56EA500CF8C5C44 /* Quick */ = { - isa = PBXGroup; - children = ( - 7A8ED7FBDA9BCEC35FA719E1F40930D5 /* Behavior.swift */, - 091CA31B0A95BC5E12112A8BB41F33E2 /* Callsite.swift */, - 97B5EF051EE75E4D591BCBE7F2147F05 /* Closures.swift */, - 0F8842749959EB75CFBC97264CC7A19B /* Configuration.swift */, - ED6B10B8F12295D008DC954385194128 /* DSL.swift */, - 3C2E26DA34CCA2B3EBAF185B8E9F946B /* ErrorUtility.swift */, - D419F5CCB71712721E4487CF8A10AB4C /* Example.swift */, - C84E188967AC53FEF855F875FF253E27 /* ExampleGroup.swift */, - B63892BFC1B4B8F852DD26675FF2FC12 /* ExampleHooks.swift */, - C55AB72618C2B431DE9FCACCD65B943D /* ExampleMetadata.swift */, - FD1B3CE9A052A52487DD60774BA82376 /* Filter.swift */, - 38A029BD33644B2F87CC02FF24CEF2B1 /* HooksPhase.swift */, - 888DCF2F6DEA8CD62AC0BE7143C84F2C /* NSBundle+CurrentTestBundle.swift */, - BFC3F0CE34BEEDA0FB51C6910AEE5811 /* NSString+C99ExtendedIdentifier.swift */, - 73E5B7BFC466E98F654DBB81438DD318 /* QCKDSL.h */, - 30CFF1798F285AD7690DF7773E2F39C9 /* QCKDSL.m */, - B31BB04F98F6BE0D5790A480EE61081A /* Quick.h */, - 4B9F69C34F551D51D1962F7951A9EF81 /* QuickConfiguration.h */, - 532C2F46C22116ABA22E309056D6458E /* QuickConfiguration.m */, - 98211E90E300CA842AC398D4DA33163F /* QuickSelectedTestSuiteBuilder.swift */, - 4588FC13E7F7E57EC53EFF1479C48B43 /* QuickSpec.h */, - 359559EDDA06792B6BA56E4FB7C00981 /* QuickSpec.m */, - FF14760A13B9994B1EABE4DB9840501A /* QuickSpecBase.h */, - 83EE9D2B1AF416BD18C7FAE3CEAD5470 /* QuickSpecBase.m */, - A99E6A47133AED1341A2C1590E22594C /* QuickTestSuite.swift */, - 30C4BCA6D4B80F53F10C5B3620E27A84 /* SuiteHooks.swift */, - E1233245C027B68CE1BCC18EC2424BA7 /* URL+FileName.swift */, - 4D59FF37755330882EF7356E677CE501 /* World.h */, - 709F19FD7DFBE2C32C4441321777FBD1 /* World.swift */, - 3437ACAC69A9BC0B957BC85F00D46F3B /* World+DSL.h */, - EACA3A093ED9BB7A60633402E9D40E28 /* World+DSL.swift */, - 38BFD03F1F5CFDF9828650C4A20055A6 /* XCTestSuite+QuickTestSuiteBuilder.m */, - 731304FC2CEE96E8C79A01EBC83FD843 /* Support Files */, - ); - path = Quick; - sourceTree = ""; - }; - ECB89522438DF884F9D243901F37D579 /* SwiftSupport */ = { - isa = PBXGroup; - children = ( - 62F45A15F27BDACE995D923F9B65B58A /* SwiftSupport.swift */, - ); - name = SwiftSupport; - sourceTree = ""; - }; - ED3090B09AFC52D32C984884D28368AC /* iOSSnapshotTestCase */ = { - isa = PBXGroup; - children = ( - 30CD47707D4EA1E2F69422552C71ED74 /* Core */, - 92D239BBBE92E59D068D6BE2AF04A44E /* Support Files */, - 11DEE666686ED0DD13CC5C2F2D664ECF /* SwiftSupport */, - ); - path = iOSSnapshotTestCase; - sourceTree = ""; - }; - F92DB25826C1C4DC0CC15630004C3310 /* Support Files */ = { + F889CD7C324BCBD184CBAD26150ACB5E /* Nimble */ = { isa = PBXGroup; children = ( - A1AA68CF746FCFF15B6F04BCD0A0B840 /* Nimble-Snapshots.modulemap */, - 0CEF99E69EAD782AEDD946A6BE58C216 /* Nimble-Snapshots-dummy.m */, - 216C66F5B0631FCEF5DD094DA4F8DEDC /* Nimble-Snapshots-Info.plist */, - B1D25846FC4A41B996B4286648181258 /* Nimble-Snapshots-prefix.pch */, - EE2E3B7C318BECD7BAF6AD9896090ED3 /* Nimble-Snapshots-umbrella.h */, - AE6707881662A476B25D243E206AEA15 /* Nimble-Snapshots.debug.xcconfig */, - 110871CC1CABE4158F42B5A9EE6CCB0D /* Nimble-Snapshots.release.xcconfig */, + 0A0887366A1BEA0CD8A3B000E9BA7705 /* AdapterProtocols.swift */, + A7EA429D9E5076692DD64BE30CDCF846 /* AllPass.swift */, + D8DED670B42A9967846EF662DD1E83FF /* AssertionDispatcher.swift */, + C9B090FACE06D97DC389F5AB0ABE1CED /* AssertionRecorder.swift */, + 18A10C96CC94B79C6F65582F913AE54C /* Async.swift */, + FC969A46E97EAB16729C9B770320256E /* Await.swift */, + 3CF39512C0EB7210E2659D61AC850FF9 /* BeAKindOf.swift */, + D74D93E06DE4E33E564E9F372052BCEA /* BeAnInstanceOf.swift */, + A8FF75F8DB454A4726BC2566463E73A5 /* BeCloseTo.swift */, + B2A9AE94C22AC2B53E027EB2E5D1B02F /* BeEmpty.swift */, + B9160ABF8D2A98F0FEEAA578C57F33B5 /* BeginWith.swift */, + 7DA11FEA42B596B36E38E740F2C402CB /* BeGreaterThan.swift */, + F414BF62DF9495F0F479DB4C362D8B16 /* BeGreaterThanOrEqualTo.swift */, + 95B6C779A417D2690400136E99A0221D /* BeIdenticalTo.swift */, + A4C82A6846C66B0A3704057184557B1D /* BeLessThan.swift */, + 2F251AE1707364F5431A0D768B5B6311 /* BeLessThanOrEqual.swift */, + 9FDB7E4028E2585959E6CF0E8D12E3F8 /* BeLogical.swift */, + AD0B6DCEB9A5D25B4FF90E5F8826145D /* BeNil.swift */, + 004C3834767B2B44F423DEFB5AE0C02E /* BeVoid.swift */, + E4DEEE38754361E817A050F6D8AF9637 /* Contain.swift */, + 0751A496A6A05097EB8C07B669886618 /* ContainElementSatisfying.swift */, + 2697698D59A1BD0B6AFE98D1B1081B8D /* CwlBadInstructionException.swift */, + 0A32716BB8DC40EB09F91DDAC300E0BE /* CwlCatchBadInstruction.swift */, + AC2D34E58EC07DA65CE887853E5EC4EC /* CwlCatchException.h */, + 9409C0B3600E2BD1F9B9BEC3D181B8A3 /* CwlCatchException.m */, + E27161DF57DC7FE81ED74BFD4473B311 /* CwlCatchException.swift */, + 22016A00EDECC7ECB820A382AED90EEB /* CwlDarwinDefinitions.swift */, + C7D0B43188FFBB40D6C02C9DD5618681 /* CwlMachBadInstructionHandler.h */, + D85E8C8B45913AB5537B178C9750F126 /* CwlMachBadInstructionHandler.m */, + 6F38B1236C479F83E22B3E05A2673834 /* CwlPreconditionTesting.h */, + 27F0BDDA52DD5F68726D31978E0FB4BF /* DSL.h */, + AFB4F9E9DFA8A094DC84C80495AA1FBD /* DSL.m */, + 040F136FD8222B1A3B2FD28DD750CEF8 /* DSL.swift */, + 55C1DA629049424DC91675887D9F68A7 /* DSL+Wait.swift */, + F1AA4C77433E4419B8E52DD4BE31C5DA /* ElementsEqual.swift */, + 6DEA02BA580AFE76B269F8D10ED807AE /* EndWith.swift */, + 96B61CDAAA97B0861F2E52B76ABE5540 /* Equal.swift */, + 84648FAD4E02F4D8929320E2B7DECAC6 /* Errors.swift */, + B50A472314EC0A3E678A65FC57D8153E /* Expectation.swift */, + 80F1EC01269D1E7D4B5E1C9C77B61D96 /* ExpectationMessage.swift */, + E9E814449EE59FCEFB666D932CCE1A15 /* Expression.swift */, + 9F1012F5D8CD6359B797D4CC8EC02030 /* FailureMessage.swift */, + CEC8CEF961CFDF78AB3495291E54451B /* Functional.swift */, + 83D4073902C0D4FAE9F3C67F83D9F377 /* HaveCount.swift */, + 9EDB30106ECB5FC688529F61427E6BB6 /* mach_excServer.c */, + 9D7A8AAE16A29455D88A96E1CAD77620 /* mach_excServer.h */, + A9C82F3CCF156093E1AE5DB33A783814 /* Match.swift */, + D8C7F742D91EA9171A992AA4625653D7 /* MatcherFunc.swift */, + 50B8761C6DBCF44247E7E2B04C96D9A1 /* MatcherProtocols.swift */, + 037B0A8291396D89D4F77E07627C0F83 /* MatchError.swift */, + FFEDBAF0A120E7BFE35F22CC94F950D4 /* Nimble.h */, + DE66AB9F82502D8BE282BEE7AC1E8875 /* NimbleEnvironment.swift */, + FEF1DF655526BAF961DC5768E7BD299F /* NimbleXCTestHandler.swift */, + 8B4E5AB2AD401A4BE4029EBFC9414BFF /* NMBExceptionCapture.h */, + 8691C6C8A7926D7CFB296501EF10D354 /* NMBExceptionCapture.m */, + 161AC9213271CA5922941E6C0BCB4A08 /* NMBExpectation.swift */, + 02DCC4A06320B61568FCFDB07F80ACE1 /* NMBObjCMatcher.swift */, + F79D928FCE468BDD0F8CBEE4772504B2 /* NMBStringify.h */, + FBF3CEA309332EB156B3E2D0B6324309 /* NMBStringify.m */, + B0399FD3EE0287676D4AD9833E0CE64F /* PostNotification.swift */, + 4C9C510B2F82EADBBFD6DAFA22022585 /* Predicate.swift */, + DACB8F2E57FC1515881908D07D0480B3 /* RaisesException.swift */, + 6528F98FB950E84C26B66EC74F7D71CB /* SatisfyAllOf.swift */, + B568D920744DD63B95FAA242837337DB /* SatisfyAnyOf.swift */, + FC64EFB3EBDEA8C55E73C2EB0A441B22 /* SourceLocation.swift */, + B8B2626771DA97CBA4EA15E42DC05A95 /* Stringers.swift */, + A040413F7F6ABBB7B3AC7488F7EE6EBB /* ThrowAssertion.swift */, + 9C1708326A921C5C6AA5D9AF148144F8 /* ThrowError.swift */, + 09FF27E8AE4DB657873D5D0A66EEF77E /* ToSucceed.swift */, + 85D2330D99C6E45F227FFC0718C22D9D /* XCTestObservationCenter+Register.m */, + 44274676EE5D52B2685BBA888E17B309 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Nimble-Snapshots"; + name = Nimble; + path = Nimble; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 170DD7841EAB87C3BB031883F386BAC8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3D9143D80C7867629C19ADCFD3086CBA /* FBSnapshotTestCase.h in Headers */, - 33F3D6D33A64FCE3417538DF0CC6BF64 /* FBSnapshotTestCasePlatform.h in Headers */, - 14A94253562A978A55E5A7CE62FAC108 /* FBSnapshotTestController.h in Headers */, - 88DAA80CCAE48DDE7693D93D9ECD7E01 /* iOSSnapshotTestCase-umbrella.h in Headers */, - 610D6EC1202EB3B04500DD44B66A9DB1 /* UIImage+Compare.h in Headers */, - EBF72E2425380C4EE843419B62C4ABC4 /* UIImage+Diff.h in Headers */, - 3EA08EB6F673D8876FE9A2CDB31275DC /* UIImage+Snapshot.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 27FBB7259F12AD06B81B7B5879FD7866 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 03C0BA55217336E3053CE514F8E880FD /* Pods-StyledText_Example-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 384DE8A8021C5DA5E256BCFEC3D478A9 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - F720FAF13A108CE6901E0A8B0580E1E8 /* FBSnapshotTestCase-umbrella.h in Headers */, - 00224C929D57F45B70E87359E719948D /* FBSnapshotTestCase.h in Headers */, - C49D52712466511E332C952834C81FE1 /* FBSnapshotTestCasePlatform.h in Headers */, - 90142C6259374E18E640396A59AD379A /* FBSnapshotTestController.h in Headers */, - 40039E0AF0D764360B1D4FC4F7950D2E /* UIApplication+StrictKeyWindow.h in Headers */, - F1AAAE00BB32B733B238E2B4E8424506 /* UIImage+Compare.h in Headers */, - D04AAC8B22E4A4DC4F39891C4E52F251 /* UIImage+Diff.h in Headers */, - B74CD6E6EBEA0B642776BCB37850415D /* UIImage+Snapshot.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3C308AA4A8F94E3CA4FBABB6B0200A12 /* Headers */ = { + 50AE2ED9AA00EA62A9861C1E9A44F03C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E9C86DA18E95A3E7935363BFA47B5F7D /* Pods-StyledText_Tests-umbrella.h in Headers */, + 43229D9C99662499BAA1E3484BD51DB7 /* Pods-StyledText_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1081,18 +930,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 67B7E45EF26DA17E8A8B670023D6107A /* Headers */ = { + 789BF2A9515D75DE2B2453A4B5637A9D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8D16EAB20CD849E7DC1B1EDCEF61067D /* QCKDSL.h in Headers */, - CEB0B57C65304E1E2A8C70B2A3FC7A6B /* Quick-umbrella.h in Headers */, - F93310609CA1D35157D85EFAB3808763 /* Quick.h in Headers */, - 11EDFDE1BC5494E14D6F81320FE3925F /* QuickConfiguration.h in Headers */, - 3D317145F0CA3D74E737AB0B919AB6E9 /* QuickSpec.h in Headers */, - BEDC36DEA21352A0F346A2513EE0540E /* QuickSpecBase.h in Headers */, - 0683FC9DDCAB80660BD11E7159607DB6 /* World+DSL.h in Headers */, - 5A49B2C87AABFAED124DE8DDCC2FEAA1 /* World.h in Headers */, + 1A8DF79F5EF3D69864A84173E7C9810E /* QCKDSL.h in Headers */, + 8E4A2F4A1EF16B63817A516CC2743619 /* Quick-umbrella.h in Headers */, + 10C8810E574F925B5CD3449B6DBE6EC0 /* Quick.h in Headers */, + BFEBC90223F66B0FF770B92B1C670BCF /* QuickConfiguration.h in Headers */, + 7EB28FEC3D0ABA1A2A6CFE57C400F74D /* QuickSpec.h in Headers */, + 76E7C7CDAA543C791A714B991F595F2B /* QuickSpecBase.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1104,14 +951,36 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F27510CA4B1C37BB242ADE4EB8B6BA11 /* Headers */ = { + D50AD1A0FE4B11B36682268FBB85372A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A29619C12C64B536E8E91E1D8F4EA1E0 /* NBSMockedApplication.h in Headers */, + 19BE484FBF9788D950C5F0F58E76168C /* Nimble-Snapshots-umbrella.h in Headers */, + 15A736854C06BE8BD030797A7122D98B /* Nimble_Snapshots.h in Headers */, + 397F8F8200C5201681E45A3A308FB09C /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E5D6982BAEFCD6F0923E26B61B3141DC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 4F1404FF2C99BA11E57980D7EB696D57 /* Pods-StyledText_Example-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F0D509D8679787314D3249B1E4BF8BD8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B4CE2BADD0EA88CC09F3A9B05E2C0A0E /* NBSMockedApplication.h in Headers */, - 0C091B7E293E5115646EE277C809E91A /* Nimble-Snapshots-umbrella.h in Headers */, - 32DF30CA07145B105E1F456EB3459623 /* Nimble_Snapshots.h in Headers */, - 8FC6C180807249B2D0654E9D6EFF736E /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, + 812937E2E121B94525810D18A5EA06B4 /* FBSnapshotTestCase.h in Headers */, + B13D9477F6901EE1619FA527910C9E55 /* FBSnapshotTestCasePlatform.h in Headers */, + C61962778E73144801F86C61C1D6C392 /* FBSnapshotTestController.h in Headers */, + D92BCED3106FC640EC43DA7012092AE1 /* iOSSnapshotTestCase-umbrella.h in Headers */, + 822CDF6CD6A9304707F2280B23F9A7DB /* UIImage+Compare.h in Headers */, + 8DC01045AC421ECC21348F2B1664640D /* UIImage+Diff.h in Headers */, + 82D181F8DB6FBF06C77BAA3BF47ACFBB /* UIImage+Snapshot.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1120,17 +989,17 @@ /* Begin PBXNativeTarget section */ 034C948C972057A8D4790D3F8C019319 /* Pods-StyledText_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = B86750F21414E9D69E2E8C711AE641BD /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */; + buildConfigurationList = DE1BAF750B03C7E76D5BA5EBA77558F8 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */; buildPhases = ( - 27FBB7259F12AD06B81B7B5879FD7866 /* Headers */, - 59BF53FC7E3623BFFCD9E4074FE864CF /* Sources */, - 2B02DE39DA67E24238677D9850083C8A /* Frameworks */, - 0858B751F6455EA6FA4B286C43166D87 /* Resources */, + E5D6982BAEFCD6F0923E26B61B3141DC /* Headers */, + 109401716B1AEC76B29F7EBDD9B8EF12 /* Sources */, + 664CFDBE73205468E132AC481E2EA271 /* Frameworks */, + 3CCA5C866E95E8C913C5BB57D1A1D8A5 /* Resources */, ); buildRules = ( ); dependencies = ( - 7C33CCDA77B38E64706398B8F224C03D /* PBXTargetDependency */, + C69EC0A6B8E73A08DAF531A4D4932B50 /* PBXTargetDependency */, ); name = "Pods-StyledText_Example"; productName = "Pods-StyledText_Example"; @@ -1175,54 +1044,35 @@ }; 7F5027B9DC948837BBD5A5B3811AE6A0 /* Pods-StyledText_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = D9ECF86824902E26E3136A32F0F2676F /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */; + buildConfigurationList = 665B044B60B7800E647B0FCCAEE438F1 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */; buildPhases = ( - 3C308AA4A8F94E3CA4FBABB6B0200A12 /* Headers */, - A7BCD4784F80CD9DD9E0437ECCA881BF /* Sources */, - 0C728B6C9A216E836740DA9B24398D9A /* Frameworks */, - 0CBA6B05393944E484BDDA306EEB422A /* Resources */, + 50AE2ED9AA00EA62A9861C1E9A44F03C /* Headers */, + 61E08BF853B44E9E25C93134A13C140D /* Sources */, + B25B1D32D86BA1FF4D75AB37ED872F05 /* Frameworks */, + 8BE5B7F6CC251AB9B347E5B7F4ED6194 /* Resources */, ); buildRules = ( ); dependencies = ( - E56C81A4F9907283FD8AAF5DDDF99EA5 /* PBXTargetDependency */, - 8716B575B56AA8267449FFF36263734E /* PBXTargetDependency */, - C065E3AD9B96886074FF616211840403 /* PBXTargetDependency */, - 9FA5B4868FEEBC9131DDF9D2AB0DD393 /* PBXTargetDependency */, - 8006B8FB42D99CC97611FCF6870D9E75 /* PBXTargetDependency */, - 0642526D42DA02C4D5A21DD2740628FE /* PBXTargetDependency */, + 8CD2C902FD5C55F6096D0C81889CF886 /* PBXTargetDependency */, + 7EBED53304A9F0AB1E2B81C776056BD2 /* PBXTargetDependency */, + 08D1F4281A68B5400E7146CAEC11CA01 /* PBXTargetDependency */, + 35954BC5E9997D8A50FED2AA3B1759CC /* PBXTargetDependency */, + CBA9E66818D03D33E33C387F876A656B /* PBXTargetDependency */, ); name = "Pods-StyledText_Tests"; productName = "Pods-StyledText_Tests"; productReference = B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */; productType = "com.apple.product-type.framework"; }; - 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */ = { - isa = PBXNativeTarget; - buildConfigurationList = A38070E189561F257BBD5A0A55CACCCF /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */; - buildPhases = ( - 384DE8A8021C5DA5E256BCFEC3D478A9 /* Headers */, - A48201AC594B2E6B09C0EE0396BC1377 /* Sources */, - E581515110D66F94F80A6937831489A1 /* Frameworks */, - 5CC655F1A6C7A45A9693160581076BAE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FBSnapshotTestCase; - productName = FBSnapshotTestCase; - productReference = 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase.framework */; - productType = "com.apple.product-type.framework"; - }; C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */ = { isa = PBXNativeTarget; - buildConfigurationList = 2EDF9A01B577304D410AF6B0BE40149D /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */; + buildConfigurationList = 1BCF2DA7384CC1711611E6FCC46A171F /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */; buildPhases = ( - 170DD7841EAB87C3BB031883F386BAC8 /* Headers */, - C5F02ADBBFEE9A09627F58B784696E3A /* Sources */, - 9DB672DFFA247AC8A9BF7DD49ECD9400 /* Frameworks */, - 20A961A2A340F24A7AD07790DF9ED535 /* Resources */, + F0D509D8679787314D3249B1E4BF8BD8 /* Headers */, + 3B4E1BCF4EFFF09CD91BFA69811DEB16 /* Sources */, + F9562D459AC319258D55691E2B07B305 /* Frameworks */, + D3F86D81C6B10EB5FDB83ED228AEC048 /* Resources */, ); buildRules = ( ); @@ -1235,12 +1085,12 @@ }; C82891EAB7293DBEE916B21F57E8474D /* Quick */ = { isa = PBXNativeTarget; - buildConfigurationList = 7F8539845BD41E830F4E38F3A0390C9D /* Build configuration list for PBXNativeTarget "Quick" */; + buildConfigurationList = 189D56F652B0345CC3E1073543C1B391 /* Build configuration list for PBXNativeTarget "Quick" */; buildPhases = ( - 67B7E45EF26DA17E8A8B670023D6107A /* Headers */, - AFA0452AEF5742A03D9EA8C455BD689B /* Sources */, - 4F7CCDE571CE6AF563671836E654CE1E /* Frameworks */, - 5CD5EF1D5BA26D55B6D8A78B140C2916 /* Resources */, + 789BF2A9515D75DE2B2453A4B5637A9D /* Headers */, + 694205E4C1C5652ABC91AB6B8D119A52 /* Sources */, + 1FB41F3B817F50C08A530AB486E92A06 /* Frameworks */, + 295DA4774C40DBFC844D2E7BA312DE5F /* Resources */, ); buildRules = ( ); @@ -1253,18 +1103,18 @@ }; EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */ = { isa = PBXNativeTarget; - buildConfigurationList = 9F7382318C6967C54C2092C61E54E9BB /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */; + buildConfigurationList = 5A13EE3B769DFB38B4B9A0F82594698A /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */; buildPhases = ( - F27510CA4B1C37BB242ADE4EB8B6BA11 /* Headers */, - 9FBB6FEE080A1AEDCC4BE9E7247CCD02 /* Sources */, - 646AD24EE5B74793A35B98E8D31081AC /* Frameworks */, - 58607A5AC3CE3F1F956A4AE0502A5583 /* Resources */, + D50AD1A0FE4B11B36682268FBB85372A /* Headers */, + C04326C0FFCFF8F04221A58206FDE29D /* Sources */, + 5ABDEF1BE9BF796A65FDE3CF47B5F454 /* Frameworks */, + E105FFEA506B3BA580AD5943A0E5E135 /* Resources */, ); buildRules = ( ); dependencies = ( - F64CB8EB8A14F600EF7CF1966F3F67E7 /* PBXTargetDependency */, - 6DF10B64F53D3649C53CE3D623344A69 /* PBXTargetDependency */, + C2666B15D025FE934F8EB41C6BA5D0DA /* PBXTargetDependency */, + F4C1B59E585C00A9BDFFD0531D0821E1 /* PBXTargetDependency */, ); name = "Nimble-Snapshots"; productName = "Nimble-Snapshots"; @@ -1289,11 +1139,10 @@ Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 5028E4C16F3CAABA3D9A29A7278B5799 /* Products */; + productRefGroup = 26EBB4E7661031EC124E2CDC6C21F6B8 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */, C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */, 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */, EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */, @@ -1306,49 +1155,42 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 0858B751F6455EA6FA4B286C43166D87 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0CBA6B05393944E484BDDA306EEB422A /* Resources */ = { + 295DA4774C40DBFC844D2E7BA312DE5F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 20A961A2A340F24A7AD07790DF9ED535 /* Resources */ = { + 3CCA5C866E95E8C913C5BB57D1A1D8A5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 58607A5AC3CE3F1F956A4AE0502A5583 /* Resources */ = { + 8BE5B7F6CC251AB9B347E5B7F4ED6194 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5CC655F1A6C7A45A9693160581076BAE /* Resources */ = { + D3F86D81C6B10EB5FDB83ED228AEC048 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5CD5EF1D5BA26D55B6D8A78B140C2916 /* Resources */ = { + D7EBE1F47ACC336A60ED6056AF3261E1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D7EBE1F47ACC336A60ED6056AF3261E1 /* Resources */ = { + E105FFEA506B3BA580AD5943A0E5E135 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1365,99 +1207,85 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 59BF53FC7E3623BFFCD9E4074FE864CF /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 705758F52A2D1F3ECE59D027D63B1F91 /* Pods-StyledText_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9FBB6FEE080A1AEDCC4BE9E7247CCD02 /* Sources */ = { + 109401716B1AEC76B29F7EBDD9B8EF12 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A804E6F5F86B3E26663C8A8EFCC0019A /* CurrentTestCaseTracker.swift in Sources */, - 8A8DC42AC071D3F57CC4D206A090C5B6 /* DynamicSizeSnapshot.swift in Sources */, - F6BADA37B8D3F92052CE2BA71E702FAB /* HaveValidDynamicTypeSnapshot.swift in Sources */, - B32EB305A484CF6A32F05B2E5BC13502 /* HaveValidSnapshot.swift in Sources */, - 74A2E7C83AA510B19CBCFDEDF0993DFF /* NBSMockedApplication.m in Sources */, - 1517C401FBD8160B225D9A781C37CB5A /* Nimble-Snapshots-dummy.m in Sources */, - C3BA37BF33BCB5D88108213FEE83D462 /* PrettyDynamicTypeSyntax.swift in Sources */, - BB55A0D6AC131302602D602979ADE914 /* PrettySyntax.swift in Sources */, - 098BFC14C537EA9FAF9C07ADBBC45B52 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, + 4D0099C93EDDE5969949B92DB8B1CA89 /* Pods-StyledText_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A48201AC594B2E6B09C0EE0396BC1377 /* Sources */ = { + 3B4E1BCF4EFFF09CD91BFA69811DEB16 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6DBC8EB7532E931C2FBDA71D1E0B66A4 /* FBSnapshotTestCase-dummy.m in Sources */, - 8CE3BF0ACE07EA42DD5DAC871BF4B767 /* FBSnapshotTestCase.m in Sources */, - E8AC509D18EBF21B1FEA909652A01108 /* FBSnapshotTestCasePlatform.m in Sources */, - 88396E68DC05A379282F3B374F75F43C /* FBSnapshotTestController.m in Sources */, - 9D65089019D558E5A9661F2DCAD20313 /* SwiftSupport.swift in Sources */, - 11C410135C7E89353B480AC8DE0BFB77 /* UIApplication+StrictKeyWindow.m in Sources */, - 2DCFF0CE0BD295F1D46D3247F36B192C /* UIImage+Compare.m in Sources */, - 14AD81D52FAD9CF2C065C61FB00C3B4F /* UIImage+Diff.m in Sources */, - A525E29E0A8079B35B793D8A2B5FBDF2 /* UIImage+Snapshot.m in Sources */, + B887FBBD900E5050F0822B0498F1223E /* FBSnapshotTestCase.m in Sources */, + B5168D73EAD4724F10EC5DC802293A38 /* FBSnapshotTestCasePlatform.m in Sources */, + BF2D9B7DD43CCF7EA1C083FD65A3F85F /* FBSnapshotTestController.m in Sources */, + 2EC794115349425A8865FE5DAD061D1D /* iOSSnapshotTestCase-dummy.m in Sources */, + 5051F444A210706E6F97FD5E5D966388 /* SwiftSupport.swift in Sources */, + 433FA195424D6A2878EC9A7C5EC6C9EB /* UIImage+Compare.m in Sources */, + A1BD451BD9DF7C65965CC17E2AE6B0B6 /* UIImage+Diff.m in Sources */, + 2F9C2BB07DA61523AD7C9DCE47DC7498 /* UIImage+Snapshot.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7BCD4784F80CD9DD9E0437ECCA881BF /* Sources */ = { + 61E08BF853B44E9E25C93134A13C140D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A33E1BD9292B392CF497D5804DF323B2 /* Pods-StyledText_Tests-dummy.m in Sources */, + CFC4A8771A408B9801B3E77C6AAEF104 /* Pods-StyledText_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AFA0452AEF5742A03D9EA8C455BD689B /* Sources */ = { + 694205E4C1C5652ABC91AB6B8D119A52 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D2BE111AE3950E47C5603F7EE3456107 /* Behavior.swift in Sources */, - 7A5B1CC9274B3E4E10EE1561F3AFD58E /* Callsite.swift in Sources */, - F2879D2ED08204999EAB760DE2A2E200 /* Closures.swift in Sources */, - 663333C5E1449EB8487518A5FEAEF8AD /* Configuration.swift in Sources */, - 2ADD7D3E0B94EF044CF3FFD2F8EA2C67 /* DSL.swift in Sources */, - A787308C5CA0BCA2B3A706F44CD5F7B4 /* ErrorUtility.swift in Sources */, - 67365D8C7D4AB95553BB274368DBCF1E /* Example.swift in Sources */, - BD8AB3699C483B11671A85C72CE92B50 /* ExampleGroup.swift in Sources */, - 7A66539DD738BE28A057CA37AAF8F829 /* ExampleHooks.swift in Sources */, - FAB210037DEE6DDF3679C07D48D9E8DD /* ExampleMetadata.swift in Sources */, - B17CEF5ECE9BA91DC07E7208AECB567F /* Filter.swift in Sources */, - 1291696393FFEA6F94FF1E0B79923B43 /* HooksPhase.swift in Sources */, - 48F15AE2F06B8500AD60C39BB45280A3 /* NSBundle+CurrentTestBundle.swift in Sources */, - 4E5EE3187B48F60A0FBA4EB9ACB7FD76 /* NSString+C99ExtendedIdentifier.swift in Sources */, - E2A3FF8FBAC2E21C91E8C5EE009E0FCD /* QCKDSL.m in Sources */, - EFC160CE0D8BD88499BACB45706186B4 /* Quick-dummy.m in Sources */, - 2EA6B2E10F38275D4CEB37B7ADDAE0E0 /* QuickConfiguration.m in Sources */, - 8C3F5E7FF0571B63D4DAA2825C9705D1 /* QuickSelectedTestSuiteBuilder.swift in Sources */, - B5491A88571862A1B914E6BE3CFCA5BD /* QuickSpec.m in Sources */, - 9DB13659CA8F9BF54942DEDAE9F5E858 /* QuickSpecBase.m in Sources */, - 3722B93E1E8BF31C11CDF45AA815A767 /* QuickTestSuite.swift in Sources */, - 65C7F5A043925A30B66024D146D70C0E /* SuiteHooks.swift in Sources */, - DC5219DBE9A6FFCC45A5A78F09E63A22 /* URL+FileName.swift in Sources */, - 2A94FACEA07096DDE05ACF58491DD963 /* World+DSL.swift in Sources */, - F0EC1E8DF64700838C1BC79AFEC93A1C /* World.swift in Sources */, - 2A95AD48CE160CCC59957E4F91EEC9B9 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, + 58A884856B7E64EE3C204D9EDAA14045 /* Behavior.swift in Sources */, + 7CE6049975894E447F2D4071C74F6F8F /* Callsite.swift in Sources */, + 14ECE81218F5F5C9BEF00819A7C078EC /* Closures.swift in Sources */, + B48508EB39EE315F5A00429EEA69DD63 /* Configuration.swift in Sources */, + 018228C4760DF4F8B80630BC9ACCB39E /* DSL.swift in Sources */, + BE56C54CD29F23A1C631645390E8569D /* ErrorUtility.swift in Sources */, + D2C041844A0EB4EB2E8C7B9DAA748EEB /* Example.swift in Sources */, + 9231B70907F130F31CF5717C502B780C /* ExampleGroup.swift in Sources */, + 7536DD99ACEDE673713161E597B7B447 /* ExampleHooks.swift in Sources */, + 59BF9ABA8BB14E0E4E345D13AB6D49FB /* ExampleMetadata.swift in Sources */, + AF60C00928A7AFE04E374B620EEA5F49 /* Filter.swift in Sources */, + 209F98BB7B328893FB64BA0393B4BD57 /* HooksPhase.swift in Sources */, + 887AF8C809D60140319DE71D6427F370 /* NSBundle+CurrentTestBundle.swift in Sources */, + 4ADE5FC9505A3BF7DF17AF9756585116 /* QCKDSL.m in Sources */, + 512AAF465EE936155DD9BBA92368928E /* Quick-dummy.m in Sources */, + 9FB5F3B3AAF3103848313FACD0CACBCD /* QuickConfiguration.m in Sources */, + 3D6A581E79FD9EAC1A948D8BC53F1EB0 /* QuickConfiguration.swift in Sources */, + 4E1DBC9FF76D6AD924D1356260438074 /* QuickSelectedTestSuiteBuilder.swift in Sources */, + 2F0B5199CDB717CA9F680579900ABF15 /* QuickSpec.m in Sources */, + 22B5B4ED0824E7BAF2091AAD6238A73F /* QuickSpecBase.m in Sources */, + 39382B0A1EF090D15BA6C89FC3DCB099 /* QuickTestObservation.swift in Sources */, + A7F5B07BF96955EFDC9106335235EDB2 /* QuickTestSuite.swift in Sources */, + A35159AD5A7A49BA9093F29B63DBD30D /* String+C99ExtendedIdentifier.swift in Sources */, + 94B18F2CFF543F6B2E43E84630C337E2 /* SuiteHooks.swift in Sources */, + A6CE2E672C8EB4DF57485428AFD64A3C /* URL+FileName.swift in Sources */, + C9E716023868A97D2F5B19934D93045E /* World+DSL.swift in Sources */, + F01995755687FA91F51A15ED8FD9D125 /* World.swift in Sources */, + 9E874C00792FA983399C03EC00AE326D /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C5F02ADBBFEE9A09627F58B784696E3A /* Sources */ = { + C04326C0FFCFF8F04221A58206FDE29D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B33F9EBFFC464D032BFBF2297BC48872 /* FBSnapshotTestCase.m in Sources */, - 1E9765321C09CD3A53C3962859EB4008 /* FBSnapshotTestCasePlatform.m in Sources */, - 618B2BE4222F19852598D9A76F888685 /* FBSnapshotTestController.m in Sources */, - 9349D71F027919C3199C586D061DBF1F /* iOSSnapshotTestCase-dummy.m in Sources */, - 84A3D2DAA3A41331772597AE8A5B5DD9 /* SwiftSupport.swift in Sources */, - 0353CDD8BF6BD68D5822B5306BBACCAF /* UIImage+Compare.m in Sources */, - FA22FC2D79147F6C3A6EA988DF868741 /* UIImage+Diff.m in Sources */, - DF70F08D90E88A079516ECC9C7EB972E /* UIImage+Snapshot.m in Sources */, + A9DC72AE28D2D7C2C2D6B9924E03D2BF /* CurrentTestCaseTracker.swift in Sources */, + 071B91450BAB053E659829D1A0E1C192 /* DynamicSizeSnapshot.swift in Sources */, + C6CA334FFB74ECF769F8647E33D67E56 /* HaveValidDynamicTypeSnapshot.swift in Sources */, + B1D6C9BB4B351163B7356350C14E0BD6 /* HaveValidSnapshot.swift in Sources */, + 62A94E823FD0713A5AFBCE481451B78D /* NBSMockedApplication.m in Sources */, + 0B7F3B8D408B030721FDB8C595D61AE2 /* Nimble-Snapshots-dummy.m in Sources */, + AC3457501DE121722F5C831081472B3C /* PrettyDynamicTypeSyntax.swift in Sources */, + F5FDCCBF377562DCAFA4AE711307C281 /* PrettySyntax.swift in Sources */, + 63008DABB9B5693D4A1B3FFDD8F9A7D8 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1549,90 +1377,81 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0642526D42DA02C4D5A21DD2740628FE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = iOSSnapshotTestCase; - target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; - targetProxy = 8CCA0AE2DA74CF6725E0628440C59A10 /* PBXContainerItemProxy */; - }; - 6DF10B64F53D3649C53CE3D623344A69 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = iOSSnapshotTestCase; - target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; - targetProxy = F96FEF39888CFFD5E608C83ED48A84A8 /* PBXContainerItemProxy */; - }; - 7C33CCDA77B38E64706398B8F224C03D /* PBXTargetDependency */ = { + 08D1F4281A68B5400E7146CAEC11CA01 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = StyledText; - target = 46C93AA424DF07F96D109412C94B5106 /* StyledText */; - targetProxy = FF3240993B885D532B59216E5981C16F /* PBXContainerItemProxy */; + name = "Pods-StyledText_Example"; + target = 034C948C972057A8D4790D3F8C019319 /* Pods-StyledText_Example */; + targetProxy = 8848BC76ADACFE84CC6114F45DEDB063 /* PBXContainerItemProxy */; }; - 8006B8FB42D99CC97611FCF6870D9E75 /* PBXTargetDependency */ = { + 35954BC5E9997D8A50FED2AA3B1759CC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Quick; target = C82891EAB7293DBEE916B21F57E8474D /* Quick */; - targetProxy = 98F8DF67052050573C49B84C23C40CC3 /* PBXContainerItemProxy */; + targetProxy = 63798BD7772D339231286E5BDC0102E2 /* PBXContainerItemProxy */; + }; + 7EBED53304A9F0AB1E2B81C776056BD2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Nimble-Snapshots"; + target = EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */; + targetProxy = 4D6661145E1BD8D9896AA20D68A630CF /* PBXContainerItemProxy */; }; - 8716B575B56AA8267449FFF36263734E /* PBXTargetDependency */ = { + 8CD2C902FD5C55F6096D0C81889CF886 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Nimble; target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = DB9C8D60B4B98A3639B343794963EBF4 /* PBXContainerItemProxy */; + targetProxy = 9E443FE0E4321DE86707BBAC44BBCAFA /* PBXContainerItemProxy */; }; - 9FA5B4868FEEBC9131DDF9D2AB0DD393 /* PBXTargetDependency */ = { + C2666B15D025FE934F8EB41C6BA5D0DA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-StyledText_Example"; - target = 034C948C972057A8D4790D3F8C019319 /* Pods-StyledText_Example */; - targetProxy = 8BF7CDF381A9A09379538836C17062D5 /* PBXContainerItemProxy */; + name = Nimble; + target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; + targetProxy = 6D531970C5A5558D172961E0C0A35B4D /* PBXContainerItemProxy */; }; - C065E3AD9B96886074FF616211840403 /* PBXTargetDependency */ = { + C69EC0A6B8E73A08DAF531A4D4932B50 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Nimble-Snapshots"; - target = EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */; - targetProxy = 773733D4D6BF2D1F0C4B848749EC8A31 /* PBXContainerItemProxy */; + name = StyledText; + target = 46C93AA424DF07F96D109412C94B5106 /* StyledText */; + targetProxy = 1FB3950EF8EC1F8CDDB7BBA69F8FCDA7 /* PBXContainerItemProxy */; }; - E56C81A4F9907283FD8AAF5DDDF99EA5 /* PBXTargetDependency */ = { + CBA9E66818D03D33E33C387F876A656B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FBSnapshotTestCase; - target = 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */; - targetProxy = 2B15B64CBD0343BD296C362C27C35ACD /* PBXContainerItemProxy */; + name = iOSSnapshotTestCase; + target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; + targetProxy = 44D070512699E8CBAF92DF247800D8E3 /* PBXContainerItemProxy */; }; - F64CB8EB8A14F600EF7CF1966F3F67E7 /* PBXTargetDependency */ = { + F4C1B59E585C00A9BDFFD0531D0821E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Nimble; - target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = 366FEC074276E9FB710B5CB8522BAD1C /* PBXContainerItemProxy */; + name = iOSSnapshotTestCase; + target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; + targetProxy = A6FAE84199743AD4B181E9EC947093D1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0B44C383A3628168BC9027346C7FF4D6 /* Release */ = { + 019FDA69066080537AF78BDF015D62DA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4CAE7DB50E0F983D24BB4405E9BDCB42 /* iOSSnapshotTestCase.release.xcconfig */; + baseConfigurationReference = 15A84F1025B8E8E5246E0654DAF8C168 /* Quick.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1640,39 +1459,35 @@ }; name = Release; }; - 0D4ECECF37F1CCFAD2C6F6F8189B9659 /* Release */ = { + 0A60C21B129FE3303C83F348225D0B9D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 110871CC1CABE4158F42B5A9EE6CCB0D /* Nimble-Snapshots.release.xcconfig */; + baseConfigurationReference = 3021AEA3B3D2FA8FBD2C4F6309412A9F /* Quick.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; - PRODUCT_MODULE_NAME = Nimble_Snapshots; - PRODUCT_NAME = Nimble_Snapshots; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 196DFA3E4A09A28224918543529A1885 /* Debug */ = { isa = XCBuildConfiguration; @@ -1738,35 +1553,30 @@ }; name = Debug; }; - 1A8810825F584C0A3703CE82D40B5264 /* Release */ = { + 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A41113005A7A99534DA8A1F85466E482 /* Pods-StyledText_Example.release.xcconfig */; + baseConfigurationReference = CE3513D7582110817468E6FA307AD5EB /* Nimble.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1774,27 +1584,28 @@ }; name = Release; }; - 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */ = { + 3CC1C12AA890CB2F342EB5CB6C919F05 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BE8FE45A5550F2344CEFB92134E72DFD /* Nimble.release.xcconfig */; + baseConfigurationReference = 7CC69EC1D2BD51F32762FA107C6A0CB1 /* StyledText.release.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_MODULE_NAME = Nimble; - PRODUCT_NAME = Nimble; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; + PRODUCT_MODULE_NAME = StyledText; + PRODUCT_NAME = StyledText; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1806,9 +1617,9 @@ }; name = Release; }; - 2DCD9826389D6FB6D1C6D3603227EC32 /* Debug */ = { + 5DA2695BA86F3BC8F3B02A4964AB256F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86A9A97943F737E541AAC9CE584F6050 /* Pods-StyledText_Example.debug.xcconfig */; + baseConfigurationReference = 12E2B2576B24210DF8972ABE955577D5 /* Pods-StyledText_Tests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1821,31 +1632,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 35705664E4146AE58E4F317F028DD992 /* Debug */ = { + 6BCBD70E5B7A39756A1A89E518FED28C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BFFA29E507D8E614157A3F9FA313A4BB /* Pods-StyledText_Tests.debug.xcconfig */; + baseConfigurationReference = 277915C22BBFC6CBF054A5E161230B60 /* StyledText.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1856,30 +1666,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; + PRODUCT_MODULE_NAME = StyledText; + PRODUCT_NAME = StyledText; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 441C7939108738A0C7CD37CBADE0B85E /* Debug */ = { + 6F18ACED0AF2BCCB6804CA35726879AA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F4AB17C7335985CC780771623C19DB91 /* FBSnapshotTestCase.debug.xcconfig */; + baseConfigurationReference = EC0F7AE49B7DDCB29385C225EF4CF3F1 /* iOSSnapshotTestCase.debug.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1889,29 +1698,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; + MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; PRODUCT_MODULE_NAME = FBSnapshotTestCase; PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 4428282FC8793A2BECAC7B0E63F4FFE3 /* Release */ = { + 954439DCD92511CDECA2C2A8E586D908 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7CC69EC1D2BD51F32762FA107C6A0CB1 /* StyledText.release.xcconfig */; + baseConfigurationReference = BFFA29E507D8E614157A3F9FA313A4BB /* Pods-StyledText_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1922,19 +1731,51 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; - PRODUCT_MODULE_NAME = StyledText; - PRODUCT_NAME = StyledText; - PROVISIONING_PROFILE_SPECIFIER = ""; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 9550622C5AD62D1E33FCD89D62684B7A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CFEB9A0753416A9A0C7079B83B025B8A /* Nimble-Snapshots.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; + PRODUCT_MODULE_NAME = Nimble_Snapshots; + PRODUCT_NAME = Nimble_Snapshots; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1942,10 +1783,12 @@ }; name = Release; }; - 4C9ACC68574BAAEBA626D2082AC16667 /* Debug */ = { + A2DE9ED559134DA09AAE32A964BB81DB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27A2A860C6FCF07037FD83ED9A3F3F10 /* Quick.debug.xcconfig */; + baseConfigurationReference = 86A9A97943F737E541AAC9CE584F6050 /* Pods-StyledText_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1955,28 +1798,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; - PROVISIONING_PROFILE_SPECIFIER = ""; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8025B8394750A8D7B14482F37D0DEA0A /* Debug */ = { + A3C5373B2B38AC9AFD882E8502E3371D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE6707881662A476B25D243E206AEA15 /* Nimble-Snapshots.debug.xcconfig */; + baseConfigurationReference = 700FA20DBE1B10DDBA99DC0051B0C309 /* iOSSnapshotTestCase.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1988,24 +1831,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; - PRODUCT_MODULE_NAME = Nimble_Snapshots; - PRODUCT_NAME = Nimble_Snapshots; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; + PRODUCT_MODULE_NAME = FBSnapshotTestCase; + PRODUCT_NAME = FBSnapshotTestCase; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { isa = XCBuildConfiguration; @@ -2060,7 +1903,8 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; @@ -2068,7 +1912,7 @@ }; BC2F9ACF6532E38BFD9609FF5AB4771F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2059C148205460F442DCFD88481819AB /* Nimble.debug.xcconfig */; + baseConfigurationReference = 45F576FF77A242929D7E9783D6C9AE47 /* Nimble.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2081,12 +1925,11 @@ GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; PRODUCT_MODULE_NAME = Nimble; PRODUCT_NAME = Nimble; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2097,42 +1940,9 @@ }; name = Debug; }; - BE874B114A0991701B09229EAAA4CA84 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A57290FFAFFB18CAE5A4F43CFB6E5C0 /* FBSnapshotTestCase.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - C7DF814A333A568ABDD0114199DF935C /* Debug */ = { + C77EF2046F752D54E023E097DC00382A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 792F7E11A8FCFE14904F29B7AB53B750 /* iOSSnapshotTestCase.debug.xcconfig */; + baseConfigurationReference = E5DA5D4A4D7C3CD635B7BC24A0012DDD /* Nimble-Snapshots.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -2144,61 +1954,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; + PRODUCT_MODULE_NAME = Nimble_Snapshots; + PRODUCT_NAME = Nimble_Snapshots; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - D786D4838DDE7FF84FD603B90BD016C2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1CE81EAB18DF1F9D8104534D8C659A83 /* Quick.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - DE1DE0269860D2A8D7ABA9EF184337C5 /* Release */ = { + EA3B1AE4FA781738498E44C940019856 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 12E2B2576B24210DF8972ABE955577D5 /* Pods-StyledText_Tests.release.xcconfig */; + baseConfigurationReference = A41113005A7A99534DA8A1F85466E482 /* Pods-StyledText_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -2211,18 +1987,17 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -2232,119 +2007,77 @@ }; name = Release; }; - EC1B645ADD41D4B4DDB56172B8B32A56 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 277915C22BBFC6CBF054A5E161230B60 /* StyledText.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; - PRODUCT_MODULE_NAME = StyledText; - PRODUCT_NAME = StyledText; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2BB7770D191ED30607871761A2FAC27D /* Build configuration list for PBXNativeTarget "StyledText" */ = { + 189D56F652B0345CC3E1073543C1B391 /* Build configuration list for PBXNativeTarget "Quick" */ = { isa = XCConfigurationList; buildConfigurations = ( - EC1B645ADD41D4B4DDB56172B8B32A56 /* Debug */, - 4428282FC8793A2BECAC7B0E63F4FFE3 /* Release */, + 0A60C21B129FE3303C83F348225D0B9D /* Debug */, + 019FDA69066080537AF78BDF015D62DA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2EDF9A01B577304D410AF6B0BE40149D /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = { + 1BCF2DA7384CC1711611E6FCC46A171F /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = { isa = XCConfigurationList; buildConfigurations = ( - C7DF814A333A568ABDD0114199DF935C /* Debug */, - 0B44C383A3628168BC9027346C7FF4D6 /* Release */, + 6F18ACED0AF2BCCB6804CA35726879AA /* Debug */, + A3C5373B2B38AC9AFD882E8502E3371D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7F8539845BD41E830F4E38F3A0390C9D /* Build configuration list for PBXNativeTarget "Quick" */ = { + 2BB7770D191ED30607871761A2FAC27D /* Build configuration list for PBXNativeTarget "StyledText" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4C9ACC68574BAAEBA626D2082AC16667 /* Debug */, - D786D4838DDE7FF84FD603B90BD016C2 /* Release */, + 6BCBD70E5B7A39756A1A89E518FED28C /* Debug */, + 3CC1C12AA890CB2F342EB5CB6C919F05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9AC65E53333ACA93EEB1D8EBAB58CBB6 /* Build configuration list for PBXNativeTarget "Nimble" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - BC2F9ACF6532E38BFD9609FF5AB4771F /* Debug */, - 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */, + 196DFA3E4A09A28224918543529A1885 /* Debug */, + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9F7382318C6967C54C2092C61E54E9BB /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */ = { + 5A13EE3B769DFB38B4B9A0F82594698A /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8025B8394750A8D7B14482F37D0DEA0A /* Debug */, - 0D4ECECF37F1CCFAD2C6F6F8189B9659 /* Release */, + C77EF2046F752D54E023E097DC00382A /* Debug */, + 9550622C5AD62D1E33FCD89D62684B7A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A38070E189561F257BBD5A0A55CACCCF /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */ = { + 665B044B60B7800E647B0FCCAEE438F1 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 441C7939108738A0C7CD37CBADE0B85E /* Debug */, - BE874B114A0991701B09229EAAA4CA84 /* Release */, + 954439DCD92511CDECA2C2A8E586D908 /* Debug */, + 5DA2695BA86F3BC8F3B02A4964AB256F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B86750F21414E9D69E2E8C711AE641BD /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */ = { + 9AC65E53333ACA93EEB1D8EBAB58CBB6 /* Build configuration list for PBXNativeTarget "Nimble" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2DCD9826389D6FB6D1C6D3603227EC32 /* Debug */, - 1A8810825F584C0A3703CE82D40B5264 /* Release */, + BC2F9ACF6532E38BFD9609FF5AB4771F /* Debug */, + 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D9ECF86824902E26E3136A32F0F2676F /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */ = { + DE1BAF750B03C7E76D5BA5EBA77558F8 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 35705664E4146AE58E4F317F028DD992 /* Debug */, - DE1DE0269860D2A8D7ABA9EF184337C5 /* Release */, + A2DE9ED559134DA09AAE32A964BB81DB /* Debug */, + EA3B1AE4FA781738498E44C940019856 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Quick/README.md b/Example/Pods/Quick/README.md index e6dc0ad..fc257da 100644 --- a/Example/Pods/Quick/README.md +++ b/Example/Pods/Quick/README.md @@ -3,6 +3,7 @@ [![Build Status](https://travis-ci.org/Quick/Quick.svg?branch=master)](https://travis-ci.org/Quick/Quick) [![CocoaPods](https://img.shields.io/cocoapods/v/Quick.svg)](https://cocoapods.org/pods/Quick) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) [![Platforms](https://img.shields.io/cocoapods/p/Quick.svg)](https://cocoapods.org/pods/Quick) Quick is a behavior-driven development framework for Swift and Objective-C. @@ -44,7 +45,9 @@ Certain versions of Quick and Nimble only support certain versions of Swift. Dep |Swift version |Quick version |Nimble version | |:--------------------|:---------------|:--------------| -|Swift 3 |v1.0.0 or later |v5.0.0 or later| +|Swift 5.2 |v3.0.0 or later |v9.0.0 or later| +|Swift 4.2 / Swift 5 |v1.3.2 or later |v7.3.2 or later| +|Swift 3 / Swift 4 |v1.0.0 or later |v5.0.0 or later| |Swift 2.2 / Swift 2.3|v0.9.3 |v4.1.0 | ## Documentation diff --git a/Example/Pods/Quick/Sources/Quick/Behavior.swift b/Example/Pods/Quick/Sources/Quick/Behavior.swift index 1d98702..7a25a36 100644 --- a/Example/Pods/Quick/Sources/Quick/Behavior.swift +++ b/Example/Pods/Quick/Sources/Quick/Behavior.swift @@ -1,12 +1,14 @@ -/** - A `Behavior` encapsulates a set of examples that can be re-used in several locations using the `itBehavesLike` function with a context instance of the generic type. - */ - +/// A `Behavior` encapsulates a set of examples that can be re-used in several locations using the `itBehavesLike` +/// function with a context instance of the generic type. open class Behavior { - open static var name: String { return String(describing: self) } /** - override this method in your behavior to define a set of reusable examples. + Override this variable if you want to provide custom name for this example group. + */ + open class var name: String { return String(describing: self) } + + /** + Override this method in your behavior to define a set of reusable examples. This behaves just like an example group defines using `describe` or `context`--it may contain any number of `beforeEach` and `afterEach` closures, as well as any number of examples (defined using `it`). diff --git a/Example/Pods/Quick/Sources/Quick/Callsite.swift b/Example/Pods/Quick/Sources/Quick/Callsite.swift index f5e3711..33e732c 100644 --- a/Example/Pods/Quick/Sources/Quick/Callsite.swift +++ b/Example/Pods/Quick/Sources/Quick/Callsite.swift @@ -1,16 +1,23 @@ import Foundation -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _CallsiteBase: NSObject {} - #else - public class _CallsiteBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _CallsiteBase: NSObject {} #else public class _CallsiteBase: NSObject {} +// swiftlint:enable type_name +#endif + +// Ideally we would always use `StaticString` as the type for tracking the file name +// in which an example is defined, for consistency with `assert` etc. from the +// stdlib, and because recent versions of the XCTest overlay require `StaticString` +// when calling `XCTFail`. Under the Objective-C runtime (i.e. building on macOS), we +// have to use `String` instead because StaticString can't be generated from Objective-C +#if SWIFT_PACKAGE +public typealias FileString = StaticString +#else +public typealias FileString = String #endif /** @@ -21,14 +28,14 @@ final public class Callsite: _CallsiteBase { /** The absolute path of the file in which an example is defined. */ - public let file: String + public let file: FileString /** The line number on which an example is defined. */ public let line: UInt - internal init(file: String, line: UInt) { + internal init(file: FileString, line: UInt) { self.file = file self.line = line } @@ -40,6 +47,6 @@ extension Callsite { If two callsites are in the same file and on the same line, they must be equal. */ @nonobjc public static func == (lhs: Callsite, rhs: Callsite) -> Bool { - return lhs.file == rhs.file && lhs.line == rhs.line + return String(describing: lhs.file) == String(describing: rhs.file) && lhs.line == rhs.line } } diff --git a/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift b/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift index dbb95f1..71b263b 100644 --- a/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift +++ b/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift @@ -19,20 +19,24 @@ public typealias ExampleFilter = (_ example: Example) -> Bool final public class Configuration: NSObject { internal let exampleHooks = ExampleHooks() internal let suiteHooks = SuiteHooks() - internal var exclusionFilters: [ExampleFilter] = [ { example in - if let pending = example.filterFlags[Filter.pending] { - return pending - } else { - return false - } - }] - internal var inclusionFilters: [ExampleFilter] = [ { example in - if let focused = example.filterFlags[Filter.focused] { - return focused - } else { - return false - } - }] + internal var exclusionFilters: [ExampleFilter] = [ + { example in // swiftlint:disable:this opening_brace + if let pending = example.filterFlags[Filter.pending] { + return pending + } else { + return false + } + }, + ] + internal var inclusionFilters: [ExampleFilter] = [ + { example in // swiftlint:disable:this opening_brace + if let focused = example.filterFlags[Filter.focused] { + return focused + } else { + return false + } + }, + ] /** Run all examples if none match the configured filters. True by default. @@ -72,7 +76,7 @@ final public class Configuration: NSObject { provided with metadata on the example that the closure is being run prior to. */ -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) @objc(beforeEachWithMetadata:) public func beforeEach(_ closure: @escaping BeforeExampleWithMetadataClosure) { exampleHooks.appendBefore(closure) @@ -88,13 +92,13 @@ final public class Configuration: NSObject { given closure before each example that is run. The closure passed to this method is executed before each example Quick runs, globally across the test suite. You may call this method multiple - times across mulitple +[QuickConfigure configure:] methods in order + times across multiple +[QuickConfigure configure:] methods in order to define several closures to run before each example. Note that, since Quick makes no guarantee as to the order in which +[QuickConfiguration configure:] methods are evaluated, there is no guarantee as to the order in which beforeEach closures are evaluated - either. Mulitple beforeEach defined on a single configuration, however, + either. Multiple beforeEach defined on a single configuration, however, will be executed in the order they're defined. - parameter closure: The closure to be executed before each example @@ -109,7 +113,7 @@ final public class Configuration: NSObject { is provided with metadata on the example that the closure is being run after. */ -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) @objc(afterEachWithMetadata:) public func afterEach(_ closure: @escaping AfterExampleWithMetadataClosure) { exampleHooks.appendAfter(closure) @@ -125,13 +129,13 @@ final public class Configuration: NSObject { given closure after each example that is run. The closure passed to this method is executed after each example Quick runs, globally across the test suite. You may call this method multiple - times across mulitple +[QuickConfigure configure:] methods in order + times across multiple +[QuickConfigure configure:] methods in order to define several closures to run after each example. Note that, since Quick makes no guarantee as to the order in which +[QuickConfiguration configure:] methods are evaluated, there is no guarantee as to the order in which afterEach closures are evaluated - either. Mulitple afterEach defined on a single configuration, however, + either. Multiple afterEach defined on a single configuration, however, will be executed in the order they're defined. - parameter closure: The closure to be executed before each example diff --git a/Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift b/Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift new file mode 100644 index 0000000..d807bfe --- /dev/null +++ b/Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift @@ -0,0 +1,78 @@ +import Foundation +import XCTest + +#if SWIFT_PACKAGE + +open class QuickConfiguration: NSObject { + open class func configure(_ configuration: Configuration) {} +} + +#endif + +extension QuickConfiguration { + #if !canImport(Darwin) + private static var configurationSubclasses: [QuickConfiguration.Type] = [] + #endif + + /// Finds all direct subclasses of QuickConfiguration and passes them to the block provided. + /// The classes are iterated over in the order that objc_getClassList returns them. + /// + /// - parameter block: A block that takes a QuickConfiguration.Type. + /// This block will be executed once for each subclass of QuickConfiguration. + private static func enumerateSubclasses(_ block: (QuickConfiguration.Type) -> Void) { + #if canImport(Darwin) + let classesCount = objc_getClassList(nil, 0) + + guard classesCount > 0 else { + return + } + + let classes = UnsafeMutablePointer.allocate(capacity: Int(classesCount)) + defer { free(classes) } + + objc_getClassList(AutoreleasingUnsafeMutablePointer(classes), classesCount) + + var configurationSubclasses: [QuickConfiguration.Type] = [] + for index in 0.. Void) { +public func it(_ description: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, closure: @escaping () throws -> Void) { World.sharedWorld.it(description, flags: flags, file: file, line: line, closure: closure) } @@ -143,7 +145,7 @@ public func it(_ description: String, flags: FilterFlags = [:], file: String = # - parameter file: The absolute path to the file containing the current example group. A sensible default is provided. - parameter line: The line containing the current example group. A sensible default is provided. */ -public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line) { +public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line) { itBehavesLike(name, flags: flags, file: file, line: line, sharedExampleContext: { return [:] }) } @@ -163,7 +165,7 @@ public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String - parameter file: The absolute path to the file containing the current example group. A sensible default is provided. - parameter line: The line containing the current example group. A sensible default is provided. */ -public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { +public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { World.sharedWorld.itBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: flags, file: file, line: line) } @@ -179,7 +181,7 @@ public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String - parameter file: The absolute path to the file containing the current example group. A sensible default is provided. - parameter line: The line containing the current example group. A sensible default is provided. */ -public func itBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, context: @escaping () -> C) { +public func itBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, context: @escaping () -> C) { World.sharedWorld.itBehavesLike(behavior, context: context, flags: flags, file: file, line: line) } @@ -198,7 +200,7 @@ public func pending(_ description: String, closure: () -> Void) { Use this to quickly mark a `describe` closure as pending. This disables all examples within the closure. */ -public func xdescribe(_ description: String, flags: FilterFlags, closure: () -> Void) { +public func xdescribe(_ description: String, flags: FilterFlags = [:], closure: () -> Void) { World.sharedWorld.xdescribe(description, flags: flags, closure: closure) } @@ -206,7 +208,7 @@ public func xdescribe(_ description: String, flags: FilterFlags, closure: () -> Use this to quickly mark a `context` closure as pending. This disables all examples within the closure. */ -public func xcontext(_ description: String, flags: FilterFlags, closure: () -> Void) { +public func xcontext(_ description: String, flags: FilterFlags = [:], closure: () -> Void) { xdescribe(description, flags: flags, closure: closure) } @@ -214,7 +216,7 @@ public func xcontext(_ description: String, flags: FilterFlags, closure: () -> V Use this to quickly mark an `it` closure as pending. This disables the example and ensures the code within the closure is never run. */ -public func xit(_ description: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, closure: @escaping () -> Void) { +public func xit(_ description: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, closure: @escaping () throws -> Void) { World.sharedWorld.xit(description, flags: flags, file: file, line: line, closure: closure) } @@ -222,7 +224,7 @@ public func xit(_ description: String, flags: FilterFlags = [:], file: String = Use this to quicklu mark an `itBehavesLike` closure as pending. This disables the example group defined by this behavior and ensures the code within is never run. */ -public func xitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, context: @escaping () -> C) { +public func xitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, context: @escaping () -> C) { World.sharedWorld.xitBehavesLike(behavior, context: context, flags: flags, file: file, line: line) } /** @@ -245,27 +247,29 @@ public func fcontext(_ description: String, flags: FilterFlags = [:], closure: ( Use this to quickly focus an `it` closure, focusing the example. If any examples in the test suite are focused, only those examples are executed. */ -public func fit(_ description: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, closure: @escaping () -> Void) { +public func fit(_ description: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, closure: @escaping () throws -> Void) { World.sharedWorld.fit(description, flags: flags, file: file, line: line, closure: closure) } /** Use this to quickly focus an `itBehavesLike` closure. */ -public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line) { +public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line) { fitBehavesLike(name, flags: flags, file: file, line: line, sharedExampleContext: { return [:] }) } /** Use this to quickly focus an `itBehavesLike` closure. */ -public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { +public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { World.sharedWorld.fitBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: flags, file: file, line: line) } /** Use this to quickly focus on `itBehavesLike` closure. */ -public func fitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, context: @escaping () -> C) { +public func fitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, context: @escaping () -> C) { World.sharedWorld.fitBehavesLike(behavior, context: context, flags: flags, file: file, line: line) } + +// swiftlint:enable line_length diff --git a/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift b/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift index 5249027..7b4edf3 100644 --- a/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift +++ b/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift @@ -20,9 +20,10 @@ extension World { internal func describe(_ description: String, flags: FilterFlags, closure: () -> Void) { guard currentExampleMetadata == nil else { - raiseError("'describe' cannot be used inside '\(currentPhase)', 'describe' may only be used inside 'context' or 'describe'. ") + raiseError("'describe' cannot be used inside '\(currentPhase)', 'describe' may only be used inside 'context' or 'describe'.") } guard currentExampleGroup != nil else { + // swiftlint:disable:next line_length raiseError("Error: example group was not created by its parent QuickSpec spec. Check that describe() or context() was used in QuickSpec.spec() and not a more general context (i.e. an XCTestCase test)") } let group = ExampleGroup(description: description, flags: flags) @@ -32,7 +33,7 @@ extension World { internal func context(_ description: String, flags: FilterFlags, closure: () -> Void) { guard currentExampleMetadata == nil else { - raiseError("'context' cannot be used inside '\(currentPhase)', 'context' may only be used inside 'context' or 'describe'. ") + raiseError("'context' cannot be used inside '\(currentPhase)', 'context' may only be used inside 'context' or 'describe'.") } self.describe(description, flags: flags, closure: closure) } @@ -51,12 +52,12 @@ extension World { internal func beforeEach(_ closure: @escaping BeforeExampleClosure) { guard currentExampleMetadata == nil else { - raiseError("'beforeEach' cannot be used inside '\(currentPhase)', 'beforeEach' may only be used inside 'context' or 'describe'. ") + raiseError("'beforeEach' cannot be used inside '\(currentPhase)', 'beforeEach' may only be used inside 'context' or 'describe'.") } currentExampleGroup.hooks.appendBefore(closure) } -#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE +#if canImport(Darwin) @objc(beforeEachWithMetadata:) internal func beforeEach(closure: @escaping BeforeExampleWithMetadataClosure) { currentExampleGroup.hooks.appendBefore(closure) @@ -69,12 +70,12 @@ extension World { internal func afterEach(_ closure: @escaping AfterExampleClosure) { guard currentExampleMetadata == nil else { - raiseError("'afterEach' cannot be used inside '\(currentPhase)', 'afterEach' may only be used inside 'context' or 'describe'. ") + raiseError("'afterEach' cannot be used inside '\(currentPhase)', 'afterEach' may only be used inside 'context' or 'describe'.") } currentExampleGroup.hooks.appendAfter(closure) } -#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE +#if canImport(Darwin) @objc(afterEachWithMetadata:) internal func afterEach(closure: @escaping AfterExampleWithMetadataClosure) { currentExampleGroup.hooks.appendAfter(closure) @@ -85,36 +86,40 @@ extension World { } #endif - internal func it(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + @nonobjc + internal func it(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () throws -> Void) { if beforesCurrentlyExecuting { - raiseError("'it' cannot be used inside 'beforeEach', 'it' may only be used inside 'context' or 'describe'. ") + raiseError("'it' cannot be used inside 'beforeEach', 'it' may only be used inside 'context' or 'describe'.") } if aftersCurrentlyExecuting { - raiseError("'it' cannot be used inside 'afterEach', 'it' may only be used inside 'context' or 'describe'. ") + raiseError("'it' cannot be used inside 'afterEach', 'it' may only be used inside 'context' or 'describe'.") } guard currentExampleMetadata == nil else { - raiseError("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'. ") + raiseError("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'.") } let callsite = Callsite(file: file, line: line) let example = Example(description: description, callsite: callsite, flags: flags, closure: closure) currentExampleGroup.appendExample(example) } - internal func fit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + @nonobjc + internal func fit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () throws -> Void) { var focusedFlags = flags focusedFlags[Filter.focused] = true self.it(description, flags: focusedFlags, file: file, line: line, closure: closure) } - internal func xit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + @nonobjc + internal func xit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () throws -> Void) { var pendingFlags = flags pendingFlags[Filter.pending] = true self.it(description, flags: pendingFlags, file: file, line: line, closure: closure) } - internal func itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: String, line: UInt) { + @nonobjc + internal func itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: FileString, line: UInt) { guard currentExampleMetadata == nil else { - raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'. ") + raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'.") } let callsite = Callsite(file: file, line: line) let closure = World.sharedWorld.sharedExample(name) @@ -131,15 +136,16 @@ extension World { } } - internal func fitBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: String, line: UInt) { + @nonobjc + internal func fitBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: FileString, line: UInt) { var focusedFlags = flags focusedFlags[Filter.focused] = true self.itBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: focusedFlags, file: file, line: line) } - internal func itBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: String, line: UInt) { + internal func itBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: FileString, line: UInt) { guard currentExampleMetadata == nil else { - raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'. ") + raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'.") } let callsite = Callsite(file: file, line: line) let closure = behavior.spec @@ -155,36 +161,36 @@ extension World { } } - internal func fitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: String, line: UInt) { + internal func fitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: FileString, line: UInt) { var focusedFlags = flags focusedFlags[Filter.focused] = true self.itBehavesLike(behavior, context: context, flags: focusedFlags, file: file, line: line) } - internal func xitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: String, line: UInt) { + internal func xitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: FileString, line: UInt) { var pendingFlags = flags pendingFlags[Filter.pending] = true self.itBehavesLike(behavior, context: context, flags: pendingFlags, file: file, line: line) } -#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE +#if canImport(Darwin) && !SWIFT_PACKAGE @objc(itWithDescription:flags:file:line:closure:) - private func objc_it(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + internal func objc_it(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () -> Void) { it(description, flags: flags, file: file, line: line, closure: closure) } @objc(fitWithDescription:flags:file:line:closure:) - private func objc_fit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + internal func objc_fit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () -> Void) { fit(description, flags: flags, file: file, line: line, closure: closure) } @objc(xitWithDescription:flags:file:line:closure:) - private func objc_xit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + internal func objc_xit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () -> Void) { xit(description, flags: flags, file: file, line: line, closure: closure) } @objc(itBehavesLikeSharedExampleNamed:sharedExampleContext:flags:file:line:) - private func objc_itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: String, line: UInt) { + internal func objc_itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: FileString, line: UInt) { itBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: flags, file: file, line: line) } #endif diff --git a/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift b/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift index 155fefd..f13f43a 100644 --- a/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift +++ b/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift @@ -1,7 +1,7 @@ import Foundation internal func raiseError(_ message: String) -> Never { -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) NSException(name: .internalInconsistencyException, reason: message, userInfo: nil).raise() #endif diff --git a/Example/Pods/Quick/Sources/Quick/Example.swift b/Example/Pods/Quick/Sources/Quick/Example.swift index c15b31a..7cef7c5 100644 --- a/Example/Pods/Quick/Sources/Quick/Example.swift +++ b/Example/Pods/Quick/Sources/Quick/Example.swift @@ -1,19 +1,12 @@ import Foundation -private var numberOfExamplesRun = 0 -private var numberOfIncludedExamples = 0 - -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _ExampleBase: NSObject {} - #else - public class _ExampleBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _ExampleBase: NSObject {} #else public class _ExampleBase: NSObject {} +// swiftlint:enable type_name #endif /** @@ -37,10 +30,10 @@ final public class Example: _ExampleBase { weak internal var group: ExampleGroup? private let internalDescription: String - private let closure: () -> Void + private let closure: () throws -> Void private let flags: FilterFlags - internal init(description: String, callsite: Callsite, flags: FilterFlags, closure: @escaping () -> Void) { + internal init(description: String, callsite: Callsite, flags: FilterFlags, closure: @escaping () throws -> Void) { self.internalDescription = description self.closure = closure self.callsite = callsite @@ -71,16 +64,15 @@ final public class Example: _ExampleBase { public func run() { let world = World.sharedWorld - if numberOfIncludedExamples == 0 { - numberOfIncludedExamples = world.includedExampleCount - } - - if numberOfExamplesRun == 0 { + if world.numberOfExamplesRun == 0 { world.suiteHooks.executeBefores() } - let exampleMetadata = ExampleMetadata(example: self, exampleIndex: numberOfExamplesRun) + let exampleMetadata = ExampleMetadata(example: self, exampleIndex: world.numberOfExamplesRun) world.currentExampleMetadata = exampleMetadata + defer { + world.currentExampleMetadata = nil + } world.exampleHooks.executeBefores(exampleMetadata) group!.phase = .beforesExecuting @@ -89,7 +81,22 @@ final public class Example: _ExampleBase { } group!.phase = .beforesFinished - closure() + do { + try closure() + } catch { + let description = "Test \(name) threw unexpected error: \(error.localizedDescription)" + #if SWIFT_PACKAGE + let file = callsite.file.description + #else + let file = callsite.file + #endif + QuickSpec.current.recordFailure( + withDescription: description, + inFile: file, + atLine: Int(callsite.line), + expected: false + ) + } group!.phase = .aftersExecuting for after in group!.afters { @@ -98,9 +105,9 @@ final public class Example: _ExampleBase { group!.phase = .aftersFinished world.exampleHooks.executeAfters(exampleMetadata) - numberOfExamplesRun += 1 + world.numberOfExamplesRun += 1 - if !world.isRunningAdditionalSuites && numberOfExamplesRun >= numberOfIncludedExamples { + if !world.isRunningAdditionalSuites && world.numberOfExamplesRun >= world.cachedIncludedExampleCount { world.suiteHooks.executeAfters() } } diff --git a/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift b/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift index 129bed0..5fbfadb 100644 --- a/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift +++ b/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift @@ -31,9 +31,16 @@ final public class ExampleGroup: NSObject { Returns a list of examples that belong to this example group, or to any of its descendant example groups. */ + #if canImport(Darwin) + @objc public var examples: [Example] { return childExamples + childGroups.flatMap { $0.examples } } + #else + public var examples: [Example] { + return childExamples + childGroups.flatMap { $0.examples } + } + #endif internal var name: String? { guard let parent = parent else { diff --git a/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift b/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift index 3dd28ab..a8f0d77 100644 --- a/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift +++ b/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift @@ -1,16 +1,12 @@ import Foundation -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _ExampleMetadataBase: NSObject {} - #else - public class _ExampleMetadataBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _ExampleMetadataBase: NSObject {} #else public class _ExampleMetadataBase: NSObject {} +// swiftlint:enable type_name #endif /** diff --git a/Example/Pods/Quick/Sources/Quick/Filter.swift b/Example/Pods/Quick/Sources/Quick/Filter.swift index da137f8..d7fbe8d 100644 --- a/Example/Pods/Quick/Sources/Quick/Filter.swift +++ b/Example/Pods/Quick/Sources/Quick/Filter.swift @@ -1,16 +1,12 @@ import Foundation -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _FilterBase: NSObject {} - #else - public class _FilterBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _FilterBase: NSObject {} #else public class _FilterBase: NSObject {} +// swiftlint:enable type_name #endif /** diff --git a/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift b/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift index d7a1442..f5596cc 100644 --- a/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift +++ b/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift @@ -1,4 +1,4 @@ -#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) +#if canImport(Darwin) import Foundation @@ -17,7 +17,7 @@ extension Bundle { Module name has to be a valid "C99 extended identifier". */ internal var moduleName: String { - let fileName = bundleURL.fileName as NSString + let fileName = bundleURL.fileName return fileName.c99ExtendedIdentifier } } diff --git a/Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift b/Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift deleted file mode 100644 index ef73762..0000000 --- a/Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift +++ /dev/null @@ -1,33 +0,0 @@ -#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) -import Foundation - -public extension NSString { - - private static var invalidCharacters: CharacterSet = { - var invalidCharacters = CharacterSet() - - let invalidCharacterSets: [CharacterSet] = [ - .whitespacesAndNewlines, - .illegalCharacters, - .controlCharacters, - .punctuationCharacters, - .nonBaseCharacters, - .symbols - ] - - for invalidSet in invalidCharacterSets { - invalidCharacters.formUnion(invalidSet) - } - - return invalidCharacters - }() - - @objc(qck_c99ExtendedIdentifier) - var c99ExtendedIdentifier: String { - let validComponents = components(separatedBy: NSString.invalidCharacters) - let result = validComponents.joined(separator: "_") - - return result.isEmpty ? "_" : result - } -} -#endif diff --git a/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift b/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift index 415b680..865c3ae 100644 --- a/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift +++ b/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift @@ -1,4 +1,4 @@ -#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) +#if canImport(Darwin) import Foundation /** diff --git a/Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift b/Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift new file mode 100644 index 0000000..e508566 --- /dev/null +++ b/Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift @@ -0,0 +1,69 @@ +#if !SWIFT_PACKAGE + +import Foundation +import XCTest + +/// A dummy protocol for calling the internal `+[QuickSpec buildExamplesIfNeeded]` method +/// which is defined in Objective-C from Swift. +@objc internal protocol _QuickSpecInternal { + static func buildExamplesIfNeeded() +} + +@objc internal final class QuickTestObservation: NSObject, XCTestObservation { + @objc(sharedInstance) + static let shared = QuickTestObservation() + + // Quick hooks into this event to compile example groups for each QuickSpec subclasses. + // + // If an exception occurs when compiling examples, report it to the user. Chances are they + // included an expectation outside of a "it", "describe", or "context" block. + func testBundleWillStart(_ testBundle: Bundle) { + QuickSpec.enumerateSubclasses { specClass in + // This relies on `_QuickSpecInternal`. + (specClass as AnyClass).buildExamplesIfNeeded() + } + } +} + +// swiftlint:disable:next todo +// TODO: Unify this with QuickConfiguration's equivalent +extension QuickSpec { + internal static func enumerateSubclasses( + subclasses: [QuickSpec.Type]? = nil, + _ block: (QuickSpec.Type) -> Void + ) { + let subjects: [QuickSpec.Type] + if let subclasses = subclasses { + subjects = subclasses + } else { + let classesCount = objc_getClassList(nil, 0) + + guard classesCount > 0 else { + return + } + + let classes = UnsafeMutablePointer.allocate(capacity: Int(classesCount)) + defer { free(classes) } + + objc_getClassList(AutoreleasingUnsafeMutablePointer(classes), classesCount) + + var specSubclasses: [QuickSpec.Type] = [] + for index in 0.. String { + return string.c99ExtendedIdentifier + } +} +#endif diff --git a/Example/Pods/Quick/Sources/Quick/World.swift b/Example/Pods/Quick/Sources/Quick/World.swift index 127239a..5b11436 100644 --- a/Example/Pods/Quick/Sources/Quick/World.swift +++ b/Example/Pods/Quick/Sources/Quick/World.swift @@ -12,17 +12,13 @@ public typealias SharedExampleContext = () -> [String: Any] */ public typealias SharedExampleClosure = (@escaping SharedExampleContext) -> Void -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - internal class _WorldBase: NSObject {} - #else - internal class _WorldBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +internal class _WorldBase: NSObject {} #else internal class _WorldBase: NSObject {} +// swiftlint:enable type_name #endif /** @@ -52,12 +48,14 @@ final internal class World: _WorldBase { internal var currentExampleMetadata: ExampleMetadata? + internal var numberOfExamplesRun = 0 + /** A flag that indicates whether additional test suites are being run within this test suite. This is only true within the context of Quick functional tests. */ -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) // Convention of generating Objective-C selector has been changed on Swift 3 @objc(isRunningAdditionalSuites) internal var isRunningAdditionalSuites = false @@ -78,7 +76,16 @@ final internal class World: _WorldBase { private override init() {} - static let sharedWorld = World() + static private(set) var sharedWorld = World() + + static func anotherWorld(block: (World) -> T) -> T { + let previous = sharedWorld + defer { sharedWorld = previous } + + let newWorld = World() + sharedWorld = newWorld + return block(newWorld) + } // MARK: Public Interface @@ -91,8 +98,11 @@ final internal class World: _WorldBase { be mutated to change Quick's behavior. */ internal func configure(_ closure: QuickConfigurer) { - assert(!isConfigurationFinalized, - "Quick cannot be configured outside of a +[QuickConfiguration configure:] method. You should not call -[World configure:] directly. Instead, subclass QuickConfiguration and override the +[QuickConfiguration configure:] method.") + assert( + !isConfigurationFinalized, + // swiftlint:disable:next line_length + "Quick cannot be configured outside of a +[QuickConfiguration configure:] method. You should not call -[World configure:] directly. Instead, subclass QuickConfiguration and override the +[QuickConfiguration configure:] method." + ) closure(configuration) } @@ -104,6 +114,17 @@ final internal class World: _WorldBase { isConfigurationFinalized = true } + /** + Returns `true` if the root example group for the given spec class has been already initialized. + + - parameter specClass: The QuickSpec class for which is checked for the existing root example group. + - returns: Whether the root example group for the given spec class has been already initialized or not. + */ + internal func isRootExampleGroupInitialized(forSpecClass specClass: QuickSpec.Type) -> Bool { + let name = String(describing: specClass) + return specs.keys.contains(name) + } + /** Returns an internally constructed root example group for the given QuickSpec class. @@ -119,11 +140,11 @@ final internal class World: _WorldBase { it("is at the top level") {} } - - parameter cls: The QuickSpec class for which to retrieve the root example group. + - parameter specClass: The QuickSpec class for which to retrieve the root example group. - returns: The root example group for the class. */ - internal func rootExampleGroupForSpecClass(_ cls: AnyClass) -> ExampleGroup { - let name = String(describing: cls) + internal func rootExampleGroup(forSpecClass specClass: QuickSpec.Type) -> ExampleGroup { + let name = String(describing: specClass) if let group = specs[name] { return group @@ -147,24 +168,17 @@ final internal class World: _WorldBase { - parameter specClass: The QuickSpec subclass for which examples are to be returned. - returns: A list of examples to be run as test invocations. */ - internal func examples(_ specClass: AnyClass) -> [Example] { + internal func examples(forSpecClass specClass: QuickSpec.Type) -> [Example] { // 1. Grab all included examples. let included = includedExamples // 2. Grab the intersection of (a) examples for this spec, and (b) included examples. - let spec = rootExampleGroupForSpecClass(specClass).examples.filter { included.contains($0) } + let spec = rootExampleGroup(forSpecClass: specClass).examples.filter { included.contains($0) } // 3. Remove all excluded examples. return spec.filter { example in - !self.configuration.exclusionFilters.reduce(false) { $0 || $1(example) } + !self.configuration.exclusionFilters.contains { $0(example) } } } -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) - @objc(examplesForSpecClass:) - private func objc_examples(_ specClass: AnyClass) -> [Example] { - return examples(specClass) - } -#endif - // MARK: Internal internal func registerSharedExample(_ name: String, closure: @escaping SharedExampleClosure) { @@ -181,6 +195,8 @@ final internal class World: _WorldBase { return includedExamples.count } + internal lazy var cachedIncludedExampleCount: Int = self.includedExampleCount + internal var beforesCurrentlyExecuting: Bool { let suiteBeforesExecuting = suiteHooks.phase == .beforesExecuting let exampleBeforesExecuting = exampleHooks.phase == .beforesExecuting @@ -223,7 +239,7 @@ final internal class World: _WorldBase { private var includedExamples: [Example] { let all = allExamples let included = all.filter { example in - return self.configuration.inclusionFilters.reduce(false) { $0 || $1(example) } + return self.configuration.inclusionFilters.contains { $0(example) } } if included.isEmpty && configuration.runAllWhenEverythingFiltered { diff --git a/Example/Pods/Quick/Sources/QuickSpecBase/QuickSpecBase.m b/Example/Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m similarity index 60% rename from Example/Pods/Quick/Sources/QuickSpecBase/QuickSpecBase.m rename to Example/Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m index 10b6f7e..e452e65 100644 --- a/Example/Pods/Quick/Sources/QuickSpecBase/QuickSpecBase.m +++ b/Example/Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m @@ -1,22 +1,5 @@ #import "QuickSpecBase.h" -#pragma mark - _QuickSelectorWrapper - -@interface _QuickSelectorWrapper () -@property(nonatomic, assign) SEL selector; -@end - -@implementation _QuickSelectorWrapper - -- (instancetype)initWithSelector:(SEL)selector { - self = [super init]; - _selector = selector; - return self; -} - -@end - - #pragma mark - _QuickSpecBase @implementation _QuickSpecBase @@ -33,11 +16,11 @@ - (instancetype)init { @return An array of invocations that execute the newly defined example methods. */ + (NSArray *)testInvocations { - NSArray<_QuickSelectorWrapper *> *wrappers = [self _qck_testMethodSelectors]; - NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:wrappers.count]; + NSArray *selectors = [self _qck_testMethodSelectors]; + NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:selectors.count]; - for (_QuickSelectorWrapper *wrapper in wrappers) { - SEL selector = wrapper.selector; + for (NSString *selectorString in selectors) { + SEL selector = NSSelectorFromString(selectorString); NSMethodSignature *signature = [self instanceMethodSignatureForSelector:selector]; NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; invocation.selector = selector; @@ -48,7 +31,7 @@ - (instancetype)init { return invocations; } -+ (NSArray<_QuickSelectorWrapper *> *)_qck_testMethodSelectors { ++ (NSArray *)_qck_testMethodSelectors { return @[]; } diff --git a/Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h b/Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h new file mode 100644 index 0000000..2ee00e7 --- /dev/null +++ b/Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h @@ -0,0 +1,7 @@ +#import +#import + +@interface _QuickSpecBase : XCTestCase ++ (NSArray *)_qck_testMethodSelectors; +- (instancetype)init NS_DESIGNATED_INITIALIZER; +@end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m b/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m index 937b818..a51a8bd 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m @@ -1,36 +1,11 @@ #import "QuickConfiguration.h" -#import "World.h" #import -typedef void (^QCKClassEnumerationBlock)(Class klass); - -/** - Finds all direct subclasses of the given class and passes them to the block provided. - The classes are iterated over in the order that objc_getClassList returns them. - - @param klass The base class to find subclasses of. - @param block A block that takes a Class. This block will be executed once for each subclass of klass. - */ -void qck_enumerateSubclasses(Class klass, QCKClassEnumerationBlock block) { - Class *classes = NULL; - int classesCount = objc_getClassList(NULL, 0); - - if (classesCount > 0) { - classes = (Class *)calloc(sizeof(Class), classesCount); - classesCount = objc_getClassList(classes, classesCount); - - Class subclass, superclass; - for(int i = 0; i < classesCount; i++) { - subclass = classes[i]; - superclass = class_getSuperclass(subclass); - if (superclass == klass && block) { - block(subclass); - } - } - - free(classes); - } -} +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else +#import +#endif @implementation QuickConfiguration @@ -60,19 +35,8 @@ - (instancetype)init { + (void)initialize { // Only enumerate over the subclasses of QuickConfiguration, not any of its subclasses. if ([self class] == [QuickConfiguration class]) { - - // Only enumerate over subclasses once, even if +[QuickConfiguration initialize] - // were to be called several times. This is necessary because +[QuickSpec initialize] - // manually calls +[QuickConfiguration initialize]. - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - qck_enumerateSubclasses([QuickConfiguration class], ^(__unsafe_unretained Class klass) { - [[World sharedWorld] configure:^(Configuration *configuration) { - [klass configure:configuration]; - }]; - }); - [[World sharedWorld] finalizeConfiguration]; - }); + World *world = [World sharedWorld]; + [self configureSubclassesIfNeededWithWorld:world]; } } diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m b/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m index 10e8a3d..624832e 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m @@ -1,6 +1,10 @@ #import "QCKDSL.h" -#import "World.h" -#import "World+DSL.h" + +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else +#import +#endif void qck_beforeSuite(QCKDSLEmptyBlock closure) { [[World sharedWorld] beforeSuite:closure]; diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h b/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h deleted file mode 100644 index a3b8524..0000000 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h +++ /dev/null @@ -1,20 +0,0 @@ -#import - -@interface World (SWIFT_EXTENSION(Quick)) -- (void)beforeSuite:(void (^ __nonnull)(void))closure; -- (void)afterSuite:(void (^ __nonnull)(void))closure; -- (void)sharedExamples:(NSString * __nonnull)name closure:(void (^ __nonnull)(NSDictionary * __nonnull (^ __nonnull)(void)))closure; -- (void)describe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)context:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)fdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)xdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)beforeEach:(void (^ __nonnull)(void))closure; -- (void)beforeEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)afterEach:(void (^ __nonnull)(void))closure; -- (void)afterEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)itWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)fitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)xitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)itBehavesLikeSharedExampleNamed:(NSString * __nonnull)name sharedExampleContext:(NSDictionary * __nonnull (^ __nonnull)(void))sharedExampleContext flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)line; -- (void)pending:(NSString * __nonnull)description closure:(void (^ __nonnull)(void))closure; -@end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h index 105a97e..ccf006e 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h @@ -47,4 +47,10 @@ */ - (void)spec; +/** + Returns the currently executing spec. Use in specs that require XCTestCase + methods, e.g. expectationWithDescription. +*/ +@property (class, nonatomic, readonly) QuickSpec *current; + @end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m index 4891679..90ac7c6 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m @@ -1,7 +1,11 @@ #import "QuickSpec.h" #import "QuickConfiguration.h" -#import "World.h" + +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else #import +#endif static QuickSpec *currentSpec = nil; @@ -13,39 +17,6 @@ @implementation QuickSpec #pragma mark - XCTestCase Overrides -/** - The runtime sends initialize to each class in a program just before the class, or any class - that inherits from it, is sent its first message from within the program. QuickSpec hooks into - this event to compile the example groups for this spec subclass. - - If an exception occurs when compiling the examples, report it to the user. Chances are they - included an expectation outside of a "it", "describe", or "context" block. - */ -+ (void)initialize { - [QuickConfiguration initialize]; - - World *world = [World sharedWorld]; - [world performWithCurrentExampleGroup:[world rootExampleGroupForSpecClass:self] closure:^{ - QuickSpec *spec = [self new]; - - @try { - [spec spec]; - } - @catch (NSException *exception) { - [NSException raise:NSInternalInconsistencyException - format:@"An exception occurred when building Quick's example groups.\n" - @"Some possible reasons this might happen include:\n\n" - @"- An 'expect(...).to' expectation was evaluated outside of " - @"an 'it', 'context', or 'describe' block\n" - @"- 'sharedExamples' was called twice with the same name\n" - @"- 'itBehavesLike' was called with a name that is not registered as a shared example\n\n" - @"Here's the original exception: '%@', reason: '%@', userInfo: '%@'", - exception.name, exception.reason, exception.userInfo]; - } - [self testInvocations]; - }]; -} - /** Invocations for each test method in the test case. QuickSpec overrides this method to define a new method for each example defined in +[QuickSpec spec]. @@ -75,8 +46,48 @@ + (NSArray *)testInvocations { - (void)spec { } ++ (QuickSpec*) current { + return currentSpec; +} + #pragma mark - Internal Methods +/** + Runs the `spec` method and builds the examples for this class. + + It's safe to call this method multiple times. If the examples for the class have been built, invocation + of this method has no effect. + */ ++ (void)buildExamplesIfNeeded { + [QuickConfiguration class]; + World *world = [World sharedWorld]; + + if ([world isRootExampleGroupInitializedForSpecClass:[self class]]) { + // The examples fot this subclass have been already built. Skipping. + return; + } + + ExampleGroup *rootExampleGroup = [world rootExampleGroupForSpecClass:[self class]]; + [world performWithCurrentExampleGroup:rootExampleGroup closure:^{ + QuickSpec *spec = [self new]; + + @try { + [spec spec]; + } + @catch (NSException *exception) { + [NSException raise:NSInternalInconsistencyException + format:@"An exception occurred when building Quick's example groups.\n" + @"Some possible reasons this might happen include:\n\n" + @"- An 'expect(...).to' expectation was evaluated outside of " + @"an 'it', 'context', or 'describe' block\n" + @"- 'sharedExamples' was called twice with the same name\n" + @"- 'itBehavesLike' was called with a name that is not registered as a shared example\n\n" + @"Here's the original exception: '%@', reason: '%@', userInfo: '%@'", + exception.name, exception.reason, exception.userInfo]; + } + }]; +} + /** QuickSpec uses this method to dynamically define a new instance method for the given example. The instance method runs the example, catching any exceptions. @@ -101,8 +112,8 @@ + (SEL)addInstanceMethodForExample:(Example *)example classSelectorNames:(NSMuta }); const char *types = [[NSString stringWithFormat:@"%s%s%s", @encode(void), @encode(id), @encode(SEL)] UTF8String]; - - NSString *originalName = example.name.qck_c99ExtendedIdentifier; + + NSString *originalName = [QCKObjCStringUtils c99ExtendedIdentifierFrom:example.name]; NSString *selectorName = originalName; NSUInteger i = 2; @@ -128,14 +139,29 @@ - (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filePath atLine:(NSUInteger)lineNumber expected:(BOOL)expected { + if (self != [QuickSpec current]) { + [[QuickSpec current] recordFailureWithDescription:description + inFile:filePath + atLine:lineNumber + expected:expected]; + return; + } + if (self.example.isSharedExample) { filePath = self.example.callsite.file; lineNumber = self.example.callsite.line; } - [currentSpec.testRun recordFailureWithDescription:description - inFile:filePath - atLine:lineNumber - expected:expected]; + [super recordFailureWithDescription:description + inFile:filePath + atLine:lineNumber + expected:expected]; } @end + +#pragma mark - Test Observation + +__attribute__((constructor)) +static void registerQuickTestObservation(void) { + [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:[QuickTestObservation sharedInstance]]; +} diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/World.h b/Example/Pods/Quick/Sources/QuickObjectiveC/World.h deleted file mode 100644 index e638cf6..0000000 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/World.h +++ /dev/null @@ -1,18 +0,0 @@ -#import - -@class ExampleGroup; -@class ExampleMetadata; - -SWIFT_CLASS("_TtC5Quick5World") -@interface World - -@property (nonatomic) ExampleGroup * __nullable currentExampleGroup; -@property (nonatomic) ExampleMetadata * __nullable currentExampleMetadata; -@property (nonatomic) BOOL isRunningAdditionalSuites; -+ (World * __nonnull)sharedWorld; -- (void)configure:(void (^ __nonnull)(Configuration * __nonnull))closure; -- (void)finalizeConfiguration; -- (ExampleGroup * __nonnull)rootExampleGroupForSpecClass:(Class __nonnull)cls; -- (NSArray * __nonnull)examplesForSpecClass:(Class __nonnull)specClass; -- (void)performWithCurrentExampleGroup:(ExampleGroup * __nonnull)group closure:(void (^ __nonnull)(void))closure; -@end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m b/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m index e49939e..ae63036 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m @@ -1,6 +1,11 @@ #import #import + +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else #import +#endif @interface XCTestSuite (QuickTestSuiteBuilder) @end diff --git a/Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h b/Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h deleted file mode 100644 index 8881ca0..0000000 --- a/Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h +++ /dev/null @@ -1,11 +0,0 @@ -#import -#import - -@interface _QuickSelectorWrapper : NSObject -- (instancetype)initWithSelector:(SEL)selector; -@end - -@interface _QuickSpecBase : XCTestCase -+ (NSArray<_QuickSelectorWrapper *> *)_qck_testMethodSelectors; -- (instancetype)init NS_DESIGNATED_INITIALIZER; -@end diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist deleted file mode 100644 index 57b76a5..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.1.4 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m deleted file mode 100644 index fb0c8fe..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_FBSnapshotTestCase : NSObject -@end -@implementation PodsDummy_FBSnapshotTestCase -@end diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h deleted file mode 100644 index 1734e02..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "FBSnapshotTestCase.h" -#import "FBSnapshotTestCasePlatform.h" -#import "FBSnapshotTestController.h" - -FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber; -FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[]; - diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig deleted file mode 100644 index 18ae262..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap deleted file mode 100644 index 45b74ec..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module FBSnapshotTestCase { - umbrella header "FBSnapshotTestCase-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig deleted file mode 100644 index 18ae262..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist index 260005e..e064f30 100644 --- a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist +++ b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 8.1.1 + 8.2.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig index a366cee..1174905 100644 --- a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig +++ b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble-Snapshots PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig index a366cee..1174905 100644 --- a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig +++ b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble-Snapshots PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist b/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist index eeade71..1953e7e 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist +++ b/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 8.0.5 + 8.1.2 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig index 7c8629f..4325fa6 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig @@ -14,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig index 7c8629f..4325fa6 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig @@ -14,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown index 45437fe..bc1b3a1 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown @@ -1,39 +1,6 @@ # Acknowledgements This application makes use of the following third party libraries: -## FBSnapshotTestCase - -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ## Nimble Apache License diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist index 6f18287..56b5b9f 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist @@ -12,45 +12,6 @@ Type PSGroupSpecifier - - FooterText - BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - License - BSD - Title - FBSnapshotTestCase - Type - PSGroupSpecifier - FooterText Apache License diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh index e1d5726..85eb507 100755 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh @@ -197,14 +197,12 @@ if [ -r "${ARTIFACT_LIST_FILE}" ]; then fi if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework" install_framework "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework" install_framework "${BUILT_PRODUCTS_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework" install_framework "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework" diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig index 8073a09..e5eb928 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig @@ -1,7 +1,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "Foundation" -framework "Nimble" -framework "Nimble_Snapshots" -framework "QuartzCore" -framework "Quick" -framework "StyledText" -framework "UIKit" -framework "XCTest" -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig index 8073a09..e5eb928 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig @@ -1,7 +1,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "Foundation" -framework "Nimble" -framework "Nimble_Snapshots" -framework "QuartzCore" -framework "Quick" -framework "StyledText" -framework "UIKit" -framework "XCTest" -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS diff --git a/Example/Pods/Target Support Files/Quick/Quick-Info.plist b/Example/Pods/Target Support Files/Quick/Quick-Info.plist index 2a9158a..4522675 100644 --- a/Example/Pods/Target Support Files/Quick/Quick-Info.plist +++ b/Example/Pods/Target Support Files/Quick/Quick-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.0 + 3.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig index da0e5f5..863bafd 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig @@ -1,9 +1,11 @@ +APPLICATION_EXTENSION_API_ONLY = YES CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick +DEFINES_MODULE = YES ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "XCTest" +OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) @@ -12,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig index da0e5f5..863bafd 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig @@ -1,9 +1,11 @@ +APPLICATION_EXTENSION_API_ONLY = YES CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick +DEFINES_MODULE = YES ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "XCTest" +OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) @@ -12,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist b/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist index 2a9158a..b6b2813 100644 --- a/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist +++ b/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.0 + 1.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig index 0ab7598..cf3de9e 100644 --- a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig +++ b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/iOSSnapshotTestCase PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig index 0ab7598..cf3de9e 100644 --- a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig +++ b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/iOSSnapshotTestCase PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/StyledText.xcodeproj/project.pbxproj b/Example/StyledText.xcodeproj/project.pbxproj index 41d95c1..90494a5 100644 --- a/Example/StyledText.xcodeproj/project.pbxproj +++ b/Example/StyledText.xcodeproj/project.pbxproj @@ -32,7 +32,7 @@ /* Begin PBXFileReference section */ 175AACA6B7B8101CBF0D50F6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; 4C356AE27839126F8A638240 /* Pods-StyledText_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StyledText_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.debug.xcconfig"; sourceTree = ""; }; - 568E9772F7B718C066166339 /* StyledText.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = StyledText.podspec; path = ../StyledText.podspec; sourceTree = ""; }; + 568E9772F7B718C066166339 /* StyledText.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = StyledText.podspec; path = ../StyledText.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 607FACD01AFB9204008FA782 /* StyledText_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StyledText_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -219,21 +219,20 @@ TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0820; + LastSwiftMigration = 1200; }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0820; + LastSwiftMigration = 1200; TestTargetID = 607FACCF1AFB9204008FA782; }; }; }; buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "StyledText" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -276,7 +275,6 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework", "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework", "${BUILT_PRODUCTS_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework", "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework", @@ -284,10 +282,10 @@ ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble_Snapshots.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -444,6 +442,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -483,6 +482,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -498,7 +498,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -513,7 +513,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -534,7 +534,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StyledText_Example.app/StyledText_Example"; }; name = Debug; @@ -552,7 +552,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StyledText_Example.app/StyledText_Example"; }; name = Release; diff --git a/Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/StyledText/AppDelegate.swift b/Example/StyledText/AppDelegate.swift index d386cb2..e2d68e5 100644 --- a/Example/StyledText/AppDelegate.swift +++ b/Example/StyledText/AppDelegate.swift @@ -6,7 +6,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/Example/StyledText/Base.lproj/LaunchScreen.xib b/Example/StyledText/Base.lproj/LaunchScreen.xib index 6215148..f4dcd3a 100644 --- a/Example/StyledText/Base.lproj/LaunchScreen.xib +++ b/Example/StyledText/Base.lproj/LaunchScreen.xib @@ -1,8 +1,10 @@ - - + + + - - + + + @@ -11,20 +13,20 @@ - - + @@ -38,4 +40,12 @@ + + + + + + + + diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/color_blue@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/color_blue@2x.png index 8a82d3728004cb07cab39ee7c841c514ba20eb80..41c53e71bb5987c40c8c314a3d8a02f2fb8ee201 100644 GIT binary patch delta 2939 zcmV->3xxE=9JL&ffm^vYE;EE8DP~X-^OD?(Ceb8KhWUU`K9KuJk`EG*K~k?w;}W@! zh9*Ky0g?d}e}Um65C@Hn#A(uD()PpW-`4UdmWan=(soT%EC}jfOzHMd+@F_Yof&H4*>{FDuMV!53VQMb&}uyrnC=VPTr@~+r?D% zoh!X45{Z)6Sbf4tFDb7vhe<(k&S~LDQ4p$qmBHVV5 ze|r5OKDbBBlN>;PlMZRvnB)Kw+sKErr6tna(tFaAk^**YTlX!WRaYRfui9NHd3EOR zP>ZC-DlqrUdF-w>*Ge8|rL;`)mQmaHCHr})v{e?6tT zImw;^Q8UGfs`KwB_jAzB#~J z1+lB-)tGIbmCjvOX_woRLjVFpM4R zt>7000MmNkl22i52EPsR zdAyAr((30|wyoq~$r+OKB$r8UkvNlYYV2bo8(-~<8hb7HpEabhJ;U{1s<(+&ool;0 z_+8g*Yx9Fml0as2f(8P8O~Bp_U+6bfKTwjFLZ9y{x3Att zH^JLZk?&T?Z<2kBF@Nl3U3*Y0C6>aXyH+=Ah$GpeFsJS_EqMZ2nQA+?hvSz8**mok zPpmO1l-$}sB|cwwnn2=w<@>3- zUSA!X1X5*!1_FIczzz?AqV5Y`)}2$mjc$Xt`OeOOjKJTX(&NGiB>Raf{@z)_L+^ z*kvM!-o5(S#IOcGNgNtSDQeesOdxtZ*i>w7@Si$lktM7@g094^X$;rfjlpMevz5ia zi!_1wW4ZWlYu9GqrXCVV6B+an=raP@Gx)DVpg6vHaep>eHd`hB99_@U)6z}wwlVVi zRpP;WTH$RYbiF$0^{%8{v8#jKhgGYt)-XZ-F}UjSQMvS*2%>+les*@akB{RBt+ibq z`rDmAmbUuDD}R@iG5%TgE>WxY@}R%1(4{TASpEJv+)-$=6On&jKS^p5f$b>$R}!~L z5{QqGZ+{kaFLlNCk&T~BCRck&AXO%4Akdct>@= znCzV}kAkKLp0wm^@O3;~)9-=GlZWrv-DXbeJ=AVmgY6)D1u45$@~6c8_3I}8)ls?h znh2tQuYTDH&)4B{VjN|twn6Fq<+Jy-OCVd-zki_Q>nE4B!FN%q&)-WpKW8wj)Hg{w ze>dfG&MWo374*-lP7~57T|XB3+^?KKriZ?bs?|=5jg#)v&_6%z8ETV2s!Y&8pf3s7 zBjJmDYv<)#HQb)}{pF?-nkUxUDB-okmP^=loWyodo+hfA+X3CgJyj-zTagpC{BF z5v_;n?467!0k_#8c}B8K@~y-_mw6KJD}N;r_x96F*5~V7A-PZD_ZmNE`FMga7ZOOB z2-gtkLjoRT@?QZ>>b$`0e+4|adce?bHKO1AVY|{0&YmYC+8dd@ki!8vV3D%Rr1(NN;I)B<4L_(&?eyh#wi_iSilU&Z@O9dmQLVLu>A}_~s$oAdKm4oxRS3 lJ(Cdu_mTlB8G(K#@GqxX;k|Ei?GXR~002ovPDHLkV1gY20&D;P delta 2957 zcmV;83v%?e9K{@vfm|`sxXciWq?kcT%u8}BnnV+t4D$h>d{FKqNj^wKZb^+y;}W@! zhBQJ=&I^RJ}p`0nrXyQE!PY+S55x3jX1wtPm% zMhx0d0d;@8sr2u^96-GC@I81>nmt}(^oIZhCY3;Zst4DT?Rv>?e^Yu7Uryeq)Z4{W z^_?fZB;`q2TOQ36C#8C~c}1F5ZxJ(9_FQW7lk%hL^*(F$VSm+~DcvVIFnJ6Ir`@{P z$bsO^v30#l$^f#N{d(DKtNULBkY(vUUC~B?atMDwU?>U13F+Zoq5Q#gd`WLt+a~Ya z%lq~5VY1a_6%s2`-4n`N_Vx=KIS^@IyqWs>;Px>pd0Wast2JYf<8Za{D#C5| zs@H!H;)8p{e8~aicj=IZjY$q5v7LN4TUsi;BfT#@B`ILX_I2O#S#<>x`>Nell2>Q` z4t2lOSOw;OIgdTn=32?)tdf>X-ZJX-eaU`aCM}Wd<6>!nq;0f*0mSzyZjhdl{1Wk` zbhXrF8!_%wxxbfvFZmw5n$BIePrd?j2ta>eC<(+adQjI%{^sEACr=z-N}jZ5w7WdW z%tK-5feqU!wn$^9I(^YKSI)(b&3#pjj!+%D&bR$Fom0SF8ofw&+&z|VJFE8b51 z5Z~A-YaaEQy!|E}mr9=4R!faZvG|Lo?O)lnx_Rfld}vyV+cloYTwJf2%q^_AIr;F7 z@-rl_45mpJNnc1U%*zSbldV@B$4h?>{4=Fnq#T6wkFsity;bLz1KZX8^>?JA->CA3 zC6}+48sC@70PnsRN?uV+m1MtIDXdlQzKsA4btG+TItut9!m6Nx(Ll!4Js$5FnDvHU_ zZ=T-%&?MGO;JH00030|A&mlKL7v+j!8s8RPCEt%w1Cy$G;M-R*INf)o8?! zP_%?rsP;3)kcfzfmZBww2-2h;5JY(~JRwNKi?JkzN{tUy6-5x07$Ta6nt!#Z8cJy` z|F!Sl=bU?n``!D!_$t4htnPi*UTg1te)qd;oxRU(UmxXvNWk{!>$ATlze+~7-=KXg zok^y)>(iC3iv4a=CmW=HP;yN2$ZOjaeJ1C+!L+h995=AHofzl*vfb9sjrzKKDC!mu z(r`Y_36qkjQxv}Ca-Np?3xp4N31 zyf2a6VFfu_?Xx8dB^xE1C9)|NTO*wZ=aY-t-rLz4x=A4C#W~+TQzM zz_r~I{jP7ewacPSA%WN~QRfdMvm4}=X!A~WY!XP72^t6tX#)0M{6fE}`k|7%9Q*vK za(MMNx(VKPl6<#Fet(zjm5*Vs=-Pu~DY4`h-L<+|LmJ5z#5r}J#gZkE?L*nyw7ZXUD zuY5ms*K4a|lR&CW&_H0w60k#Jps4$Tmvv`VZ=>7bZT@8MyPl&Y{SxQYlt8?1SD(4Q*h|r0 zI~p&xcf3}z>ZODS37<>5)25O!D<+VA;(UH@{@~C_`l}<8K&nj8Kw!ucush-x-gh24 zW~r5%qs_C`+kfabcxOi|I;Kg*lSv4ce#A8P7bJyUj9YiThSO#1L2 z;P!d4VAy3MNZ!5r`MhBbzLPj8jgr@{8!&gYeUW#PwG_D9r}xHXO8db=t5 zG#p(9oAh^4Odx(Nm)>pd zt4_f?JpC#$*}HKb1x*h;#geVT*YRjgzXvK$9{$AcHnWS~t#;EIY=rC;r0hD$pAz@i zubcc=N9EFMB1rzd`h^{yufyf|G)k+se(7}76o2|UC6Fz$nOE}loy+RzyP(wP?|E0yAR+|J; zWr79*Ly~|!7Qe{14ZOVYl9{UQQLPc?&I=R%OYd=B4HCGn%G%vh`=C{0l zZFO3ECa%j9!5fl=lGh}DeYM2b+LS>2-NFSDxAla)NTRtjek;{31p73<`EgT9!tbl? zexFJbpQqFwmaJQKcqijYz-`t^mPi&$zJHVW=Q3B~eWe8A-oBd&eZJ0Rk_RMyujzC4 zqsZay^98>Z()*Y*s(ol60D&Pwz=KTqd98n0Ck?!)@P7q7xVpWbc2miMx9f}I!O8=# z2ZS3XqmxH{?Q1Z9;w=Y#AJc!DdP2RQYa7?#fo`efZpo?5{$Y%CgjKwUruKw z-MY5@)aS`9t#zZ?&QyN`cBI7Tu1O&79o}(yl1hooZT)XT4+3?`BlwU&THyH?0ubn( zfCoUEBJqIUFB#wa7+Z^n2hnh(wJ`hOR~!=i{u-yWd+0P`V0@^2#&oi3?+eF)o-}H9 z4egfItMIdBe?S=9+d8Wwp@EYT0rrz10V^4>^%D3OAr#@0i55bC00000NkvXXu0mjf D{Hhn> diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/color_green@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/color_green@2x.png index 3227056182283ecce3f6fbb53a5b6c732d0b359c..1b96a717fa6c764f1f23de1b0af82187e9958668 100644 GIT binary patch delta 3024 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 V;gj4IUKIcU002ovPDHLkV1iV25?}xT diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/color_red@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/color_red@2x.png index f1f6c1899a49861ba07a9c03abc28f8650e1f304..4f1509900915980e6af9a26c451f9c41842cd940 100644 GIT binary patch delta 3081 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 XPfX#x`b>P_00000NkvXXu0mjfFQHW3 delta 3083 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 Z{{qPP;gcyxJHr3~002ovPDHLkV1hjRId1>} diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/font_bold@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/font_bold@2x.png index 4a27c7d6013727f57cb5eea0fe444baf8b0cb8f4..faee75ba991b92af39dae061f62c773ce70aaafb 100644 GIT binary patch delta 2932 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 Q*Z=?k07*qoM6N<$g0bJkH2?qr delta 2866 zcmV-23(fSX8>}0UW`8DR6?}I900r_%L_t(|0qmN4$ev>y$2X@%!(!1Kwh2X2v!RyQ zNKQpdv{-9nf8Z~FtehuF{*Z{~kkqs_hlsIhw8+$&oZ7M!D_hF(4htCK(hc7HGm2}~uX z^U;ZDKcxLbU?qpA(Y~Vu$Z1VHH;r&SlbG*5^eS41PC=RkB(Mh%m`aRaqi@i8XeirA zhxD!WCBApjax@(cWyjHB4f+oK)zWX2pF~HYZq_M=oWo|64fhUoI_hPY(^#KFxB4-y ziTWM4r8Q>IV&Ss?pc9PnxPMETFEOnh!FiKB+P{IHsLvk3`JGAv68H}ZEMe}lQLX4> zovls(UpW5Q((cBex&B1G?o#K_zN6`%z8|9(Q4&xRNapw%U4S}Si6LwL(Wt$C#;5)O zIuLcTc{s~?mpQr}C$}c(cU%(caIM6*Hz$xhdE`9bLoWs;8T{%X1f#R z?r%KmWo7d|x9T*3`dqXcWkbkjoL3&TosFYxjIU9iSap~}{iUYQ4;)Xe+EeWo!_l-| zgqETtrmU0XbP%eoB!cyI!w~gB#|<%U$L7LmZ%!a>~jQj2;4y6G}FyMd+NS{3gd<*3ahs5EEqH9NTso zmH2m|W7`cK$|vE=Q$+e6R<-vNLx#*pS?^bLJZjsZiD1xiV}Duv60{P%gWgBap#^9k z)X5Tilmv1lx)J5+EZ=}0LG@E0u7BB~)NV#uXA@eB^2(^!_oc*nEn0yR<1(}mC5EBC zf#f>fhF(CqiFg(*Mx9x{1N5c5VY+xDy6+Xp3v@SS$_f&7<~k;B&7V|u4;vryVLk? zZ~5xt)}~LVyWf3iy9Q-r+l=Z>aUH(Qe*+qh^@^dM_g)-Xb6M3euko+1{6kd-8Fy#1 z)>j-aM0qlph^|K4Q8(uCN7-yQqBGGrGzHy-N)pO{hPCZ*D!Dnx*j(RyN6NU_=m`}6 zPE>ziDt`$+W3NJaqL_d(f1VV!p^U8)NY?uvCD}ZPCZSlK`bt9DL^;2YV!0_e80Bd! zb6(uk<7@Y$s!2csqm9670?Hrm+*V-I8ei^qyII-1vxzKg^c2T@tJscm=b6_Z*;HyP zcb(ZRhGQj$PD!kuHwi80xuI$(iQo(TkM_`YU4O=XfPY30wV#?6(eG|F9o4oNN8)>{ zZfN{z+k)~GQ`;>#N_%_LUE26_jmFl4sIO|;bKb?W+3!M`?~LMX9Z#nGJ4$<G$|lwhjYH3ohKHMcjcd5qr)r4 zt(X7N8ja7!xx0gOpfpE1L%Kw|Q8JS+rQGbd#^r&e|8mGVIr#Pn{oiyP9DGd`pJ;6RNbb8>wPP-@9_OdiDvQ^i7La|F z>~X#}-#FB%Px0I+AUP5G5P#@m0=H;w{=$31@N1Tm7KfZCb2`~%W6Qg4>ibPXqIoX_XiX$NO>#Le*Eegg4%y#_x?9F(oWUHcrbD4llV;X zW?pA;6S_Q0s@uGM_d8vBOY(WVX?o*HEv~`w2cRezGlE=mJx`*#WRGlRKO zY7^D*Z&MyOKMkn;M({tSV_J}gtN%!dd0bvVW`x)V9ov?za(Z)&hO-=#X&#UQn~d9Rhz8(7q8wf)56G1fPde{U(-1#-sMEZ#t0l>F-C zap`L*&T*C6C4Y-+@HzZM73Eh|ajcInP*uMl!~(K886W4#kG;x?7RRlKjt0jkl;icd z5WFfakzNY@D|B?Ms(|>ng>yr$3v$2Yb4PwF)lN5ibz8Pr|HdNxj@lmgk>qn(k4b~1 z)TXNABH;LXX{j_IeI@ztGGB5mFCcQYo@N~LH7=L#k$-%xah-k@IYi2h0+JJ<4}mTu z;7w+epvs7Sa^eW z{zl20^nWm^%H}BWo|H0Pr~X1|s8q83<#ch2YxQTwO#K-+Qu4V=1w`)F8eODf;c~7& z6TT5B6%V;vpBLxNbO(a~1R&530dIhlC2!1q(pYJGHE*Khr9J<_1-h^wAmvXFbyJ%0 zq0*?jq%7tFr_} QH2?qr07*qoM6N<$f(Hkz2LJ#7 diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_large@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_large@2x.png index 3cef8ce76ffde8fdd21cd0fc9952d0398c42c83e..3fd71788f1f6f4d2d826f26589608156480069d4 100644 GIT binary patch delta 2944 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 diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_medium@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_medium@2x.png index 9d953c155b2082c15444b6eb500cdef0068692b7..0cad9fe2b8292757c1f5d28d0eab7cfacb7409fb 100644 GIT binary patch delta 2896 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 q^Y0skf0Mxs^OG&aeLzRA2POVZw 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 M+S#hs!uS5a0lltR;s5{u literal 3144 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 UJ|m6_eiwkH*#*-Y6VI4`1C{DpIRF3v diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/color_blue@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/color_blue@2x.png index 2d420052f9f764fb89b85bc2158e3bdac039d0ff..e3d8942a0b63062dc536920f1aef4479392746a1 100644 GIT binary patch literal 15410 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 literal 15440 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 Bj++1g diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/color_green@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/color_green@2x.png index ee7bb4bd7ce1f87c685085bcdc36f6e932b7c92b..a6072ea070abade99d4801bbf605fa79d0ecc16c 100644 GIT binary patch literal 15337 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�o~dCHQsf5!Ju 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%0Aj7XR`HC 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/color_red@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/color_red@2x.png index 9f280cde33adb63e00335e8bb1649f97644a3d94..741607d12a4d3cb835ff3750f9533521cd77ea16 100644 GIT binary patch literal 15992 zcmc(GcT`hN_bwe30ewM0Fp0`5MFa#P^nfBD(gj6o5Tp}&3y=gvML`G%(jf@ad+!N| z^xjLT(t8OZ5FlK>?|0W-_mBJk&03Q=Wv#Q%%-PS(v!B`XRaaY$`5N~%Dk>^w^%u`y zQBlzeUmo*ZVYvK%JMWcqSy6kuQhP>K)OTn7^5m-P3nLFIDvk&LDb(t({@uI0c*p*^ zj=^P3b6NiLW4SB>|GQ?Uq5`UUf2h~Itl89`KQ-{B-b%hYVm5rM{lWLU_qFa@Ub|V& z9h&y#no7lIu)`J0yet7>G1g4by}Fk?;rGPa2XxtU*n;h1r1hY;}%9b8;xvBA(5OdW;URVxSOy_KNhEPzD$|e^3IM;4ZjA5$%J9|9#WB zs!bQqIunGAez5vJ{J@21C*tkwXtpMDY;n$r8S( zYN0W}Q{m{Cvi7hopJqE;0q;P9k7pDY2gUaLE9M>b|Ge^8hT^y;9g=6)B@CM!obqtg z|LhgBpUoI1)muzH1x}<#s3$!?wiCnfPQAByIU#TD9i0xCo(sn$?`e$(W3phDDX+1i zO`H#C0)&JD4THel#ZntmvVN{H&Y^J&JB)^bM4pqVJB{xwt{t=6!QAb_Cz#oR?(<<& zX%P8qhmn5wC(_J$A~)YX*;Y2Htv+@5y(3nwt{>n@YtRw65+aGWo(<_E?NvSX?;uPku{7> ze=_Z<;|=ICYbLZ6?*tfyn#ZNhakF+s_h3B>qAq$oo%0v{t%vn`IDY_hMS}aeQLYJv z>kc#UX-|@*GgN33zctl#`8DiPMorB-y*fcxxx>|CSUvFZf0a26Dt8r|R@)2?>Qx)l z34o)y8#A_8Twjb;F7N~p1sb0n9vm$pi_ zCu;&umrHQW4Xl>+l~9+2sb*$|+>5e<6#64as|)`do3D`ET*({l;s+{C3G>P~wyoz@z}$kIZ>hj2R(j+55%WSV?&!tly8~OkJ72^9#)Ju4x7OMee}z3OYX7Ai zNP>$VXpMr-U!R;v(7gN5(~st`eX9t%yDe4!`5&n8ij)r(YzdUKORJ!}1a|E@y^Zrf zq#pNFD7R$WEI9Dsr};L#GJk6?saD_WwFWn}CF-BO@PjUc)Y!q%d#}i{25WmO$0NR- zo@?@al|*rIK&lI!d9jFaH7(%I-{qY*U6PJZlB=J3QSdi5G*Hz4(@-pk^5(0%FZ$h1;4QBq zdGK(cCHQWaz&MP}9l(O2D{BNUA&s(4$01|42orG7l24(4PqIeJL zgL@9S-qBzDO7UTfBf`Jg^H=s6oh#`0imzNB|D0W_0|a#=?WneKXj5rHg&AA8%@w}$ z`vGFVCg7X4Qwa99OS|TQTHM6N-8J=#cY7vjE_2&nHT|tY2iqZV+GK&H->wG!h#ssbo_lDw+;*#P>I_sqq$HRu9YGO zoks2NMip^ci=nr~hwGy&Qr`b!qEXlqP|Zk3_V8{}QEdEd|1FE24{N*Uo`{3=g*^9P zj#_u?!+jN85~XIP4li|LeF1Cu=47@<=X&vy(;cq4uqc1Vw(QYdIS;ricVdsY@p6kj zTQMkrODjKns%iH5*tDgJu70vE4Pqn(B9qA_XL1|l6S)P>NeZiXNZBoT7wXg zL#f*mhJOUBYEcnNaF;a5Xzl~ia#;KiKbzL9N$=NWjKZa_g25qtNN<-PAx2-R_Q&5DF~+e5vWS~)oIHixva{+n z^A_}>4Gt2q{_eO4E$-kv17u}Dk>2!^KLZ2&(}Hner<2=BjgxR2rd3bc{JI{UzJazD6oFB)}__Vg*a%GUnH zTG-P!bHh8;k5u|a?@ne2PqWx4W_GX`L8J38o-IH*nl=sR$GB7#T@#s55|ht=WSGLG z6-^w9-lI$SHW{<`ImfhMT52Azy>u8QH|?XemP$^(PAWd15{x2#Ab5$9IJNf@FR-!2 zQ4_gyWFflhb7pv@o`A9Ko8Swo9L%~(BWp6551-i1Q?sabQDK4acLVEAk%#&6!Qz750vhLBuS#u+u>6@|DtH_IGq@(dqo_0 zG(`>C{4H!@x@@$h>*rH6LcCuZz2Vh)F<9toRtNEW1i2fCxU(z16&$ob_La{YMh95?j4Asr$P5A zDiBhfw4TmMnp`zdSoYQGrV=9mYj`!Qk{BJM_- zQT>k_6LH)@yR?VQ9sR8T$n~DaX;taOz=4wj(Q_J8eelefIQqJYE}wNpvoNq2y0=Zq z4Gt>cua4@5FpHDP^OSvkp(-D|Ge_>NL z9h_Xvm{3gbBX>y~Hsc5jOCgDKjvH&6Lj@3PG?jH-l-kAJ^5JR>kN$eI7rkggU!jeilK??z8qMO)#Fe&3ri^OFnog0C^?zE5ufNZSzdCYV*__T;V<)zsem@o38Nj|S z_2*m*$`!s~uTt?{gm$f+fn@LR7@;g2z8@_Hp6O=aM)I| zGUb8mqZ$Tz8c!u@+V?!Mn|`4MfC-T4RUn;JGg1j=cWf8bCl!QLZ{Rt*diIag21Vi1 zsm#FNHJ+awB0oNv7iGt|`=_A^hDxwH_AOf3AgmI&b{x_rtW@fVsJJ`B{EfN{L&d@f zuvB<6e#7_VR5eC#w&i&HABdsOeG~2^jUH#KI6aYypo`S?BAvWXq!(#o!vTX?<-U8R zwAQUg=Y!Au1#*lk=F@dxG>o*pAvoi@{L@D-2iF-Qo|p-nFE+bIo=X0KEtHf0=#4!q zs?9Sr2XK$}4XH`L=idC;)J~>3sOQFAvmbm*dQ36M*C!kXr1dUZxFmJPhR89U4KCq$ z6=>dbavX%>HU>$#GKYCTTDR9J9sd5t$r}2eebi-}&P1WqxZrN3h1MHLz2T@?OQjI4 z6M=@brcK=k@WD(=%L*~4G zbg&aF{9F%cq>pg--wFUuKQ|}dSu0CtuO0JWuSGVhg@Mwt;RMj*l0TRu=@TB#ANU!4O2zxj~A6_4V|^6qtxH_{Rjqj3hw6oI9=H& z>HGG~(rBAivs>DuBRp^PcCrX%8C4voMzU2x4y*l}GXAGupj<6WELz(SGtqi{+U?Yuu}DftgxvG*3kZ-SQsZv; z()G|~vZ8ZSM&UGI2f|l9Z6gv+ff>uUezuc5RCou@<}VXZ z($GX14%G{T@N&1c-5@`evZ}Pc5Z}s8XLHQR_4Ku?fS)bAV@7(UF?SLzO=dq7pFEM0 zF5bm2^*<_oJs11XE}vs^j-IF3aQ$sbLg!GadEaq}`nknYRZAoA{TwwYsfc{=c{x*# zwu15%kUO<=WbgN8Z`ETLvO2`BXuPy+WfT{MYN|;|4igj)$2sxI=};aly0b>OG6l10 zz9HmLU+6~zgrQ6Ifwte|dd`zHLqIMjM-yx{iThwVg|ys8lox6V=VHo@t7s_1|6w=j zC7`Io4W$NH>_i-DhH3B5;x z6DRT$93bvRHPhIv4hha*#g!*XN@P~fwc3742U=XAkXhlHC#w{kZ0AUM zqss6vog01no}TdNbLv^`1LPof>OX~ zY!SV}yco9Q@y4eY%KytN!zXrq1*o3Mi2KFf=Pw^-rIkc2M@=|fyqUS6D41W(U$ z!MYD7Ozn?8vGR4qO4X9*aw9;X_Ha|ib7J#{pVPwuxs91vQ$?-P$?h%a3+wQ%iOP7` zdh+wx+nS8V!Qd#Jp`S|I!T}Y5<8{PKhsG<(Z2BxIpaWFy;)(;k`-C#5Wnz;$t?*2C z1)kY?M&k=W#trC#Y0w3eZvBv&r^2A=z43#N#o;>DxV30X` zgB6<+50P6bskv?bSz0GSwgVR5rg8Kr{yLb3DF`zEJ`JsNu=__>Z|t2hBeJtCxH4#~ zipm@#BJ0TSz1q^LTIC-IRN`cSariw=X8E_DuL|FiVk3@-Hwo5OIv@MlhW}p4R>U;0 zS&Led&B=ZAK1l?QD9O_Yg@L6j)wt-)sj)Yfrs(Eq-b>NSGgr~)>BG3MH)z$i(j(a; z&AO^j25ImQn%P!tKel)1`?{EDGoZds+R--LF1YR~Gr?%bl4FLZ0fC4r9`p#EeaO212-R0M=)Mcm*Ge7*)e5HvR7VsOTJ~Z>&w$3|1fV@ne+RaGETZH-g|-w z0y`3|{P*rh!Uk!>`g^4!cNyw<%6g$m-qtC_C zviI}9<64iC!u1s;S#hv4OyMKvd%L116h4=u!M`CkhQ5JH-i4j4*Sz4S9v7?jhYX2D zWMa&w|23cD&he|$S*{lhyC1fw1JB+mA)P(UGGiJW$JJ&D9ime8Ei~COS-!X4<*et! z05g19d)ywC)(wOu#O(P*t%Qng-sGjiGGAGX;U;-+1)i70KZ@EMp7qm(CUR`OOvpnNEzx>pDHmNU6MbEV!#!Si#% zHf^8aClgjX1%uOyb~}s%`PDk4bd+)*`f0O%(`W`5M~M>cTHJj^Fd^8z!)C>wZRRR8 ztfU?JZFfq>J*x>1oJ#h8n^DmCEMOC`F1WRd>{(XfAKEPS! znHZ?<@(tqxE7*Lyy0nT-CQhbD6W;HCCxgWrK72|g;^GviKDVH2a$YMW&Gqm`%=ieCi56>B(NAUgDPmMKRuI*2UAvDR=d=nGui zicb;yFh{*tR^NTL^@1`!|2hpW%e*EZ@BgpYX&L)@loGNW^4#ngM15lDU%BF4LiWM} znBV)WRfwHfL@UI1S>6U<`fb%_1LW-?3>+PN_lM0Vdaaivop)&~eXb3dscp{PQrfL%hC^AW99QRV)Pv|X)pN4J!RDLTAOcZ;ul z4(3%N=hfVp-c*XV4dbF&{G-U=0M@Hn)Kok09aJ3m1w8j4b}CN$Mx&3&0>yL?G3-iz z^t@MOqW!_)&;*ZpSURNS)^v8ZD_M7h752E6^KBO?-YM|XlZ!t+2PN)VuPS`fPf}z! zNU6$g^{vcD<9)BKa#kqHWwT#m7{|*t%h^(gvJWy7-K#l~7AEh>i@V^jtj7F?T6!BF zdL(f#(`sf_Z3DJ@j`X5IAZynh!h?e_m4wL?dKp+Z7r_VNVC9{i6kr+C0!KKk+UVJM zBjy!pzS}bT9vE9l;wqGip%&E~4IDa?nO2R-``?$_+RvLD^Vsgc(X!)@l6 z;J6o>o-^_HcUhMR*p7C2@wq=`hNzlUrMX0wNG5)A%EBQ)P<6&k6)BZg*XN@xXpM=J zN^B_Z7VM7OfOpF1ECigL{ZthT;9PV6Uiq4QiC1!LT@7orJ+D8L-IkwBZ- zqJEUGlo#eiql;Q>YbbKl$t0VrLPk9+j>08PRsEjCQ?ri?J?*`B%NeBWBj1?nCkSa^ zHW?d^zHX+Fp3~=_F0y>DZL=O=#>f~uq3}@)C;OsZkMVwG#yX14{MAMGaa|hoo{Qg) zKRQWPYu+Q0%sH&I$@(uRt#ZR!Ez%@a{nVZ}mdX1iAQH51UJA)i=VDPf!FHx$x}6~*X<~Z`JmKtOE@TQ510)`OClvO2JMl53|l5Fo(woCKIo>xaCKtg}?y88y4f&x{cE2qpfRrmn)%&!-;<$E%c$o@Fr=A0NU( zDOS2`bGdYrc9xd>8AZFah>T1@ZBEu-KgZ6)?kbwdV6r;Asq+?h3^=+w8ig~_{A-Wi zVV6XGuwmFs&cZ5g60Wz76*O5gUaUBZps!2LhbZ{IpEEaREUOG!xd^)}$NwF4?LG9! zZvR%aqt>AL1G5x(78MkKYqiiSC5A*Z)OgJfHqtO$yGp(H>&F8W{b5*@HT*D^8pQq5 z>SKV=W7-bf7~PCU%=o0zobygZI(hyL?T{V@EZ{)ffQ~vW1DTj|?(8a+O>?W%3Ju6N zfY-d!3Z!2sLY^P{e(4`mI+(>`YS8ib$ImTZ{)VygE1o`wtVE^Q%MK9`s*5Is8@IOe z&H{kce1R;3iR{W&hT&{DwIu~soWS1K3Y&Sa{m2>BzE*ZD&&2gVhLya6-F(%zA9&C9 znXplG%NrkG3I}KKVI$#%T`{E6(vJ|uvG?Pdm&*mX0nZ_DB^N4qvyD9gbRDX7tYc-?oo31Y+wuB~;Crma-Gi8U%tpFuc6G@Fm7XGiUt| z1eusqjZlm1Ff8~=C4YUvcM{pzV@5(njVEslxgdT3x!{wI%UZJwjy97W>%M&n+|y{ zGCsz)<-Xs(W0fz8XKPT{W1=Z6SCO71#-tCAdACCZ6s3T|p7Vx^wlt%;wUPN!m(+I6 z7sDqr9?M>zt3QV>Li z0AO>XD83zC%-YTuVDD5i_$~l7kEXZftGb*YP4=>}z#qp4Z=q->gC?#66jf;PmI%Wq zPSs=N{IxVMwK|r<`U5=z><`!%*l5+`?W|~gm}R~lG*$1R=&pBEiDYuIO-%O?*2VaE z-ahGUtLzgx*bW3H6I}<48P~;?y!-3SGT6zgX$}stOW5!5HVy zWivGUH)JO^^6GIvJ)+i`MF}ARu|VMx6Of(uhGmkO#pZ|yiysh_8M-gpY#8b^FPTN6 zS>L(iCBP~P@qu^(E}3Pm6aNQM#ssq5?2>4t&FY(j_S+XyLpp&X?USt1OT-*c&PZsA zn>%50^NXPDY9b}4qrKrQkT+2AN(WB)wAtvci832rNQ-oPXu5^ox^)56bguoas*9K4 zvgfGBfaB2R(e_L|Yim>3PJSgFKHAO4vnAd&B?Y09R22U$OjAKw2KES6Q;jBtC!B@} zx~BxY&|*LPHBe}(VIzeHn9Fq%Rw}BC3rV&x1u81g*ngIXw^Odxym?J*Q&FK)VQ)>Q z8h-3nWN@cmbs@4m$4+|wi@r_P8g3+?OXf$`%A@&?v@A>YtoshvwC!1RKT}km=n2{8 z(B;paDmWtgWl!Z+>*rei)z=Q?cgso0@k<@K4|2NIxEmr|_4WXV60LgcQzALRbmy8j z9ghBjK{;budcTnuM3?}I%{c$O z?XxCj_7Nk;Ssg;GsPIW`b(nb@GTwd&EXjkyI$DLo;N|_=$6?_Y=D(qKXC)s=eyWzJ zSqa6ji4y2Ggz9si2Fo?L?Mje@Yf2ATitG!-yV>BTFUcQ}P}AWLJl$E55_1*eCg}|Q zmigFwTJN<-Bqye5=$}dKj`qtyM&up%`yLKw^*$q zM~G#W#hsTOG|N|M){iuC71cd48j#r-miH#11S&^`7FQ8#f`H`(C9hQWa{-L~+2dhi z<-rp@TQJ(l%p)A+2#Hn~as;pYglmk)C$#Oxw~0Q?K>ZG23FVds@oY;~jLFQ3HIjwS zu02XQ_LFm1F&$}@7dvcV7cHOFJ#yP84;gGv%C$Z0%GkVKafG1_m`nHdXr8~XxH@>9 zb_nfOB%ngbvwzb6L#3?@V4!;P)3me`p6{9@cPfaBn&6*`FD%D6UrkUeRNAdE=(tCcjAM04EQ`YGz1w@!_ z129uPK59;^-7K-{lCD$L*emRd@2jH~XQlV0q(S<=y*Mc?pXU{sa0!JV?1L$MVdB*5 z&xR&^w4=Ev8Sn|l0v2+xT#!?qN3aA#@=+^fS0WWh>l36%bz*-#;E_w$K1tFu%&tYv zO5h?mg&!5^CQ0C-aF;W?H@=eIUUo=jOI`{33&O0SsIwKUmi=$S;BZf5l|jLH(5rF)c)3a#EYv@1-r)a%LV)<@jL@tC>s zAEfq!wpU`#JyzW?p0gMEa!**7m~a)7E3I!++mB%7(1qkzHNWF+=6cWaK##g0A?9C8 zhve)0dq`B(dPigyHxaEtCl}yDohPY!;f+=+RVG#zPXx9S|gbwcct8 z+_=qo(jcFht(8w&`%H%e(b{~=lviU`RJaeRHgR@pfcPueFx>bt(k zgs~b)>hE3|W`|v(4<>Q$jPP{nn5rI75k|()h7uq- z^4YTFcUb`aUv5A%6R7bWJ1@g=qpp^4Is9g?#^51%Cb}$o4&Sw^qA(3BcoFahcePT!^7Ny zq!0Z1Bfxg7nc&3dUd@cK$(ich4rb>XGOl-X_{@R*71o zD~2j@!vDi|Q``KTG<8V{?_ueEAyvpq>5Nrf*Uzv3Q6UtUm+hT`B zN3s+fuNI95A4e&{`g&+jehYVKgh>_xc3Zu(;S%TsXSGX^K@7lseeLYM*cBffA;v|b zX!cC5Lt?#r$NuaQ+E7%b{+|I;EcYLtMU4y)xYtSn-5EuaKO3`gA!dHEocGT?F@$g| zF&fK|TEYr3lS0+IOD?oiRBuEi)zNegE^Gq%8nc2Jc)+RNEZ(0 z`}T}w9fL<0@;%B%6HXj?r!5vu{B={Ixb8yiZ!e(;T4R`}1k#EP`C zOp_S5(Y{a$5J4Uo z0*R}^O*S+CoX8JwT~$brJqQR7uOz(;gTuZV#i-%&hq6mHB3^>0Z*6D&k45I0)2hbL zKN;#Zj*Y$E8-Hr(=I#6xpQsULD{RBd$Z(;WYHpxddKpL20JP8DjX1#$J}Z`wMHvz~ zgJ!=L&2wL>pQ^&v+bJs_y3YPhVOS~;7+GE()T9eFGLm|M5ZQQ@v!L;yq7YlrWJ|xt zt$RL7YiTZ*qP*&HfjIbtifUUSxCoK7^d%GmH#lT7kKVQwDd+SvZ|gsdOV%5nk{9!= zc{3AID+&j^Z(V1V3R$wKn8f@$O8YPU z{*rvhB5>wx<$os!JFQ{R+M4Ay&i!y^^}nNUsKuv`1fRp24k5HR|6{uMlrPWWh%~Z@ zJLtfKo5Xl2JdhMN)0&ti5ScDZ#ANnzNv`$%&{uyO=@VzPDL2z(wLOb8IfHJ_2hBRO zR{5O*>OXCBl(TC2VqA$F&lLY9MT@#|Fk){OP;QB}^>#0MWK}L4$k$76wP-~Hxpkx{ zzwgi82jcwVII`bP<2Q~SpN>ms!W_WJr)I_ml-t+5oarjw=_a{fe5c3Y!M=)nm&A`8 z0efn0Y{zoWmcv?$di^181vVVejA6CjZ5i#$6igiMDfXMl+#>9j8SGk1D2n3_jYty6 zSVtbM{o&?wUxFbjKh9x^kxNlV6j+6{!I)bZI>A=ht5?iE;zyjMIx%O`La5xkscojX z#{>U+SPBEcoZoxXcGfNor61ku~yCPZ+!olM=88I?p?xw#$B-(Nn+R z=~{ELDy1oE9@M(^E>yA&%kOIJ`D!rPdsukS9rNiOLD`FmH>eZ(aq2T*4&^t-B7}=E zW0)@>-s7d9)YRvc!90=PsGb^qpi>pSmwjo{Xg2LGcc~&AF5w4pIAu*wanGL$pT)gS zpuH8KY_;Z<0i|i69m(o}A_O?At|k?$IH(Q!8?NmVS2O<*AcvlE$;E;`Uorwfx=Hys zi@U`#qDAfkp3q_cp2EwJI6y=K3h>pgJnMC?=JMw%CN`R_kM^(QiNP;i5 zPCdDKA8J2N4AqaYe}=*W+m=5idmq<~G?3QL#SI;8{W{(&sx#_<;UlY^ir!=&1yzBY%W|6gb zzl%=4PivWBP_h!Q6v!gjMLgbqG}P4`ZV<=&BwVq*QaE#sKfb?I*nTF0@`jKbfJ-ip zOCOgqol_;2qEb1KX62iRt~)O>fF{au9BXw{7Z5WY>|WXP{nAaIeA^T}#D&%y_qfnJ zvgPDV|AJeE=zb03@IsSIdtZp2Bkmw^yU1=541hPv$X8RK@ zaurDL@4Fux|`%EI2exm=68p6 z1KRPqtxyvW`*%d`mMrwrH6>K1zeqS+_e482V&0oE)L+*U1>CWB{XBW9QomYCq$My?Er1>5QPd8X4v8)8{%$q%KvC0yx(w=wIwRdsQ>0XPaa-piU!jJ4&JLOXsGWp@e zJ-)dwEIc@F$0gd#>YS12@}T_{ez#Y#sh0W|jfJPu#q8K9Z~=P9I;~FRD}}?VWRjyJ z^V8@_$tax7enIs%zDjAa_#|3pP2c%-{h*`%FR?YY_CWVuuHOKbiX!=cD#yGl)!jb! zkiy*GC6x%X?9d+!6LOq88d++dp~jaokKv%dnV&@34*Tr4undRJ??w0pP>C8$jUL9d zBcQ^}m-!*|F8tHHHp70ePBLThmZ4f9v$a`;GVIO$;}gDsW1Y$g2Q`~MJ#4R&A7skP zu3!X1J2R&*4cctb2zyX^F&prNkw;pA716@(lh&@G??k2?2mSkG)uW>2kvVT1M|;wn zkRU%sbLcK{_Vud1adp?kdA*0!NmwA++aMLZJg{v;hQ5`BjOKjXUV1Jiud{k*N-_vN zSJWr;X}tV34^i9cCQJqH$<~woQ-i4@B!S{J^xLg3pYi3 zT~U$_Lv_T>+z8qJe!i(7gyOdC~qCW4vvo|x+s5py~0^` zbH3SOe~=D-!+>A-#Jc%1E8?+)xA0zK7Da#G7x{_$LMo@w0Z1^_U zsmSi#$Uj+}%4ecaiS9uSkcnBw$tNMI`NN!9NhLnoe<@VjNEA(i$`AL2%ulV2eF1ZP zfGeIg!$I#v)8fY3?+)`F+oZ{={i*T=Vv{EEXG6cI5ZG2jp7A}u-dH@?led@u60K@X zAIaruBEnTwckXJJ6pZJ} z*8n>Be)ZR7@0U;WYn7h1{bgOs_rOmz+@3aV5#Q0M72T8d;Plxt{*x(#KYz3`(SFrGoa;aAM(mwu< zop!F7PjI@oy>RTxw1kLh{)XDzC7naQDc*?SaRJDyCBXa~@gL{9nncqoj^3{Tm){UO zH{1JHpRPn+Mcvm0Ra8Ax7(&Fn+Hnk65pQt`dk)kIX zvfHvXv`u%0XSM@0OM5SodHt-q?AT!yk>+<*9SPsN7TG%&Cp06KHGwd7m^EB4Iko=P zX1)D~WGOwmFEa4-UOAtx`PDTlJ7naRU(m88{D zGwUNx_52W(>TJQpt647lLo_KYL=bf$Y;@O*yFBMxf8snFq2DyVnVAYi8~$|X-Poe# z?mJogCv(^B=MSgb;#D_wiRh=m3;~sVmxRBwRN|Z9<%oIryY)vIxBc}r_w7Owp@Yk> zL0f*=>~iH12^Z=%!_^WVxk_;6wA$R0Djz3C>usN6`q2DFo0a=hm3y)-F9>X_p|2#= zlDxs|Rk~zw*O#MmPn_Yf(}y1z^pDL1^xxDCbu@S?kGf_j6FycwIaF1tSlBOm3scH zRrDR|idK&c#abipfvACND^2_r-~cHa7`ZY~p0S8F@p?i_o}1q!D}%8_<>PRAR_eJe z1!aiGm0{OrW=1UaIRJigelrKSuzL5&J3$xf!-ZHgkh+$()|*O#usRIR%bp2QKB2yT|-!T4MJ9_!sIw`z37 z26f&6E{IAX!f+KO-l9R~Vc({*S~JN}_b(~$WzX4XhoU%j%{_EIj425x zYPFZp9*Q?_!*ct!dM0*Pf51=)H~3YvOPNi`{qB{(%MUR&EdYn70=`WyU&wPY0_ipu zb(+hSs?s&WMoZ!6c~(ET6nm|pw**r6-bXYFPPAuw|0so8CT?Z`oB{JmU$ioM2@~T~ zv*x{F{q@3Gd-YT<*|X3>UU-i4VF_9cqY7RLNjS>=WeyWCC>~3Xqm|%PWSGsueV=l9N9a&;eEUHE68K;;u z@BZW}9+ao}(=?VlV8*uEn_ka*&!2zaHcYF_f(J;u_$U)INV{)WN*H#%5WQBHvzE_r zyY4Q2biO)>=LT_Q*fMEvj^&u3KJH6$SvQjB+2l(l-D|9POPw^vNL)ndHVRZ89ZBK? z%#7b&SA3Kckz`db&#HLim}GvL7i-FNID?@NNG5K1ur}^Nz|0CR#d2AHxab0A(A!+J zifq1eBiKZl?6-T6v4oTFBTrf_XA<{P=22GQ(M%bctESgSNa#RcfHyc4d&%!xH0Lhq zz}X;@-VU?s<+xqTaH&b0|0JOvo=j7+x0R&sA6t`?9EQb_*du$yZq!ucw_Z&6it7S3 z58fw`oQ8NexKJ(xo)a?v>&2dF$4}KNU-e>9KJip5pTb`FGYU6`Pt52&cN0SW4%3imKd`!ES?B!mPq3g9C_0iQoHNP zo&QMmJ#SMmfXbYTGGEzb$2JEzX0)-}inYJsi#S8h-%g7&5Ig)i5H==5{v%)ILNmH9 z8gu4Jbq4G>KW;`*uVpOr1i*^;f{0BvN@C(6s>N)`2d+$et@_4VPQp7XA$Nt{ha}<2 z60Kv@cjzjfzQ!XNj;OA6ythlTO8gF0~u)+6rCJmtxz~i#PptyPV6@Rn2G# zm<{mlBVmV)ewzA<5@d60VRKdB7<&kI)cAFve?Z%2);K~ z8^E^Y_|7cWsEr)pqm0Yso=W>2Z5Vv{M)?Zo&52k#Bo)_pvehOlg`Pr_hZ^++Oy5@8 z9u0X&;A~H;9hYF0i_4loi-)7#^y=aQ21OXp?pC{Tiwb9$0gpXQ`?p=6D4CmWl!K9e zu^U!~q)v@eQR)hj&A<1;vu)3nbv+}699oi&HEH5L^khAO(H=G5Ev(L&#-9hzWy?H2 z;)_Tvoo%e>8($E|%@XQ5w54oT{NkGX7Eey+vQbK{P+^m!z!5^!U1`Qy)1 zA9p;{-iFS^EMg*5jFH`ln15PMBWo)j;{~=3ie=K8D_b)^VZ);fBc?T&9MxPT{KhDE zEHM=k0A91fixMe`Diul}o7(n(Z2WixdVaJ>@q_gYf7bs%(ypphI`oH3gP_PUWUo6| zn#EYI?Sp8W?XO;$ZPzFz6OxVb*K zb=6!P=2SjAnFy8q^LC<|YDh(K8ASUD)|OTN*^~2+FY&-m?n6e<5sf`!N@op!P@B#* z;R&e&{KA&cv*a#jmj_B<0(Y0z=ZQrDS7xb0R_u+tZ`xjuXUg-JIdG({yl7DU`*RrL z&H4C_FHYwH^w^2}tBC{0_nY%iiwi=SxhYhwMGM)zexQMS2mi4Z9Imv`9Z$~KrmMJ8 zMYdHuw)?)>I-oHj6Fw7b{g;*6FRHD|dRl^GU$oRu9M|;1E6gDQ>&ODTvN4-y3A%bH z|C#(Yay;ajM{X+y!2s%2Y~&wB%bf%%l|G5%*crA9#Z8rS=%O}&<_dhW0Gc;+wY$O% zD`$ym)u#a*`cv6hQD*l!M_;0{_q+WDNYe$)n#`S8Tj+>1d6H?1<%q^u4ezCOTJQ~Y zK0+Tq8+HB^RkC551Ir&srJgrY;tacB>;Ki*hS?u}kTSORRH?tt-+%PAs0h)a4=#5Y zU`X$P4_0#Q%kiUN##965gx1T#R#s&?T+K)w!c00ozCj+NE7{~H9 zl@E~I%+glN#X8Pat6YRO)UvhwY!jQPm3G~Gi>Wu&;uVF6Ycr#%T65|MQAr;jAgIED z#*~uDb$&YK8mQi+-w-Gqk;Q1^G|QSlH<(3 zdtQ;GeDtk(f6mcSb9pZ;eIi~6dAs^f&?i4SUzu21LmqcdbEj(B#(Dl~TidS}HKXM& z{$u4O?Ka;WM1-gEbpAL;YlKxf^j}!sNeyE8Le_|<{51fwUvTn2om_RN$)kRW)bv_YBNdX-y%8?RSJx5yE^MbcC+T*Re`hJua$<%xdet1 zsDG>IVk~dT0Gdkl3zS1%m6C69d*Id@l^n}4lNo_+x@xUqG$ZV$@INTV#;N-|>DwZk0E&aq|>)za<+{g2`Q9#Hamn}8a)x+&1v6;swjoq$8N z>F6Nj)v+R+>PfLTwxHp%1H9;b#r%Wgf>>Vumfv#|z-du|S{l~`t+tP8twbquY(hjx;&FeU?@!M^@Z`Eq&SzX#PR{3Z-sAOpzs_g97aHsr`7SarFtBSrd-9Tj z;hekiv+vqlpzmiLqxVaVM+~L?0&8a{7d)Stcr!3?-}$dGYQDU^dv;O4>4~o4 zSfs*TFi?jZz<`Xr;0LIPq3!|1JW1X6}Zl3>q{_c}cDaiA8 zv#&<-nHiju=CUeCjrhq~CRYCISM<#exqtM$<=z%tEi6pT2CKdQ*Vxqb@uhFh82qV4 z5Wac`zAf8)ofBtz>f2A*nNP3WNy$>=Hbzm)zNlUglVP$u*L^%aog9hbWGpq zhmIXQ$A4PQ=0Y7cDCZV|+DCaCt-2!$<^3{NXA^0mMltMH%Mu(2kW**+f=l**O3Qa^ zmEV7P@YxkC`*)cT_(N;A`5wD_{?L+^?m5f?RlfGb zW;FNRAs7b4u3i zgPvIiu;|3SGLkzN3QmWiyoLOR)r@K)OWrndC+EAlRaxx6jD6tZzu%_k2NH%xOo&oXuKcq;GrH5kPL*Ba0wL zNOSp4X~qsIQbN1FpBcRE?w|nw*0z2p9Y^;I<%!ciDT={ZJHpu4De(f$Ijx4f4+kfg z0>Y>u>(*PaU3E7-a3*Wu6P4?(#qX<$|pr`NDKQSE>-u78jvV7&SBsfTE z=Z|2&{MWaN?UQ?rhOi@n%cHxt~&}RZW%@2v;7m-EaxDJjiE--R(~kYVu4XCwDADF!@buer62nS zDCCUAAAj(OelO2Akdy9i#a_g#N_mSCrGeCKddHTBU0>@jEaWVKyQzswZW9HzSZY|Qs1d$VBN0E1=3aLD_t_rGF0um^*} z89ty><`>eA>o23xE9lPUVZJRDB|<$i6>8CEseG7fC9AesIjJJx6Iqi82pJ&%Q#vWk8kBCc1G^Z9b)CJtK@N_&e#O=vy{UP~bw9-waEY z!dhDTc|TSiTEKhytg6@Kt#K`r)$GXT4&OMZXdK^_6Dm))vzFhXCryTy`ZTn4E@7>R zYV8$6G63YEy*CUNi`uCx99bl)&Ay5!|B>HlZj;av`(Nexv{C?AXX;-_50&~k6fHm4 zh8Uq1mKWcNW+;cT96B^la6o1sUN0ELlS9j``HMDS)hrw>DM4lsR@%^6mPGW=)Z&!A+g77b%Mj)dO4KX3t-g(%v<77&#vOs1Y`~gnXJ{^>-sitf^C- zr|~aG-}Txo9r{0xtMDT*tI8Vef)B^ww0}^$u%eY1=E5+1jmI>%Prh9We;%W`W7)cd(r!KAo)F8D7vgH;g_s`Sdxml#x7uvo^`WK zp#z>EH`=J$qUrc0ugwuA ztsh#rWBk;?={~3+WVWMgX@^0Iscgez3CQ$;q@LBClaK7SLfqf7pXMq=PnbKun-G(H zPI|EDb`*;E1G~#PrvJ_={`}v$L59KyoFP{%ehMm?q^+!28Be=Iff;GRZ4OZsxAoTS z35BZM%$mP)Q>8CM`h{BjCnq}wmmZQ|2Rdq<`-I`>hFnHo@|i0+W=o(7k)wLJ%b`bi zTCGu0apQ(=bsHLj1Ak8YeW14l&s8upQv6gSkQnS2UnSl6S1x~u*cuidCYXTE9jk+$ zl65_${5t&8mj_d}BKW_htkk%lfTh{;7u^s}APX`83hVCEFdzY}tgzuMB!5=qAkJT^ z;gZ~#NbCi49&_;HAM195q;+8*Mfn!jqk1NjemIR=AE&pzYSjkZTQUA zYSi4_4X+*ldeHgFciv~{CI1WN9u`c4tNVqj!)M5po?p3yOR_UAMQaaYGp#ySms;OC z6nUhclzh)t?DDAum~|`hDOO`SOgs{bP9M!%akj+DQk;f>=^bs&!fD0t62*b54qDOQ zHW|llgXa%uA4o6FMjmpfOe!!N7U!!g#Q#|_ti%QEBx3_xC=JOcJ;DLeAyz%OFMi!Z zW-Ld?L{qGhvhfYGYXto#v}wuXYzdfb*l}`DTzR0WcAm!arj#32{Lm~E80HF$L7v%* z1dET@SbE)gZ0UG-dwAYR3D)W!hf-{#9N+} znGuRE?D$1>LX^xAoy8!NBUVxGx~CW@1$7~`A^Kdw zNt7~^bFTLt?=N#)wKC*&jPSVYz2CZUb7M8MenJXSlZ?OOJ>s!mbdOZkE?iP8F>rEz zH>0LTS`I#odp#caH1sdI@@V6Ck(Epp_jcBLy9}`{Dr(~fj%7tx6)ZEZg;p`#FQ%64Y$4Bn;U9rl zr-t1(X?r$f|LV^0J`FB9x#KbtDjF{S*r%=dp_QVARwm@Ngtdz5>ZzY%6(3q>@{|fyEqSL3B1$+K z*ApaFXRb|T2pb4SJvsARBdw-xT<`XE0zE++)8Xn1i#S4|;I(V?bBiJTlw^(V*vpWn zRXUT%x)|6;TvCOl!F#dw?ag%rpumHxd=C=ugy>_<3f~-GlNl(mNn1F$r*-Yef8YYTg%| zE2faj7TKd=O=6;S?Gl5v?iyUDGbLE@E_+56)o#2duIEesAig@V_WIg&@f6I6rM_9G z7{^w(b`HfFq;zSd?(jz~#XsJ09#M%tuNF*z7|2I9A93I+=3*@jaEPyw%s zKd2us4333IEtFQvk#)I6tyq`J7WPJ66=f)9LojpjqWp_rDyb9*nH9q2axOh!%;HG5 zY|e;zQsf}%npwy3**Yh5UhC7TUSrhL&!4(!P+aXWy`KKE8^-8t&~CNSN(qFQuB~6u zY$yp?d%}moD-3z0oL+nq3T%>iAUMrJzqHM0`pM|-I;e>?0>$oh-IH^$jeLHv&B)jL zJ8VfSbbc;ymveAll})wAB$sq+1f_i0acKC~18xC^(T@#4Zh|X7@*ME}Nvl+A9t$a* zt&B$tf6muh--K|5Bv#9unv7$pUNf?W4PH55t#~L|?i6OQX$qEjMrPn)p3ptl8OkyA z6kc~zm0lAq(;ajj6Wq4Cu4&uzMz&*9!Rz|+BmSdsZGYyM_Zm7GgJq+61ffY6p?*J$ z9~8k7TH;Y}Ti-`P8}*=<9F?hE!)n`=qUsKsyEY@iUwxP!FfSolyv&Y@pqll5^M`C>A`E^c4xB~o`_*rQjPQRr$8riFnji2MsFM&0l~Zv_*L&S4nHOkEy; z&i9)Yk1Y3+V12sLKWd95+&#z|vr{7r=Be4 zAvi5x%=x0eQq5RM9<~)Z#dNpgVvm<{bet^3@nxTsN7>}pcF}R0KpRaP7{J)X{2oH~ zI1;{jz|IvCUD$Uo#A;M?pP;SS{L4k?T}eH0s$uUb*i$#Tcw1_LVBydJ(?yKBg&&m9 z;5K1*Ebi?6@O|c%e)a4{A51yt@8ljs0WNZS1A=)WrlTKRejyKF(lD!k!#}K`j;RvZ z@$tXl<#_oqk=jmoNZcvj*mN&{rPPIVN%ugUV+}jA3hZ*3rt))wxaX@o3(o))sA%J6 zg8aKeOE!yWHcGePPccPK{sT+JlbrxFQI~sPbt(O{w`&k-b&Zqn2jVN|(mQji}x$=5z%8#~IA-hW5x zeWZsq>ENlb8O8kmq``Ro_IbS{(Th9fS(mqll>?_3$9`1CcQp0Cy?bW4N9QRUg=K+u zu1IV2si6)J95855ke5It&^ZhG>H)XcS}Dd#H>zdp(J8KY<}LFG>UIZg#aur!2Ji4L zq}>i}B@M>wy3H$v<+r%%k%pwJWij+Y-*<_N8e~i}J6c%he7Y@=nM7t-^!EWL2D>>o zv*}x2ex|6T7>^5hc*QnEaPiRY_)ZMNnd3u!E&)nX#g}|{Mfv_MZM;R~(YE6MxIanI z6}!lWfZZ1&JZ&`DZOr%cG;Q)=Q~1@n<$fDe*>#uR#$KOtlOnxMRFifgRv`SUqLh%k-1lI zWj9|Dc$H=sui~Ik-&gptk9P$8D;zV`mnUt2C9->yU2<~hnODOzF2GBP@BWWHBwGvc3y=4LMZ6k>f( zd#jHFv~-HAlS4XD8ZC9T%f}v^0tU&ZR~;)yjYs{(5fYU(+8U)0XA5&gw9<`21Ml&v z+Lwu3%R?3yivbm+=YfeEHLVAuA~4Q$-i=T&)981x__Cxd=EnUJbVHJaOXFeWtaZxY zJo^m|s|XL0HyUcJmo>oFcjD^aferw{%`hKgnK8+*Md(N(WHKx%?67->sr~18xO&J^ zXIkd?M|T!ztTcSPmFdOecqhfV&_e$@ZKH1`NuL9!=Q zJ&ArYn!8zED!-$sctXB9C7U6#b=A(TYw?d1z<2d(1N3zDp!KcLMtH{~zoE#jh|}h^ zOP`yFyD(`Jzw6SLJWsbskVfa708UYQy@pQr315iIy3+TdJsJ(PkBORSRyWm@lt*8&ZTYhdLQrPHJX?%A-a?NcMlE}lj5nv*=%%yFfjWGxwD0af^yw3Dr?UI5pN6kh(*wAD z=dI*Swl#FuT6SzIrh_@Q)2sysCl2{gK^cb;F0I1$Ma?!c$?O#mRng-QUrUQV@~e4@ zOjt9wArYExrA_nQG@;;)M41qC>aBpo@@mbp3qBA3@_u3EJGT=$ZST}%3&AQg{ls55 zV9IC21Z?yDVJTz&%yCkY!7$EJ!GB(oc>%_{A?%lwtX&fn=B}E=;>H>HFrCphjorC6 zLaE0#HF5F@go$JZ;PcQLfAQd6OcZn0oT;cGcSUc9^ksX%(!_{AN!p02sh~blG7T|1a^VBza|-9!!g5(RzN+XucV8K3VD+gOLs9CGEY(2xB ze7NI}X`ztcJ5N2@7RlQ^UUAksjJga5`@=prNXPd3R2J3MwYb=vG7i>_ zDR+ufXesx$$9yTk}y7zQMWz zKltb#(WkZI66*bY{$2S`#LqP+-L5hIE#<69B`c}+{u2~w%@T!lx3mS6RqGR{LdSiU zv$TEZryW9wd;?_0wb$mNb1~8rM+CqNmmJsGXhex}!}i8u0U#^NEwNoWaB{@Z;ZRkR zF1Z-#<|Tr+7kifbdO zOrjQpCIwWCu_EX^(`K^{h<2WIL9=DhyHzGihy96RVyl}oVgspzZtvC*4m9EoFySBL_Nlcy=Nr}*e3|voK7BbHGshyX*zEph)yBx-YwoX6+yGTq{Hsz#Kj(-z z^~x=Rg>9gN63#Jlrq4deHAi9ikG&CUkH&$ek=`AIyK)ZJ9@XzJ1(%f?TlJFH?Q>{0 zb|?k(Mf>p8ma>+2+fsSEAlZz*#`l%2IjU~7%LIg;zvXQxEgh-0q!Np1Z_z$u8I|2= zJ?z8kVf_N8`B0X%hk^Ig-|p9)++Fs>Uqz2*cJ7%&HRgNa+04OpGnasIzXlpZGcEzXb`Q9TA6vPI)=eJ#?Z&kH9b zs&E=`E|k`nb(dfZ-;@c$sUFvgp z3(%2yQ^Hg~N!8UG&EsAiE45^)(MX|^^;s3Wj~1`a^0d9VutWNCIo1uhTTFQ%z8(lN z=@;HL-&}!)8q?>rg3*d zdLQb}H!!+=PtBP?+{DPo_1WU0#SkG0iYL}Xf=YeWz?Qbp1O1+<8j<=&N%45*f_q61 z@)Ij!d(3oZrG_`d3=|id2=~wC775fJ+wD-biK(Lcs^k;B=k-DXK*H23 zl}q*PkjaD5om$mHm(U&+b%iSh!CnTI19d#+QabUvih?DRXtonvAzi-U~56Yb1}LHIuzc;P7x})V^wlnU!*T*C$@G#<2qvI zFDeIG7@QSuHn@}Vd&o~=bMX94z$K9rhv)hlaN9=a zu|4a%QFcqS-&27iXJ$)J4gB3=53US~mOFu#vuA2RIUTo}uPSql(p_4HOB3?22Nt9) zE0(B+bVM^CDvW?Vy@U$3peVL#wct#mi|)~*G;Wrmt;jwA1U2byKm36^o(ktF6!d^BRSOXIv__;*JoXY4n#Gr#)IGb;gs?@ z`#T4Z&;Ah6T{SIyGQq;ID=65%(LFUgr_a!D?+(5b|F0pwhhXL6_dh{$KvSs^sXbq- zC@A=(^0D`S0Ix3rz%~}{5n_#{y=T|~{G3jXz>#tG6mwURWrx-TYjIR^4M?JdWA!da zA)y)&azBk(Q^W-6d9VYwot;(5sDvO!ijHT@!C;7}HcJDq>oy|w*2WtM`0I*-dUu5p z4D)TW@X`*zVU2S>_^3$rbQH9GyD}xNJ5_A)&s3aJGABh9hZ%Cw=Yah?`EoP@yF5Ah zkA)=tFXfL%jYvRHoKvx5#=SPD(tOU0r&EF_C@MAJ_h73DEuGykzvEHq>|dUNoWQrEOGFN`H@N5>Z|G0Jg3X8on%G8H+iKV%d3ovuv(G$Rc9gf>Myo@6K;<@G)hJiu_H`Z06ILZ1jeC>W_nd&@X*) zi-w;i8vQT&4GyDhH|nyB_X;~#OiV27-)Tr4q?{ul>LrT5tzv?kRyzAF8^p`px`bf$&e*{Ym?f{`Ie1DjyjjA~__`^Ci z)->jlP#*E@P2*&dP@l@4avw3UD`Fc#K*qIq=1++_0ADX90sNUL!R$-O`#Hr>&Af*E zaAa#)$3$%C#w9P4YR(z9FlzL#JRwm13gwmRzUlE5;LF)YEQszr5*#l_c2t8a?HcVW z$6>k(fe*66@i8(-zM-x!{4%M+9Xj4G#L^eC0XNqi9OQ{xEuE+Zz|%VQ(2oAPe~sAE zsl{9rxmbk3eUPJoCjJL)-~6|yv%z;v`jw-Qv%>P}Y3Do2Ap-+==)a2cR>p<8Z?Eb* zS?r#&$ofk^YcgZ(+K=m{-dc@8|r#)1NhcvM(%nAe1We@D7J@WOm|QVx|49 zu)OzqE9Mu*X*6;$p4Nn)#Mcf$Js((DpD3R;jvr(G1mccLs{8XAr{8sjoSL}Tzd!;1 z0tFb6=jrF^%&Z!|i~o{8A$o;Q!q>L$WKw^> zOJ)BF;F(h&p}cr|@@X$v=qxvo7gm!02ER^;&r9f#8$GhBbJvb{5*V$`5~e;|3`yMO z;e*|tZ_XUTW+`S^sb|Q=#!Ov`l?kBeX{W$%2-YbGr-9v+V>izwSZ$}jd_aajI!jOx z9+hbVb+5jh@Hov2JX+b>y5`!9{?VT+=9fx#UiC14N`JTbs}HlNBOnWloH%gz={Go%)%l*XssWo9)vo<51gcr3qsJcNrwh~`L1q$ws2;u)KAA}i^dCun9ay zuoIlK|M3vgd6HM=cY*xA=JS?7!mHl;0-k+>OVg56C0_3kxpzElxVH%oJ_Fz`fGTn< z1JXSnL$S7w&)6qiVjKpqo-r@|33-jW@iF^^4EqL*pQKJa-UAZU_@!b%gyhe*I>I?I zWPhU7h4p8h6v>KhNbF>&F3VaA#&sJ#ZO&G10HmN1=Tk^}wyVm=;-N{shcc@!I_3L2 z*~jQt@=8n0#hFg*gc;XB5k=JM>gJWP1M`o%(KA6SC!VWCxr9<+V3=Fz!m0cblOrAU zZL%%nyc~!BGB!qL;$Oo&nF^2asg`zBw$%LOd!tb5sl+j=xH94>7e zlCnnx31-=qGwX23LfjUMVb<{@n{s&qs{*4)7+h64`gw56n)&Abi;acro+1I)vG%ui zPp~=<4`b72$Msoj)Ak}B>QeL;@2)7GnFasc@$>o7(nzoO2K-!j&ChfTPl)VyG>`uG zBn@2~F<5NaN$5&qx3f|E-&IP1x7IV@eU#FBjWE`_^Wiq$+B^84JsQxJc%A#r*V+?s zPw$+1XInmoAM8jss;M_%s~>jx2fk^VI?DD_r`Hj{jT*f*9!uXMvRo_vyi7@o-*JaH zX+MqzZ#PJ**Hm=DbdKUX6c1Z()p)T&O*Jsmu@Z_3M?bZmS8G(zU3>zvgFT3#l`i3#eg$cd>h5D_(B(Gs zZo7ae_oHKhCXVO$vy?|QRx33sLt>V_OT1JYpV}MzeY~kNvQ#oDM80vjHi|0t8nh9( zk`ued6&CL;dmG7>2?Wq9|Ge7NXo#e`_LSP&*% z%@QxyDM}m;;WFIh8Pd=PDG45BF%$Q18dpCvQYPNaQz}i(Tw5QO!03>yy*^RIcPbMj zuKT~J4j5c}6R2zKdSXVQIs*Jd_f}J8xn6IBNkk%{gmG4p*7J-+8%zCrOBeI$amZCY zjG)!egwC8Y6-#f@wcT&Z8Q33{f_f?;k%&|c=-7b_(CJ|y6s+;HqUsA~y9IYJXgHfJ zgFNv3;pa$8JQSKpu;Ox5t^$@N9sg5wY#qP8`fYFTF{;7i^Skb{>md$HHXyhL>fx;u zcYW@CY^h8}ln{6yyX=y=Cdg-(sZj&krA!RKb>r6r=xn>fdfKU4x?$d7{XPzid%4x~ ze$VIg(u$4RcHUBl&e9BD#Aol!Tl+N}=gmd-y}}+4O&#!x1nSRZPBJRgAM0|-yo`!n zL)t`U9$HbZJNX{mDgyw$Qaa-tjRvINsI*wGhoW>$*mk^7n$1#w8C^Nt8Tk%c%bhwt zTirPeAH7o1xokYk)qUHG1votrf7Yl7&sz3kM8d(~yYR6>qt_O!zus&Sz%&1AhnNoA z{5%;cAu>;&T;30RrDfLP?n|q$s#c~gC@=Fz7b%=_$Y=NzH}b=9v{za~V;ZL36z5&m zLB4B}(SC{YvF*CiO{??OrFT3I!apFa{R=0Opqxu5W)I0ZQN^`gT4mcy9xTUo$IGj{ z3FJFth@tfK`Mo@`it#xUl)`z3d`S71=|x&;KsR2xu_)UzRU;p4%wWkN_!2H5gy#%U zX3srQH(M^xa60?|M_aVzoZjWJu!*f%{n4Mmrn)PIE#p zvb=fkb@D8h+WH!;@K^r0wGFZLk5r#UNl;0SLFnXnsBy7Z;(MU<%zvnVI2#8Au3@gB%vQ!KE=z1OPp%dA`RO2h=%%dK7Z66=MRN!-<^G_+J z37^P7INV2=nIf^p|I^6W1o%iECi-KF0AO>4gyX{2VGt>F;$shsk<+*;ySro=nXHhh z|3Zt=NH|L%B!_xIbi8e^zbNO^pMjB;ooBcoh%m3?oWA*oyf#FUXQY6eqslLS0fJ#7 z%8Mkv(;!=CtH+pU$dQAZsKZQ+Jn7-g-Rq)MccCf40KwE=vGH^Qqn@v z2a33g@w12uSf(u!p5|b+`aKS0t>;@l_^%iyuyb(ULxD2)54r1g-G#TSJWI0`xzksV zZvLj?{ty(UV*3Wd)_Z7$)fA9DWbMPA_M%kpzD4w((#i1l!WHuPEil%1&2ajELQ$qe z)PEN6{Pf@)CXG>$o6}(1DrU~xCY;=Zv&HX0;w3J53+3Tk=kX(ojb<1yfn--E2 zk3;vvZB`b(=8ysV`t)`lyWluloH6P0oe%_%v^2U;e{x9-C_|5(@-eZ>HuN<_OUx!Ver3r%g zB%m(Ze!lJZmXhK39vs5cG6~ z7j~;!>~0RM%QZ%7SQCEWA)S^gWklHErAWWkENTE*g)ex@_wtBnmk_S!eJ zG<@oR2UTr&Ec`6CX=SEJ747G1MvUMUq1%pFgi(d8L89#%4UB)sZdjh=Bz?;SEIoD* zTg9=FirGV$>mGPQz+LvXbBFi0k*n)#S7(_o5o8q#mN6^vgt_YTv-c_1tKazYFUUZN znGyJQpQ>lCFH)I1lFqn~pvcW*HYiyGM(b;Wb3J~m5q&?rEZPbp=FQGDJLC& zwp+Ru3O)1V6cxF67?8~Qpl7K$XL|pve$3XArN%$!{d%v;t65I{@aoYeA4W)TzqW7F z7j2~P?%nncgnr~Kaqb?<&&^8RgMG=0p`@%=Ajdqw%PWNNFXp@bxJX5C*g7uxJ9uGw z+`!fu(-|1L|9sx%^BbE3d&V(e%_>DOv(C5#ko)zjT+zPpuycscG^qaAYCj(_WSLx7 zj(Z$-jB?my?&b8$CsVpZC`Ow(*X%igMiLFR?CF)gVdFG-3`4Pp?4Z9 zGmM_s^9S z2xLx2>ea3Aq77%rMH+!;6qP}x_V$zaw)ZH!KVzOU=D08BQ%q* z)<;tLf`}6B4l0Mb23rmbIk>Ic*`SnuRDbHAPYH>q{8+FfF4w!!YyTNpk?`?!A@Va( zxFQt}Yjuz@Qz-+ac`KQe%_xw>$K;qD=9GvE!U&Z^hGz7vx}))_VD~CNEWr?5O++pR zdYTS=6)zQJf=$%1ojJ~>{M48;>N6K&`SeVL)n^f2x+>Ptn1Vk1%-z45iU!}seT{Gfm-n6bC!mHQpK+`2*JA)7ujw{W z4g>5=cJ8vN3-m!8PHi2M&^-D#`S->} z>YiqhuKl*YyJ1=rauXq$2juR&Wx&5;7WjKg^uvDe>KZn!H~3J~&awk3yDPO{64=oo zk+(}ujp=7j@qT|W_nHOWzvNKl=m9yi$ZbH@6cdGe8?X#`M$Bk&y^&IuBz~qf$2MEt z9WQEM1IDi>k*-a}zmAZUX}E2Bc&>XLPy%R|X0t_`4JC~&2L;aG>37@BRp}Z~9f-sC z+GVx{vmKEY$itfr&xgM0ZvEJAjZh87JzVEp9vWfM@N+KG^SV$0QMd>h?op;bJ;hc* z^Hb?0{S~;aQ3`e7=ZB;&6s+rjAMsmtr)TaOs<|ZVq(HviUU2urgafE&&W|;VnWPpT zdynwt%t)PRyL`15ghP_$WPt`W!dcBli5KfJ^yeG; zL#ovJR4-K6%CnPkqUaRYw+9V+yl zQ-UI0=VBD*}kLyCt*_9A|Cf*{BUVW12n3q4jo z&&i^Ae?haKVo21}eUSD2+6uKXYYemdImqq+Gvvq;c)Q2kFghsq;694wK!z7sl|oV5 zaU!O$B{wj;^9~B%!W>`j-sTdIYGk(+7PoV|eC()I8vUqj)t{lAqVPcA+4uVUrom|~ zF0zT{QCg&#OP0(Fa^?P-5f@)X857Zky;Q$Pezj}Qq#n`oq92(H3wJ+`9%z=hX*RJG zwbA+(PIU>_cbzouPU0ihm$$~U4iEG)Z$#7xyL<<*740Xz&R-caPz6VCyb8_%cTO zw9J(X%b^gKOa@akVw(GU$=re0SM9QC;QO5E{FmLGj9o0vp}Gt}#_GMdyApB5gx0q@ zww9Q60yixmzEs3qw)0s4j=zx=*Zu10c0^w9JP*=hS4>a2p6Aw4wRS15oYY;8o3A@T zSmhTbR$D@FQ7|zsRyJ*ae<4O7P$P9a;R0+VU`xG{Nsb4mn6ePa`_l8wtMeH)=JhBU&7e{uea-o+i?t>oQf_du|7vjsbyw=N?G zO>w?2yy?#Xg+9&(2Gn{uN@VJ6HnFdTt7{;T=SMlVyi<@rn|^e0ueY{Mp6#3X0qN+d zJ6m5Yj#h{CQR=Ybsp;-*y`VcI2vNx8AiTsVqS6>JhbIS*6*h4Fd2k;PfLM?X=9*jx z&Pb7xtPRXdD>J)l$&-SQ2$T~6GYEyPG)tOAss-7!hd(;7BVCfFv4SPEF(Sw7L1WTj z(f*;irt(=>pc_9+2BW+h|K4rudIbGf4LpaL`|W(Hk~s^2DW`TsG~UHx(3# z4hhnDuqsv|8ycH3{aTbz}OIqC4&S#t>NT5~PxAU^9Y zh$co#QMTfcG(PT{%;h!iyd9{a){666$sU274Tj69^uJ+B>KVjz#kHPZiN1{;mcgB;wUk=1c4S zs$c;yH5Q9!Y+yL8vt^z2!5heSh43h|SE(*PP8+F4S?DX?I8o5cfYzT;gu}6_Y064R z?4eL&WF2l{ylwit>xCsD?>9cM-J7sT2(U5>NCz_5DFE|{i{h*)jQ&g+U!w{(8vloyh#UBqe)nedwfs5d07+6=6-n9?ks95iH zU7M1}uePo3%}2dWj@V@M6vGNU7~zcro^xteUk15@H@TOYCYWJ-HYLqf{fcvU>3o>q zq{SW}Rb?jPWx&p#UKUQYklty#N9tQc{5Ci^05p42;hcr?7mkynY^T{|9jcomr`!@3 z&Z?mB-}fiZFO`MMW=D6WF0?+vcND5huRx6hnz6puM>43~c2|Zq7;H z_eTD#6DgN%DCbhT%R*xcOS*SwaVeCmzC#lnb@<-!V(R;mmLRoG-)jFa0ISdR$g_<* zAk&fX4^-=%{ZIY!YfY~&P4eghN}|@a;XW89WqKs$DDSxZOGa6E=dG-jA$~hw?dNuu zPfH<jdnUzio)A>*9smi|N}uc1|G5?U9n@)&=+oiS8)ctWu(Dhaglu21f2_^CLGDkLSL(}n;w5TTjZbBmH)Imml(SJpJl=dpvK>kKQ&rJV(a8x=pw z&Dk?9+{ieYWJ6wj2mUkXi_;V2F^szR?T1xKmZd7%-+9r_c7tK8=po)&`Y#Fuh)ocWTc(Qj#Ee;C2rDgGwGXUGj*b?t=l;NL zt+dLc5qYYn8s$M<*xiBdg?t`MI2n<{nVA|)mOiW!!_wG3*YZ;wQG2`sb*~fUllZ8G z4!?(}BM_%+b@aq#rG4vpqN%|q*Fd1^R$-u*Zx&&V>GwsfMeT0t{&6zNGc8v>H`<>u z`cJ%;3%^aHMD_ra^;CCgTP`s{)@=Cj>Jr;>KD)>uI-gS#-W3 zycLZ<2M8BbtK6I#&G8-+ZdoneW{@WX8(cyyLXZ8}^q?p5r2yxV4$Su3z<&*4TNj;U zcxL3o4n;C91dhHG3Y?tcJ7(EZAT+U7;Zzv>n7A;Yu#HP+w>%8i^s-ja3w#rX&<*6e z%J0zw1~!{Jp4C4V@^Q|h6;ol{L%Q4!fA&t3$GqnjiXAk`I^b8z#&WOHc4uw_xplY( zDhLtMgUfm$7K2u)>q-CGd0icyGT#Za-)21Iv$$-@vfonLXCB<#5C|L%Ld`Pw4Kr_g z1b(Tzia6&}d&Orql`)gaI~2L>`MUBP=iMJKW;$8V{mLvMt2P6g0LB7zy9PQ5hnyz{TpHVksC zT)yDw^xt7aUkM!~A)gdVpYdqNG@6b2Ef}13n4@Yuhhoj0p+3feJm~Cq$lun nbjs@go!1f&v06(yhQyLkLJWf;32|bPq8@BS=XjF(8s6E#2WDH6TcL4P65> zz%X$6ec!k4UH6as=RIrfv)}Wcwaz~8Ip^8&>=Ub}qee;ghzth@hf@9ZD+3%H0>S$+ z3klKv-gMQs>|Wt|8>lJaRE@Fj-XD;9yf*X3!Fj;-AHh{Ocy@9>$@>14uF<{5yO;lL zRQJO3KbjH;hfSexI7HxHQ>edEGz!2y$R?dFv7duwrwQ0gDy1rZc1_`0u+hti=cG0K zBIim^_vdI*f|SwLF3m)<@U@{hg^~k9@1V5(N@s0kZTxA--3lvu<@8wk2m{JTyFT-U z!cHO8Na?2i*0GNrQ2(lyw;#mE9ScSka>69=U5Vx?8Xh|T|C(5RIo2)q0pe||Fp<<^ z41tO?CpZ23e_9Rj6+cmp0xFwg{<)SUEc4>WyapLZUC2DV{p@=*DU9%FyWy#c5wW_= z@yM)c6XE9ZzRH&;u+VQ5kGi7=n_edT+!QXi_&M$n)G@ZiG2r2*E4=>ezsyB3dXIU;=1H1YS*$%9^^-jqAn2zQtalRqo)yqaI&z~k{&jD zsb#unJ>}`u-r5c7hM~VHS$`5|1m6B>ePzvhhwp-zWWLl{*ag}MR4;JG|9Bo2%Y5qo zg6taqaeiOOwIAcmDR0+{nE62qs$=C5%Wt}qWL><43#I?HDmLOan0(8p8Iy(kx3*(V z)R?;PG%V?YW_!9u*ZNW>inMnEk2=S#pBkD;qD!{Ck|s?4hCB~E<+2BpJ1e5j%?=`$ zb(GOJ%=L1aLc}Tr#a7psr-ty{q-^#0`!RCEs3Fxg)!q0liFMeGJqo49x&ZY4P;$;F z>&fXNKUOI^u}yt#O7reg1Z&?f_3hKd3b=Ts|B0jF#nJ@zZ=V3$tPMcJc=|soUB%V>^I>EzwmJK+2?tKZBJ7hQ-%9M&|B$C_k#rRbqR z74L%lJl;XE?l#3#jV7bqj&IgVdyRWvtX1~{dPVV$LnTQ<3YFh!RgLlI1~0pr57rMc zGZ%HS&%ttghDimnpT$LV4r`rzK0!Pe^1gaQr8u@31gjL5YtmNeRLNYn0gBnfYat|q zTyly5MzcRpHfo*_XOeHhG#h937b#6x5q@=-8CKR0XH}O%T6<%wtE=wR(5T>qF-%+v zb}?b^vE{?Qn+>vtw=p(1J6HZaDD5qEO3}bW;-pGjN>Lj0qnO*%OYwvUlT!!-D>O4E z^ad24*65Izl+>D3<^rj7k)F`wWy_>)PZ1;5%p9V+Q2z@!%80UTx;?EGm%o8TV|DjoqDLfj0^e@OVeWB-$LBY>dn-vGuYk?#iycBSCY9~_Yl{RHZp2ry@B<4h zX#G}b-Pb8LBmSHM?N#*u`pZ|i!eFVpd3FNFzZM6_^xdB1i@q4J(e8TV{B5+j+4}XJ z3`;yysw^y3ew#gY)coTOU`B}1WyT0x`@2cq$5y-jDNFpWpcsaCv8xo*Mg?6GF~I&D)^AGl%sca^SQJeQj4F%^Ag7 z$FTewhG$`uc!)C6YM1WeI>bUs;LV?8$q?c?;hZrQFRwa1Nw-+@z?WhoI*J`Ms_l;` z&&5kHFSsEM%n$6ho@7s^wXiNHt+G1%PCbL80`uB>K6JO_S<28Y>!?KG+*e^SRQl zq3D+cmxG%{&td%$fe#CxEi<)DAL(IvY$I#xJ;J;3+s&;@Vn+Q3Qi0t`iJL>WX_BPD z49|WRY9waEuAL%%34R0gJ>s1Pss*x~s~5dDr%;*yc82d<5X3MJ;woN%B%8l#;R>%$ z(kD1O`CkS=AnXr&x7+*Vg}ck~jjkj{{klX}OnY+QS)o_G4K|79K||)=^a?NdRtcVD zF%5hUE>zM@7hjM#I35`=HxfqtsH|5#fFuQ+<-f`SI3X%-<-@#pp7eB5#|Z<+OoI+m zEzpfl?Y=&pk&P`%H;%m(y_$(hd#jgLbIh0VMrszkME(GD48xY%Ko|)<1cVYg907!;p%Xvf?_0FWcMYF;nLg0pVwY zRYR)bh_Al>UXOfM=dAm;1tehQfyW9CZx0y#i=ug}*BOJO1$Be(d8|&!&8X ztS+(n?`i0%sC(YJ#LKy13(2d_jI&l{Q4Dgs^2LdTL_Sd7+3GccD}@(=&rhsl26|Uqnxq=} zhbQQoA@-UMG15*{NdXwE=bcs7Eb3#;u1(O(@0|@mqr^mUt_Y)Gh_?vu`dMxAR5^rr za2(sB7Q7_=!~}v#2R9%aM3O@(8a2ToYjuPK**&iSYqj^ES74tk*vVkhE{; z*a_R8E>6#A;Qy=Fb&$!Trt|uljuo6)uXgAXNhG8+#<~?6-hZl{Zt{|8`5=#Yxqj{t zGsb-#U6ld&&lHQf?ZHPm3<=Z=u7(rc$hD2x&7ZLkzV!NulNDVV!A0w0_CHxj{hsPw zH7}H@8Q1UNJnxqxwpA=GJGzAO_!!O5TG6@G^Y+GFk{~TQ1v=kTFljp7Rln&Jl7e4` z*606PWco%;O?Ej6m%fYOlan~-TJdV%swTnaucsy&4urI++z9D+iBt0DU$|fv`jJIy ze?5#Vxt;J0dBGocBn5no+$rSHR@`=2xo6{#KXPK08@LC-VNIe0!DPYn~g%!(^VxxKnQW;(fg#k9eh&erHoy&#$%Y&SSkM|}qSO8sMuTDpH$ zy&$PYa^_7(G5DR0>(z~sjToq`*7S%@DtKS0+cQO+G?aQpg^)_;!D&4nd!v?1%Q#nH z)HW@eYYmOpW$HP*$bAwDX&QgkrqNTKt|gn3-C4<{a73S!AZ_=BU0{6M5O1U1j6?N` z9AT0&F=kBw>nKg(T+w=MXIQIWO5*ZcGfJ2&K6M~4BVbt0Td~O2Do?NYy#QxK+-mE)l1$CFz^X2w`Rk2CH`JyKh^t z>9$X8Ti+Id@#EY7{d{K5C;L{6`yfKG_p@}b#TPv%FdCAY5pP_y)vR6dzJ2khaSYXAglWUlR#$I$2vC=nSuosITF z^d|1T?vdDQA56Pz=&L(0J%>JgP=|Pc4w5Q|@*OiXB zt@k4EJ@dGbu{2A7ZQw1uRd;Cw!^=D%V4As);S z_}g4 zGnL{y91AalyH;$Pnm60G6iSipK0tju^v64;miIeg!yOBU+XFars+-Y3>(>2h)os1? z21n&tuDJx_&t^65(uUB{?JUD)(wZFd7@qg)#+~|W7U}U}a&Yjk+?R2=O;Cp)aWR8k zu+fJkwZFd{zEbfCwaHO-)SL%~40XHJIpXE@*99B2o~^Pmp|twhzvbUTGTM*uEOpNI z9|fP30x=}&tXeCKVx3pq&#dKqs6PwGf-SgaO9fhjmzi`x<7tgkzz2={aiycuZBTW2 zX&>3IDPoyVi<{NUK8tha^?P5=9eq>sSKOKA^_g4#G)_r(Joys*Q{;f zhL|+}9?EtS$vkUuqVkcA>v~OzZsQka3;UH{yhtcleKV9cIO4U^b&35zb>SJf$ImPU4Ueu0?neatG2VXvb+4qT|J`Crm+JKu{|2>xt%`fAcD%iy zi)~s=)V*h&w~WV*)rx3b_ZE@mloC>T>~P}FtwiA}{WUUXP5mtR-rl%Urr2Qow_Y1R}i7rtAJYpDly6(bdPxn{gz!+)`cR^QYA z9M}cU{>%HxjQv>$vf8pE2^XS0?i4G{b7td(SDjq-)?|WL>prid9t+#)9lq4rm41r{ zV>9QInSwk7tNGO^Up%)Zwp9!J)y?*9PZOiOwb`lT8OnpniBPANoOxNef8A8FnQM6- zh1|j_aqqcz9r#1T>xrF{~S;J2^wm`Q25U(5|raq!tYv2)jA(0l*p8!f8EUYExQ zTYhHa-|iYj(k(NIijbZart=g3aL`DFU3wY#%0GH^FKRTr0&}#Ls4;KGi2hPPDU0rW zU%(7KTvXTYmkVfHWsdob!0t**ucX_3+|5au&+ouLHGwE9+*Y2L6bknPjwUZ`I8*hgp}L71{h8rN59yansHF_x0Muep}Ams}lq3a7gU8 zTYNlFtbV#J1s61SqIcIuCwR-oHW9aGD=l4jqw2%4a78^Dr?!iOAK#;lK&l+Ks)eQo zH&Sa7Vf7dV+xKg47~Au^N~CKcLeD%+T1Gq5ei$h>+aF3A%YIB zA^7rLXv8X4SY#(pu=1?F&9^Hl-!llee5{HsTP9bh6B#k76KP^Bx2Jx?j~FrmzcyrNwwxKrP#9aDRY8dVU?w%- z+FXfPQ~nUvteq2Ed!u+tZWPy{e2dlC4hQ{$Hwnh4)DH)asZ0jibxz?31z=cRV!pkD z%sK9BWMXAYYT$e4CzjHT>nmI}I&7FSCEW|uc(rlSvGG(n`@;z2mtP0+f?qUFJAU&n zegF<>=Coe_q-z!aIP>tFhlS1ax8Lc*M~#b&To;nWsSJbmb9E$dQSN5D>?9aDGED0S z2*v@3>Me8jUizx4Q+=N6v=Dum)hhw(gZ0qb1{Gi8+Cn|0fT>=$``4+BCv#(@QDT^> z2BKv?cKF1~fVXbe*-}kP6x$H~ckjwN;W5DVnT5yeBR33EReh+|#=E?GQShs3$ZAX5 z;sfMF!kG^HR8IiyE~~$40vj4`Z(AQ|TmN=v5A|fblDnxEFFejvbFh?b@r(Em>0_%& z%)l)A1v$%50vDvE4x&?hOtmc37wOiJOc5ad_pzrGeC+4m;4F6t=Z!VZi38BfacZK3 zE-=2mIOkJS^kKBbL-kIL*`ac|HjjeTWNX0doXVMafNPbWx zAt4XEsU#RGAaj#7b47>}+ITmXh5i^ttHg%2QbHtOZI9i?uGZhEpVCKqNeO_1G9fg)H%R^v$Cv#^V;)o7}u>?dj|$q z%>OJ&Y*8yqBn9jU;am`Izy4HY;9quxxDcnx?QB|C8(HQhLfOXy(u047EkS367Acqk1m{I!L z1`raYwqw)9W2$?l9;pbhnm!&X6wmp%YeW7cC5CVR(x@(&N`KXFUY2K}k;>8nlj5lJ&)V7x~P*48^9tc*_WD*OG0i?kidA zzqF<~K*QsK3y`;>fQ7H!^WHgz{h4Wios8l0yzg-vZrNm~b6xeu=&ybG!52!{!%Xav z;Zt|I$F$C9Ezb9x#`(14Y}_J5Nlx*X-&x^b3`8=!m|Wmj@8(V7w{q7?yl#ojCJGl- zq+zXPHN*0rWB(>N>E`eDLlyHt$Qzd6J>WfY~~ zd4lAmf8?6da!iH9-+=cg#3O2wfd)j4$1j9)*BWysXwqcHB-EHBVqy|~jnoDY;Ws%) z4S*cf~!yb?>>oZXX);w6AdK?^@T9c^_*_l zqU)*ry2xdgC$t;l7~Iff&x?ovPM0rwZrPn{>I3*ibEATF+n=qX(@p?ka&xaR>T43S zF(vwT0!~N!I|w>EWUhzyzykMhwdR|@9dtH*Y~n@%?G>f$H=ldum4sisQk~s^Eluqn z%)P$mO&3IoM?e&UCm#WU2bWg-vEqENUN-#{m`;g>Y@+tu+;o6Fqa!k_RK3X30lIssOZ8%oPQ z&e-QJsCXgIE5P=FJD~Mm1)B!Rokr zGz+>ssHz1BoNqmz7xJ-SRY(6&TG*N&l*3{@EVlepSE=89+76)KP+lq;hwTD$p+46t^$MxmjB=WlpO9SaQdt+aZY9JR-`Y?e2xUAwy7l3L zm~AZ({$4$er-i0%oWgo&9?J5r_64Hy=NeNu@A7T-9By6ry~IV2CKDc*IG|#K(%XnA z7)<%CA6U^G+y`eZqu?P4PPGr8Xy5KZc46Hu{+*93@ z3t18}!$Pu?+%`e|PI|=l(@7g+&NT~CE<=DeA)jOC6KkMLu(c4oSQ0`rJsv#5uh7M~ zvm#JgPnIOV z`$Sh{2bSmf0Ttr|290&O%})E_>v`OgSK5;9$rH3+oN}P zQO}`(`@ZPXfBK?_7NoN##w{IXqC8eA48;8&cvH7VT7N|%%;SgvbRVcVKdgt=ZzkUs zM6Y=ai;**U^6BFW#w##@b7_CF_NFP)5*v-v6cem1|Jo6N4lKwcFr6!D4fXj>wJTVi zAZQ56N51Foy4rXG@841nc$ILKarM_~&gz|m%Vz^-T*Yhq?-X0;QG{K+wg@&;%let$ zuPlr=tE4#est4g#pAa1!63+fk-dkTf@Y^@1EpN3NVBPV91hbH=E01_K`HYxW&eVN9 zzB{9Oe+jJAq+$D{i)HxeLeS97QAE4yiSe(zEA31%e(X{_rG$wv!N0o*dKC9)XV@Hf zcD}dxIs;Ey({g;U)h>(Hu^llI)Jt(IK>c-jAVC1dC>{W5%UM=o$K1Mw9-M;q!;jb4 z^x!bS0uB{!7pVlkp%jhAz|E5_oF(t=daGVUa6L5%s-&zdeGV$Qpp%{GdN*=T2OT?r ze8J;_rQHUF&Nzx`ev>OhFl(vc5i4-Brx($I4f33C@rz%9zU-n!Lo_yXvvRJ4Ra-)a zcqc7Wu4>&o!r2j#*TKd$<*nnvI?=%azmLDk66aFz5yQOr^)6Wn4!zIcb16U7IEIxl zu3v%wl`e%>BU_*=QY?lX>x8Gi|uOaZXq<=uR#>9A3~# zm2PNqjXcq!?Zj6U73XXsK#MPV3@QcR{dC~rp^nhLf)N9cQ-jZj0wlZyKL~lbG{=~P zAG>yujy*!Qqspzxyt;l6HnI8RlTdTz07i_*;0qb?1Y&P}&ma`Nu0RV%l_cb)EXU8sA0MSemj z+gmCeUKKE;vWoP?{)M6=wr$9?3t6f8gwbJvCvB^M)yV>vG)bbTV-ZU7wH6c$nLTJR z_U)uBT*8eV`kvG8uGo?8+mbQnuUM;JCfjf&ge}vg`T>5})!j1{lMj{H9Es*&(=GW1 znE*y+DAZTpo4@8&!c!0F8&H@!WySvd+hy8qc418~nZLoR8nFiSUs~i!TW(SVNM7s> zmqF@om3v6PsSl6#oH`jXSeL(}+NKLs(xZUNtb=&o&8#tp2#G<#J%hP%PUf_1g~=fm z4`p(|xx2h3n4+k&y3OY)^EKJkY&Q%tWM|+@K5|e6QGJ(IVaeVdUb9T#)2})Lxp)BP^f00Azk2C?z z6?axb;b59U^4bjrqfIoqWY$gY)zozn;Uq`%^W(t@w8yan&pzFlU%^8Wa8jDUxZA z!#4yH-_-V+9g5(96ELESZR{_2PAE3Wleeltl>hjEWFALMg;c6rSzkO{4w$uS+fP|h zr?v~3p@IrP@)pFUSdgiX ze)w(P0^07(8K~WCtBS1dQ*=G07>O)>x9UZ3fpYz#|82}vuRQB`#E zck;bJ;b0hTj8frjv#`oayENJXn|$)tV_mKO%$nAv!s|Gh8jXIkNLCa~%pgVeqDzfK zlDboN#$6K15@GqzT_NDnrnFt#A~op92R}p*7#bLvk3Do&z&a#fNx)qWsAp(=585_- zjLt{CaxW&eK=isqU;7ZTk6k{|m^V#)(Mg(pZB`I0qa=j4B5a?Cn}maK@ZA$4)SME* zgY{<7B0`Z|7a@I;@rHZ`J;gPVM&U2Zsov#nvL~~Dg8=?(B z2;vx`dN#_dZnDTL<&zkKt^3fU6|ID-n#lTBEq)Ii7%atA#Y2(j&Pd!VOdXEiZl-6P zYi-7@YieTf6_UO3O8t~WZv?Gi7wr51PxUWol!Q8QkOxB^ea3vJ;1U)&GqaKCWZ6Y- z_q^PmT(RTzvf|Irgg)`;+xoi7iQ*YVmzieBMzZA|*S$d&5mKjqQq<#7+pAfaJh<6; z`WW|NAEkU$NP*E<2&cD}=}hqUSF8Np`J#5dRHnkIHGEG-mxM=Xu`P#e^axqI4Dt?V zi^yi7a%>hFp>io2|A9X-C>|4c#aB{xKucfHIqtQIbzTcv!gsXz$YPw{ zt+3rgw|KG zSv_>YxJH%t{k0&v!P{Fnd85%k^hIh!1bSC-R!0mKHB#Til|_6!eA@HgeJUudo!)sl zA*|9#mbFgVUI$a+=uADgf}R;M`7wx9Iuwpx{LaxsfZS@Uj$~RbShN=KIC=-pl>yB@ zB-+|&<2)iPH^*(n|J?0g9xyg6S$A#5xpS=rq~uyDv2g{3vJXwTW++OZM!_R5|0ho;JEp4G@v>?to>D%S2RoV@(=@)Yop z#Y{qNQA{ty*#YDxihVU$gnyOK0ISWSxTUCM%pD%ufP0tjVi3=^O!xB}p21@Fq&)}+ z{j7+tZjmQ1DE6ok5V8dYUTBx%HZ?J5HE03%+-X0qbsaE9ORVgPH!Jx_4?^(nK;ALu z%kJ~+#3yjzuOgI;Lo1X12X^F3;X4g3Sct3MDsyGJzI2uE_HHU~XWqYZWIaGUQ)Plg zmZHdNsFPF;JpN~S`rxS+oH~}lE!v>Aa~Aymy2v1G{E)zp2vGY8Rp8Y@WJXWD9a z1)7Vl5hd8Qjvk?uTQ}DmbgF!aH49LG?eCEcS|U5S$j ziR9DL@ZJrYvW?b>%Ox&*p1GJm99YmN`J6xedSJ$pK3fryXjxX-<-MEkp*~s>o+@0i znLt`FRnZN|bSZ09dE1+Qlcdvp>m-RDy%C&DtqGnYby7}F*e@!lh)p?u)tN~c^b)%& zk7XL}36c8tRaP|GcTDlZ)pUqc%|C8HFmzE2mh@r89!dfJ)nFZCdXdib<5RonD#%0S zcXbTMm~Vd6&~T@8+_nF6R>mfVv#Q6=URGTrT)cd4`DQKDT?BQON4}b3AQ6p1VuFj0 zW%o}To+|Cs;t#Po9im6%BFfKi+sx#*r$Y$VH3F*MZWpZUMihX@q7FWu`qW#JwdDMJ zNDn-Cx!o`jvi9L~2!mHYk)DV96XGzCGhxIv=JDp#T*d5LNW*G=)uQYI(u0EHj0K8F z+x>+;VV$S4AQD62*3e1!_AGq4iK3b1M%uH`i)Y(UQV8^JiSTj51*)8mCKpqSf#hDl zoI{J&1DL9afKjP-Za<%MAlGC=Chb7hNtf(AX_zQyii^Whf0G)JFPqULg{=-YuVQgD z%Sj8@1}=}`>Z~wcdZxFE4a?s*=JMZc(hiW$9u$MVS$K#zR25T1A6MBA%du>R#z+JC z(_AmeosiTYO46(94DozHFKc-4ESTk?UL(HDJBx*LA*;`E*CDwq70HmifinU6W~;0u zdjQ=c`DPnp-beRXP4|r6k9|a6j?fsj6m|dt+vSFp@ zLH&h#MLqVB>MG-<*GWM6ia@{T+TOrK>CZVeh3SGWau9jF{sGCE*fVzMx!TuT-DFU$ zFKc4ly4w(iEbG5F^XuXEi5SI!(U=3NM~riBzRJ&$BHJp?B7@2k6ZH4sXn7i_$SK3^ zEjuM7A%ndRqhi-=WbCOmx-ECy%+dgkoil`Z@6oxGqx_yqHyXD#t-W7^Sc!rw6uRNz}m3J{X%+7(mi7AOw)c zL&{JFDdO~?|G*7a--{;h{0J6!){S%5kv&a>i6-(g9=obg3MKN8el7OB&id#b=iC^i-fRwnM*o~!3*CgT-fTB z!1?z^(W0ryv7{^n*Js-tPx(oxzuK7nMJyMzgT$gOZtY>+FTgRiS<5X^HaqxV0j^Hm zLR%b;yOYF?VUUgf*T9cSPM;$DsjK)eV*JCNoU~^iSF)<*PZ*9I&m_-`ocj7QeFm|5 z8A>{yNsh)iRUz0S1C?>H0w7Uj8&Pq@#t+0svsx}u)Ik@e>N5ZG=z)8o){=NLng{%B zli{X)RTdTUd<)2^u~n%HQ1FkuYJU`5C9*JUW1qgl8Yon?YXp(vM&nE3J*5f_$8N~? zV?VDh{XS;hyUQM5!KoPYRmt9e;mf@ln0EXiIf|cC4`>zlY8RQ{pO3O3PxcH^s7hG4 z&!rKeTpyTmyP6kcn}s9tx&u!fk|X%8ImLRj(F+NS~pBp1@>ma)JY7Tz?m|i?P=O zJXc=Eb-_Es-VmfEV0}Dp-kDQ@NCs6tb50gLcrLfIHQ~EmewA728E}neUk8ZP1{BdjwGWf}TntH?h$tE5n8-4xI#{a~| zLu&9!kbNxbc|jk>laeCSsU4SVxR20F%im@>$7Ua&`~HtNK$G0@(0lK@Cs?cyl!Mk-rJWE(IS=k zG*GF~&(sSdLw)b_Z@MUgiPPW<$ygU9U#@oDUt@|}JA{gdHJfiY=W56YF$t(ASF*&G znj%W}I>1D40@$RtM6=nc3O@r7^C6Q5B1D z>;<%(QL1yO349P_NRXc{pMfp}g9!a1mU_gKor>pgcsCEbg~MlZ@-aLsuC$FY`XEOx z)|qIxx~rNc_Hd@H8kzInuQd6@>5xa8lZq%`_T>HPnd{e6AA3$cOpe+^cIl8HMlZQ$ z{K2a~-iVN7Kt@Dc1TB+tp@gHdJdF#vACX#koo9%c6IoY`0hqglH9T=e@eGkKM>7@p zk*I}zXT$I19+f=%%vUcD9S?}ZT_QdaYfkRez_a)-f(D zj61addbN0UgTr-&IQwaoa>2W0$?z`-fs0&!kTYJNAP4q!=K^o`$muF3H36MCZF3(} z3s{0%^j>_jlE=XoIc_|mRaHnn{*ugOY8jYO9bt|0)GsPr0-YcxsYuNI6vKcuwZ?sn zKL$S#c-s7M^TH4S;(aHRm|r$HhR|6<>dE5{!8L_YoQ@lI{+Fh8KR+ev@vPieY<(&D zpC>1>*aew^L`FLDNx#44?UpM0`KYLf#wY!s#1u^^`{&#@R?1CvXjtM2m^A93JSFo9 zaFO{K-Yd#RUSe0i!NnI2FU9BitsQarNbmZVv-vObZ{G2miXOo9S|#NoiUScJ!Bp&| zkW_Tz>iw45Yx!$1sf62E9J`ID{w8t$jp!MQ-18o_~Ep`B6`Swq0_mPk- zJl$VaE3!4Ir=$lQHozB?scE~y*zzg2+uF^6I`1d>e8-0N+Xa8UgoKFf7s>;ztZys_ z0R4UvI80_NvOqR%{T6nuUk`nYWJT1fF4V|N);h+4j&^MoNc(MmiZZ;UJ~dB)GR-k6}V(_h~)|9Jy>?N9bY=WGL;E6 z9@ZrhupA~=<@sC1=z79Vm!N-9H+llEk`UHs2125^z^sy4&>QLP1i8Qn6fu>K(g~%zuR~Ns9rUm-bGR-pbyKv2k|yM1_}r(0<=-_<&X3K%@B5`8_oy*)MAF z){NRL(I3BAFspZ3FA;Br zfU)n?(?@B`R?lxcm*|KDMOciGh4(4kb9shMg11{#Qh+|k*jFo<-w>;H;Ci-bVYCj?<55qIVUT}<8qUU;7rCf6+ z7~WpYrTL53TG;6=h01^@l}a#foOe%s_w$}XqyebqH|wn|Q!6JYJ7L}#h3;(eJXvqY zDyHDZ*h>IRb@n)o_#Q2Y0xx$;&T8RKd0_(uo|oGPkX&W2t>)b;tB8@1KRwrTtNR5v z?Ya2a2@YT{pDi9MLz^|1Q@uM$HX;XDe^wa^e%35%Di~00D65I;dfO28bm1K}8`fCaesU`I3aO zu+-5qf-C~x*2q;|}nJ)}&|EQI4rtw%AO*%QDN@qy7p z#}jTr5h$<)3?fK zpGESmdqhqIuSZe|^|3r6Lc1p^?$7J)+|HRZx600@pLJoV6AW$uOW7>D;xfI!sW3CH z+jx8bmTU9B7d@ntw3XX>hVqRwk2k+9kW@Z6Tx(YRHP+)!IRzrA8P)DiIvXLWCb4pU z@xIG!0#hWjXn%NkJ~0`xC+=amH4uK>zGLYhWqJIb;vFobtiel#Fq_zhIN4j98Bg&F zqd7O2@-cz<^i8*`!d-##FPeBRWOvf0Wlsi(>drCnNHQ4w7q-yG8?-DX>h_=v?OjC- z`R!0eeH0balfT+%BN!yL2>iGDc9vEaZ;|}~=eA7_h^7Z~u#!F|aUH=f+2Rn3icoHIE1O} zpw{@z=m0c5h96qQ8us6Y3;ug>NzIIV+dSNr=PPlU8edwlxk5FEC-7f)aeu;iXhz}g zB=+pE<_%`1e084Z23P+>6Ruaw>yIqI&(uE8|K6`({n=$w=8NQ)HM*KP0+PEo21oy2 z7I@VD$CRl9!R2wr<#E~X(8=zHtH(V*dMvwj@ow%M&Ix2f=n_JR7EGz(Q-V+LD3`k) znRD7U#otI4aGBhZSR@Hi;KPaADsPX{r*o5~)Thbx`;IS;x{A)L JDkYon{{=!ujAZ}- literal 15291 zcmcJ$bx<5%@GpwHLy+L^9$c0{u;37ad$0gOHn_XH2A2c^A-KCNE(;;SWzofLv4sUL z-(TIjb?eo8f4-^e=`*LMrsve0KA-+{pNZAhRK~}7je~@Qgs-adP8SIYjpwCJjfL@Y zZe^m&dQr$gU1fQsnrWJYmkVq+6(b-L5;^OCf~=~`a{kguYN!;40Fk^c^Y7vcEd z8XpOXHm=R@W7v!SsQT{h2Os3)TF)i+OH9Rp6@%~c%6xOyco|Y>Jl|=pjtpkxKROg`DX?sZmGdBJIv<729 z<>nsFlrQon`b8i}K_#vv>rJ-k%!hdHH7(UznBK-P<}?r9WZUGl3Y*c&q1b6h7~`VU zu$kNoY22x9iK$#y4)~O)mBMav3pz8&wog$8(|tUf{~Oyg0`Kczq85sIie(&&H;2W@ zuI$cyJhzI}0W#}Lz@FyIy2`r6UO{@?UnibuH`dBl$W}pfVV~>DY?N9Vg@~x=d;#_2z<*JnSFKiE%sC{2@fY23}C0OUW+8tW##`Xk#|o=m>zEn!{M zZEGlOpE0`pQ!|N=_>_nZI~gY%S0Ta`2N#Ez@hLPr-|UDv^t!FqDBEq@`Azghd0dAol_0!L&9Mrt#6n2_t^ZbgPDfM@ZZ};tKiUb^58qQq+;qNPNX8oI!xrl!`e`(3aPu{EJ<~~cs zzqLr}(z1OTHL|a6rQv1VjFis=NbbeZY#@|#rAIC|iCui~oRzOCK;10BYm|c%l-L6BLQqn#vBX6qYz= z^>#5s>#WR;8F}{ExfDjI)?~>(3XKGl4xBpAxntZ*(>hDqA3Ol%L6nx`|1{|Cm2CZF ziE6U@D8~bqEU2+3R9#@T|&!VpqQ=ZP{I#*bObRLs(4&;}U z7M@vTw$&<|(Y}o2@-ic|$kvGmqFebMcJR|nw(}f-B}T7#6%d-j(f@F$E?2!7gyseB zh1~3JNIvHhQc;$OS~KN7?iUcQ-8X5$E-~XzML+VT`f9vP7$9-iF~y)zd+WmS>OX+t zT&WsHn z$F}Ihr*l7Z&!Ev2HA<#c{0~js-C=0vkUH2k00j1$@Dz)AN=*=M5&C)ffh8|ezV0HAz^CLrqeLrn4w5ZD-bCEFW-burt~>Xvej zY1Kg_=%cl>d?_o#MLka>ZqlaYV-Q0rT@Gi^Jg~zah`MCkGz^u1x1Z-g?wLP;XFp*N zp3+?G5aPWW)!*lc9m5QrdsP)NHL*oCa)VBp3_ySl)?#n|$S5boc$+BocB1dQwlHfH z+AI|j-)4X;3Fo@`WN#TGa6PVw?e!wiWlDtD2_Fy2M@}(I>e7HL)^4Jb7Z->&qWgGL zqw|N{C!-4&QtCZc#0D8SS%cHvE_w=eONN5`XW_Jg@vY}=*YO-MR@7*27Grx=sn}I4 zC%=0rr@+v^ntvmlIQn8QCXiUPy25-wav*kqh4E{EWjRO|>k+t>Oxl56O>yJ6FH6!} zH4}4Z#T*dOjmPD_x^!Io3Q&!rW^0WYMF5Dv@VfSMvrRw7`^%EMe-XtRpgQkga>ELbX!tqbQJfn3?E*^l|}d@pVO=^4v~#b_-Fif|lG zRCek2?YV>sm!w0Q61Zd{a*m9)g10eVNk7Cd`sYraMmop6zdvY7;kw11y{!Nh>Hq!q zD_Ucu`;Yn01L04WR`B~l0gBHN5rT|TyLfx@S#+O)#9MQ+^+d0UaTDuBnT9EBY&WNz zE=_OL!yZ`Ef9`c0o`^_!oBcK3flQM(P44kB4~vRz+pJe@Wi>BMnr6eFq;?NNb8c*B zKcrLwXF-U9yxE0PcoA}NMp6S@qUo&xV(`1duoq_hP`GQ_s>7`vOdz#>wD;%1OKX&D?OM?gXY!wTHp~$dqjer^p85aB1*hHViHRE?sVTF6}drU2|em><`I7EO18dcAH7H?lSllM{+q@dD|V~W4Re^kA83l- z@36m@70T}dSOH6@DL0e@7QZ`%!-Hq8ykjlis>BkatP>MMDJnw`*DIQ6Cw&v{jny7H zZrOg37a(M)<2iaMkkZV0lM+dz*L5n_`2cl&}`-ZVsIPoEk}& z2f%%rs*5=c7JEdx(5$E=3G|mon12kO$HxtNHJ41P6;PqCZ>6CWJV)=tMlN~fC@VpT zC|p*)=3)|CwFPZ$&ppVhT+_hKdV{8m<%c`3(L-;_u}yF^uQq^Y^O(2TJ>8VkcGkUI zb-`gBF>eXX$xSN`j|n}W1vUsuX5m|d&(`UfD@N)~kA-(b@>aI_svx7;oqj%!y;>B% z8+EY~;uDVWY_xzISIgDp1`8v={dQ^eGFL7KX`nqVnJ?nWV_ zee+>+aaDDyBiPO$lgKjk;r8ghO$@JB`3_QBw`9F>0w0Pku3Wp^8tP&oP32s~>1y)_ zU-ji%Tev~~{*wiy(W7Q4J(E^6HD(}X`ZKb#rb4b+@^;&4Ez-6aS(4E~S$QJg$Mimg zJJJUC6^X8-L0C*@#2s(MM8ra5GWr&j&W9xUy;F>h8GtiIZ7=_+h~qmv!{Mg3cb3g2 zbpJtQfGqUdtGzBsTWLb=!aww>p1_bh8v8ez1!m{3(~P9nKdh-d1pF?%XAF2zNGt`P=Z*HFqHooKRX4y&q21nExjC6g z^kA9NQj%_b0?W23os2lTGeLN8>>;Ct)a$r6=0Y7ypN~hIkk;vU99@c#Gtk9%S}Frg za?slC3#JPXn>ElYV^&bNF1nw~Rw)v}mPriE#%Ot*^7@3j!e}=klln)ILFp7DCeS9A)b}}Kq=v?^v=czxt3~ZV&Ah@g{ai;kvDfl*~sxkJO z)Ma;%rp$k8?+6QLix=1|@VLR$gw)KMfr3+5LZx9>%ji-l$bzSD+ER>qm?8CR-x+VSyMR?4?_)W+|FyNx%zGTQy zv<%Qb)BDS#>}3fBeUsK>kbM|+l+X_{g5YE(B+Gz<@O|@FR!ta9Or)E7i6r_l54jkm z!r~lILt(_(@Aa9E~Ph$Fu(>D^%-gEAZrViKV zR)a92#g8#+qF*!i{c$uC#GJ(~#WPAzZSNs5l$bH!jJLu8n1=@F6<>LjRS#UypF?+^ zcazY2d&aXP>R@SI&of^!)YiBvp=o8$GvNPU2Hwp!n;)ycR19IsG6b;@3R z7FZJlVajl_EnB&iUuj^=2WN67i~8;ZcQ+6kz>c!4NJSz z9}}1;=wmHjht4`&%o^-9#ffHJHlP4B@$wEZ`TVhG*H={Ws-}ij%`o2+xkp!w$K5yY ziTxZP_{TKR8nK2xkK(PZt+sr|R@`Bj$0i$? z2+7`tC%0ITJsX791K4&PNU@p4D5!%!TOU7CF|Q>IWOWAr1GQ+CFn{R~4S3R0MR@#s z;GKUP8+yy>!mdss9DEaSB;RjFyd9*45Q^-oJ{P>0S8;4WBd$F*JqN}ow-t*FMey6+ zY6nE6jrf38f4t3qvXg2EJt1nGn%YPz53XUEZ?qfioON{9-#Xn*@>tf(q$IVsKcBSK zmJ)Pt(ZaGS-=PaIj-h0a*%&_D->M0X3)a2PNFVm$Zxh`s85i8Df*O|6)vzY|6V`Z7 zkc4KEUWZ!P=txv-S}SG;mAn!CqfCIpmR4q?%vNJ#>bQmc9gN56g$#WJ{q=F zW>CZ$&w4C6u_WL705C-o86O!Fo9L)shfdge5zCX$re&yF5_(M1)TIccgP7o^0^9%@ zK;S~4(OUSztNcP`_E*BTd?TW!sJA4F zlgJlYMmM)d8}{Zyix1xn1Ho=I`U0VTfoC6r zAvxz96Gv0l{Boes8i3FgHwd9L0I?@O;5y+};|`N_3=S!*q0Jxuli%NG77CFag>7x) z$oTVG(_1maG6!AGN;|JT2x0O_I!Xv(4~3 z02q(KdAx8a{hr8I`$s(l=g874zv-c3jUgHn6u#SY2`-wnw8vMXQsk0n&=k=6uk@+b zaBfg7W1S}R4dk8Hwd0&?%B&c7)nW7qB;XUTa#5D&k2||X)ns)yKk_H zG-LiJ7eDv&@r&JrS?Zq;*ri%(Jrhi5M!0i6ew48Pkc=$nJR@C20 zi*b1PP4= zh2td8){9+Zus1fM>b|e)UbZ!s$0m1%x2k=q{cdH5+C}Ajn-O*<+@Q20B${wdDn~4OW%U7&6r`8saW&y|Gzg>xF zVC)3@(wUDT_c(&X4FML$i*>ba&o#ud9G{w|sO`NOmAzFcFDNK_Q{BFue`bWLx9dY( z7D-;SZO8bl#BO7!HP+No^B!|Fk^5m$;A|2W{XxT)@BLiGb6Al#wM|70NOxE`K+=y1 z4#&}?mm`-qOp;LBhAC+G^-*CDGM~(!w(86dh-t~ zwMYiChmhT4q`4vx`SRt~qV;#;`|@CU@59RX`-MbW((D^u&bsXMxZ9eJ{Mbx4zqSn2 z@CZa?yiiHHp_ix!%Xx(w0!lG=3K}CeOgjsCG+Bvc9f_m`ts{$V5LZ!uQM>nMEHOUb zY~!cpgTwUfprFC4NpB}c2PZ*d?<$|7Y!mg7)eZ}je;cBYtsp7)i+8K(ri?+Vo2rag zre1Fk41?Gee`#0k$n99-Z}gX!5i(Y|T8Pjd&&uy}625cT*|vSGvF)%7=pjjLp3oyF5AqTnwVPXc8|n z&orRe$WQz6myPLKqSBF^^7bu}dLV*1zJq)(>xsOYBwBYKEl>1k=X90w^4O#3pu`7l z5TNC=IQ|D#>vgumRcKwNgy7SG{9Rzyh5y4DH=Df)m3h7BNUTSk6^HRZ>L2n{jIWm*ObQB+d;Qb$3`QEvGn`vD&HW6Cj znZdlX*_%xzZ7^!n^M(H~SdjX5ZEeT)*foxFmTvdJc9;s@vq%5PJj_y(IK$JN&UmYI zRi+iWEo@0;tC% z8`VF{v#XH=uKsHZ)R1YMotDK&3=&Mzh zz1fMQT-DHb&7=F1{>vfRD=gS3VCi-5@^KKi?2lKhF}}=n0q^-$h+KG6IBI#n=9|2= zkLeG}b<3a8vDEyjOjEQih9hySom3j!Q!bj#Sie3gK_+xs>Ht<71{T(ZLmsu8%Y9Qr zAIMlpPO~9c>Djb~V!2aDN0Uoz^bVJnOD|k-1WQ_uaXBfd&K;O6={y*PnKt*WDuQoe zue_XoJ86sh(b7E>PWSCj*M;>i>ejT_HDe;&mNbw)QQ@tH0oCP^f?-CPIy4Wzxpido zQMqx7mgnxPAa(H9lA|vj3quvuvjC>xxNzc@AS8a54inJGod;q1gvOb#y-Ngr{R$4} zbvlD{z~jAPn`sw-czb2fUl~iEKujXJDuX;DWI}v-7kPhYo43=4AWh+JgD>b6p?3e7 zT@W;DF;Og!-`+V%EU+WmON2H%YEG?c2Kv?IuCS+%hL7)fZ1a2AbJ94&jp)TGPH5%{ zsF$I*i0>us_1Bx&1LUVf=p&9^?Q19JzL(=bI=f|iTiiTlPYw+8vVTfZI9{1;!!MB7b2x0BSDb(yr}ckAzLQ=8l7 z%ns#WE=C1$&DB*!7N$n^8TW2zfJ5WL{7*lrKt zT(QKX-LpqUD^e$s%*BCnFJ zV_rdVC6+Y@u;s6~dF|hiz^5sxXElVdo*Np)tgpmYQW<$T+bNj7oSKEKWZ9)pQvsr) zo(%-2XYA4k!{&;rKvPahdBXqwVKH%2%lOGRAI@ieDxhRfe6 ze=BTE+#2eRe_p~*@O4#`N-fHtcx5NX@KQeM$fbpTX>6*(vmh$vkAAb+*18l;@3bRO za(rxN*0HEiHY9be&$@-@5qY7NGi9>%LSl&x?JIDrGh;TP;=l*hl5LssmFU2rwi&fW zy*7O;i}~r-^30MJ7@M#%9Gms(E=78whx4)kO>s>_Qx!*M?9#JEb1rAzYUa8P3zBv6 zePO@pvkXIA+m2}5f{ig!+@)sKVkaDldUBz)9QmFfV_}J|bob2;So#gaF@x}rijUs| z6#GP@p{!?&fB(M2c%nc;dVc=Y-;w@OVV(c4!g^wgz4%f8p9Y!ET)u{U;ydJMFmn1E zbw*4YjuDyxE!w$z$OXV&?0%`jcXMcKzBUbQ)z4{B5e*5*U6^gA(kHamJQM_Vuk1|MIQH=8 z3_w=~cc%SLG22kO9w<)YJ*{qE7elvmU67-YJ5g6hB$lb=;ifslA21d<+AI&l^DBB8at z31@xh-!bMb;+wRao0EEMq1@>{%`p~~aV*|y-k;o=_-j4=+^DJYw&(&bS)f;pHB7M&RYm)REm@@HqguuiZ#}=gtw7p2B7-Uf&KvW^=;As1}{XEMZ7}?#c(Aqp_G#{OS z=U-|%e>~PWd-gbiMd{9Q%RZt6&23Ol%fuTa*a3-iCam;=Gnm@4o4f2s@hbTpXP@x7 z2E*``47z95@LMiGPqNS(%R)t) zdhc4Y`t}>03wB)diB`%I48(K z_|D?VJbU$6^eY`28**Md(?$3U*D$E~7T!%zFyAoQHeZXj6C6o~&I^71(h!V%;(_ip zAs=MZU~^0*C+tS)Msm(kEI1ZS9s{D8U~6%eYsK%&k{nJ33CBzBG5m4H`Z?!220u)& zGV{9he|6ikZ!VB9tB>MztJM*$p_B#xksLgyTUhpkaTWbeM6L*{C)#j?vFaxe>PFP1 zA_JT7&5BVBneuM|Au>oLQ}&aXO=s9`?#-6==y`xL{%2!e z8-c8!^MvGD1KNT%f;tIvQ{_bwmDi>o)hay2ae)2|)BUs&+;`mo!_gw%cq`@jGv}9f zf@cLttn8oogY8wiMsLS~tB7y<*btqgUlOBk$!1O&E8fZbeJ4$z`oh!>0*RA}&h*Lx zsp-8^GCS37K{}6U4}sykg3mIw&fZ8cykfZjgxb7zu?VC|OtPVK=GCy4NS;z~on_AE zUajZXxG^7bMM+GQ>3CmL{261Y@s9AmnI@{1B-RY@-0an?ILD_EuR$h-(FLR{*|RrN z=BxV;LXhbEZ##@QXIUI@%jH*vSW1np;Kyk@n<7f2~=FKBKoE4lO)z_Eju^?1W*k5n@~G zsi8+-I*^JqU^#?6Qrhnlr7aRl>g{v4 zB+qH`pscrVz2$(jBX~t`8~lRnLMBSpSOS%i6Dq`+`=s0h4m{2_T*it%-v9{TgHx@C zv$9V}L)x5z}W4*Y;Jkoye^8*E8XjienhfL{d&S3n1f6!Znwg`tljKI`yl7Fn|4+=mK-TBZ zKIN@s^uORloU0LtXQVR$BtY3K0*z;>IGDGlt3hM8NN5HEwnzfDgtTrJXQ|9Hlp^q zN%8tUd3jw4yIWb{-{?_@#mpDznX~Tbf!x+0|D@3QP0w>0@?-d)9|p{w2X4L}DzpbQKWI)MG!itH_`` zOGs`JT7rlpn7grq<)Gi#Z%R(3QW!mrbLS!{ZIk~F$DOnbq0uur@?Fax%JL7x+-C_n z)3Irk!F1d5%kC+p=lSRk1rat=wugW5pCf!PE4?qy7w@0s6{!td#+L>T$Q}{J9$CrC z8Trdm#2fSZwJocs9>LC>o3L?$VKrO8N4^jfZoGJQWkK|dHau+U~?1XqFz@-Tb zk7SfzJmYF%QCOq@@wfddcGsRDYS-nseaaLSq#!_6!4$br1a2hP6O>9v?A*NI`0!Xf z;dvIO?GEoh+5vV@$Ccp+_Iaa!MDu78iHMs3f=;rOdkwc*^5L-DjNC*I6eV_&IDRfOQFN3$`Yr(Y#YhXHj3N z%s$i9Ol0c;lExY%y>3w+Nx`yUsF1a65z3q4*8Yb_OOpF#3QH$lTplu~?A-Y?s;0NF z6!=i5qfSoJ9?UtE82V(;xNW5S?!I^%QN$E4+y;e-YVv7i&jps8zWg1 z{tu#zksv1H^dQow6{-~5^LhjLLqu&YB&>L{`BW8#WS$@--BFhAAOl_E#0|V5d`J|pDrJfd`9l{1TaMu$PuY!naCLbtR8SYgcYYc}?YQckmlV%SAeSW@H;XCpXp#!KLF zrR-=evE5uqi_ zQi{P`6_5iKk>=lunw>uWS-ti1#zApE;e6^Vw#ilu#*oXq=*#Ux`~}duBz+9g?v0z< z^G141Mtyf1UXt*j1n>MfKI1_^lXoNC#?D^&SP;S_iG{OF)E)XXzkrGQj=ngYG1UUs z=k!`=E1A9l%IN2av1-xKju*hvV{)*fWP1pd8I3xzpFDjx=N`=C)G>Nlz%l*ptr1w- zu%f7rvU)J}FqSlM5&HV?>K(BjKP|2TdDizaTe;#bV zLHn1mr7+lQJPRW)w@nM;F30b{$d}tjsbxxq{P#}B-^v}(gI@Q!pCPZmM{qhQ%Je&! z+pFXl7ipd5+nxk1AYQT8NF?hWJ>J&&B>aBBT8!MOe{B^0)tt_Uct%>Qd}jX^QfY#8 zjH<2?IPP(+B~j7C3;8N5`Px2>n*=O5y!_6&;8S~)x6F_Pr@du^yWN9lI&_gg=Y$*L z%eNEbwC;32Ey0{#d2>#)jOBv~L7bs{)?ugIH*$RwGzV!5{^OpINBZpD?B!5-rSjW0(K-<`mcpJRagi8_Ep+7?9J=NF>K{&gMW(>CrC zQ91yxM+EYhnig)BMaJ`tR?ge{JnnY%RdvM*1kF?u*lTUqJVIM}Fd^^kZ%eXPRe7i6H!>q`ek8PT4;hJOd3$MwM+Uw7M(wkq6g$&sS$^~L zcd|u}L^T|Wp95(HZ$gT1+uET&BsM18v7KI!i>aEB{!~@AV&BQ~s>@rAa+!K^ui|a1 z=sipWAh7@M2mOdI<~gB4%_dU^EzbQadRM*=xlgLKN8+z?8eUt6hq78I4NefQoX9cN zIX99-DZ(?P#|9}$F$klMEQR?Lu$$K$OOY1GdDs= z`t7ODxiCwhd7@+&=$OFW*QzS%+M*Cm;kxARD*i8bBub!%A_c%N=RPH5{#(3hjCi5g znh;DyHtO@yClJ!P7cKu?guw@IhOz=9Txr;~L0nIs#;Z9=JgYXId1m1*xU^(;9`a)w z{^&TD$~$pHF!K;ZM-;H+vI8&e94@3H3!h!cU-F=@Yl-m-OMSw_);of28WohyF=X^E z6ZfZ_J-avBteJ2w)^%d{<(7!|eiujqSEh>m6bS6&kiESx)Gao{_n|8;JTvez>7Xx$z`YC-0gj~T=JO`r326v_}t#17Q@f^w3ST34T;c9gile&$Z-uykx4~^ zL1#Psyk-o>ugj11=E?ND=Vtoda|wx?#^~*jPu`ry#5VBtRaG3PhcJT#?3X3{`kGBn zW_#z9s@naM9$i-16xgtt-(EBk14{`6hHm!T!K~}79?xzz& z(wHU+v;+XLWs+(@YY=qiZbTsnyIA)2mG9}?svjgM{1<4#|&D;A*G3e)IgQsZUKmY?IFW%iASyQcS(E5iUKhg#^By@o^2TjGB z#)o}cLsHf|sm<}zVEl*!Bsj!BZI!SmC`ICbyl`5t9-d#yXUWoQKJfR_?EQkse%!Fs zaDX{_Zzvp&vDYYhp`c`w=&87sr}09+-dx-^_+46UJ2j5&SSO>Exl2Up@qhhpQx70s zB!O7m~0wHSr?p**0rB46%C9>78zBn0@8{s3O~#8@g9Q$eJ^+ejg~ zRb6*A$xvwHk#}f>{0Q+3Ekgd|UZ^=)^cB`mh?*1Mj6CaT`Dw5{3Hb&&35gDKpIzqG zCn+G`SD^UuQ9>cTAmf-UPvWcf(|5hj5^9!02}s9}sjrs4A)s!)ULg7V%jb5UCHHkd z1L?0oP=_F@w&@n8-3nbmd)0?tv3gPN7GWW6*w@qD(hz;~rQm61>qia7;&sW(byLAML~#|=A>X)Xq5bFUOpo0VEsPG7JmhfXQ^$jfa0_CN zGI#CqLjNlA`suO46Ca3Mh)8Vn$@{+R0E_0I%y_HOh|WIaW}5UM7USFApM7VimfiuO zv_sX*$tZDojo0?J&b9vgc9rP5L#wP#7h0Q=mVw=?Nj(coG#igar??WQnDh9FzI1nq zNHy6yZ1%K|Z?u)FW#V98huzRe*>domn2r_>&>^|Rg5JriQpXYdb)q}Eb3!>mkF!(d@*<2N*J9ebS8mu08@=JsT=1+0(fH}l z{I@BABgfxd=R-2nG^m@Zbqd8~%SelogI)v4?h25n&sLC}s=l_%^wmFQIaAuB_Bm30 zHAkTwJR{Gi249+l9ECC?lYsvfAywP_6+BBwEkkAaw3;1$In4s?;4YmiIlqMq+|y)V z)FAO;eAW6D5Jh@Q}6v+Qd=U69SY+-X`RKB=IHiSz|iSgDB~x_jDptH{XzAS#M7Pj z9m7<~x5Yj@%l|nsbogrr2JJyd2TH(_kIhsvxXkpc0Q}v#=Gx4x;Z^cqywIx$Mb`WO zE4$G^#K|`jbH$DI9o)>56I3_5Q4}fB{dyFxo7E|B0bl1jZ>PA#Rj1%DY%Zjz!41yI z`64JzNT(}1BC!vg5^q+53ih3h1`j5D#IR^$FA7gWH-AE%;%`8-rPHpQDTU8$a4lNA zzA_DmP1^a*{CdD_TvC>A`h~oF3+o?wWSA?o3|QZ3O%ZAWj4vu#+&o@hQ^O8WdlEFm zbuVggqXK&W{QF!RaiZH_WHx?h9yeb#VmoC<5cA0|8qJc_X?2Q{=@y=(D=cJuRD288&N@|-YQ+tW)~%}={g|? z+fiMweX#5jS#!5SK%$KB=+f>F4fhT`%N_r7y!7;I`1ydvyCa2**TsTLWR!H|$Dim| zD(h?#$5X+M?(+;bEvQ{LBNyG^Zo_vkXb3#Z^PJ%ymj)F0mB9EQ+q*tB|9IExLtL*g zaiiLiMiZ%Q#rnTEO8$M@GfWjt&wc&pt-w|NEw7t2>*7V(kC@yNZS{3*4{*Kc4q_&I z%^l*TgNyg6R}FvL_1o`&&&}b&g14cQP6i46fuk~J@ptar769Sh*6ssagL#5Xo6ll$ zM{u6Y-6vzwyZOVL=+LcK|5)e$wGr%YpMY^Nw)5E*#ZQ?Fz4Hcf5uM-8)X%SFw|Dm{ z-0c*G>;KyOv!}!_i7mD#`^?(|7GB^zhDAUW4)xJ%AQZZliJ@Htr=OK!LpM zl)E66Vus?3wG(sZhF9FJ0N5L;6qXD|lV;=B&qEDVpY}9=7haMAfUUQT3XHXb12v;R z9UG~U3Ev{i(;s{rQJHMMGIeba?0K`(IQa$Vj!6;~XNcRW{i8||#s}a!2Dn*UDerA% zThncz;K*?^w-kB;0e%Ut+>tziAT&z+0D41oj@is<(;$cgnNXUZ}dm`(0mBFn2P4MUhu~p=Z*k!tqimL)fnNFM(-`5JMCz3)$>hk zC=grvD2;UC4}OSqmu+Gj9%RHq<_&?;<+Gm*!B~_N1RJK0*CHKFh>=t4ci=yEi2>9;m0pt34i+Eu^sDW7~3B z`Hz4v2F^NKVY{UfT3y-49@kzj(lf2zy0m`P!0i;>0o+0t9u#BII)(@Op0PgM!v_H9;MAY-a(qI0cxbn&x<-J+ou3myz`-Z%0j$+2>AG(N-IffL9sZ*(yC0TGtMEsIR?Qg;WDhO+Xh&KOhHV0D> zgDZZu;iq%#44BMC!}nX@CHpy5JYDQVcyk?LA1($sROz$$PQI4xsDBK7VY*9G}Mi2@u+naaJxSJbz`05BY_}-&w73 zi%NgJjG!5YEJmYXqEzEclV-78l!buT2p3;L;3mJlSvGCnn+jK}A>0oe>E|Roj8`pI zkfV_wkPvP=BNu6Bmae5ks{e<9|Hkuy$}l5zxBp^84@d0k`8u|NUI6s;K#{M&2^)e*t3+N4@|6 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/font_italic@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/font_italic@2x.png index 81a8f000c6ab9834de9946daa65845fe8098c76f..75ab4fde14c9ed2dd2d5ea27d0013de323a70014 100644 GIT binary patch literal 15658 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 literal 15724 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 literal 15002 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 literal 10022 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_medium@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_medium@2x.png index f1455428bb928b9b05b40442c1b1a86439f05d20..93fba0340f1e65d275a812db5bf3f5b042f15a9f 100644 GIT binary patch literal 14168 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_negative@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_negative@2x.png index f0a8e3b50e216e573722bd49ecc468451148d9ca..4c47d4e61324036fbe9488eb1ecda1dbeefbe1f9 100644 GIT binary patch literal 15519 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
  • T{E4m|}R+%OMAH)NXASnV#f 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 literal 29003 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 JQhbPT^*_<#0Du4h diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_medium@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_medium@2x.png index c4837de79ef0345aac894efe0c2a069a0f3ef685..368d11de896f0503b1a48ead1b772083b7bc8ab6 100644 GIT binary patch literal 27491 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 R@c&mZcb9LRYaN3x{sVG4n|=TQ literal 27710 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�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 literal 24726 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

    J_F{1%L@g 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 Cgcdyj delta 4143 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

    Q3D&xwYjQ2G~EmyMYeHpak z!;(_a!matVQetj3ez;$1Xb~SF1o$wne*`6gQm!#6duY5?y#*Y|wd55SD$muz|FW%i zn!su{*KSV&hZOR}61YJ-8Ts-^E`%lJNAnude3wR9TtcjWJd7L?WX9^BDryl`5i5)LOABkeI-`*a;Z zS@z|hPrbQ{ipjQP4|H7tCUX{B@6G}@$8QCv+xL8Nyqni*$!=rT=w0z>HA4@A`X)uI z@U_f*(kp&%Z$&+5OzX`z0R|@at?4R(KJm=?Pw1ppP1Zv_94b!PwALLZ^qdx{IAN1WG*6FT#;W#Bwp^^C5E7-7=_{enJF*k{UbzeK|9eC{NAxMMhh&%Cyw_JyWS`e%cCDEs6>qjWLvjOu?aXKT5%k1%-+oXqIM#DH zT|~ksA{hh_b4m(R&xs?0F#T@?Z7(Gy;TD=-3TMc;xyo~X*ZLbYaQtcb7W~}Z=n|8@ z!&ouRG{x)hP6JAglOJ`e8iCz1H2W07*v-+yB7(Xq|H9b1h3R*oSk54zK0^+cgVCW# zh9@;-l$YPW@V-^h2$VNpBZ0>_HI?vRIjkiu1)sFHzwKIwfNIs81hO(0?+(4Bc6MGi zChsh|CkrbzC?KCkhS$C{FZd8G(*?Z9_p)9(Vx^9H&PY8|3^_~cyIJB>gQrhRmRVomqJ3-Jh=2f7z?to@6wS% zBuNI+cIVk1>$a=N|KgU8t*|27Z;gHe9LKLpce(TZj=@+Qu8`zp<;0G<0*O53qU*Kc z#=bqQ-FARc$pVX=T`e*7+>ef;@uOway(*(A3_a5Z3LTp+X1VdDjfKo?rSK}nwfI~A zc+qu^NO3vYh94nCy=GEmN~ol9wp_{N_nF{NJtc_ycF+rI{Mjc&*SdcTj+pHBYTWJ< z|AuPsn*}xwjl?l^dc>S%f4@zk@K+P+*ovG+D^Ge(EjbUm$FCJk?v_DRR=q zom_Ak2yjF8*$^AeR~_^V1#R-uX&%c?i83T%xW+y4BJ!YG?!YFNvtjP$upVuyca5^B zP6>Slm)GX6*x1_J$Z1n>#O1ycS}OCtQ=RtkFHqvUrfkoOVO?Br8| literal 4512 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 LUebhP?d_${5fEFT=nK!qQ!+P0EVueonBPCF zFyk?AK_^gWjsm5ug>E62Uz;4iIm9lpJ)F#Vt8z3~+TH&B&)g=6L*xBFzqiNWEh?5? zhl?HWS3a2DFmD0s=_|7u+d6KgKfg9_{QRYaL|k;C)iYfPS?MkJ9j}72xo@lllR(s9t=vbBE0C{&J_2oj2MM z@O5@Dxs-5$g8Kjx60*oH;i$7I+@Zu$o74=ZzPda+?yJuFH5ebgJ0T?D+~7twN2FY1 zT~)eT31sxC|Mp|bAwN1{vjPKHSVBF zj~xn4Nb2eY3&XE3t*=jZt&&t-= z>&)SN1*vjI@wUe+Y7mzNgTOqa zEU|Hpm%Qpl)n|Z+QF*9G6Z{jVMIZD2-WsV1T>4awf39WU8GULtX(u1JXrLqvg$s#@ zWYR2D8c<%7!Q;B~QVe?qA?jDyePzpQAo{2_bO+0HQkXoH{V}*P6D@mTE?YHQG>JxePmK}?0W`W7>_xQNIZwK(+1AYj@{X! zmo+Wr{IG)0kgq25WW5c@e}%%0cPPY-X4l#Je$6vo@3CT=A59J>8Y~D~(i=n9t}q-)%tYZCW=au9ZQ1Qkm%Q=#^2;StSg!5jZ)Wmur9GoX`OGk!Nlps|@E=D4@7z^VV@ zJrzqI0v|Yir`*#EBcqFBX8+wxo!%E0+W)aD=Bl~@nTUF~_}-A&_eM<gM1vw z7~^cnZqR_vEeOaC=tK8WSF;W7RMMie-M-Ue4+v|06rDJ&qa_o2-LU=HS2&ZmcfUa_ zpHd}TnaM77J##v4WqyXqM7gpT#|k8R#CRORHF5JT;%T(7`FPBNi+@AJ!MrEkD>}hd zQu*v!kfLNJ>i$;6O2`VK&@O{j%sL3k8|6J#RNl@;=etT#Ai&7xo;Yc9y%Vgu*s$4; zfL>qz`C!lQ0e0M?@YJ<4eAP4HXLcUq$JLP0h zw_OhwNX?p?s!_N59arCEtd%#IGcq=5akd6W_Ufl`=}O5ma~JT4czdBsNO7x(=deAj zsa)V!$X}-}uQXoZxqgU)(q{KMtL+;~Z%W}@hbXqg7tB`oUT`F*FmiKvBsJ>rLy+{+AN10=s!Z}^#?KhO z`pq|2{p-)`WbW81py66eJj$>iFJ95}y`v^UJq+0iLC{I&qwXI9UjIwrIj*|Cy6`LY zywE^%6c+;i26NQ}Tw_21dEzrbv&uY5s8XpKJWP=+epA#7ea^1urWLsS zW%s=0BA;-)4o!VttaEU%w$i+(|3FG>U<~n15_ITE8j}p~S9k203c$P0km~vTJzV+> zvp}nE6yM8u!zq@GH5mT8Ih6Cj9Xj3$-TSlI22;PJA?Xa=rc3LiDGz#58&Ugac$#S@ zBGs=HVyoD;y{#%4zquWYm}q5(l3`*RtQe9hfRXE1^O@oWJ6Vb)3G%mBU#?Cs5$ zZLntmO8~H>Fp9ICk3j`E5TW4h*1*T$2tX}myiAZLUnDR9lRX~ochlr+24DgV=edf| zI08mss^x+d3_`<)5r79%Rzp2xajX1%@vL7InN!K)eh2_?zA7hEv{0}C-_g?@2 delta 4156 zcmX|EbzGBC7p4ZIWPp^^KtW=NfYK?UASpGJmXPj{n#>UbO3EZeL3G6E4naoOP>|Y0 zTIufmUcc}6``*9KeV=pBx$nKtJ?D8d_~QAJoDh5AFJ70BkWhZp)=)DECSA*Z@_@za zYIpxIR>Qc0zY(5(^f5(4AnJyilb|-^queCrcW5EnJcXa?uC^!!B?`x2Oiu@mre>8; zXP!{(M_T{z*bUco$A*@RRW}B|KU_a{7mb3Z3EuBA!mUp0#?PDwd3=5fY2Q-?gGu?I z6ez?C2!!naqyG+UQOwZ)Ip~2ChCB2njQ{zn^26sS0LN$QsuT~iJ~OFD0nTkqy#Ho% zlJUa{u(#|Y6sQ;A^rL@K2mm4yT*G(cvgfHIK%g){;{ zt1Uz%On@AWux$XLs0Pr_gO6V20@-41Uoim5KhguBN4gFj3)wv&eb~R%djMcVaG~|r z5Y61&+^ZZM+E!Lpw|Le!H!tw-6{>yawd6zgmOknQj(pMk^*51Mg|cKQcTGrKJn@Te z#yw|zHbL;X-sStEa%AzIg*zk%1?5Ug>oJQZ+c%+;iOZ>>q&7GE+sY9&u z!hBFcto(~%PSGEsT~u7`GMIUHVJR~9tk4+q$jz-75w1?}r%`^#vih>BmmiKVxkwRs zD0|}S=^0o$3oa2u-o3}BHQ=kOO3^QYZt>MDk7yOYM4RIp8|4YL9-LxNY7=B~M}~(B znwx*|tsZVp8~gf7a?5(Z=$|ckQtO_(wdF1EGl#Ou%FMjh*VmW#`61f(G8ok4GaqfG zopV<#s;vB%Z18F!?muLW%TkaD$w7qeu% zzECmnurK1X_YMw*mq#$d!oshFr}&l;m13j1sGy)k_Mb4Ehh&*ljfJeqeQ5GlbDF9^O`1yyddtg}xyD@Q zGW@);;n~;IbGxtm4fjJ&PtPzVrvY~Pu%q%KSFQ>SDgvNjw~Rb~@L;B$>_o|T0X!~+ z&b_t9{R~O+@iiKa)??m1g9?p&LFiR+y8Wv6ft5e8P)5W1p{kmI*@PFXRpxStkN zKu3{rt&_uAG8Yacwu?D*Pyp4 zXp>NZLkit*LijGm8I@8z6w5ZUm4AM`BOtzkqGkrq!$+cM*@7#OFJF3C&!^cAX2~R8 z7xrsPy=mafnefEY(*4$)ADE-h*VlKgkIQlICVa`QGmZr{4t0AZBW`UvNR1ee3Pg+B zNIUP!<#kOp1*K*zexPCP5`n?0IcUo|A&=9dP^hh!2%M!_MK^(AZ&iq5D0!wRV*9&c za=vM~2}P^tl)UNGpMs8?^6~^hUbc7S5l(HspQi~NwtcdQ3q@k3_v}66jaCd~Qz`Ud zi!*xChKoAg^{j5)?wp*2QRhqfFBz8X&a{!IIO4M{ z!T}cd57N~s1#j6Jul1ls&EF6j0G6a97_Qxkbuj*-`$H1n{CqdM?{-(v=I;vlG)Diu z&SHBs{fJ~MT^(A+%R1&-BExyMayY@Li-Cbx*@Rui|92~5$lkQfS}8>@Th^%mO!B5d z&W&@RkAxPnh+Aj-^C*Sn2TXLqEGi4iY+7CAoV8wG(+uc(&DqT#-krVJll-y|VbdI( zyBLx2eD_asL{s3p;^@iVvbwwnq1tEZs)$MK0{WJfZ_n}U{_400(6jP)&yM|AN4SsX zPA<-y(yP2cvvrNk=z-r~LwnQ7Kr{uwEopq#5f{w!;=}uEcU?8sfzmv1i)PVJC(rDr z4*a@S0`!~HP|o_~=)pQs8{>%RPk$U^lMXZ;*NpcZa=tf4SI5gf5bAwCt(txf2^a=y zOkyb>Rb$^tBQ{TGtt;y_hPAL*s28_xe%Ghx8z2N{SY~8BIX>RSn2N3^Qy=au_CK!o zUDT;04IC>lQg1U7x2&I;#7{G&k8|l}-g&jQl}Y5+j5BP|gM>iMC=tA*2`)fLGi|~= zFjc$z1{Nq;$*|CawUzNQ8<#$_Qm4Vpd@98Ol(J6-iY0$KGo1Jw68>4|Z4VD*?FA|M z&o|r(X}rs{c9TNahF&q5ogS=Hp8?y&St45n>=+-n?o~`MIG*Sfv)d$Y)tHuL7J=Gd z>}RV471PvJBcA=>7vYt3h<)Od08_$=*tCS{avOgyw^Lv78ZWi_0xz+s(vry7u8(IG zE3zF2DiwF58Y8P&@DefJmWJ(??&466lHbJq{)@LPgeP^L@6mB{EV0^fpcP?4SVT;= zurbK7k|(J=%AQX4XSz81X&Ri@V9V4F+#+asI7%6j>HY-JBPR1*uSfq3W<4ze+jXj@ z2tG(FKRMhq(3eD9oK@90Or;7Fw?b+0dOIN(hts>QDIyx2Ck@Ma&T-(K7(=9Hrc|MqsjMwjMLf6U~&^jBH zCBc-RY;-G^6F6R%LoBB%9pl>%07{B>dOuK|HX5667~1q>f(@AVPtXaDaXle2&%%+!;L%A6E4iGUZEA8z)9B0X~-uD z0pgJ^9g8~f&QL~HLeJArYd4#b*hin^o}PVI2-@K4tnoG^SD9J34^QCGH$VQ=z3<(f z&P*E(qGf$&AN9_q*rs^qkd`z{NISyB$o;XsL-X zOm;lp{cC=dmmzG8YYf>hnk&0SSe>lGtc;ap;fg5qW5q@z$*BguNSS=+)<8~++PbY1 zYJj5q^{Ty?w@%O2@B}6{)*_dVDBC>qv@0POok4vC|0Y#RYW6#6fOnf(=-yIp=3O_f zBPb>KuZBe>HLZkP$BZp)*GR59)hMFS_@-%|1~vawjobL63_Upe>e2RmAswl!`|EAS z_FRw`+jg73f~JF|JC0`9Yp_9L7tAoTMIzlM(-^p3v_*U{)ffXiB%Gm&DaSMf|T-U zXi-RW!AmjT>~Rl;$TCrTsGyd&Z4!5%B#oV2Sggcd4}ytffBNgLm_&V`c>M&v@7deP zibh7(6@b*KW(i>=q*f4@7w0MJXl8%!NmSI%zhkc3j5VO=k~L%&BT_MS9jyTe41I>J zJ!WIBb}Y4Y9(boFOT_$!`$R5n+exLOTMC&Sl>br1r9_?eaeO~Jk zM;sI(hZ|PcVmNeWcQiKP!WqQ^rJJnd8WwrJp5i^BkHDfmq*0$e#Bnt7=k^$A5*-Dq zJSFnvGMvUvfI4_t`X?A{C*X1dyrgLM=XCvt-U*NGpNYZ8vmwLMDdybcpkgjK#RWVdCm&O^4NQk`e&9rY)RG(dzQ{R1W7rURJYA$e*9?b6U<;8CPUrzU^$Z z!nci*InVxu5q-%qtt>RCs?b`uAqTY z^#ijUS-<-i=fA!_IYWIdDfe7#Ps!udpn(5AcIN>lt3*?1Srw@#JV3=RY!V+>CxXY$ za9EZWhq9%LGT%V`MH@hb1G|eIIb|DznPTlZftT2}cvea$?D;RjYn)#m$r5MdM5C#oL{1DbLsOFyzi$lRi0sIQah0;XJZoUC~vaA^_H z|0_<%JKrYXXr)rCXTxx}vp{U}ylCHWBJwp>XG&;vAA$}#&jRtD(5kMm0{N+pFZtPa z(bD-*p6o66kRn6QFk0^4oA0fU@O)fcGzX>5@C}L(y2+zQtziDn zjjvkHAEUX%XOJJ-Ep`wEn+-r;{8Z@))81R61;g@PCQ6q{N(jMLADXk|0^WT{SRis| z_E>Chn?U8n0lmkG3I^S4a__El8sn&C6L(6QCf{f`D!Xszwfd2q=Z=1^Y)X`hdPiuu z^t@FevUi*FT-mx23j~;n`)mVM2ZnKU`+dUkg6P8UW*ZTK=e`0al}YtCKlGVv4sKhw z2a4!cy&FDDIMGw{Cq004jJanaQb;(V z%&ZP@i-8mJOaACtiS#=bl8&=G<8Kj}=(rLBaIppqq?0WzyoTINzncV@vXAKU!V*~^#Tj6;8;9|B zy9;d`#V6#Aa9GE(KmXQrP2L0@+N~FqVOH;;#qe5chG>Tw8LA#MwlEF^oJ>zJ(ABF& z-{{&>yP*+d^zWs27S6+}j)Nb;&3R!NcPzM-S0DzXuM-Ic2|VZCRe5MsYa}u!KdYp% zi{v*h?>EAn9l2%(?@4Nq1tV=L;-7)-6hg2&7MO`LL(!F`3A1Qm64h>D5Odh%nl={F zzUTAj(K0K~&B&Wp!tUWN0kde_qI9^Z1`HiYkA^esN>GDmww7&3m2JslZRePfihYG- zlE6@T@@TaZ4|O`<3Li+{Xv>uH%$3yzGu7gWgS(!dJIBjVfdPn#wS0ZGj$o zD#J<#ZWY!eed2=fiof`MGT`WYC`2|pyc;Jm0(9?#k`gP3tiiKDpdAa9qbE2xj>^)Z zhq;#o#!>QiY0wuotDIIOilM6n9icKwFRUBjZxfD#;XDKg>&VaAJrtXZ*wU5-OEL*H_YHuPHF5&T!)kB zn+!ZYVyMe!6;B;P5=0r%>T^=c3`M_J&isln9SM4nQ7Dq&OOK8rZns@|mv25^#BBps zhb+K1hU6ddX>Ng^9|(U1^1N~pW-Z0By_Oc8SqzBBD12X$kOZ19J17q1DQ1i(28zR5 zw=FKiu@#xLku|{WzQGF;)BQhGc}j+Zb9pHpG<5`UZ{Uh~XiL)=YF$csuVK6HP=+Ak z0(o9LMMAG(Gr)Lac8U2Qz<3NaH%a2|BFuXCY!n9_3A~2OLONP2YD;{)Jsf;C9vs(1 zwV+U2)z#RuY`yvixB0Gxg=!F_$o}veJU-me{~sU%R_;%MN<2U?86ItpsdVLHNK$$9 zi_d^jk;*#Rr^`Z>O!(%%L8Pr+XPLkxWwJ4x1Dz(SBVX(Y(SPahI$5sfJ~h|kF)w5M zMw7~Vy7|fKc;5odcqJQrOZ%;MIymfa5NZDdqL_rgKt!6XmP!e-{|7|Qth*6cy0aZvE20Kc1W~n}3v_0|7iW)jnu@xkv>_XGHsO(Q{Om6eY5(ORzI4DtymEg$ zl(qrTOPt@<{%mhKycq3?nQQVa54pq|9UpB^XWY6|_rG~4k`p4(rzvdPO#nFJW@Pf? zGYo1A7}i|g=Jk*79{z;e@Bd-J^Y>pOW$a?)4By}a8Nbrtu#oqyLqsExRRXFW)x&U1pPAwP0nrWXSUC26j$E^8r z0Xgvw5kt>g=*yHrfn!NETh_p2LK&H7n~G5mBe|BkS>jr@4O#*=mWSAjfW9axr_s>d zWFn+AK!8`ze0FA%Q{8;5K$*8h_I2uP5M&IUa)GBvyl)D@=cSS!-%AfRM)d34=iYtW zY7V(<|B@vk@L9&^XJxfjo3`gB(2>rn__3t4V9lpNQuc<0a&IK+RP8v`)sk4=j{$6i zHR94WH2EF=Fv&9AslpSaTD12&Kdl8cB*V~`6R}bI@KZUUN(e>5gAnt>9|$@jBVdW7 z#*r-HcqZ;`MbDBe7x0lEHSE1LVeB@E8#3?@?6w&?;O@s$YT(;!Fk){F+XcU ztgxgLy^Y8KC(n{taO=I+^lotbmZB4Iy2qYeqWBz-G{`=x0V#C|k^9X}mX^QzZw%Su ze!`&@vU)I-E0?{XUau@f1Qee8EX!~VsF`=Z>}HEc4j4gur|=wLr05Vb7n;tm=I8Of z+4k-F=hW!&$Nihsk10PLsX;R|-6JfW1Xerz4jm?ob(!iA)1k#^E2PxGs}ZVXHB-Dj zlS-J9BabhF0kBY>LdaCT|E$a*lc%1VEaBap#m6}^X6o_uO7HT&N0Boz*OVJq+-Iev zy5b-ver(8jzdxZ1j|Hv{RODvQ^caYutS=dNvL)QTQR8ZKb1P4jXy-X9iHmi!9qw?5 z7;SYSy8c+mKKqY_1cMTKT66lx%Z&xL3^H2g{X}BM2z~)CJw4?tyYQ`v*lT7SwPWHW z@5N`Xhh=}Q&z&Ya_75)co!~^Ijsx#R2KY$P>2TBVXb_v;x*z`vABlx}NvG z0erfqb4Y&VBHXboO9KSd3rr-0=?TX`rCELH^2$yu%ZRp z1+C@V-A?hA%-)`QT>{5?kM0i9nE@11S6qQ4&0SFl2cXcMX_XUBjYI>PDN^Sv3XK|J zwk8F#018Eu>DhOgFrZ+)!DpDywVP#zB~HCvWnxzpx_?EX$0_Jx#Qn|0KM@sfAoXs9 zM!>}A*4}KR>t~PGN+?b+(=Ks<;KPNWWI_u$W*uB!H+B)XY+N!UaBGs|P?m(G$S{9W z;`UUPg=FS0Vb2BGFVl^#rmfKsMU}f#&S4QkOG&`$EMQ*?%zw-&>0q;QB0+sWCty;C zxH}Yh{R$-VFS<>ZreVh^NpUVhrvO^+Y%SKy`Jy#74>~qs=UhR6dEdKE3%cTxbpnx4 zK}5l<`7#(g{@%y4s66c-2YtM95Et7GMICwfzH9u!Qa1$^*#uL;^eNCZUfbk<93=ks zzZ}Hw@*cje{&WIi$zpZAvcpD9o~glUENrdz7L-eJ>pkzhZ(w03BCZSrxTG}(xgXb7 zm4CdH4dx9v-Z9&TfPAPIMRsZ)w2U81m{+`DyjNo-XWmv6KbKVq&~}1PdLK^qph=51 ztxJiGqpX|ochmQnl+ou=5rS8z~dy!84#UNI)I>kITCV)X$pgP05Y106MX8tgU zb=0b6W_w+lmCCI7F9v;e^u6FAdp&|mlo%O!Ddb*K;voNwm$BXd$i;B&Hv>UuCMCtv z;31pTBPUMv77U4%TQ3>zjV0+WK1JfS=I$ziHk;iy5dJ!8zIbEC1-uVRu=U@l@32WB ze`Tr|NSzJEC(XW+iWxJl7!biqB3PQTXCnL_;UeUNp6foYqn!nnk9`-YYd^r`T-8uH zke$-UK32%LmyrdR9g!H-Ye_{}*WAsi{GW07ytJPK8`Zm*q{scK`IPBKh)QCw@Xfx( zq{2(0M_4hoeJOj<^^y8hrl;Hpe516qsmq@rQ^6?|3cJX^&lWy2Y1tei#*dBKnLqEi z4Xrz6;^6KbkGyUOJtu$5(N+CWcqIGfDbvBmO)cPu6zy|zzr$EAY!sGK{hWONP1;jO z5MQxAmuBDMC>v$(q5)0$L$uKqnCy}m_*@@Nt7gUUGASQ(CIQC7dT3#G-fI37aWRxmIMMe$#5h#G47RXLW!jq?&6w^^) zRJa6Okw*HbG0uSh&dDQBu3B@wZs{Jdf2IoDK831M$|(~mA<(`^J7uenK-b_4UkdY; zFD?<;HUVewCTBL|A$34`Gtb;8&4B;`>WJ}3Oc-wFgt}$jHV;!&?7u-!ey!ZFKP8`q uNwq!#tdyUXFB1vAHe0JC4*h>Vd5OQ*I$GoH0D@fot*ND^r&_IS6ZS8?W;#v) literal 5387 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 T01(^}1blaNO>`P>J7N9@r#@PL delta 4336 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

    C^xcrW{c#-#IBfo*r%LAZ}74mR>I7~^a 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 d=@ literal 3750 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 HSJZz1KfXf_ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_medium@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_medium@2x.png index 88aaca5cb0ff2c6774c31d26363ab5cffe2e1bdf..07b6dd0e3d5f28f27d42baf49266af24db25f7a5 100644 GIT binary patch literal 4461 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 diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_negative@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_negative@2x.png index d46f3ba1287fc60a3b61d775da201db04472b232..76aa492a45c99987509ddf0ca370a436354889a1 100644 GIT binary patch literal 4111 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 diff --git a/StyledText.podspec b/StyledText.podspec index fbb9f1a..8851a04 100644 --- a/StyledText.podspec +++ b/StyledText.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'StyledText' - s.version = '1.2.0' + s.version = '1.3.0' s.summary = 'Declarative text styles and simple Dynamic Type support for iOS' s.description = <<-DESC StyledText is a library that simplifies styling dynamic text in iOS applications. Instead of having to use attributed strings every time you need to update text, you can declaratively set a text style on your labels. When the text of the label is updated, the label uses the preset style. @@ -10,6 +10,7 @@ Pod::Spec.new do |s| s.author = { 'huebnerob' => 'robert.huebner@blueapron.com' } s.source = { :git => 'https://github.com/blueapron/styled-text.git', :tag => 'v' + s.version.to_s } s.ios.deployment_target = '10.0' + s.swift_version = '5.0' s.source_files = 'StyledText/Classes/**/*' s.frameworks = 'UIKit' end diff --git a/StyledText/Classes/DynamicTypeController.swift b/StyledText/Classes/DynamicTypeController.swift index 6136bdb..7424eae 100644 --- a/StyledText/Classes/DynamicTypeController.swift +++ b/StyledText/Classes/DynamicTypeController.swift @@ -16,7 +16,7 @@ public class DynamicTypeController { overrideContentSizeCategory = category } - contentSizeCategoryObservation = NotificationCenter.default.addObserver(forName: NSNotification.Name.UIContentSizeCategoryDidChange, object: nil, queue: .main) { [weak self] notification in + contentSizeCategoryObservation = NotificationCenter.default.addObserver(forName: UIContentSizeCategory.didChangeNotification, object: nil, queue: .main) { [weak self] notification in self?.contentSizeCategoryDidChange() } } diff --git a/StyledText/Classes/StyledButton.swift b/StyledText/Classes/StyledButton.swift index 2c0e381..4c755e5 100644 --- a/StyledText/Classes/StyledButton.swift +++ b/StyledText/Classes/StyledButton.swift @@ -18,7 +18,7 @@ open class StyledButton: UIButton { private func updateStyles() { let normalTitle = self.normalTitle ?? "" - func doUpdate(withText text: String, style: TextStyle, for state: UIControlState) { + func doUpdate(withText text: String, style: TextStyle, for state: UIControl.State) { let styledText = StyledString(string: text, style: style) super.setAttributedTitle(hideTitle ? nil : styledText.styledAttributedStringValue, for: state) } @@ -39,7 +39,7 @@ open class StyledButton: UIButton { // MARK: - Overrides - override open func title(for state: UIControlState) -> String? { + override open func title(for state: UIControl.State) -> String? { if state.contains(.normal) { return normalTitle } else if state.contains(.highlighted) { @@ -54,7 +54,7 @@ open class StyledButton: UIButton { } } - override open func setTitle(_ title: String?, for state: UIControlState) { + override open func setTitle(_ title: String?, for state: UIControl.State) { if state.contains(.normal) { normalTitle = title } else if state.contains(.highlighted) { @@ -68,12 +68,12 @@ open class StyledButton: UIButton { } } - override open func titleColor(for state: UIControlState) -> UIColor? { + override open func titleColor(for state: UIControl.State) -> UIColor? { assertionFailure("StyledButton must use TextStyle for title color") return nil } - override open func setTitleColor(_ color: UIColor?, for state: UIControlState) { + override open func setTitleColor(_ color: UIColor?, for state: UIControl.State) { assertionFailure("StyledButton must use TextStyle for title color") } diff --git a/StyledText/Classes/StyledText.swift b/StyledText/Classes/StyledText.swift index cdecab0..fb70571 100644 --- a/StyledText/Classes/StyledText.swift +++ b/StyledText/Classes/StyledText.swift @@ -33,7 +33,7 @@ public struct StyledAttributedString: StyledText { return attributedString } - func enumerator(attributes: [NSAttributedStringKey: Any], range: NSRange, stop: UnsafeMutablePointer) { + func enumerator(attributes: [NSAttributedString.Key: Any], range: NSRange, stop: UnsafeMutablePointer) { var attributesToAdd = style.attributes // choosing existing string attributes if they exist over our style attributes [RH] attributes.forEach { (key, _) in diff --git a/StyledText/Classes/TextStyle.swift b/StyledText/Classes/TextStyle.swift index 1b9b226..037507e 100644 --- a/StyledText/Classes/TextStyle.swift +++ b/StyledText/Classes/TextStyle.swift @@ -65,8 +65,8 @@ public struct TextStyle { self.dynamicTypeController = controller } - public var attributes: [NSAttributedStringKey: Any] { - var attributes: [NSAttributedStringKey: Any] = [:] + public var attributes: [NSAttributedString.Key: Any] { + var attributes: [NSAttributedString.Key: Any] = [:] let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.setParagraphStyle(.default) @@ -80,19 +80,19 @@ public struct TextStyle { scaledFont = dynamicTypeController.adjustFontForDynamicSize(font: font, supportAccessibiltySizes: true) } - attributes[NSAttributedStringKey.font] = scaledFont - attributes[NSAttributedStringKey.foregroundColor] = color + attributes[NSAttributedString.Key.font] = scaledFont + attributes[NSAttributedString.Key.foregroundColor] = color if let lineSpacing = lineSpacing { paragraphStyle.lineSpacing = lineSpacing } if let lineHeightMultiple = lineHeightMultiple { let adjustedLineHeightMultiple = lineHeightMultiple * (font.pointSize / font.lineHeight) paragraphStyle.lineHeightMultiple = adjustedLineHeightMultiple } - if let kern = kern { attributes[NSAttributedStringKey.kern] = kern } + if let kern = kern { attributes[NSAttributedString.Key.kern] = kern } if let alignment = alignment { paragraphStyle.alignment = alignment } if let lineBreakMode = lineBreakMode { paragraphStyle.lineBreakMode = lineBreakMode } - attributes[NSAttributedStringKey.paragraphStyle] = paragraphStyle + attributes[NSAttributedString.Key.paragraphStyle] = paragraphStyle return attributes } diff --git a/StyledText/Classes/WeakArray.swift b/StyledText/Classes/WeakArray.swift index fb5c2fd..bbe1f13 100644 --- a/StyledText/Classes/WeakArray.swift +++ b/StyledText/Classes/WeakArray.swift @@ -30,7 +30,7 @@ internal class WeakArray { func forEach(doBlock: (Element) -> Void) { // clean up any deallocated items first - contents = contents.flatMap { $0.value != nil ? $0 : nil } + contents = contents.compactMap { $0.value != nil ? $0 : nil } for i in contents.startIndex..

  • # z(PV#6Gi`lP{`0*cSh?;r0E&nR5xB(s?(e9M3fW(ed+uO9hxyUP&icdraOfzXpC>)vm5IIV$qAq z&#V={pPjJh#c^b@5V_BH(g9i&7dwv>4@WuR7@I>qPcE(IYLPjrx-Du6Sj!CVIl*p*aDAvM!kR5kgmFjX;6YF+;v=$<^U?tcxUod`YFgXQip;{~4*>?axq z3i2psoxM5hOY64rFzHy`JQXXb#*h8wi)@GlKPE3;S`1nzC02i-dnEneou->^eerRR zcJ7@N6P`JAeirAsr2hP9;M020xTenMhx5VxjNd3k`QBiYQ5!x|lscSk+@iJWiK~o# z@_OrD)Tu4&%Y|<)82> z3q$YBCz1%=yuDTiD+iRH$E>>yVNX5eNae03 z&x5zQmT{xtD>>f}CKOiY&6Tc0Kb0R${nwuq5yEk}>5s8I-Wcv^ZWhc;U~qVt>Z|PY zb@`##AD^tBK2<(F;9~QBzQ&c~LPWr~{qqgGHh$e$f%N!q4DsJa#HjaMy8rL~+qrc< uz7mv9+1Q=9%HGkPiGLL>Mv3*9bJ#sv6#H{z>Lka_bj`} literal 15489 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 BMT`Id diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_clipping@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_clipping@2x.png index 9d76cddd71c90ad06061d2bf4ddd939deca7abf2..f73a3b2e1b044a49eaf6e2e47e2cfffc972a4dbf 100644 GIT binary patch delta 3379 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 JM6N;tV1hs8m-7Gs delta 3382 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 delta 3279 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_word_wrap@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_word_wrap@2x.png index 3cae38d37719e754ff197e023eb5d4e7575385dc..a651153ff864b418641c4dbc7b0e8eac930eecb2 100644 GIT binary patch delta 3025 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 literal 5096 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_half@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_half@2x.png index bb32c8bcc7260d2c71fc167c5a847b06b65ae2e1..0dd84e149be4b67606ae34f6bd705f81fb30ddea 100644 GIT binary patch delta 3260 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 Q`E3$%ax9}JBMT>t<8 literal 5355 zcmd6qXE+?pyZ?g_R_{SX&mxE(J*>7mtA%K>SY7n!(V}K8tA%Jm^xk`k2%?KvYzV9O zF8bN$_xxY}uk-SpGuPbnow;AkbS6h`7zzDc^?;fcdSP6nvU#y`B39#*i zXJ8Fha6BQZpnH|0k2bLbqBmd@&wKaixc)I5H3;Vc*7?XmNyh-IxLEtAIAe|b|0%Zr zAae68bOEb+YDx+QZ*g|g{fdp0ANG$FYSoRz8bCZb1f$j2E0Q4&3AjS)0B0fISOD+% z@HkzyvU*&YbI0uG-AmP^_cR99t1Rl1VGOp)iTsTjrva`a!oD)=!RuFYEwM7sWPI%w z{9tRcU6QcT3)doTacV)F|K*AjBl23RCCEiiys3XSNBOJw^BC*u6s0&)xqhJ={<1uO zX8g&hd{=IW2!CPFqb+cpq}O(?vT-f^muA(m_1xmG5|h4tgD)S<RrVBRTWtf95m4riy z%#L=r%Yw1Z$DA@_i2HDTqW@sMKm8%Tbjy>oP;2x z!gV~?GTR==ncJA{yKVWOmsD(Xw-Kyf=|}7Dr0U+KK%VcMq0#=HXyoZkM4;;zO|33E zYgeSAs^MA1(z7FD`fKS{=2O)MO<$B8w?Ms2{p!>=<+hC2HH(MLCJc+~Gj_or5|2i* z7_M_5aD`UMwtV7=1Tb_|vE(%W5C~Z$wtqO;uF5JaGgg%(&a0@CrF~T}QmG{9Ib)<$zA%$UR6pNSqK!yPHDYiAp9)hQ z<>sce#CDutLFRng!;w0oQ`MHNI7Q6KYR;`(HvM -RsCXtPCK=Da<8Xgd}09U@j8 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_medium@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_medium@2x.png index 950303de7a7074cc6fcf566067cd1b8c373ed5a8..bd314fc63119a7474c3697f05e986960c107aba2 100644 GIT binary patch literal 6026 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 XqwG-HLnwhz6zND;I!G}A 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 diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_negative@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_negative@2x.png index 0f02c880de4ccf790f059ad41989e21f79a730db..2bf10d0f6d72fd150fbe34ef89409954e788fb94 100644 GIT binary patch literal 6024 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 literal 5961 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�~t^Baix)ix*HA+t{H0ZyM>~ z$GD@Uy>zV@2$Y}tly3}T!Cuu@Ntk3Yw`~kAM@0zw{qiuJ2AvL2!^5iUay=dY{bqaF z{<09E+~W^B!paScANY}Z<3B!}ChCn1M8R8X$-yo~ub%HTF8-!_fwEv4ojbt4Wr6#i zkyAGRJ#2=ToTOJA*OC`M5S?nHTzF}qOHAx%*Ftb6$RWEluKQ!Mk~WcPkfmTFWC_Ps zF-E;1zl0#3EM7v2rCH{h0vwpcmP#7Bl|L60ay)rqm>! z6$}3h4deT2-0PX$eXV1r-RZ<8Jyhf^KII3wrW})e^s@D8m)qs2lIU6cM@mi4#AHVB zbk4_}cEr)`mE_1=>!yf->AXc1061#cB0H(rYVSkirzXjn(J+yokdi}(tzo>A!on{) zX8S?&QiGx_M?=wT!{=+<#MLQztyl*;CbtO_f3(9Ru_Co4GpDaHITiy7Ze=}sD(@?u z6$d?2$d}P3!B9HP$?GpxT?fJdDT^0HT>_Ikf#<3;jFxlH@`O&OTdO2HEQq-|LfVU~ z#g#@SD~=#OlTXv$CgwvpIsEhA8Xq~n>Z#wHq@a7QY(4&N;>!^Cp4Z0;i>hHZ8VYcA zcnziBufuPLj%ukdEE8iDtv@duicG4ZtPwfnk&e(Zu zsagpcFRGvFlqlf6o@5*8h+&Gv*j{rxdEmJcpP+f|n!D)ULVueg=Zd4{TcA(h%XQs7 zVu5nFcOJ<&AruJ~0$_Kmr9VTaNw}tz``Jguc1nq>C$i5edFhR9$Gu(6e3EgaXU?=5 z5_el!1oU{ADPf*u3ACL$$Ty9<8arw`g6v$Kpfa@PVM0o>k1U%d=D&78M-M9-rVAlf zhNQLAskjz2%dgavfAi+CMWB=8a}&(%CYssTk5aeAu1x2NZy+PNKVf03E?1e@!PZuaoh??~+AAid79-=1H8`tR1`T^eE~! zOxcqOr+cjT*F5stP4n(!XB09a(5jI44Z3W}IWnH!TB*3&$}d8H8zvOccgl-SJ5`)x z)l@639^>0DeCIDn4WvV6cyt`^g+H=Mf;8Pdd=?*xDt;^e&VUtkFdNhDUp1*Qh>z*@ z0>(sLT$V^H zwA}!n^yU~1MgJo^4T3!*;SImolT>LZ?BV?izf|KKmPCP*WK6FnNzhdw^FIl5k~~d)LKq1{M&TZH(K$wu{$hg z^I}C2VM$0!BYd{nXn~z+@)Fy7a7Icw+Aw`0gTKYo%eTHbrI2=&zGw-97Lz-DfZAgv zmMh*)Z8TQ__&JS&?3aL<*)rPFQ!y%?MRj(^U7#UT=C#$|GlCmT8nnQe^b+^GO(_#E zq@r-Ru4-D*Gr|%0rXup7f$EY>Z91_h46{ndI&WFAttp%HN|jbPmE2O*^%(exaB03* zmVlW?s&NufHEVLPX3Jrs=;YkK-wOU`-TtL2n+`3-eDKfe&L|hcBpig=htD(9vN&bD z$Y*8g;)G>QGV`nZKfn3KPEYhze)eL2(=y!|qZ~oF+#1DRvPQW-T-s{R(9@(xDeKrnsMHGqAyR3EO81cACUI zQ0*8&MkSpbNdb#|qD+g%dKu@hMGN0GO7lo2L?-8O*N<&?sQfCQnzcC)EB7*MdKUym z;&{RriXT3sZgVj@1ixoCZ*q9z`jJrL8Zig4=>u;s$U|1%`!_Hk&QypK4iC88m+zuW zVZzH;_7x6e2E}3Q9VBa>fAWClMV1_l?kTj^hssYv#KVm9OM@3Q=`j}ic;B?!tjEub z5JaFfx!M>^P#BkytjaOksOii_kV$&@0V7sb0*fq4(MG3w(RR&iUbp;oAv|0gSls1v z+j+^s+~SaDwL7ZBLB#8^OzY9KL7?joE#RH|CU^iGtPI|_Sli(6==HM)s;tkN)+r<| z4NstooA&ZfK9&`O@MY>g?P8@k-M@UD17!Y@?x;hpOEL3di15?)~lXv}Y{(zjo*Q zlCwXbx-GpmFZSQ^wI|h9ZJP69hv3VP|KfI;bmz51+OD{zI)Bb#9bV=yTT>+@S=Q)I z_o%vkFM75`)bVXggX_<$IY|VH{jqrwDi0g^+MJxi|GHwj6L1KE zk7M1;gDE?YEKR+9Yv-DcN32i#a9dyE1#VCdoN8qg(9yFcBBFn__`|K;AFOSTKQ^2x zl^iRhS0naW&ML}g-m3p|SsAUISy-$MB46x3%Ump0`EEAb+}v0CPF1%jHP&8^x0+wg z64+qj>Y`}!?P2p>pWI88>p9z&{`qd(cU>S~`nzS^vD!DORqc%2yYr{ZDaG7op1(Er z)SUAQCihrvN-C72?)gqDc{3|N_ju+%{p$?#)aHi89627DAJiZlmw)Q#p4%6Fn3bnR zE1s^HW^-$;MfhWhdwXKv?=MOSye*Xh!T3^AYP6vy#1&Nw^Cd)})Xr+;rN z&ip*>TGI5FKYsq29gHyY{y;oO$o2U-{g-?Dw4LW1oxdnYa$rtvTz-BxJ$Plp~Ya)$=ubjo>ls#^Wur z!0n_T*2T>#HaM#y&avU!)Rjl7&Z@o^i2S|%+l9}qD)|@M1?zOGPng&kM^#3Y^y%8h zDvIx0&EQkD=lEpy@1HE@N85KyI4=42)0v~S=gyk`xHr9lX@h=#@nq22h_k{DTRwBU z|JmimbUZ@8R&00gwqGEBW6#AyHBDCxF@|M=>iAb@(caIP?gUvo&-PJ#91JK zfiI9pN)c}PFW|b7Z^^lSaQ7u}0E0@g%TXC_xdS34j0VnV;J}jCXv!JQR-Y3(MF)qXbTzMf*3*b>$h6mmlOYzyQ^Jv16az;rX3Zm__!1MqB06f&xP}K(j z2t)rI5}?ihM` z5Bpk~`t{7`M~`3YWkpwpzS9GOm7h?*c)%w`ZKkTCN7QR!wDZ~g(Tn5ueR2Glhevg0 zj;xQ*{+{sFhTo{d=BU<8w${;r^uX|yHjqq1nUFRyl;|0I82Q(ZEAzKak~RO^Ciu^# z6vAI`*#C$6Pp6Ow;e!rxWXDMP9smFKz6F?&{2w~8G-0^=n9w_7f zOVc)Xkn#b9D+#4r{+}@jKC=AJ`2WNGgn{7x(tX1vd!zsRsR+pU0A=_7%e_R%^$qZ| zc6Q@Leiz~( zr4Vv6g+4im(nUMD$Z1QrUr5~ib;%DtSNdz~VG?p4wq?g<8zf2+35Tc@Qp4Zt&9L6{&pXIvLQW|A99WA{(5>Hy}5tuoMnN(g!o_0mS7ie zcds>4N@e7Telec3^6F@zTNZ=7SHN`Ji};%y;)x?Ad`%x}+0uiL@ZjdJ&GPXgKIoj$ zvG<%#Nwj1W)8L$|@JF;~Q9XE#S;(*TqOzHM6~ zm#S!+`Mt6F#Jtw;n*ETuXUraX%Ns@>-Z7AJ+<~)Iw5R8sb-$6#7uPm34Jr5SgL;(IbxWVuj!0W80%EASSr|tf{#(1N>!4NEYI1&LOMZvv?#hcok<)WPvlppy_Pm8<>rsJe?!(^Scq!pA2Om(IM}L< z7gCkZ$Ui#{e9`{ltdH9BZh%~lvzZ^YhFr7VT4%vn73xNlc($1#J58>o=tDO)X>IA| zafx~SE&4>R9ZhcC;1ST!HSII!8mLAe3cl^r0SyY#LNEjcyY+0o-L#cd>Oncw+hX|T)v`in5(!RlrX;-ymI6Ewdae1G!JMa zu!Tzg`1AC@0g0PMd@j?=74;sZ8x6~yTxT0aEsx=^Hx3s<@=r89E*B0WM}E{7lR=G$ z&wbjCOU0dMuU-1;@s>x*e(kF)SEzt?>WWgIsg{LOBc5TZ%Wu0k-1iu|no$Zm52Lsy zTki(HIT!L9@JsZ(n$<<4LauM!f~RgQUQ#^WK8_0Bx{W&FW(y2Cd~!F18>2v{U^;IW zHi+`C6huULV$gno^vy=Q>%|h)g6=)+a$XD`WM-3BJ<) zq9Vvl?WJ_`3ayHI+42U}kqn1-A9YElH&063^d~r)Tv97|`bWPk@688U6k&4HM@m(OphwyE$T2P9}!k~hr^iBpEMKv(1&8Yik?SDShK zg5+(4S2+>;j?z`lro6!({v!X%Z=k~b_)$nH$${#}GB*nM#ynkJfO}qZjYKGWxf3BZ zj(OQtSpEiELTP`ym4Lvam4fhDi;*--HX(t((xEX;oRC6|CeP!S1eGr9N+E_l0S z1J_8O^tRc2RVke?@zf3}$IAxJh7&(&+2EJgry^y8p0wXWM{C=wRN?d$d4RaLE-?oY z3v{9F*Fzp{jL~m5)0t0~;0-wyU*7LxDyb`)-W!0G#M6a@@hQoO#Ocz~> z_>oWoFyaiSvO%J))Nq8#cJTMk(Az=wZbvKhAsb-F|dx)n)MKhB7l9huSMe}cV3`&He zD=3aFZ|$=3@YhX>zsU53D_u{R;VC8Zc5QIt7@f~aX0p5QE`?WDWu%q79>)?&vtxH2 ze&oYFX>)ByGBzct!NilHX_7c~ncI;?`H~3#%g2_Y6-}J&#a#1Le*F?0&%r5Q?qANf z2h|)#DJ@rV#9SqunqH4>UbTlP)fPn^nYmjYOV+eIvW9N9?kiOI7;k@AJkGmdDlbHT z8-KP}+?OY5m*a3*?kxe&DctQCPdrkxn=r8&u?ZO!pa0y;i{%ysu{@g^*I5$2_@Io! z&nmWGWP3E5gz&#QHz>*ASvk{onQ3;%|H*=dN~KqxmzxW)LItF%z6EwmJ4ROXJUsWs zf;K&WVeyA-E|FCT+xZhwywBT^)F)b%iPsDJbuSm>` zSG6PcUgGLk=4LHDW%JbT74Lk6=AZVfmMc_x@VKR0&=2OW=8_mrRi#6^ zbQ^F;pfF=gQ~p(x-yk`|WG4-B0tLt4+vGeoj6G_86Ex9P}Mz=KO2?E{<(Q zcs`k}hjWU{m-^SW5IXiC>Nq9Ob6d9DDc+HmXFa#HER{U?T)@lQvpN5O>{!yvB!lp( zlTE-w60Z|Dxf!K^+)e-4S>jCru71W28ImTv_k$ciWp}d~qR3X#`Qd<8DKH&PDF7br zXDm-|nY*o1hiTC*FKGlYs$D!iWJqt0I<*?8;$y^X;d?nEW$SAzGmkdq*I7_D_ORdK z(yGtUg*i~N9+&IB3o}fctAc^LSwf{S3#N*co!HDx)8)s{rpQjxWzp}^S9|+;32r~n zE~fM26GmLNFVq8j%q*hc5+f#G4>~~(R7jz~&$Vu-1eZR|TrCsbygB))%LD?(&rOaM zjn3LkjWBu9P_9v4rA)3XXD3wizU{5o+mK0?i7GW}YPz8N;Vu+(#j}#P9^3#AOJ><> zKNq;)!2bU#b{b%7yflR?mJa)(iI*=n4^Xsg{V5gq@#z*XwBZ?`wBdZ!K(`5Fy@rn# zrT`Y34sCcS`M?smiQFh)n)mLNO2W)LHKl`IW4oGp0pig``#|%C^qo@}&5fO~9B-ah zp*O^F@dzF?exk=Fx%kfR`+&gX@X=5lgaN-Zwvl86bO+W?=ygcsouh2J3Ey4c>1b^# z-;Tf>okEL@EE?(HDqp?QkAY-tAaf$Sc>+3VG(*qXK)$?ov^kP+E&D-oZ7Q}WE7Xe% zCtS&Vq{QYNDI-7{0aAYxrRjgpu4epAH!!CH{V2(6tzV)F7M=Z7Mw1R2mW(jj$|WPv zC}cP^+UMi4)HDqeT8W`~V5k73XEH(N(hP&k^cB~>G^@&pEZw`B;MS56*|t67pl|eP zh3Q~op1g5eylZZ-O0(e!#b={$!%yLO=Ays ztl~LTp>_)?szD9`2@}H}o@R;ltPBPvQ-0kiX@4mTE0PjrF!=-E!ZR_V@=Qsufuppx2u(0b=AT7W|w3yVfuE z?~I{!5$i8S(N*P~=tOv-)0%uZ-Hd0j3ti}>gTRVetn!cfWWex=@a~RDdL_fRbZ5b* zml6}kl;;`KD-1ZIspb>S)5!74J+cn181Zik|06Sdy0;(dReyDeZNFe)d64^*T_=Zc zY#1do+E1YJUQX>m*77S4f>?G`+Z?6NV2smqrgC_|Dd%J2vGZ;a=~pUeMISKHRQ>UC zZ2*{7sXVtYN{8BLs6?wdeTn~5>@GS4b4hpFd=nKE6Rtb=Xd z)8^Uy?+5P_XqR+Me3{^Godcapi0smGeHtvcXx58NTGSFwc0v4xLhZ|!vk3?<>?-M_ z>f&t$3$mdTG;h_Z-v`22b4lK*!-ma_7xaZnqAiI{A{Jkanay75F!|@|U2|!~q)8irMAldPbP%K8>*5B|Mln*qgB?&~}zr+`5i>_KWpIwfz&3 zQ~q#^%T-Aszfal5K0E zM$Zqax(eH4lHgGN^XTG6c_XS=>mh5ELJx#Wd^fF{S=Hw?--}#N42!GUJFqL<3_%-$ zKa;N5BI`iLSY7%J^nQ9*!q16|ZTr3}F3rfIht*LB*hs!Yc8lW12P==|AU|Fk^%#I; zIEnSyDiOb7=Q3k6<#!uD;^okI*ir?n3WD-CeOpA>$HA@EopU-iC@|g3`$HPEL?3Sg z?~DlVjjP4ju@Gq7L(k~N;04Uok*V=-yPSja1qn3FXdJ=SAk;erKO|0mUDqMTuE~=^ zs`8Q5MXx19a#$2IjDdxLk^5TN9*e8(&fryHY*|T|ZPQkoX_pnC>qOkfZGg6`Zj!g$ zdO5IFL>@g=b_zS!R#&z#VG|$)3()M>4NZKV*alnHY~YKmOU0jeYcL)%#7z|2I;|JT z8E5ps?OB0P%@?@j0V*fcCV3l8fX%a|%jUgjKQYp39M>Wm z0_KA)y^+CR>$$sPxmAjBznhMlk9_Q*8Mi{_d$JVtC(9RB{Z?eggV(`la=#n(BWwPi zv3?Dg?RgSU#YMOz@&HoS!r>Wu3^A^x4ZwV@>Yzb=WKnuoJMmm5-~2Y#wS$d(Fr7J< zd}@-#6_fC*QtSaF$ma16^$Z1q{_dwS6=%Od^wA9ykCJ+8^@j8)&%0;zo5LR{M~u~# zOGX(#$QIkV)|r75St_#uRz=}P#W|BcH~lEoSl2XRv<4Fy zFHkq+=}hEvq^;0J8)fzU=_$p7O4fSjT((ms!;A$JX1HZXTRo}6Wjg8mYBt0 z%G}DVWXBkiB)w*Veg2Xy_ql?S!wqK2mXa`%2`>&9fY#QsFg`~eL0>`hWwVXyitfj4f8GOVy``Rs znkGpFXaZQ36j4S~vR%gR(||X5Z=OhPJw!|%#}IIM5s$nb^JbP6D=B=xIVdx@n2G&& zHoH`~VX6tBFEBUoqzz}DsX)L`w-|78?;+RWZ-@!4@xaqqjYA&**_%sq`kr9!St5*!rV)@5ls|mTxSHeommWxduN>!HaGB?0a zkp8w~;h3ZgE&5XYfHWhHc)9ncm;K+l`E1X8Z32yw!T!b^VznZ%E(DF!?l0|D&DHdH zdYYwZrLLhFDY&$i@kc>wT~=dV5|Rv6@P^rib`VeNx`YTSBW%e)*qHC;D7(~e#W;)b zMa7t{Nn^scd5_<-`$Rm5@Y_ngSA-{Edi z_nreOw}s^vK;-Td;qSk41J`+2{F-~mAsG-%m`$l#4 zZSXJlkKveP?v)XQs<%Xi+vKY*-rdvW%1SjegT9NN%HE~+-xkQ22CoqdT8vz%!GWg~ zQpHAHfNPtM7lD-yw$0n)Fz`Z+i7J+zK95nzbp?uOb)0uHRmKk4ldCO)gua*?eFhW! z;ZR+jxk}~vw1Oq;5Vs~kmN^d0X3~cur(b@zfAnT1-3)jHbfVGqQee;NeiX{9JL>gu z*1448+LO=-j2$$=9JbfW5T$Cc&CL&JhPa=`e(t8 zq4P5m)U5PRSCC~dAy6t1ppS47+Aw&HhNSGxeEJD(rZNCvaIHA&2PUY9$9l#lKg`{=gZ+9Qc%@(EU47I9RCB;&E>7&9q_DQ36{nomRHmuz zrE=kZo9D?~WkrmF@2L{Io7?so->Gl8Wcz`?HhA5g$8hEdMYvkKakQn+HGh$Rls%&d zkvgWw>UKo?J@84wDbu zIpTr<@!!MFATrlqzZ253CbEI7?dLDSBT2@XA)SZ^9E*MS{Xo4i{GiE){uGb;i|wx3Oy!e zBL8Vb#J#5`Iyo6=HFHyUzemKMX>t699sWM%SZQ3S*u%h+EoSwKAWrQ`I*e(V-SYWx7}c<{?%%s{8j>MRAYg+Z`>&4ANT@0ssBbq2FxT2D zd~Y8nVrL!nA)lH%3ZWoAh3%NH>RNg=(<>9JWO^f|MgLBu)<=5^%=;+dm&Y%46!`A5 zqsM9)wNzHCk%e(r-v|>As`=x>%%x&5Lt2fLLr(L=9zWOrIA$8B_>)cDt&T264n38+ zE3^p)cCg<;Jrr4k~zp7iZD1`;`NO_*XfkXUm(O#cB z0t;RVqBR>82r@|C+E@rlH!V>$*grY2ChHJmrJv}INqPh2-MJ6~SZ8la{f3i`F1sId zG7pY}iP-74;J&JlL?r=i7{b0{@gf?RT|GK%}LUtoM*RYvjHdIH6%fS9@M&-I1rNUvQ~GRXz?_Mp<^6s7Xr-b zTB0CyjqTe&433nR3Znq-E@@M$!6bj#(-A+Tkb*PY-3!^)X}SmqG1(k+~IcW{5mzU+`o8cwceTipF7^^}K#=S{kNq9HNo`lUEiNhNbXlQkau(ywR!$Wv|quZVm6?MYhzU+I?flTmL}4ekG9H_=}elo z8*yqi72dpny;s~-xd}ZxngMU(0t$a3u1E9=Mgn+8 zi|_O0hx?oWTem3FCe5$ST{=Fn2IS%F#Jh5mqTN#5f)rjd{5s$NEqR9{BJO>e*{k@) zTDjB9H>2Fc$g6emZpN2E3Q8>#LTaUx%p7&9NnqG9MY(&vn>ntOlf>@TxeW1K#7LCa z_w`WNW%`I_ljSzbYNTMt12SJ>mJ-Hd_Ay&`YM0xm^`6;-i0r5fPo}p$1P?WVz0Ip6 z58|l}9!4uO2>>6Y`Z_Z|*PJg%5(EC68wRr*Qu&#%r=LA1 z#_iJ01nZ*{_~XE&G$cK!NpDs_%x^%f-EKXZ^7GCK9=gU}TKy7;<_GTE8bLsn{f7@R zl|phc#kH^Hf1id*u+;;e=~zsu2NkedzkfL=ZlY~&|Dc?nVc=dce}GznC(q7#d~ZZ^ zXm69Z1TpwqOv+WnfuA64duce0o0oCL-3E%E$atIXH~at{C{G?65G#Yrogkg$Qs3|( zbs?5LHQ_)|d+3TD**_anPLQvL3qyC{cNUFK$<5I;fc^)UTYcVYZ!@B(B!^YV*umQK z#+QLrUByA!9}Z+77S|L${U>nGijgEdvMBs2-Mi?N-!dr!bQi-4f7v&xAypTsg^OUSTxV8v%>SRmIM-_$%cX&Y8rs2 zPPsQPMq5plY<~Q--`#Ir+u8V@;itx&*;)NET!Ta8V>Q@9)6e zrq0=b9;%mVr9#f$6Mb3S!<*3w#kmC_&KD4w**o8eZ}w+r;T)v?&gPXgvr=Q4s6%^( zZ0yv2m-?jgvsenk8|jTU2;4f<62Lj7QPFTrO`rYZF;EndZ-8gG(A&^jwog$t$74v9 zyBu=Ka($WVC-r)q=M42t55k&b9{-CxrU(UBbTv8s#~-VCT=27xTZ_nT zw^}OkCySCrey*Ixp5{#01Tg!BZBmhnU|E6em=Cd3>QHiQ8dqF;TTN29ih$F@DN#_> zh^UB`EL@HdO*46z|C+BZz6WsTEgAiV6j9ZK5-z~m2&5ga zBeA~Qp{4uBn{uDu2-Zo$L|5aG*y5JDo((Nh<;y-t5fj?b0k(vx!8n~v;larIQj7d2 zA%RgN*h%TGf>9cy?N^yFfvJwr_oEcc!a~RZ!o+n}G9O52_CbBn{`;nI+2Ii+{#%%A zbm6jX?K{(be`^j}QF7t3kWUw{*(WMlKj0)F-NS>g@&gF#9`Bc&8*D zh^H%WT+bXJG-E5M|^9EN@rJNjr;jm5G>c zj*CF! z@`e7U2I}>b5hoo5Xw{?9X~keG0^fQ%DgATs{mRQjh<07#6!PKF(B7Egt?{r~VIzIXDX%K#-R5SrbhGTFm&cy!j^Y8a=K=RRA2xU>-v*BfuuT~~#@ zoZuazB-;cG$DRh67#P`Z%$aH4K|20C`v#a>bHm))Iw^Z!a{dM9C!K6rfY_gs z{dw3|yFc;IFYz=fBy8uM<8G~@fm_@oN+{0P?A48LvUrj@<~z02)0du6pitCYr7Q%( z-?xnD`}3bW=E&W_Up!C?8UICwbjWgi1IY9KiGTNBxXS+zObnTT1e29gyhDHwzMo8|A zbL)~Y5>4F2N|aC0(cDN~1;=!@KI8bktf?Fx3$fOrl0f38 zxe~#CWEV^*P(hQTFvI4B&(GQ{TWDT;-@^=?UkTeDZ?Mf@{2j&wzjz7C@*5#PJYn6r zzRN0FrbyFV_gZS9-7E+a_qAezFOBN?&%zfeKmYwrUFw~WjwB0Sd^QyZi7Eb zMjZxQU02-5A7>smUBokR1<5-~pMFj^t8jXEcM3xMFn7{HrR3EzdS9?TTurO^$wuN9 zbU>nu=3*Uh`1v-Z2@!04c9#i~=(I9YdHssTo+{8Pvuk8A`mSD6&HBA!>bzOM*Sv*H6z{LI8dFNmy zcNWXr5-q5%+s|z=K5dXh5CD_}ue1z%zrz~gR?xy3wqm&YCT15^IF=va+!q9{K z%P%|m7nx|!nry)+Rbbop4=LOlw~(mzxm@ti-TkSMpmLmbx5BX8gsBkL|D@2=;VgmU z7g_q4R27V`9aASY6itG`50C9cHS9h)d-2m3v&E#I{fdP%$SwK~6ylxb?2*kZtJLln zB}PS!@6pXUb}fD}f^Xk-BGKLFVrv@6cZfJ@+nXe7^YeBba~m_e*&Z?~$}JkZt)$9U z`bkN1b`Z7C*0RRE>5Eb^@yKQCd}KJ$zAA)3PhEL9v46KH+@K$Y|^aI@)ZNspjqZiEe(=^4T3Q zi2r@f`m$a^)>BMR*vC(@Jr3p8ZfN0X@0uU=`gonua{t73!7LX*62dk0jW_w9y`Hj(2^~d{fyOR zrj_E>RcXR77sXUvzxE0E1jM~v{-glivqaEN5zMzgVV%aMYc|``aM&G`Ba?sLBbGX{ z*p9!d*;+AKc+_(bOJh|Oc1asniG|)KoUk9b$y?=#EF8fvLSVL%&az!aEZ>}e?};X4 zcFS5W8tCN1uf7C?21w=%pg|V;n;)<6!^%tP-sG_#r&+~amwO2q9z~ZpkeR&z3>}!3 z7E)4Al@n4I-oMTJTWk28RnC%Z=kc`jp0iIjd6wFCyvtmUPzPryB>(F{0UJ>F#mUQ( zYF9y)ZYdugA}gYa_Z7{8^^oRWr`gAs#L^iF!jk#}N*7%ZFz(TEqaNsV;eSdzl!skm zFyxK^Ev2ExDA$6?{_*QLkGxUDdPeX?V?uVtv^~V}BIJ72p`A2wMqe#T6QyzuE_xI7 z4d(i7{09q~hQ>a+>e`u1`5H|#p?7nl>k_Fd1Ib{V#_YKzWTR0(&fb7TkX7eB|K4;x z!6@q9Cu}OP1(!8EX}+>M`O_ zmxb91TKWI$Nt(D;?6r>wJV;>R@9hX!lp|*u<)DBTypm6SxT)El-0l9Q@t;?bLB{aI zZa}D5aXBrk*Qb$|`l>EH5)eu`UZibRZm{s!Mb$?jH`;y0DskYHf{F3bYihCn*uw73 ztSI?s>IiJPPi}%}B_9hR9NPXDI#gJ4+qV+6^qSh0t)tq}_6-|F7HLYD0X9QuO=iV^ z;85!Eo*<||VELdHQs;s&xdXg4 z>5J!LJfZ{vSVwod8hf_^w;FVnh}e&krt135AMMS%*^#UvF;StO6dh|a-t3GyUv4Tfee6Pr3zWSsvGCibQM+_4DCqWoD~G5d zYuS72ZVt@JVnOd};g`;IeC{+eqsnjEP_1xxLG+g3lY%k!VsDxQUB5R$_P1>0&#Yat z-IqTB1IiV=9kZz8uJ_245g6*&7GMMgoU<#W`{_&@O-oMu!s*PWsX9%itBY|O>p`fj zJW@;$b@M8abZKUOmG!uZJCgLJD*Y`Er~_vFHp$6%SZR?0g#EH^>XcGfP_KOJqjcsW zeIK&>1Vdr-J*v1nSTN)W8E zgqvV#1365TD@=_dsoO>Cysl*|Xu~68)|67|yf|e@BL&Bh$|inY!9 zs*^|+d*S0o8bCyG*nn_@JQAP(l2*MAJ`N92Ri9R2Ki`rEiBboXR?k?AS_2(5*(*h3 zd`WBS|CtcA`O--{<8Gb6UAI|jMNI-{18zwYCh8EXwKU&l+hxmfmLb!;EYIOhPUvtu zQe^lusyg<~tjW4n6o~DronQRgCZ?Q(R_lic<#z8KRZe4Nh zT8qI~4V(RrUTZ)BT?KW84_{fV<9<^?+3)G~*n(WG^*HDJHMNjyt({sEodVP#9nz@F z5j+US&1E)KBfu&rWocmYI=u_WQW6Z$)^Zm-yPc^1Vurr7?|vL!;69+^$8wMS$gtje z{i1l$+T0`(2SsBU%y0e!tNJ)>V{k@X3y1@)d|t)E70`4^qZi5v3v)V#V7RI zncj}k;>#2fp9?F6*uuS)bSaLfGM@-CphNrMv}!48 zf+q!x9AB2~fJ{ksyKPFrfjT7ra0=nJO~i>)sX$&}!$eQpo7E78Qz@w&d0B1sgwZo) z%L87t-?=ZA~-C4?8WXL)!g2lcS>Q0#llJ2~po@XWu{W_|BqP^(pKl^v= z3*cFUqYgV&8I}w27Sdm(|C_}?!_8ndzqD_n3KqT!R;H1ZD39wH(qSckIK{r^pDP{f zRdba*Dr67}!qkbeT&rb#a1)KU!DO+UeXR6$o2GuXY8<-|@hS?`R$o?8B)SG9avD2D zga+Kopm-=(_{#WZuU+%%OgybpjhhI*{T%`dbU6SO?jjvUHJwylVMpxoVCdGz=~kb` zD`z2qZew5+#uKB{yM)j5X6A->^5!|6kMSlo?wZHUNf9QOY7lWOi?Bxz z&GfP151BJpQCY)LDzs-0Pg4Tob&*{=Ib&W(pV(DJn5(Th7yYaNcmE^Ta=~`U6S2pm zo=~Z&yFfT)l`5+Vh{OHiVo}&n^u`CKtkq~W-zwIo-wQp>6drdccAdH&>E+%kVkW&e zvSKyLOd)r>6>C4ZvMxN9cC`pDZG@SZgJ6HZKr^1(w{DrJX9&oC+d0skcNC;qUid;X z^=q`-A7b2_)mSC5ar>dc2m2@DwS3^V|2@D(GIksJ}{h*cB=l8Dv5_ksz#^(((m69S^$H6CnZjtOdb{^F6C& zzin1}yUtHE7o9772gH3L{h?WL%*~3Zt|GD;h<+UIjx{!^j-@#?e1LT#Jm`s$U6hzK z-tYIL}iSNFAZN6?`()Fob%XA`!RtoZ= z`Ds`up7a;Sp0%rEyHAo70k;K;{cIAVZ#K(DB~K<;cYb{X{KH414yK7K{toh^4(11N z^`zU2^mD!Z*K?=s*&T9NaEikwg|b{b(`LEA!^~X-Q7-QKvglAF5&R2c@KLuBPtBx| z&PdqxuQ_t2jNeO2+YU>NMU4C_J?QG<(GKrQmJ#E#QjiHYfXP}Q!i{4@jG0t7{8^!@ zzR1%Z*-NIQ)Xaz1u9jlIElTPrqOP)4BpnaCNjP)@X0x6P-@w}$`(M|J-&m&8oY9{N zoyl@GtxvGpT$s6o9W-rS{^CT4ma?t|);m`>dBa*i)wL9c*$9%O1)IW-wCx$|}6>eG{V2kz;B@4vm}jPVEXa-vxi^;#(vQ!gSR!pQ(F?*Nj&FM1ftR`ZpG0 z-?s?;m`qsX4@*Bz; z#ncKdi+8kc{WCI;WfnFU2#D@*Qu{1G0Iq(NtccX6vDB2N58NBCqZF#`HWqp%a|fjg zG7X}_SaWV0gj8|Dp;<%F0jS_}Sz>YI=aW~Y3x-W;%OBEZ;Q@R2<~Yh%faE;G;6cyJ ztCiPQ6@&SCwnQ=9Uy>+T_@rsrfG?OP^W=;O6D6t?<2>PoHUdl#BAZ^*H%f)}&K5uk zGsNUzJlS1#e7OoCB4qg4Y0P%TANc2Bt!3w&cA6$T+3@$rENY&^`v3CaZ`ep-AN zuDLMPh4(hKfb0NAvM@<5;{mwO)679mO5r43V z(W&d&03*Janrdy*dLzW90R~^`1?)&0oH*_Hg=}r}V5XgerGvB@siD5vnipAEBOvJDuT~M%*)3B4@ zE9aF&?2z&JS5_6zb7fJf46*qhbamdY@Ty!8LB=V?I#0Yn#-4%;KXy!KK|Uu%PYh>R z*_=iR1)v!9sy(u@8|uOvPr6;4&$af)o5lfjI!%AS|3zOajcwUDED6DgliZ7v%xl2F z1lX2BeBQZn_xCQ=!m`ZnNW%2m!-?+@Htsa}VBI?wQoR%La8^ zUSjazg#K4I=Z_EpvKHkJf81~}i1lIu-f0N@A|2_$P*<;QG6Tc&gGnBLf6Z zjLp1J74f#!4iO5zfoR zPw{E4nztc5o5aN0L*S{l?}3yM&bK^h*Ndfp2a4w?Ymr#el5}|UeaDf`9w(Pz(bhfOyB4p4H-hXMePj9k+7t1VRsrOpY@^SNEm7SmpctX&> zl`3-K`1JI(fO9sboWCb!LSI^6WM!2i(oNtQLe%!q#e1R(f$-KcrWX3l1Ffi!XQDAb z?=(r&NrVCNm>280Dz&;*1VW9UPMPq&k2JqUsQlB-83dv)kQYhk?_c{tQFz^|2H>2V zj#JK&M<5w=yW@J5M>o(?2LZNqokPtVxDF7M|Z!B(RVyP1PefioFia znem%__hD>IJ9{q>?mFatFM=;u3Zsp5mqG9xqM}wQ-X19}W)9kUv!kHoA_{IIW>mLlKtOsRfIESHaHJR2U8w<)DR2ghy6XDXWd0|GGq z$qn#A@!|z5QR4?(x7GBp^X>S1O_BQ)kG6|h=khC+mFt1F+aZV@<4?cbLA&H2(tcY3 z+w>U|r&FBvjqQwcRmcL#GHqWGMSo9m$<+IP*q9{nlTuT2ef z=Uhsa>h3e=8PnB2BevEq#7)B?A&ms8uxl{Xt8b~47d>J_S}jIZ z7eX97{k{7{1iHfs;Qv9#Yma**KdAm^a`_;HNadoB8iuklDR&$BR>=I_byo_NDoU7n zV#QK+tmbD+Hk2wkrPr=IwQhY>)nDH=bPqo@+VhNpI26oZ6Pzf)_4Sj{-Y>OEaaR*@ zUxDs|Me8>?l9lU`MR!;xbg;<#;ktGIm80fV91{U)JGT!5VPc>M{?HgLHDT%D)EW@{ zFugd?|9Y7APm8v<2e|m-NmJ)Jd*H{D^A7}~sDLy{(Y@z@!}QZHJu0>dX-Om*Vp-a} z8r^mEor7Ds2iv`8nwt|o0@3H@{@;Xx6WA6v-|OHemp2sh)}UD8S8MhL9a)ktEu_jl z{C)+;8#GL_ie;O$)#6E)VSfsad$!fNGEmwb0r5Dp4seF%i(C)k+*2JzM1k#e2b&iO zjv0My9MGfu&Ei9=;K(dd$D;!!0O0Y)fBp-A{T4f^Db5!00xpiBpO{`h*Kf6RGW1Tg zWwE(KZ7JXAs%xvGtKYD{<)c%5vrjN($Li(Fc zP%{J>G$4$kW>)wCG$=%pg!?GSSRZJg7m*OWZdK_KrACr;dCi#MxjefwB`Z>e?S_uR zcdCnXtzR*p#$I|fqdPKHwv9W*L9U4nkGb=s{d(M>LHtfH?tKZTaHUiHthnQkn;Wtt z1yOx&lOaJ}Z+J1pGx_C%I9MV~j(9L28#a2;8Czwcm~ zrM+3H>h{kT0@1R&)do^jk-Z@b>&@{L@MMY0x?g-ZV(av=q@R)N8tT9~%v0(&N^AKi zv>X4|wzcJm1J~w#XnVTt{nD?|B_fghGYkY`_fD*zXB+%1~Rn|eL_`Kb-j`vrIKtdm%w&)KnN@|~r;`A3g#oTj?BH0R|1 zONDE07%cj$JO5);{P`#+onjuQ4P4u0{w1Eby01E&x1HzLv^&7@hR7htD8cKuW!kuY zT(H07KP``U`lqV;`M~kpqm>2jjz+hVyts??gFC$EUO1Q>`R!!!nF!&-hx2E)z3N>z z-TC90n+gZE2r)4oJp8(GTV%pHH>qu{ouR#^8CT+81-{=|ar@A%r#5rtWzF*=61s#I zZseAii*w>`rVj08(>`a}9$^+UVqv+w7TBwt zW?}YJW}EYk%Z2MBmsj7&w4VMkk@N7STTywFdCfQM4v;ym@Zg|S=(KGKE{-uq4ZuD0 z>Dm=*_MQ2ov-7Y(LuGF4-v{5qW_?QOQPr+H-G7{KKJbW&4>P3~11J93I2AU{P)p{O z?oU4Ws^Lcx^C|84o#%pz*(N6kM00F7*z)pV(O%Wd&wa%8bhU2^JvsWz<#_qL%_n}H|75X0THpCWWXs;OeV*L+D_sI#pOko7`p<4V z%eSs5b;v;&7BWm6WoEG-)23R;UFbFaZZQAg^d0Bh^QRSUXr6zzMcv;|_%%-?``KIf zmb$A>eVJB#cVqI?iD&Q6Y0v+uC@16XdFt_>b!#`+C^C9K-PXSEyyCfLgKx|)&gBCa zP<-B9<1-g>I>>`LLJ4m*Uz=TDw>&l9L8s@r$wRk$stXw2Jo>l2|wY(Kn{3nNJVN^AN0%-p$QJt8<;k9AD;}@lVAh1`s1l9GN6Se zkn>LTfa^xY`_&PPIVylhhdiFT(sB~~z>-*?COtWS_*o;3AA#qW9M=vmR)HTFvJ0pw z)@I%mxSq$r^F#W=mp$` zy91*|+{{_Za8F(s4H!`Ljs^@Q8I7hGa9$bBN|1tQw2T2~i_yXtQoW7VN}y~pT3tgM zM5FB(P_{TQ+Q1ua`Hpr8M*B*j!yHFDk>H-?Xzv=*xN@&N#K-|{Q!1#h4=4?YoW`nRD zJD>^~nJ@4|{lk*P#Fnt8ppX;FXImgY>Y>pX0;ZeMBnQk0qj?BaG>sMtz#?_DP#7%~ zAob^Hp)gt~jJD-Q8>geKZKl!g1E{k#+Q9?%9!Gnuz&e5GE_fq*6|d!XvE$Qc0f!$L NJYD@<);T3K0RRCX3GDy? diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_green@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_green@2x.png index fbd831b3e5077201b130fe921b446dd3fe99865a..c14471d6ecc132e1b415e9fddbca2826957a1ed8 100644 GIT binary patch literal 26098 zcmdSB_g7P2(C`~NNR1#pR1uM0q=e9sB3&#&=^aDw5UQYnbWwUyK@g?)-Z373+X5Fn`w-ix^MaH)mNBrYP8)o5*rO6W-SGD zojRiy&+`4S<3Gb)3bB8~QP$=t<$C9c!=jwVou;kZd?Yk_>ZCW*qR2f(NQ2tHRG|_- zM3MjB!+%(!o|69G3vPQS0!;yn_7pqo5C6|st}mnb81TPint6M2mZ)ZEG`#h{8~&f0 zkhp^WcTC#MPC~IP{&d;8>VKy&1w5zvztg4li0i161Sj5V$rAnFb+JUD{&)QUmnD=^ z_Ymh6z2HljtDt?+mZF7-}X0%0k;}H`99LNF(bmhL0VPhmkcG zy$$})^fsHDmliJr_SK%9U){APo*OI&H7_lAiWXiHBX30(&+mG4H*2dNS4F-Bbj$_D zT_xfrj}K(<&AWfPR?~{9JQ+Lc)61+Vs{6-7)mK|Ze$GbnviepklhQ_uno=`?IKR`{ zX}8a7dX8j?d<*}3{0HCo_R3(eEF6;||0;U@O1ujj8nVo3T^3AvRP^G!TO<2C zcXZ{~gtbiEp7tg#?7+nh&(;~6)#g>do^+dqg)f9f#$dX?pQIc7V?^`Ff!B=@yNwGt z?}F~83v@wB+)Apuns3=E{HkN(SSPN93D>ABWHMbpBgXT?qsZss3Ai&1dB0=zI7P{S z5=+)Z#eJ~fG&i@nem-!ziJu5MtyJ0jJ@Ss8~xxmeWlM7${lvi&ubOqiBQ$THkHP#^G1i2$&J-pP0#);Hk>euUoNplJ~1W< zesH_?e4^$YkBMwM`R>bh%fhBU+$cSi*lzG8yze-+-$yLEv0V?$Mq^&KMN}e>a6S8k zUr&sz#snz5>A|`e`5DDR9N|L~h8^hRmvM(%J=Prujq&hkJjDq2k6>0ZlGvz(laO-! z7Y148-I~t+0`No1zRuo|1NGd<(~vIXqTtgjUe>F!LE?NyldzS6nop8yWcV2YW|q&% zpfT^KR(mmUd~Xno2Dcl zs_p*vC7S^FZ!Jr;mW$5F`H^L$Z0SVGsn^Fu(JCeN-(L44!*M5FKgjlia1YW z?CY@JuQbS)Z0TH{xO_)Kx8D)DucCW){C3cfp>TKi5k&Lf>+5;rJQ$Uqo0KCZpNAY| z?S)--Vy;~FRf1lsGSx*s4MV;jrS*_}ypDOm7-VzcL&WdQsYzVk%O~BtcQ;dUu{HR{ z=J&VV4;2g?t!@`2#@6F z=3|xZUpHG^6(_IOFZbeUV#cU6faF78D>S$DU?ygR3R(dns@_f$iiEG&_)1K>-78?8-@l7%?+ud3fq zM!^)zPBf~LkPV9)rJzPD`F|DyIDsw8+ha~4?3ZDrH+l|ptemJz4_vtxOHWeo7Va*Y zo)>Zjkke?zsmJMBs)*W-aPv1PJUQ>5W3<6>N4`8O*N!}aWKtQoRR))SA3~I|Ewz~; z(1kOXkrUnnF<(;8ZMV2Bo-6LQCt@Mzkz!qe*iv5U*&Au*?5M4S3rku)+&naBJiwN~ zNiQ+pS-K`Vqkb-FaentQA1UV=%;anW(D_Q#4#vzeN4=MJ;}*s3&UNkbr~a7B_QBnRSr>PtB3&-KVk41j|8;;U0N21&TQbPESGS`{y4T#a zgjTH&{@5M3?;d=Tjj@RQ<>$zndgHQsFw$b*&`4_OXT1HceZp?{E#z~OF+%kVNKKCK zh2&r=_sB)jEu=p!PKA9%=0cyx*n;fj2)`8v+{yFsdiqobVte)n6WMTrx;9>#ID%r% z(~qPzs#M6nRkZZ>W!a#^$Q=`2%X0-*Wc+)xdv;wdC+J3j#QVzr0Di`aOx&P@viiF^2!IPX~qz(nViQ9NRL_;UXk5$C74 z+s$TDtdB1KQF!0!d=d81P3$zeiA-1PhB=xfyJ-j8T%>kBesp{N{rS7BTr*J0Sz6#L zf8PSS&6BHa;m-78x)qZG``q|lFRSxHkXq9A0-@1HR{*6fL%y&pIZr5WSWn#ow;QfQbf!ynaU-YsD^B3^)}d7XE)DbE3Qk+nc*C zwCeBW%x_o%RPPvdO##B-`<0`u{?BLg)5^&r$hcvSp(zu7otec9h{q${_qqb8V}nFh zw+?c=$5!geG9BXIq3pmeDXMnTpbWK3>~ppD6Z8VSo!IEde5Z);_1*XdJ`w3f5Y|k2 z(8mose4JQevY<+MeqzaJw^(xWG^xbTl|l$4VE6pHMuBm7czihPE#@~zFohd2(6umf zMg^`V+_}K{%K7PFbN7Cvmt%&a$gZKs7fb3G-he>=w(7@WKxu2kX-2i9|+}b*w_i#%cri-o!hGzF!I@-8XMC zQ993Tl#Flbwt!%DS?6vGnClWd>Yz(@J;6^lAq3WPGah>e+ zVhL|m4_O_S@g?S{1{K3(Umg##3rCy|DN}#1lGDXs{A}DI%~Yx1y*!1b#d9Vq18NLA zH?uHVxjA=xh7zxdjahrmB6Adn_GFM1sz3<9G10BP@0g#cgSQXwyLV(a=yzVtf;4*4 zt}H?Dd~k2!>=(!R+HuAgi}ORg8XIy*6r==tfp^Vzh0vr9Zm_)-p7$6ORsqwe%t#1& z_Sx@$u5k-X;5D!!cbX$%rkY|e(Z#;{GkC8jz+B^97P!b?8>&!u`RXC^>I5wlO%WZu zrMD$D%*Z1>LVDrv>`^FCxAVl)8wK=Xes?FtUflFx`bOt>rYO0$z({igj{&Nl@cC%m*ZT0i zhE`U55;9@lvMP{KWfRfy0utYj6o%=1UEI zQ2VN97tThkqhyLJO6W4)7G2#k-Hx17m5kdtXq^H6stOC=pMJ4Z9JrTtP*T~NG&icn z(?)Q z%J-{3iV94ZFYrsHQQwwj^%)-oquSB|V@Hy>L*syuM^v08fn{}{OazMvQM&@CdPUQo z?DRMll57zl%7&}}7n&ZMg$ROeg6%h&FE+|x7O=uH->;VlX~h=dWDzxD5bSH2&hF6BNb_$OcS< z!EzBWaT*{)(#@^6FW71)HiTeRIt3Bns=yfSNkK{I-{-m(j&T+X>;hutHq?`g=6q8^|FqFK86-6}QTtDVyR(-W{y+goc!0Dssjmhfo7MxM* zty@eiOSER2CDz#{Xtl`s>BC__{fO2qw3{tjNN4)JRl9$& zQN~q{FQzT$saItV;nY9YQZlAdvBHBJN3)QhkrD-d^|eo}A-L+$da(b)x_GCE8s+nW z?q`MiF1xZJe{f0H%J?w1A*Rs)@o;v+I5kYUGTYnGX-YpO>_rNP-mVJf%lOhJe9|RL z+JHXgbS$<}^DpGDo&GSvKQO~ zB*e8ijGdI?^LAJWdVn`mN=^k|fHhwiMBHWczVKGNL`Xcs)_iWllb+JxCRB8}dQfiYXW729gC$zi9_mxFv`dl^}NUp7jF>rkhG&roKkOq3KVkzAQy1BaY4) zP~;@6QjZ29TtMoEf|WhG3eD_|{rUWTQ-vVF%{El|9!=3}T>OVN;KTV&Bu)sRFZ!x7 zyhhQSP~(P!tedzbIJE}S$=9&ho(frd+#i!hjWsdg*jA{u&fW#+5;zfH!-F|vvZ(|n zgmtSB4<+AUOKmY3kgV^t@VG`=6Ky|@NoXe_Wgsgh$}g0MmXy_C0FJ9`_}m0;!sZ`D z9!PB`Z7V*~fxIdX+=9YqOnG64p)Xr9BPk~Xiqg)dT+0gZA@}~lOEYvjnNA8wj9d5yNLD#a4Q+Q|nVr%=nR=p$ZTDYajp$tGn#R~Dp_OAf# zlQp}E#+vfgapHfLJQu32DE4YC>+QT>PU-i`wtO}X`CRm{oXbVcBhI^%7|Mn3TCIz1 zvPPknt3yr&Jf8(p!ZJ3jFC5l>D0y5Y0!pGmO0jl2`Eq^GH!V~^ykL+Dg)M5TiMFBs zS5C56<*2_Wc~DheXsi%J?_=6mbT?{LkGNxW#O&STYbjGLD^4mOC{A@7&hq#{OwtdE z9ngL`-|Tv3+aPQ;l~^T75DBXvrR2ULT(F8G%ywAYa0Zu7%?snsmt1`pXHIS_|Eh+i z^jem!2q=&2L1iOk#o80z+J7i&w|E$zgmwxsQF)NH1eARL0x38I%Q_lXfN7uikH(7}wl^x5bDZnDYJt$n&B8Sk3na*VMg(VL%5 z8*qPs{+kXMxM>`U*U`mrC^;Kb$9(7rw2N7^eW;>JN#3{YRzEkJvR3>IyDhi9o3r(D zE^j)kWG3QW(PCE|c*n1+NE`rEm9}Zh8NKpAAbrMu;~U%xCfq&7!&G4%)Kv3++?i^9 zjkLu$Mf(SC%F7dd7naX1EF>j_cT`B&8@q{{RGc~(uS2<;7Ogz2={I-2k=uqRi!JUN z%?jhq76l5?*Yfn_nf$oAtu#`!G)E7D``k1M)cH*+6%cQ1hjgOXRUxDuZ5rxIn3EEy ziSPd@pkMRwHwXiUX$@{MNpaBkC7vZ}JVqV_s8H|~+!I_44kFy|Tm_e15g|!jB-e|IQ($ zug|_NJVbYw#yl3R(ONF?MUy?p`!dOPmn@@|xqzns}Iyh9tpo3xqxh-1OoeSMYYaV-VwAJ8>GIlVWU$hU2jqxUx<6bAo&ESkd0QG$9ZGLIIV7Q2QPWak zzNWgZRH`z}2n+Lp2C~mOM`Z_m_Me_++ji{CXh~-NlDL;&)>4CcnMEA zPEAQ&2a3Iz^>a5Alq@?5HMhVR>edJYloU`nOIid|Oo@SV__hp5U*pa+gej%%L2l)` zvIky_gq`->y8VfbFeW;zSy>VJlW0itr;50t`pMcCgg^NH?>VxwG}cHZ9JF8T2$liQ+#h?#GgOmNU=hCKWDq~Qm%X*%)+GUD*J4tL%| zq@W&DLv{;`M7nQ+N2xy{`S0TL{W1Y#q{xX)1={_&lq-g{Ae^eMBuB#XP%isecWe3f zgvU5<_>Y@XxzG764gYvh<-6rffa}e2xvzKZ7G!$53cmgr@0b6XQ3CcGg>7l>tVe=V zG$dIETHNsf(nyGcAX%cOKN=uZ^J7sfzaHPy#ETO!x5VBp?#s>k43Hs zA*Y49RMLE31pl5kXhFum1Qe%yRFO1r+2)`TqnquFbmySjmtOAoEi7*@@p;K3@UdJ_ zoR}C`!A2i97+a?eu`LI0*h{$vIbK`Pzi*?@0UYE`=-P#WmaMXd2Wt-gOZeAItM5Zi zX?q$(EG}=3!aOXly~S5!OI&BM@$%*8-g$4;Q~3d(k`@HHod;|ECbA3$1?B=31V1bq|M^Y9 zmvk^+ijo0Fw1(saR_Z#qiPfkR2LwOgg{eVl*|WyebUK<}4mNu)!k3H0tBRo&!L7=Be)Zc9pnghxbK| zdH7szu@{D)WJcB7IM|zfe7RS8Q~VCbCmF|u#hm1P6+?ZRs(cq>T;B8O^yk;YG?o1X2a%0<$HtO5Rz?oRf3KcCG50l|7 zD0e%t3f2t{ovw-pDX;17(CM+eCviKGMQ)pj=3a-b+$8ZIQUWRV7r_VGi~Al|jakA~ zvN#eEM%0^TPsuR2=SAeUhB$!3(Hq&zP}|ozVO)Ie?tGDhZ6J;L8|nwyBusdHXQu5A zta57j@H-B4J<9665ytM#D;YsvkAnWaey{h8oMcbWm+~Gl;0ggHkt01j0y^K;8ZRLR z0B1YmbqalcOJMeG(O{nCA3cC?eWSTUe6bu~giWd*fi`h?l!i9J}CDOMw| zEPY78c>c)?0E|TMJj9tJ#9ep#|Fztc%@RAk{t3Tlt(0je7SD7-=_J^bf2ZggICj#+ zB%s$hsYlgItRr<+-yf9BqubK3=e3!Y5rz~?4iAJEn<`9zQMH`=lf*X9j36;eIp34e zw=(q7ZcVIjEoE_plgd1M1}^@I8yuN^Uw|Clb6X}bcoo`HqtD%BuLTWL@o2T7<*28elFqrb{nFv^7ihpXh zEW^oY=dMlddE~+I@cn=NM87FDUBC|vLvv^bOTg`M zr=kQHT=gbJnm}r{uCduK)yXGqC(LRjZYwZ+D8c_~QRLj8AA|DI=#~Nh7_K(lDu~0% ze8X}FrtiB_c~T$f>tINlhRdu5djF#f z)h)Pdm44#nm{3!tobdl{gd(n!ZMgHBkt z1X-!8n=7!7P5_?LYj|ML`L#$HT7>+_f4Y461+;bg?^Z&{7^A>(_UKOJfF*ts_={C~ zD85X>UfQrQ`@oYowkY_kXzd#xRi8&hAjfRNPoHh`U5huvWNxO|Rgt9+|wy4Vu$+UnlyhB5y`%8xD@iVp{m7)#wFA@_;f3bV`u}wL13{BED0u>oNC@ z?~P3$R!Bd-D4eIrdKM(T?btACk#Jw?0hBvmz=;UMeq_B!uc7IXP;D`rmx~ z)hy1}5O7mL^Fz6WXW+pPf#6arCf?$LPlD+mI;_1&^uX^u7MIO-<+#?xG3Aw10|A2M zd|P$av1S3=Ag70jnYTjYgTH5@6m5%j#m1+#v<-GG9D-sO8E^yH5ylr11PPoYXO2r$M z4T%j(BYLFPp}W+Ey1z;h_XR)RHK?j>9{XsVLBfsq4OBzzo1rR-xC7o6L!{zAi95*} zc>x}m6{R#92OV`r7()B3O118&jwn9O0$Yh?;wv6WE|rx=RskI40TBU3I+wP}p<{@0 z!@A6Z77o2Zp|GEyhy~G3_(zP-Nrseap~t0H)tZ1w1?LzuBx!b7X@xlhAz&iqH_VZ_ z^pY;me6*e6MWirqLriCwV=E;ieP^iQEPLe65R{#cx79JY#tV>S5CEW27#4s+)7*} z_}Aug=Y4K33~5RCF;9USq6zms3SW|BFV&QoW$ECw{H!nZFIH8{sqP7qK;x9xl}}gj z5KE*qf7*$wX)P*g=f(CpesHG1r?2X0xKZ%04)Oj>@9qhzEe~g_j!>B~zQPi*%_fu# zV{&{?-E^yi@|td_Q8Ld9QmaxjK#QLFKu4s%?H$olx-~z{v6Q@QfHh1&SMTB$-|rC~ zwx?u)v%*Zfrj-tURNU}j=nJ6;vLk8H-0;eT*xu^dj@vbA^afdQWo9kdRKpykm2Y_; znJ(Zy?EGZ)G67iszHj*f(DChj{_Xy+S$m^?8Rs&%C<;(*L3&72GZyV~YPW?K7s@LT zq*%U<0a{l)Skb7g$m)3+!*1Jo>vPihR~P5*w_@)Y1TsWS$EM2M^Sa;qd!ZCrq7-1m zcx>MNF0mU(u5g|9exk$vv;W`?1+{DHqD02=Ve;#FY841hwvH$9%3^AWbsx75#cG4a z9))YV82u(ZBswQQBMGk0oR8?L*W<$Ra`|O{o6x`JJ6dkh+yw|{f^j{;&fM)mHRN^a zQ46+)XDO_&t)Cp%fa}a_o2UMLn+%S48`l^BsrnQS8Gd3ZhLy zAic5iWBNbXV_xyP2+4(5d@uBW`I8=c{*QnT{y#>K{|83-|LCINh&w&skApjljj!+8 z^Nn0W2oTapv#Y=ULA1k$_y^bc^tEkQ6(h-_bm)tHY)9L!fD(ViL+B0XT@euMWvc#)8%<9)?*Ia;esL}f7{g~ELKh@SE-X{<`*Q{W< zKU6Hp_WWzK!C}W@uD*#VUWf=MSVmy;Pp+{MrTl;Na|)KqnM=VYoja#_J+I06G*hu| zox%G-5Y)-lRrqzjmJz84t6d0c_j0?5JS52eDeO==W%}1U7c=*D_dqS#;1MR7OR+GL z`0%>q@E%+3bGRP1xD~hhU?LV<$tg%2!l%di1@j*bP5fa-in0`)tGK|&19ve>5q}4N zcj)FQaCl27NTirtM*hU4s^C)JL_M3>)AZ-eRphkBDE?LpguB05+`5i_&-ZH2zJu7Xkt^LqUZut8F|CExqLhTl9S_O}1eL|a zEVhxQ>XWr-laVd>TeaWPfEW%Wm&%|@82n_#S}3xyc-*u*qT=KUDCPl=z~#tb#xu0p z<<%@ka$7azY)yF|tMsX(zFmU3khdMXNv2qI)`dM#mgEZ_#-0-A7Z1I+g*}S=@qcK& zB*Wt4R4*-c+mRRF+m)#Euk%Qe)z)G6?wFt=i5Q!*6YkykbupJquLxI~(KXj8JuhPx3Rw!sZ2=bh%UbrF3>w z=fWAV-k{<)MOnxUHSjld_~7xaxK-kx9Wx%S^X~+cpnv1k>3ja@jw7D94;%Dvu_p)? zHQ%JaHtoUVtEJTo*L2F1cwC#I>mGGtSuqSGnQKCJ@O%yiitW2-KI0wWv+Hg zOI5nCWGwd5!^+xhXjg8V*8&nCPZTFBSrX|Am_BO&QmbooB$ZcR7qHG^F}gcWO<79$ zF~MlRl8cDJviYIaYyKr=P_X13D`_HJf;eKGfBqxj9U>Gk67|Y~_fZ&9ItpHfQ7R)e zq<02|9X!K<}6 zEnQ3ilWu0+E#ps*_C{2yl514>lb*ycZQ5q%R)8{Bpbo|yx1}@@+Zu69KFz`a-UgM; zv_SYp08i*rZD~5gY3a`Nl;56);vN@ zzPo62v7zc#eamj|V30ZUtQNbeeNq5P;(jVBCTX`+zuiwM$`kP6B=~GxWU8X$6ZTeO z^@41Z3peKE8~*!tf86f8ZnX`>P3mLMD`XHDA0(ps^jF|ZS+bE((^#jZ8XNO4T+LfE zEbtOxiGGR(V$MEe;1XNXid72;PhL26Tn~@Z;@3Wvl!UuMGqNpHa8ufI`CI zp$gk^?u<$U58&32@ZTbgNG~&plz7N_AVFqpVg@NPb++?1t>TK{9lt?`ew?OW{@kgJ=cYLUR+x zZza;xt0NCIVurl7dN#A+62&^;TGYhXUt2dBpH`vmUiZ8k@hVQg^Eqy*cDjM|;2L(S zPCh2;ybH)B1nHc5e@fSiZQSu|Myix71m01SETBiVp=+PMg*cSkhJu>TQ+H{4;#(N! zR4Y<8&_QClv3Qybs2WGd5%&~2_Q5i@9}rwr8~)?Cagf>51R$WU7$$Nf3R+wiK% z=^+FPw+Csv7Hu=t#OsJPd6ZGSm|R1Lrkuqs0hJmZej$9ehh3Qt{$qgrYQV=;!ZR|@ zUq*YEfix@X=a;jK7ch&rO}wnnhh!c=rWGg!;tA;R#p94Ti0sfyD|G41oOQJxK~3d6 z$rj0}u6@^o22`*^y)76nedpXX+S&UApiY^6lolFN9oLiRi1ThVi5 zj9ZN{PqfuSv>>V6KC*lzo%Z1Oho@_i&di}Pzyo8h8%3df=4HLpvOc{oLWpj5-M(<_>vnTt7 z-L6rLV|eqX=n(BDFhGMytrX%fMDfc&*|bm4_UVVNOc|cA52H#IME)>XdEZS<1b5;c z()`1{$`9!+ca=*|bYQ~~K4*hkQ1C)1X9C1N=e!T2`xp45B=I#IIVdoY%XSd_7T`F- z0{f+ua_(Z$yO=9BzM8v@Q^{n&J!wTfO=Fe_z|+hzw@o-cWHInBa4sFNkZi`v=xtk> z4-7PWEk$JAWs<&ztL#0!n1ZsR)&V%xR%`G)y4Eo^Ao8R^UyNo*T9v~T$jWnW^P|)xa@KIlt-Ox#dRKQiP1#@1JI$tm5tH$5g8mVi(q7UEA06+JV8E%!@pIYn-6oQzx)o<0W8>K8Ayl%4@s4I8sVGUgL$cFyaD%>knM3;-8oP0VOrKYzIFA5T| z9Tg!-PJqPG+8>Dl!Lfsynu77gt1Ik%^-V8%A|NX!rA|5+=6#)W%Se+3p#=XO3(*0e zSUZ)^s&@d)Gn=xkJ%OBF{t@Aj1N z@blF3Q3;vXMZq~$Wfe7-b{w7{R{lv)Wsp(abl@703n331>4^@YA*NH@{i@^ zZJGE?j%X|*#~v$QMVjstmhYdA_Pl~E`MIg-P7T2AT3y(uO}krDP|~IklImHj6f!0X zBS)^FuCl*vUii}_@|ARR5OUo7JSjn56pfsM#Yw5Y&^vMCJgayrQ zjcP9c?JB7+*5aQZYI}-(y<5SI3FA~Ew_sgY^MqT%wg>WM>R7V(+W6o(9b=;?W_5qri$@YF;tRd9SkT@_)`O1hFigR|X~H zLR|c)V;m89CDBb#^$W+d_-b!oBkA)((9)Wfl=~St+v88dJ-D8M*XxYYhqQy{&d?<{ zhr6kTuM0_-u(hKBNT*U~ub(ft3Kd(4B5IRS!kJSj>EKjo@%XQ&zC~8kKD%G6a28!5 zZDgm>`d&R*$tq>kJt~QR>1g?6;g+<8Iqy;Fae*7vJg z1T=7C@yp^}lIv{6Qs@29SrS6;992;LIDvo6)p2`^rqncEHgRBf>&KP*opMmIcS>{d zz`y)36NmBBlL>}_e49v_f2BU9(W9j|ILrJ-;!ghjd38TJc+>T|HX4aQjSES_HIHOS zrMSZH7NbX|Miu%1(MjxD*}d5eC5z#UZ;FfiWnQsY&G>7*-46?dd;tu z1GW4Y8n+VJGR44_+aM4P*R9Q(saZSzzm+DiL*$kBC$fQEY0N(vg5Ig%Q>LM{TeLC6q(x6z)= zRp{pPI3eLtg(00 zBedyBRSIlSg2xBeybhsB4QMAif>M~SY29}<();-*+MCx;DQul3z`#9EN-Rvfm z2AmdrxzBjFOWZ3WQR@guMa0%dyJn6|o8uGWOb!sw5%JY)dFzrYqAx&Am&S8RHAo3h zOfUN3)l0gM%hgFiug_=Nu_4zap@{vXR(}*lA3&_MS9uCvRr>$$+8n(j=H`9 z7#5;&!#-+W5~OT5qX0Cun6)=-an`1!W42k3RMj3+;4E09$rV_1;wN+BxwZUlb;lAgycu6)7p! z?G&vz6@nmFDG)n#yjUwt4CYbM&aGhsMkNi%=JKi>eE!L1U%)^Mj1EXX_{LRhD*QcC~wYb2e#Vp;PqHSB(Z6V)e! zG8;9o3e~t>YS+?VOtKIRr4CdFXtyS^wf_RQxoN(;oG=*0AoH1#(k|im_WJVPLf}N9>wX9Z83)ik0#Z;{ zhY}_F;^FaBk7Sd(T`E;GQDvS*q05HtMi;uKj`uQ1^gU=+7d2Zz%p!0%8JtGzF>1YW zB|Bona=;Il?KW~pfbvg;`4?+z)IJjo<@4j)c*A+&6N%LQ-iIMC7xZ`p-;^ivJ_|e3 z`#xR>Z+U+QZv}QbO$;+BFi#3YyWvW*CRxVdOr89Ctk0cxDd?EFy;?X=5 zfhv%?u>mQi^Uk?+eCC9&ODnu4a$Ubt&pc24AJs^E^X_nK-Zcz(hk!25Zzm4731K!> z8bTzwllj;6$l!0w)l!p}m0aNriHxUiyvk;AO3wh3G|q9p+99ANr6qG`|F;A=_Dp8^ z-@j~$tZLUgm9jN{R99%3O{d1EaF`~@rIas~ULyP8jaue-djC6Mv_kH&ws%>CbCfwE zF1zPt{+8$V&8Mtra!O{y-gl|3nPnw#&9I1DNxv2aYl4gM~mKy8U}oLe}gmn z{VE=-L@L#8OGK&PzLb-Lg161wBe2Z1Bgxvjyi?(Uyv_>OW^@LE(I*Q}k=M#KRBL>e zUZ*rE%=s*6*csKCtZ;?puybeVc>s~2_a47{E5i{6EP zZByypKzIru)`@kpp5qk*u1;b~gJACr=G>MuFA~f33a{v#4gudiS6bIDtnEvqZ2ya4 zx<*=djr0fabrQeHjKrtpi~LdUqiLq{Icl01_f=Wdx?NT^c31idQ8y-X{{4bmEsMCVbB{1nQX?Iv8i28MtX3r z*8-1H@hK^HL)9&&8nFjYIZA_&K6EXcdo86Cp`+Gev*eEwS+}hyJsXAYkiL?un~yrn zVBo?zmp*ZOMjeM$Bzu33bXlBu`)9mhqcWA?h-$ zS)JpVDH(ad{o4OzF#ik49)OttVN#sq@+f(cC0&Y|l3SN(b?L+a$0iUt?`b zpE4~RKGX;eg~rE#k{U;2-stufk(jY=rIuFI$eVgGvB4RAgcmAaJD5(vSsoo^Mr(FX zli`5MH90&yzs)KlEU|?T+@`yvJ_=l-IY&C7%Vcra%utJ;U>|8aQv2iUR(_GQq}puVKfnfSHZkGp+-Iy zo@$WuUu!S;hUq9Q{=~;Uldv0bFV+ETJHApMUi}iJAfNzSL#N!uI$1HB|AH6zjbDQc z0%><`zHouF<`%v@O>c(Lcg<7fQMskx#WO*Jj`S<>SEv zk|_?~gTDBuS&;S+j=&Spa*^FY9e|m}tgR7@3RqD@8~5BcPCS596cp3B2sYc1#dsE4EU52OHt&J!#GBlp;iDX2co1ed1(Qdg<^1 zG?=9Uc{*bbBIOiy3eLbD_u>WyALUyzkE+yE-8|;jebEbe6V1>EL)PZyY3T1(-i{rW zIJ{U~(Pd;fO}-Fd_(n2Ua)c)zk6T|Z zdl)O@;hgn@pF#zq02;(&n*w>pQfK;`^!GofE^Uf&TohsISl@U<<;HzN9H?JWP009i zm;7DR|Qn^A&E5dy@7kEVNz}}d0d~2MIW9?2AweKHL-Yb*# zzU4LrbDw&eo+C9l@-=12}%*A78N15k@6`GNH;6BSBcYzi7l3_P;8(@pYSVphP;aD70Z z=O3tf7|EOcUe`t>>!lKiG*0FWTLNQfjo%_$YuwIm>>qc<`-k{!y;`*~%Ez;F0~5-D zVui;+^1wdoI~_d!NdCQLd9>JvnZ%}Qg^JaIcZR1mDM4$_P=K_$_fNVzI3bBn2)E1E5X35niwJpe%|4(N*DQz z)c*}Nb)aqCud8f|jVfu&D?$IJ@^0!a2LsBgd%E+2@uUMH0yjSSFz_DyoW4^)EVOO; zc5eUw%=E~uW3_!#KhF7MwD)jB>)q{(+c~!XY&m~VFZEoyfYfWIMI6~K=Xaf))E9g? z_jBRQ|F2COrgttE7yDRvb+$-C`_X4CNSM#?sPDO4n%8_jq0`2}XV<(h<$QTsjYD2Hu?gZoVSJ#(Tx{d)It6 z-CcZc?ctxba=k`C1IZ^7A)7Ik?yE z-1mFjf}boF2hZDCac<{MHv8v70SxD!=4OG9v8ZI~D7#m1bMHTMXfQnAXr>BU zY5_j?Vgn1%??Oit)DY)d*Z|i%RIc&$gfDK;adcqZ;bJ(06Ryjkzk#VhE<1P?y+EEcC%CRN$_p6g9KSUMVXzSJ#0_te=9!2yHb$K@8afW6X=gNNftEatmOJqB zb+l9-tt5b}4M(fc(FO)1=V*S70Q=rr~{b^+Y5Sb=o{(OvLH_Q<)O W55J@=>IDuzFnGH9xvXq?Q35V1q99;t> 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 JWt~$(695Q>l6n9D diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_red@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_red@2x.png index f4c7a1d9e97d44d98c1ede6aa151a348e2a136bb..52af6549259ec4860870e24fa64029987762de7f 100644 GIT binary patch literal 26280 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 L`njxgN@xNA%_ze) literal 26338 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%0AdKy4YM_`QRS6)-GSV^Skxo!97ZALH{6678|k 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 diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_bold@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_bold@2x.png index f89b952e03f654b3e9c09b12ec91a69fb69bc29d..b17af8c95a39f8f679f2a146f9ccfeee3984c753 100644 GIT binary patch literal 26977 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 literal 26887 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%0Du(HbsTsvqbO2$nR3K}fr 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 literal 28625 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%0DY)9Zra%4V z(me*MFL!d7h3&N_I(pl)ZzuZ2)$^4>kVBB0qI>F&7D|mSR`L{g@xhs&ZA>_WfS3?8 z&xq7=q*Qu0aU(xqWa98d2%q9Dpdavr|B(bP|G*B$1>e%ETc{#L{mSwEp=V0Lv_C@D zI+ZCpUcT~rSAO(k^YP7<_#z{tZZXNK8NYkfitvwQLU@znqVE2=Sh2X2mF| zEu&@D>kA=Vssz2_(BW~(#)iccDrZ!UU|d8Up~t>VQej6NAk6N+i8==BA@E#n8$1F7c_ zIA!aD${F@I7a?X~*>GCec%^w~qT?#c_|>tR|DT=GV<_9P_TVO0dkiE>{RshksIarD zG|fv<>hYb$ONMp`2d)VEwW~UesHTeS=qfGYlhp%y&P>VAAtcCbhH4b$kvU9$$ze@t zXQg)|nDlqX)vv1-xc2d|ObRbKRqjr)BiF9U;<>)=95l+XL@1f{jG<=9I61R@s-vzk zjv;N5VL}xEMvM}Gdgse3&f>xD9@$=>10x)rkFAkbaz$C-6V~qNWP$_-xu*q0B8C1- zDgQ)1#2uQH26PpRzs_xVsA2Fco0z@S9dG+DzZS_i_AY+Vjj?@$aE};Lda0Edy!Q%>~>Wk^Oe2k%Y{9@k`T|9m* za*q%$5U4O2KQ1g{~yp25A)jxjYPF6#zAb0$F2FtyN+j*fb?eP-$sDUgYsh_m9cCXo zD5ku)0_(qnGJThdiYbb0PIg80h<JB&Iq= z@;PrOn1(x|=)!kwZrPpOFWC~FpgC=uyQtqne;Xrb3nQgvw(6Cv7%bx}H0yA0l*!O3 zJ@pTRp|VTj_xd^u&v-ngAwBS z{5x;O>$aCoz^QTJ6`)v18KKiX@34?6JR+~15WW&tOnKStkw9(UTJrYltQF9v257k%yB_xRpL4$cti=d2wgytsqi$-9FBAfqJ98+{v2Mw-h{niM<*=&4#90^W+@K#?P0U>%<)gmpX7dQPMA|9{EhElX|~tt@kGC01u4LI22OU! zz<46 z`SJrkgo9jba+B-@S7jXwz)*Qv4SY=0-6j~5R)#gN)Q{Mjrh((X+C)r8liPN@KhFNPIv@0 zlX^h>zCC3nZtN^{N+YI7x`ijrZ`q7{Uoxce6An2ZOW2g2rIb`?5~?bRO1N!QiaL1X zY8i+y$EBitidktjJDQgA7TSA=AtE1XK%G6iy#LMpuTLK`N-^HfD}pA%o{6^CLeme@ zo_r8;G{I2^6<-av`-nVqN__vFI>2AeVd!sAa$UvEK;_MmVCJCsTg%)zCvvZ?nx z*}*~(vQCVEem5pta$;(v4lZX4#hdEol0bDBBjW_9^8?x6@zJ&i&j0n9#BZMphv15^ z+B+BFnAg@V{u}_-dZMNWC3snc^{-~sKN%Wg#3Rn0mD2`i=Ygx4zVx1Q<~Xx9;9*cz z2r5|jn=slq9`{nr(f7jzQ-`5bYP%j^0~FAOhUyuVtR^*%dGZt^|4#XPCKsL-F&Pm*DrVOf?)|gEZ-8yE5@75Mo zSm`rwsImb6O1Rm7Ny|M@W6*aU1V_(IJmdOH-7oS3Z|`ZgH^Vwl1+m9;Mb;>=fg45>V7QE08?10N9qcN5nCYn@9=Dkf-rtk8HDbRha*WeHO;qxGeS+v*q>_Dr8> zFME2ITMn>pWB-u!T5bK#`K^m5dpw^~BC!9p+uxnXN|^-SXIzT??iag~S^4^!&#NC_ zHdGMW&MR16EO%f@JG<7RwP$8Ozj5{aUhg@3l>IE$_Z&~RiS{;oe$o2o&skrt?cFTb zTe_gM?$7xtpD*P_EHn7L+A+1}+SW~tX?hO~pU50JHs^Rtbt`X7$L7+_JjFk+92ZpK zFgW7wWH$Ng?%$tl|MrRZ-sd8*Lb|CX;kskUmWmV>nl5fpI%|$!?f!7f<%jA&$NMv-l4E7`YQ#Rj zvx>4=A$#n;f5SNe#)Eu5V!zgZKJdo>;S2eNn|=SfdaRE&Du@s(>{s9tSl*%0a?A`k z$+6Pc>b>g0f{1UAOpn|?R@*ndP`Y~Ny~G2D-re5W&T+l$PjX~&o)WUbhoSIzF~9LrfA-GjGgqcvE8F;m$zN%9Q5E~O8FD4NwroGU_tW9W z&D*zbebQ!>s@5VewBowzw@vHI?bh(Ov7fexxYwl2T6ps7<~dCM6=@;Umi?~gIPfR$ z%bfCkDcjHPOtrE9uDpQZ&GB1vR1_K)J2dnv`%K(e*K2yHLjA*x4b1cJ%ig=L^y#<=2>Rxa26>Dqp&Q9F70YhsIh^HiV1#*3%6yFR~h=dx(g!`WO1mK?9P zsVva%|Ge{SGe_l|i)!a%?mW8_)BL`cQ-k66Co^-<87aqY8C|UR7aUo?TBV@p>!tRM zw=FW~&AV6m2E2DU(^=}Z?aWv0?5{mu%S&d&iYH0+SN!F+vNXS6>=$>l@=VZNnbX#% zeO@&rr2PG>mN>iE-1B@f-~0xq4%~?;# zK`+2VRd^g77%f~3Gg{#1xV&%&EhL3D z3|N4xN(7EB5QJO4K%S8`!T#Da6}bD_6c#YZERryBf?NIt9)(av2LynJzBr3CyTOj4 zQE03Kiu{e3JsIvkiKYgof{vsM9B|7oj0O%YhDQTuH05xPW~fk7Y(G;;p- znj<3v0|%4g@9D=B%%u%#3W`}c1QZ+^7#Nu}8@-o`P6IN)A_;5@)FI+597kAq4n#bB zBn0L2IM{d((^b literal 26758 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 DpG4_J diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_large@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_large@2x.png index 1b86c4f11e65963acee4bd4db0630d523f52028f..77572337640d9dbdcb746d26747d9ca3e6d7eb19 100644 GIT binary patch literal 28960 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