diff --git a/CHANGELOG.md b/CHANGELOG.md index ddec872..e119ee4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,8 @@ * **improvement** Added some description to the `CauliViewController`s sections. [#157](https://github.com/cauliframework/cauli/issues/157) by @pstued * **improvement** Added `preStorageRecordModifier` to `Configuration` and `Storage` to allow for records to be modified before they are stored. [#146](https://github.com/cauliframework/cauli/pull/146) by @shukuyen * **improvement** Added a done button to dismiss the CauliViewController when the ViewController is displayed via the shake gesture. [#114](https://github.com/cauliframework/cauli/issues/114) by @pstued -* **improvement** Added a PlaintextPrettyPrinter and manual selection - [#91](https://github.com/cauliframework/cauli/issues/91) by @brototyp +* **improvement** Added a PlaintextPrettyPrinter and manual selection [#91](https://github.com/cauliframework/cauli/issues/91) by @brototyp +* **improvement** Splitted the Floret protocol into InterceptingFloret and DisplayingFloret protocols for a better separation of a Florets functionality and responsibility. [#155](https://github.com/cauliframework/cauli/issues/155) by @pstued * **bugfix** Fixed an issue where records cells were cropped in the InspectorViewController. [#147](https://github.com/cauliframework/cauli/issues/147) * **bugfix** Fixed a bug where Records would be duplicated in the InspectorViewController. [#148](https://github.com/cauliframework/cauli/issues/148) by @brototyp * **bugfix** Fixed a bug where the searchbar could cover the first entry in the InspectorViewController. [#144](https://github.com/cauliframework/cauli/issues/144) by @brototyp diff --git a/Cauli/Cauli.swift b/Cauli/Cauli.swift index eb97bb7..e0cab7f 100644 --- a/Cauli/Cauli.swift +++ b/Cauli/Cauli.swift @@ -35,8 +35,8 @@ public class Cauli { /// The Storage used by this instance to store all Records. public let storage: Storage internal let florets: [Floret] - private var enabledFlores: [Floret] { - return florets.filter { $0.enabled } + private var enabledFlorets: [InterceptingFloret] { + return florets.compactMap { $0 as? InterceptingFloret }.filter { $0.enabled } } private let configuration: Configuration private var viewControllerManager: ViewControllerShakePresenter? @@ -117,7 +117,7 @@ extension Cauli: CauliURLProtocolDelegate { func willRequest(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) { assert(!Thread.current.isMainThread, "should never be called on the MainThread") guard enabled else { completionHandler(record); return } - enabledFlores.cauli_reduceAsync(record, transform: { record, floret, completion in + enabledFlorets.cauli_reduceAsync(record, transform: { record, floret, completion in floret.willRequest(record) { record in completion(record) } @@ -132,7 +132,7 @@ extension Cauli: CauliURLProtocolDelegate { func didRespond(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) { assert(!Thread.current.isMainThread, "should never be called on the MainThread") guard enabled else { completionHandler(record); return } - enabledFlores.cauli_reduceAsync(record, transform: { record, floret, completion in + enabledFlorets.cauli_reduceAsync(record, transform: { record, floret, completion in floret.didRespond(record) { record in completion(record) } diff --git a/Cauli/CauliViewController/CauliViewController.swift b/Cauli/CauliViewController/CauliViewController.swift index 38b61ea..6445b88 100644 --- a/Cauli/CauliViewController/CauliViewController.swift +++ b/Cauli/CauliViewController/CauliViewController.swift @@ -24,14 +24,16 @@ import UIKit internal class CauliViewController: UITableViewController { - typealias DisplayableFloret = Floret & Displayable - private let cauli: Cauli - private var displayableFlorets: [DisplayableFloret] + private var displayingFlorets: [DisplayingFloret] + private var interceptingFlorets: [InterceptingFloret] init(cauli: Cauli) { self.cauli = cauli - displayableFlorets = cauli.florets.compactMap { $0 as? (DisplayableFloret) } + + displayingFlorets = cauli.florets.compactMap { $0 as? DisplayingFloret } + interceptingFlorets = cauli.florets.compactMap { $0 as? InterceptingFloret } + super.init(style: .grouped) title = "Cauli" } @@ -54,10 +56,10 @@ internal class CauliViewController: UITableViewController { override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if section == 0 { - return displayableFlorets.count + return displayingFlorets.count } - return cauli.florets.count + return interceptingFlorets.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { @@ -70,7 +72,7 @@ internal class CauliViewController: UITableViewController { private func tableView(_ tableView: UITableView, detailCellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) - cell.textLabel?.text = displayableFlorets[indexPath.row].name + cell.textLabel?.text = displayingFlorets[indexPath.row].name cell.accessoryType = .disclosureIndicator return cell } @@ -78,7 +80,7 @@ internal class CauliViewController: UITableViewController { private func tableView(_ tableView: UITableView, switchCellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = tableView.dequeueReusableCell(withIdentifier: SwitchTableViewCell.reuseIdentifier, for: indexPath) as? SwitchTableViewCell else { fatalError("we shouldn't reach this point") } - var floret = cauli.florets[indexPath.row] + var floret = interceptingFlorets[indexPath.row] cell.set(title: floret.name, switchValue: floret.enabled) cell.switchValueChanged = { floret.enabled = $0 @@ -89,20 +91,20 @@ internal class CauliViewController: UITableViewController { override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { guard indexPath.section == 0 else { return } - navigationController?.pushViewController(displayableFlorets[indexPath.row].viewController(cauli), animated: true) + navigationController?.pushViewController(displayingFlorets[indexPath.row].viewController(cauli), animated: true) } override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { switch section { - case 0: return "Displayable Florets" - case 1: return "Interceptable Florets" + case 0: return "Displaying Florets" + case 1: return "Intercepting Florets" default: return nil } } override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? { switch section { - case 1: return "If an InterceptableFloret is disabled it cannot intercept any requests or responses." + case 1: return "If an InterceptingFloret is disabled it cannot intercept any requests or responses." default: return nil } } diff --git a/Cauli/Displayable.swift b/Cauli/DisplayingFloret.swift similarity index 90% rename from Cauli/Displayable.swift rename to Cauli/DisplayingFloret.swift index c4a03de..9f7ca6a 100644 --- a/Cauli/Displayable.swift +++ b/Cauli/DisplayingFloret.swift @@ -22,9 +22,8 @@ import UIKit -/// A Displayable provides a ViewController for settings or to display any information. -/// It usually is used in combination with a Floret -public protocol Displayable { +/// A DisplayingFloret provides a ViewController for settings or to display any information. +public protocol DisplayingFloret: Floret { /// This function is called whenever the Cauli UI will be displayed. /// If a Floret needs any UI for configuration or to display data you /// can return a ViewController here. diff --git a/Cauli/Floret.swift b/Cauli/Floret.swift index 97c005a..79d962c 100644 --- a/Cauli/Floret.swift +++ b/Cauli/Floret.swift @@ -29,37 +29,6 @@ public protocol Floret { /// The name of the Floret. This will be used to identify the floret in the UI. /// If not implemented, the type will be used per default. var name: String { get } - - /// If a Floret is disabled the both functions `willRequest` and `didRespond` will - /// not be called anymore. A Floret doesn't need to perform any specific action. - var enabled: Bool { get set } - - /// This function will be called before a request is performed. The Florets will be - /// called in the order the Cauli instance got initialized with. - /// - /// Using this function you can: - /// - inspect the request - /// - modify the request (update the `designatedRequest`) - /// - fail the request (set the `result` to `.error()`) - /// - return a cached or pre-calculated response (set the `result` to `.result()`) - /// - /// - Parameters: - /// - record: The `Record` that represents the request before it was performed. - /// - completionHandler: Call this completion handler exactly once with the - /// original or modified `Record`. - func willRequest(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) - - /// This function will be called after a request is performed and the response arrived. - /// The Florets will be called in the order the Cauli instance got initialized with. - /// - /// Using this function you can: - /// - modify the request - /// - /// - Parameters: - /// - record: The `Record` that represents the request after it was performed. - /// - completionHandler: Call this completion handler exactly once with the - /// original or modified `Record`. - func didRespond(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) } // swiftlint:disable missing_docs diff --git a/Cauli/Florets/FindReplace/FindReplaceFloret.swift b/Cauli/Florets/FindReplace/FindReplaceFloret.swift index a1e54c3..d790839 100644 --- a/Cauli/Florets/FindReplace/FindReplaceFloret.swift +++ b/Cauli/Florets/FindReplace/FindReplaceFloret.swift @@ -26,7 +26,7 @@ import Foundation /// before sending a request and after receiving a response. Use multiple /// instances of the `FindReplaceFloret`s to group certain RecordModifiers /// under a given name. -public class FindReplaceFloret: Floret { +public class FindReplaceFloret: InterceptingFloret { public var enabled: Bool = true public let name: String diff --git a/Cauli/Florets/Inspector/InspectorFloret.swift b/Cauli/Florets/Inspector/InspectorFloret.swift index 8831b76..7517e59 100644 --- a/Cauli/Florets/Inspector/InspectorFloret.swift +++ b/Cauli/Florets/Inspector/InspectorFloret.swift @@ -22,23 +22,10 @@ import UIKit -public class InspectorFloret: Floret { - public var enabled: Bool = true +public class InspectorFloret: DisplayingFloret { public init() {} - public func willRequest(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) { - completionHandler(record) - } - - public func didRespond(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) { - completionHandler(record) - } - -} - -extension InspectorFloret: Displayable { - public func viewController(_ cauli: Cauli) -> UIViewController { return InspectorTableViewController(cauli) } diff --git a/Cauli/Florets/Inspector/Record/RecordTableViewController.swift b/Cauli/Florets/Inspector/Record/RecordTableViewController.swift index 9113adf..eeb9f2e 100644 --- a/Cauli/Florets/Inspector/Record/RecordTableViewController.swift +++ b/Cauli/Florets/Inspector/Record/RecordTableViewController.swift @@ -84,10 +84,10 @@ extension RecordTableViewController { } } - alertController.addAction(UIAlertAction(title: "Share", style: .default, handler: { [weak self] _ in + alertController.addAction(UIAlertAction(title: "Share", style: .default) { [weak self] _ in let activityItem = item.value() ?? item.description self?.presentShareSheet(for: [activityItem], from: cell) - })) + }) alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil)) diff --git a/Cauli/Florets/Mock/MockFloret.swift b/Cauli/Florets/Mock/MockFloret.swift index 71b3dc5..61a7170 100644 --- a/Cauli/Florets/Mock/MockFloret.swift +++ b/Cauli/Florets/Mock/MockFloret.swift @@ -61,7 +61,7 @@ import Foundation /// Result.notFound(for: request) /// } /// ``` -public class MockFloret: Floret { +public class MockFloret: InterceptingFloret { public var enabled: Bool = true diff --git a/Cauli/InterceptingFloret.swift b/Cauli/InterceptingFloret.swift new file mode 100644 index 0000000..1b8cef1 --- /dev/null +++ b/Cauli/InterceptingFloret.swift @@ -0,0 +1,57 @@ +// +// Copyright (c) 2018 cauli.works +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +import Foundation + +protocol InterceptingFloret: Floret { + + /// If an InterceptingFloret is disabled both functions `willRequest` and `didRespond` will + /// not be called anymore. A InterceptingFloret doesn't need to perform any specific action. + var enabled: Bool { get set } + + /// This function will be called before a request is performed. The InterceptingFlorets will be + /// called in the order the Cauli instance got initialized with. + /// + /// Using this function you can: + /// - inspect the request + /// - modify the request (update the `designatedRequest`) + /// - fail the request (set the `result` to `.error()`) + /// - return a cached or pre-calculated response (set the `result` to `.result()`) + /// + /// - Parameters: + /// - record: The `Record` that represents the request before it was performed. + /// - completionHandler: Call this completion handler exactly once with the + /// original or modified `Record`. + func willRequest(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) + + /// This function will be called after a request is performed and the response arrived. + /// The InterceptingFlorets will be called in the order the Cauli instance got initialized with. + /// + /// Using this function you can: + /// - modify the request + /// + /// - Parameters: + /// - record: The `Record` that represents the request after it was performed. + /// - completionHandler: Call this completion handler exactly once with the + /// original or modified `Record`. + func didRespond(_ record: Record, modificationCompletionHandler completionHandler: @escaping (Record) -> Void) +} diff --git a/Cauliframework.xcodeproj/project.pbxproj b/Cauliframework.xcodeproj/project.pbxproj index d11cba2..26748e1 100644 --- a/Cauliframework.xcodeproj/project.pbxproj +++ b/Cauliframework.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 1F0ACDFA222C19A9004E0361 /* PlaintextPrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0ACDF8222C19A9004E0361 /* PlaintextPrettyPrinter.swift */; }; - 1F0ACDFB222C19A9004E0361 /* PrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0ACDF9222C19A9004E0361 /* PrettyPrinter.swift */; }; + 1F0ACDFF222C26D0004E0361 /* PlaintextPrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0ACDFD222C26D0004E0361 /* PlaintextPrettyPrinter.swift */; }; + 1F0ACE00222C26D0004E0361 /* PrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0ACDFE222C26D0004E0361 /* PrettyPrinter.swift */; }; 1F0EB9DF219DB32300060F28 /* MockFloretStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0EB9DB219DB32300060F28 /* MockFloretStorage.swift */; }; 1F0EB9E0219DB32300060F28 /* MockFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0EB9DC219DB32300060F28 /* MockFloret.swift */; }; 1F0EB9E1219DB32300060F28 /* MD5Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0EB9DD219DB32300060F28 /* MD5Digest.swift */; }; @@ -52,7 +52,8 @@ 1FE3F74220F64C6700233C7C /* CauliURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FE3F74120F64C6700233C7C /* CauliURLProtocol.swift */; }; 1FFFE7D621AC7C080040B805 /* Record+Fake.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FFFE7D121AC7C080040B805 /* Record+Fake.swift */; }; 1FFFE7D721AC7C080040B805 /* MemoryStorageSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FFFE7D221AC7C080040B805 /* MemoryStorageSpec.swift */; }; - 500CE35121F0CE8D00479B98 /* Displayable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 500CE35021F0CE8D00479B98 /* Displayable.swift */; }; + 5005E53D222BE0C800BD5DF7 /* DisplayingFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5005E53C222BE0C700BD5DF7 /* DisplayingFloret.swift */; }; + 5005E53F222BE0D400BD5DF7 /* InterceptingFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5005E53E222BE0D400BD5DF7 /* InterceptingFloret.swift */; }; 5042C4D221EBE1B500652AC6 /* CauliViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5042C4CF21EBE1B500652AC6 /* CauliViewController.swift */; }; 5042C4D321EBE1B500652AC6 /* SwitchTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5042C4D021EBE1B500652AC6 /* SwitchTableViewCell.xib */; }; 5042C4D421EBE1B500652AC6 /* SwitchTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5042C4D121EBE1B500652AC6 /* SwitchTableViewCell.swift */; }; @@ -89,8 +90,8 @@ 050B9B8E9B59CC9EA6894B34 /* Pods-CauliframeworkTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CauliframeworkTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CauliframeworkTests/Pods-CauliframeworkTests.debug.xcconfig"; sourceTree = ""; }; 0A31BB5AF4F25CEDA830FD0E /* Pods-Cauliframework.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cauliframework.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Cauliframework/Pods-Cauliframework.debug.xcconfig"; sourceTree = ""; }; 1B96940CA29D46F2252C5462 /* Pods-Cauli.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cauli.release.xcconfig"; path = "Pods/Target Support Files/Pods-Cauli/Pods-Cauli.release.xcconfig"; sourceTree = ""; }; - 1F0ACDF8222C19A9004E0361 /* PlaintextPrettyPrinter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlaintextPrettyPrinter.swift; sourceTree = ""; }; - 1F0ACDF9222C19A9004E0361 /* PrettyPrinter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrettyPrinter.swift; sourceTree = ""; }; + 1F0ACDFD222C26D0004E0361 /* PlaintextPrettyPrinter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlaintextPrettyPrinter.swift; sourceTree = ""; }; + 1F0ACDFE222C26D0004E0361 /* PrettyPrinter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrettyPrinter.swift; sourceTree = ""; }; 1F0EB9DB219DB32300060F28 /* MockFloretStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockFloretStorage.swift; sourceTree = ""; }; 1F0EB9DC219DB32300060F28 /* MockFloret.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockFloret.swift; sourceTree = ""; }; 1F0EB9DD219DB32300060F28 /* MD5Digest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MD5Digest.swift; sourceTree = ""; }; @@ -139,7 +140,8 @@ 1FFFE7D221AC7C080040B805 /* MemoryStorageSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MemoryStorageSpec.swift; sourceTree = ""; }; 4313259D01CD824F65FBB0E8 /* Pods-Cauli.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cauli.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Cauli/Pods-Cauli.debug.xcconfig"; sourceTree = ""; }; 4FE3642FFEA70C12D702093E /* Pods_CauliframeworkTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CauliframeworkTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 500CE35021F0CE8D00479B98 /* Displayable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Displayable.swift; sourceTree = ""; }; + 5005E53C222BE0C700BD5DF7 /* DisplayingFloret.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisplayingFloret.swift; sourceTree = ""; }; + 5005E53E222BE0D400BD5DF7 /* InterceptingFloret.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InterceptingFloret.swift; sourceTree = ""; }; 5042C4CF21EBE1B500652AC6 /* CauliViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CauliViewController.swift; sourceTree = ""; }; 5042C4D021EBE1B500652AC6 /* SwitchTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SwitchTableViewCell.xib; sourceTree = ""; }; 5042C4D121EBE1B500652AC6 /* SwitchTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwitchTableViewCell.swift; sourceTree = ""; }; @@ -190,11 +192,11 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1F0ACDF3222C195B004E0361 /* PrettyPrinter */ = { + 1F0ACDFC222C26D0004E0361 /* PrettyPrinter */ = { isa = PBXGroup; children = ( - 1F0ACDF8222C19A9004E0361 /* PlaintextPrettyPrinter.swift */, - 1F0ACDF9222C19A9004E0361 /* PrettyPrinter.swift */, + 1F0ACDFD222C26D0004E0361 /* PlaintextPrettyPrinter.swift */, + 1F0ACDFE222C26D0004E0361 /* PrettyPrinter.swift */, ); path = PrettyPrinter; sourceTree = ""; @@ -285,7 +287,7 @@ 1FBE790321A1A245004C81A7 /* Inspector */ = { isa = PBXGroup; children = ( - 1F0ACDF3222C195B004E0361 /* PrettyPrinter */, + 1F0ACDFC222C26D0004E0361 /* PrettyPrinter */, 1FA4A50221B7C40100F1CA6B /* Record */, 1FA4A50621B7C40100F1CA6B /* Record List */, 1FBE790421A1A271004C81A7 /* InspectorFloret.swift */, @@ -323,7 +325,8 @@ 1FE3F73F20F64AA000233C7C /* Cauli.swift */, 50576BB9210E173C0085DF5E /* Floret.swift */, 1F18B1A2210EF9F500CEDD42 /* Storage.swift */, - 500CE35021F0CE8D00479B98 /* Displayable.swift */, + 5005E53E222BE0D400BD5DF7 /* InterceptingFloret.swift */, + 5005E53C222BE0C700BD5DF7 /* DisplayingFloret.swift */, 50E068E921C67E2300A9DFA8 /* RecordModifier.swift */, 1F18B1A3210EF9F500CEDD42 /* MemoryStorage.swift */, 1FB1FF59219DB7DD0021B4F4 /* ViewControllerShakePresenter.swift */, @@ -678,16 +681,18 @@ files = ( 1F0EB9DF219DB32300060F28 /* MockFloretStorage.swift in Sources */, 1FBE790521A1A271004C81A7 /* InspectorFloret.swift in Sources */, + 5005E53D222BE0C800BD5DF7 /* DisplayingFloret.swift in Sources */, 1FE3F74220F64C6700233C7C /* CauliURLProtocol.swift in Sources */, 1FB1FF5A219DB7DD0021B4F4 /* ViewControllerShakePresenter.swift in Sources */, 1FA4A50C21B7C40100F1CA6B /* RecordTableViewController.swift in Sources */, - 1F0ACDFB222C19A9004E0361 /* PrettyPrinter.swift in Sources */, + 1F0ACE00222C26D0004E0361 /* PrettyPrinter.swift in Sources */, + 5005E53F222BE0D400BD5DF7 /* InterceptingFloret.swift in Sources */, 5042C4D421EBE1B500652AC6 /* SwitchTableViewCell.swift in Sources */, 1F18B1A4210EF9F500CEDD42 /* Storage.swift in Sources */, 1FA4A50A21B7C40100F1CA6B /* RecordItemTableViewCell.swift in Sources */, 1FA4A50E21B7C40100F1CA6B /* InspectorTableViewController.swift in Sources */, + 1F0ACDFF222C26D0004E0361 /* PlaintextPrettyPrinter.swift in Sources */, 1F0EB9E3219DB4C800060F28 /* MockRecordSerializer.swift in Sources */, - 1F0ACDFA222C19A9004E0361 /* PlaintextPrettyPrinter.swift in Sources */, 50A6CFB821178E2200FC57E7 /* URLRequest+Codable.swift in Sources */, 5044B7E821F2853A006908B2 /* NoCacheFloret.swift in Sources */, 1FB3296F2181CBCD001CA03D /* RecordSelector.swift in Sources */, @@ -698,7 +703,6 @@ 50E068E821C67E0C00A9DFA8 /* FindReplaceFloret.swift in Sources */, 50616E4C214D130C00C8092D /* Result.swift in Sources */, 5087DE9E21331041005B7080 /* NSError+Codable.swift in Sources */, - 500CE35121F0CE8D00479B98 /* Displayable.swift in Sources */, 1FBE790D21A1A572004C81A7 /* TagLabel.swift in Sources */, 1F0EB9E1219DB32300060F28 /* MD5Digest.swift in Sources */, 1FA4A52321C92A1A00F1CA6B /* SwappedRecord.swift in Sources */, diff --git a/Example/cauli-ios-example/Pods/Pods.xcodeproj/project.pbxproj b/Example/cauli-ios-example/Pods/Pods.xcodeproj/project.pbxproj index d22587b..e0b4282 100644 --- a/Example/cauli-ios-example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/cauli-ios-example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,61 +7,62 @@ objects = { /* Begin PBXBuildFile section */ - 030BFAE94DF53318D8CE02D98B8AA9B2 /* NoCacheFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = B141F13097B47CB13B423ED95B4C78FC /* NoCacheFloret.swift */; }; - 1370FD76B619EFDAB7D80DF8E8D9715E /* URLSessionConfiguration+Swizzling.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15DD64E58C749D99CC1149A3CB184BF /* URLSessionConfiguration+Swizzling.swift */; }; - 184B33C4462B02605831A5A614EE1404 /* CauliViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A13E0BDF4AF707C21444C614C04BB6B /* CauliViewController.swift */; }; - 1EDDB84E97951625CEFC7B6D9FDEFBAE /* PlaintextPrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68396A68D78E143D16AA68ED716A71F6 /* PlaintextPrettyPrinter.swift */; }; - 1FC74312192BAB153B55B9E17B2F9D81 /* Cauli.h in Headers */ = {isa = PBXBuildFile; fileRef = BD619EF647914FE0D77937F92F09EA68 /* Cauli.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2883850FCAA2DB0DC29DD388769204D8 /* InspectorFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0447B7FE197DF570130DB948BC59B2A7 /* InspectorFloret.swift */; }; - 2A454E3FA3299BFFE9125AEDD41D7399 /* URLResponseRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F295573033E32DB3D7287BE5E53C19B /* URLResponseRepresentable.swift */; }; - 2D07B23B416FBF4C3DFEF018F09B4D5A /* CauliAuthenticationChallengeProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BFC0C54DCEC02915041401B57343413 /* CauliAuthenticationChallengeProxy.swift */; }; - 32CAE88145D665C7BCD3156D1D8F51B2 /* Collection+ReduceAsnyc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 577C1214C2EA48F78E253C4C997EFEC5 /* Collection+ReduceAsnyc.swift */; }; - 393825C4BD43FA206AB2A3017FD831E9 /* Cauliframework-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B98281A2979319C16CFB6C118764240 /* Cauliframework-dummy.m */; }; - 3BA2AE9EC520F7FD3D58F31015069FF5 /* SwappedRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 809F4B7B75A338FF6F6DC2800665697A /* SwappedRecord.swift */; }; - 4022D4742BC903985F3BE086F1F71F65 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D38F3B64EA751D04CD2E48D05B1EB72 /* Storage.swift */; }; - 461F644E13F6EB13334D695E4B185939 /* CauliURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FEAF9C9EBB161AC4BEDE2D320658DC6 /* CauliURLProtocol.swift */; }; - 4DB858EF94D12746EE5CC487E6BF4D97 /* ViewControllerShakePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0F617FE5BC237A561515ABD975572A /* ViewControllerShakePresenter.swift */; }; - 4EDEE5965A34B4708DA4F72C07CF084C /* MockFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B101F69EA490F68C6313F9B73CE9097 /* MockFloret.swift */; }; - 51F2FBE48D28D54C2271BA07D1DB576C /* RecordModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A78E18B131F109B5FD7ED9A9D250168 /* RecordModifier.swift */; }; - 5806F68B7E41713318A63624DBCA8B85 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E26C59F7D3D580514D2F978674A3AB /* Configuration.swift */; }; - 5E7A184DE51A5057936AF8BFEDE2F713 /* SwitchTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC197607FF0E4F0E8DE139FE43FE286 /* SwitchTableViewCell.swift */; }; - 5F362BEC4586916877F84785D5FD7CD3 /* InspectorTableViewDatasource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9366113AE9A3E717A6B191CE61C37C3F /* InspectorTableViewDatasource.swift */; }; - 6386477D4E18169C0356B86B7452B656 /* InspectorTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF1FA9C7AD5D63D817C97BEB0A9FF854 /* InspectorTableViewController.swift */; }; - 6687D88674D1C358A7B0C64D8D2C888A /* RecordTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1CB3EADF1093AB149794917E83C25C /* RecordTableViewController.swift */; }; - 6C11DC1B9B2F279B98823401B4F34207 /* Cauliframework-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 002BC02E6FA2DE153EFED378F108C08D /* Cauliframework-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6EB6A632E44B06571EA49A214EA05BB4 /* Displayable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99D1685BBAC0710591B1C098CC84044B /* Displayable.swift */; }; - 72CF293E173F2F4070678981BC6EE55F /* Record.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA71A73D203A957A705DC8F13A4CCFA /* Record.swift */; }; - 84573B93EFDE1B26E8437BAE22539BCA /* Cauli.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37D15805CE4B839B302A8058451FDA39 /* Cauli.swift */; }; - 889838CAD10AECEAA9A25B9AB62BD2E8 /* CauliURLProtocolDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 355641E440386F3504FF120C3701722F /* CauliURLProtocolDelegate.swift */; }; - 88ECBA2C06166307EEC301D6ADB4B9F7 /* MemoryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172A1CED554FF1FA874A836E74199F61 /* MemoryStorage.swift */; }; + 05DAA012C462EB96E94FF0D41D972F60 /* RecordItemTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10ED18695E017C09DCA207F1A2D60464 /* RecordItemTableViewCell.swift */; }; + 0BC189D08E130867496485D2C1634217 /* CauliURLProtocolDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8393F35525567366443DC5E977215A /* CauliURLProtocolDelegate.swift */; }; + 0C147B05DD636DFD002748CEE1711354 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38D123A8EAD98F3A55079CC940FDD334 /* Configuration.swift */; }; + 0CCCFB0C1A20B794A83DB3A090494E5A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A58C2FEAD073A778A55127F0D4F7F9E /* Response.swift */; }; + 0FFE32D711ADF47AD03F3B1EBFC119A8 /* RecordTableViewDatasource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E2119596056326208BF96A805D75449 /* RecordTableViewDatasource.swift */; }; + 11C02CE0C41525DB3F144085AA3EC02C /* InspectorRecordTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8E1B714D30916EEC96C0828760BC546 /* InspectorRecordTableViewCell.xib */; }; + 15AA840BAEB039CBEA98459ECC606696 /* InterceptingFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6C320121CB41F6AE3F6CBEEF0F5B5A /* InterceptingFloret.swift */; }; + 19029B24D4FA19E258D08A7C3C855A48 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC58EF7DB04BC6755D101658E249BDB /* Storage.swift */; }; + 269E1EBBCF35A8C3818DED7AE1823B1E /* InspectorTableViewDatasource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A7374F43D77324789963C280DAA81E0 /* InspectorTableViewDatasource.swift */; }; + 2B5CAD618210977BDEFA01C8A8CB2511 /* Cauliframework-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95AD8FD6DC2F0D79850A704F3A473205 /* Cauliframework-dummy.m */; }; + 33A1A27010C459E1C536E55DB62C0A3D /* Cauliframework-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B966786C1F481C559EC5A0C4B61A288 /* Cauliframework-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 427AB3C186BED0C0458ABEBEF14C8E3F /* MockFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59022FCEE78DD423DA72CDDEC835DF07 /* MockFloret.swift */; }; + 441F4A73D8151DD7573FA8FE2E72B05B /* MockRecordSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A27D64D7C902DED569DE776598B971BC /* MockRecordSerializer.swift */; }; + 45FDEC3FE0B858D595E40F2CB669C0A8 /* CauliURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDBCAB9B443CB4D80F648FD049CF0ABC /* CauliURLProtocol.swift */; }; + 48168DF0264FB95A26098D00C9FFED0D /* Floret.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BDA33B50D675674EA79D099A9283BE /* Floret.swift */; }; + 486FF22BAD29D4ED982B7623C12320C6 /* InspectorTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4EAE279532056641D95F4BC1EF9C98 /* InspectorTableViewController.swift */; }; + 497FB23CD80C3B83D7EE4A8B321ADFF0 /* FindReplaceFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 436DA31525F99FA6E582D959993A2FF6 /* FindReplaceFloret.swift */; }; + 49E87D39C972EACB0DA0BBF680FA1953 /* SwappedResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FF57F899C52A39F8CFD166C3ED68FDA /* SwappedResponse.swift */; }; + 5178E963D724A35DF30291FE4D72C292 /* MemoryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 435A8C5E6FC2DEC866928796CD238679 /* MemoryStorage.swift */; }; + 5C46DC74DF7F44EDCE65F340CB45889E /* InspectorFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6526F9046077CCD70912A6F2A1D7C905 /* InspectorFloret.swift */; }; + 5C7A2758094D7DB139121272D3AD3908 /* NSError+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DA280FD21ACDC057977FD79D5AF1B5D /* NSError+Codable.swift */; }; + 60FBB4FB53292B9ED0E92F32EAFA62AE /* PrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73CAB5FD8931BFCADDD04076F70CEE2C /* PrettyPrinter.swift */; }; + 62626995D2E08B364A88AF4A09DDA897 /* SwappedRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A90E2598F3B89F02DDFCAC68B7888B /* SwappedRecord.swift */; }; + 67160FEA150FFF2B7083B86CE6A0A4ED /* URLRequest+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AEFDF93C3CC255A9D6F78D4FA01AE05 /* URLRequest+Codable.swift */; }; + 71657188836E24B183AE8B5E78DAD834 /* HTTPBodyStreamFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D1BF517E22EDDA7949E91206CEDFC /* HTTPBodyStreamFloret.swift */; }; + 780014D45298D53A109BEE052A8A38B0 /* TagLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA2AE47A13503F2FF3335EA574C44B3B /* TagLabel.swift */; }; + 7A71540A9AF3647E82A40EA72B932E12 /* URLSessionConfiguration+Swizzling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 939F95EF2C52124EA92F7ABAA9C3A28F /* URLSessionConfiguration+Swizzling.swift */; }; + 800F4F2B951AD5B8FA78FE05973100E7 /* SwitchTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC4B11A741CC236771E452CF545FFD9D /* SwitchTableViewCell.swift */; }; + 83DB4B0A3B9566177390A2B340384190 /* DisplayingFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EF0C203D5706E90AEB18D35BC289607 /* DisplayingFloret.swift */; }; + 873E2BCD0461FE07E423AA1C04211B38 /* RecordTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42762D6CE659CD70E4A031257C11F5AF /* RecordTableViewController.swift */; }; 898DC8D41C430AF2E6E066713BCDB6E5 /* Pods-cauli-ios-example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 20625581CBC9A45DBC310C8BF85F2F8A /* Pods-cauli-ios-example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9152B26E885ED4CAC7DF2CE3907DE26D /* InspectorRecordTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84D6DB17C0DE7D1EFAB44AB93C13BE /* InspectorRecordTableViewCell.xib */; }; - 91A2918F407A64F347F355E588F8C157 /* FindReplaceFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1892D072411106878CB0E5FE42299750 /* FindReplaceFloret.swift */; }; - 97CE25CD162CE672CAEC70C4867FD5AE /* SwappedResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8363ED8BF211195661995F229AD23909 /* SwappedResponse.swift */; }; - 9A39185A7FDB07877878F520C889C59D /* SwappedURLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF05CD4857006D9A9749341A6ED2C95E /* SwappedURLRequest.swift */; }; - 9B4D1A1435CD92D8968BABFCD7D85109 /* RecordItemTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20A82163305CC658406E630DF19A53D8 /* RecordItemTableViewCell.swift */; }; - 9CC52BE90018709271FD2EECBEE2848C /* PrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0BC077468E9EF3223FF87DAAF6BF61 /* PrettyPrinter.swift */; }; + 8FA74CA83D1F6A56EF602437A3A67D7E /* InspectorRecordTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B87235B46BEA950303E756CB63595651 /* InspectorRecordTableViewCell.swift */; }; + 90F64D7DAEA0FC9355FFCC3079637E3C /* MD5Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EADE3B48D03A09D08BD65DC2175865D /* MD5Digest.swift */; }; + 91662625E38602E36E3BE31719F57F34 /* Cauli.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B10C0A7F39B48A0A6F7D677C5CAA021 /* Cauli.swift */; }; + 9374B893D1C9B7694D789E289895DA89 /* RecordModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0D5ACA5417203867D1145A5483F668 /* RecordModifier.swift */; }; + 9C0F1055C5C970D3B118029DBFDBF704 /* ReplaceDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D223A0928ABD4601459FAAEE8EB4DB7 /* ReplaceDefinition.swift */; }; 9CE544CABD544895D8614498E373761D /* Pods-cauli-ios-example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FBF1D27466D3F93E74A379195F62D074 /* Pods-cauli-ios-example-dummy.m */; }; - A20F41C7CAF8E0BE834D509A52043245 /* URLRequest+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9DD35A768D78652DF20E6B339665EB1 /* URLRequest+Codable.swift */; }; - ABFABD134A78337AA080058EA9631967 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1AD6E1D13080A1C19115D1F5ADB347A /* Response.swift */; }; - ADC45302BD1A967A399F9F2CA5829736 /* SwitchTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D596C9F3100C73D62DD60807A70FE413 /* SwitchTableViewCell.xib */; }; - B14C55E9BA4D0DE2870A5B33D4497D0B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 986F08780D2998F5557E01A04204651A /* Result.swift */; }; - B3DEDCCEBD6DA846D98C948A8C6F3267 /* WeakReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8145EF0EFF66613F88711375BFE70BE9 /* WeakReference.swift */; }; - B58E97488237AF1DCDE9315AC4504871 /* RecordSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = A102B58F88B750F3CAAFE0A505DD5035 /* RecordSelector.swift */; }; - B80667729CAB04E615C60615A2A2C927 /* NSError+Cauli.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFFBB94778A80B3343674049D2D73C2 /* NSError+Cauli.swift */; }; - BCFA67FEA5B15568E543FA1106E469E8 /* RecordTableViewDatasource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 824B6FCF888838134EB12E46D5FE7EFC /* RecordTableViewDatasource.swift */; }; - C2A79B55DC81CD26A8BCC9F3F6D78D58 /* MockFloretStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A785855479020AF77BB60F7C6C3CE980 /* MockFloretStorage.swift */; }; - C32E88D0CE89BA6F16FC6648F08C4EA4 /* MD5Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F16952D6EAC4642FE2D5698EC435090 /* MD5Digest.swift */; }; - C8EECCADFDE10A3D3625846AA8CDA15F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */; }; - C9E0C0566464EB525FD94D1B9105C477 /* HTTPBodyStreamFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99924EAF8AAF0C89F634D633A3C192F0 /* HTTPBodyStreamFloret.swift */; }; + A676C9A50530490859C9741676DE0130 /* MockFloretStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3809CF7F1AE551D5A69140F993123095 /* MockFloretStorage.swift */; }; + AD1A2A667AAA4EA928E2E6089ABE09E0 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D4B62F37B48E031AD9B39CCE0162FD /* Result.swift */; }; + B21FFAA9F4742E1E9E5529EAE7F886B4 /* SwitchTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63A6F54EBC1A3DA693AA183F9AE922CE /* SwitchTableViewCell.xib */; }; + B564EB797861C62F6B8600ADEBB15B91 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */; }; + B6B72D94527F8C53F85E1F63C4A2E6AC /* Cauli.h in Headers */ = {isa = PBXBuildFile; fileRef = A3DC03CC8D469D0E3D08D01712F0E76D /* Cauli.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BB1AB16D2D53ACF2F7B475EDF445D65C /* RecordSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = A737F412195C44F88724472447D4744E /* RecordSelector.swift */; }; + BBB0FD4A50D134590FD7BB16E887E91A /* Collection+ReduceAsnyc.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE604DE5DF99412FCFE711E6753DA232 /* Collection+ReduceAsnyc.swift */; }; + C50340E0EF971E9F1A67AE8D3A337143 /* NSError+Cauli.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62F0DE9886BD10E1F411768B06EE5BEB /* NSError+Cauli.swift */; }; + C5063E721FBF860DDA80D8D12F48184C /* PlaintextPrettyPrinter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27127849A9C0EE7B47B04B1FE65E339A /* PlaintextPrettyPrinter.swift */; }; + C74DC1BAE0791C4B8D52B40416B8BAA9 /* ViewControllerShakePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FEAC1678D60772F344A6CD0EBE0F624 /* ViewControllerShakePresenter.swift */; }; + CB65E9B298C4C4B51EEC8AC9233FA7D4 /* UIWindow+Shake.swift in Sources */ = {isa = PBXBuildFile; fileRef = C98EAE1264B828E38C2712D754EF0570 /* UIWindow+Shake.swift */; }; D144202D1D3854579B2310DCA379D1EC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */; }; - D57AF7B176C46F944F609EDCC1589AF0 /* NSError+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E02D6EEFBC9C81839E88BCA3ECE52707 /* NSError+Codable.swift */; }; - D7E0027F6D3A2060138A5495E19C0CD2 /* TagLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D847A985BC3D9E04F8E4431B10FBAC5 /* TagLabel.swift */; }; - DA7D73F829F379644C1297ED13FBB4F7 /* InspectorRecordTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 163364FF6E7FC0C0F79FED0EBB05233B /* InspectorRecordTableViewCell.swift */; }; - DB48634E1D192A350562A9C372B66B17 /* UIWindow+Shake.swift in Sources */ = {isa = PBXBuildFile; fileRef = A48F91A25142E0772117B6B6D9395EDF /* UIWindow+Shake.swift */; }; - DF3A18400FED0C5A5CD00CF4D83FFD77 /* Floret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73D1833834C83F1F311D886B83AC51C6 /* Floret.swift */; }; - EEE072C7E4729A70D1D75247977FEE07 /* MockRecordSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22048209A0F6C9DBCF694E9CD3802EF1 /* MockRecordSerializer.swift */; }; - F5AA1119C19A8DF041DF8AF5D15BBE40 /* ReplaceDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD006E005AF841249574AD705A3DD6C /* ReplaceDefinition.swift */; }; + D8DE18FBFF820D0820F6F483787458FA /* NoCacheFloret.swift in Sources */ = {isa = PBXBuildFile; fileRef = C317F37ED9574337B2BC89A62EFD0825 /* NoCacheFloret.swift */; }; + DF478AAD9425385F9D3F2373E2251C6F /* CauliViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58220CAE60F4D1BE323F3525B4E283CD /* CauliViewController.swift */; }; + DFB5CE2835EA4EF26CCED873311EA6B5 /* CauliAuthenticationChallengeProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 401C528E84B06C7E8049F8A59180C24D /* CauliAuthenticationChallengeProxy.swift */; }; + E0E0C3CFD98B314391754E15DC88DA4A /* SwappedURLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3CFBF1A695AB717DD0EF189EC117EE4 /* SwappedURLRequest.swift */; }; + EB1A0AF8830B1EACF635C5CCF4631A29 /* Record.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3EA7EA3C9839DFDB788CED8AA5F9DF1 /* Record.swift */; }; + EFBBAAB32E4C3B688967E3E58B2C0752 /* WeakReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6562C17F45393F37CCE0BB6488870EB7 /* WeakReference.swift */; }; + F538B157A4D76682C53A3AF556753DE1 /* URLResponseRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 884FB2628D6AABD23D57F30DD50927D8 /* URLResponseRepresentable.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -69,250 +70,251 @@ isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 788C7D290CBD2BD952F6D3BDE95EC4E6; + remoteGlobalIDString = 91F0DA3FF114AEC7C471EF5049236C12; remoteInfo = Cauliframework; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0017FD8AD408A7695FF0928915067DAD /* architecture.html */ = {isa = PBXFileReference; includeInIndex = 1; name = architecture.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/architecture.html; sourceTree = ""; }; - 002BC02E6FA2DE153EFED378F108C08D /* Cauliframework-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Cauliframework-umbrella.h"; sourceTree = ""; }; - 006CA42A7B811A99770F1F25C3BCE6C8 /* RecordModifier.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordModifier.html; path = docs/generated/Classes/FindReplaceFloret/RecordModifier.html; sourceTree = ""; }; - 014385AF820175A39D3A1025DDBC6B98 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols.html; sourceTree = ""; }; - 03964D796BFC2B3EC049A9BEE48983EA /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = ""; }; - 03A3EB0D64D3923C0798DBDD319FCF69 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/generated/badge.svg; sourceTree = ""; }; - 0447B7FE197DF570130DB948BC59B2A7 /* InspectorFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorFloret.swift; sourceTree = ""; }; - 04571E83EE84A326B585DF9277D27DBA /* NetworkServiceType.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NetworkServiceType.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/URLRequest/NetworkServiceType.html; sourceTree = ""; }; - 04A1338932937661010F1A7A952F7E5B /* CachePolicy.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachePolicy.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/URLRequest/CachePolicy.html; sourceTree = ""; }; - 07EE360818D60E35CC30E2D7BADA91FC /* Result.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Result.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Enums/Result.html; sourceTree = ""; }; - 090F02A76646EA2AAE98603F8AE86E8C /* Floret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Floret.html; path = docs/generated/Protocols/Floret.html; sourceTree = ""; }; - 094BB32B0F9BBC6A0A9275DD86639299 /* Configuration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Configuration.html; path = docs/generated/Structs/Configuration.html; sourceTree = ""; }; - 0CF52AD11F6C10F066473637F744F249 /* Cauliframework-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Cauliframework-prefix.pch"; sourceTree = ""; }; - 0DFAE25F1063C59A714FB3C0450402DD /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/generated/docsets/Cauli.docset/Contents/Resources/docSet.dsidx; sourceTree = ""; }; - 0E6A7512A176684BCC29720CE65A4A05 /* writing-your-own-plugin.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "writing-your-own-plugin.html"; path = "docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/writing-your-own-plugin.html"; sourceTree = ""; }; - 0F295573033E32DB3D7287BE5E53C19B /* URLResponseRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = URLResponseRepresentable.swift; sourceTree = ""; }; - 0FC49A9E87407B56FA8783A2083AC144 /* MockFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = MockFloret.html; path = docs/generated/Classes/MockFloret.html; sourceTree = ""; }; - 10E3F251C596F21F6CFEDC28F85CB94C /* StorageCapacity.html */ = {isa = PBXFileReference; includeInIndex = 1; name = StorageCapacity.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Enums/StorageCapacity.html; sourceTree = ""; }; - 11069C2FE1DD4629F97080F0D4E36842 /* Writing Your Own Plugin.md */ = {isa = PBXFileReference; includeInIndex = 1; name = "Writing Your Own Plugin.md"; path = "docs/guides/Writing Your Own Plugin.md"; sourceTree = ""; }; - 11684D3BFBA620BEC8B7C70AA194D67C /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/generated/img/dash.png; sourceTree = ""; }; - 116CA2936D011584B5AA995D8A8B0E2B /* CachePolicy.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachePolicy.html; path = docs/generated/Extensions/URLRequest/CachePolicy.html; sourceTree = ""; }; - 13DA5E4F1499A4DC4021BA3438020046 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/dash.png; sourceTree = ""; }; - 154D1429391D18A644AE8E69FF5964F0 /* Response.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Response.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/Response.html; sourceTree = ""; }; + 00A13C6823D489418421107063AE35DC /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions.html; sourceTree = ""; }; + 03D37EDC89AA9E7A35CFEC4517AD5B4D /* CauliURLProtocol.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CauliURLProtocol.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/CauliURLProtocol.html; sourceTree = ""; }; + 04F8D93BBD89625E81F35D615BD60AEB /* Result.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Result.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Enums/Result.html; sourceTree = ""; }; + 05A50AB7B5536C8F511831F0C18FF742 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols.html; sourceTree = ""; }; + 0B10C0A7F39B48A0A6F7D677C5CAA021 /* Cauli.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cauli.swift; path = Cauli/Cauli.swift; sourceTree = ""; }; + 0EADE3B48D03A09D08BD65DC2175865D /* MD5Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MD5Digest.swift; sourceTree = ""; }; + 10E8B128CB9E6808D7344B1BB43E2FA5 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/badge.svg; sourceTree = ""; }; + 10ED18695E017C09DCA207F1A2D60464 /* RecordItemTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordItemTableViewCell.swift; sourceTree = ""; }; + 113C6E1258AA7CFE13C2D3EB7D69BDA9 /* UIWindow.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIWindow.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/UIWindow.html; sourceTree = ""; }; + 11AE88D1A612A5247241AC0F1AC2B68A /* frequently-asked-questions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "frequently-asked-questions.html"; path = "docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/frequently-asked-questions.html"; sourceTree = ""; }; + 11B5BD437A1911E334F03F671A483A15 /* Structs.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Structs.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs.html; sourceTree = ""; }; + 127970ACBE344D2768E7D3CEB3BC1406 /* writing-your-own-plugin.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "writing-your-own-plugin.html"; path = "docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/writing-your-own-plugin.html"; sourceTree = ""; }; + 13D4B62F37B48E031AD9B39CCE0162FD /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Result.swift; sourceTree = ""; }; + 14A25E36322B966DDFEA6A05D3F0A773 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/generated/Enums.html; sourceTree = ""; }; + 1590335A38E848293162443A1B3EA2B7 /* NoCacheFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NoCacheFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/NoCacheFloret.html; sourceTree = ""; }; 15E6CC9220321B05EDD0F54077D11DA6 /* Pods-cauli-ios-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-cauli-ios-example.debug.xcconfig"; sourceTree = ""; }; - 163364FF6E7FC0C0F79FED0EBB05233B /* InspectorRecordTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorRecordTableViewCell.swift; sourceTree = ""; }; - 1718638BA23ED4EEFFA74F7D2ACB1FB4 /* Record.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Record.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/Record.html; sourceTree = ""; }; - 172A1CED554FF1FA874A836E74199F61 /* MemoryStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MemoryStorage.swift; path = Cauli/MemoryStorage.swift; sourceTree = ""; }; - 17367A30AE3FCACD7EC214A806E9C8DA /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/generated/img/carat.png; sourceTree = ""; }; - 17A3D21F7563073C46E94854DE8E45CB /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/index.html; sourceTree = ""; }; - 1892D072411106878CB0E5FE42299750 /* FindReplaceFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FindReplaceFloret.swift; sourceTree = ""; }; - 19D83E46128210B78E19D9D2F04C2BFC /* frequently-asked-questions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "frequently-asked-questions.html"; path = "docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/frequently-asked-questions.html"; sourceTree = ""; }; - 1A4E73C1123B304E85D94378E6A318B6 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Enums.html; sourceTree = ""; }; - 1B2A8096B174E0D8EC12A756F445E93C /* CauliURLProtocol.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CauliURLProtocol.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/CauliURLProtocol.html; sourceTree = ""; }; - 1BDCF94B5396706AA5643F5D2929CEC1 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/generated/img/spinner.gif; sourceTree = ""; }; - 1BFC0C54DCEC02915041401B57343413 /* CauliAuthenticationChallengeProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliAuthenticationChallengeProxy.swift; sourceTree = ""; }; - 1E687082F56AE1928595820A20DC7D06 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/jazzy.search.js; sourceTree = ""; }; - 1F16952D6EAC4642FE2D5698EC435090 /* MD5Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MD5Digest.swift; sourceTree = ""; }; - 1F4ED6011A039A05B51D65F14F69D1A3 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/Classes/Cauli.html; sourceTree = ""; }; + 17A90E2598F3B89F02DDFCAC68B7888B /* SwappedRecord.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwappedRecord.swift; sourceTree = ""; }; + 1871606E5005E32E32616569C1764617 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/undocumented.json; sourceTree = ""; }; + 1A58C2FEAD073A778A55127F0D4F7F9E /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Response.swift; sourceTree = ""; }; + 1D8BC00742DF8E6BC9F3D2D710B90FD9 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/carat.png; sourceTree = ""; }; + 1FE703BC471E1C5205880EB789057324 /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/lunr.min.js; sourceTree = ""; }; 20625581CBC9A45DBC310C8BF85F2F8A /* Pods-cauli-ios-example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-cauli-ios-example-umbrella.h"; sourceTree = ""; }; - 209C617044806E53E9AE65240E3B71E5 /* Mode.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Mode.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/MockFloret/Mode.html; sourceTree = ""; }; - 20A82163305CC658406E630DF19A53D8 /* RecordItemTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordItemTableViewCell.swift; sourceTree = ""; }; - 22048209A0F6C9DBCF694E9CD3802EF1 /* MockRecordSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockRecordSerializer.swift; sourceTree = ""; }; - 226471E0BE524DE64795E02659422717 /* Displayable.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Displayable.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols/Displayable.html; sourceTree = ""; }; 24390EFD555DD124430DFF9724065945 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 246F6476C2DC01D4BD2FE6A5FBD2A2B0 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Enums.html; sourceTree = ""; }; - 257863B8F27AF7A84B0AEA4713AA5F78 /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes.html; sourceTree = ""; }; - 26B4FCB6BFE2E83364AA576DDDE89F18 /* StorageCapacity.html */ = {isa = PBXFileReference; includeInIndex = 1; name = StorageCapacity.html; path = docs/generated/Enums/StorageCapacity.html; sourceTree = ""; }; - 26DF8835BA1D13F1CF186BE4C75252B6 /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/docSet.dsidx; sourceTree = ""; }; - 2710B4F9342FE90693FCF80BABF0E2CF /* FindReplaceFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = FindReplaceFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/FindReplaceFloret.html; sourceTree = ""; }; + 259811E29283B09811FBE0757750B40A /* URLRequest.html */ = {isa = PBXFileReference; includeInIndex = 1; name = URLRequest.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/URLRequest.html; sourceTree = ""; }; + 25A31AD6EA4F6B365BDF98F593D735A2 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/generated/undocumented.json; sourceTree = ""; }; + 27127849A9C0EE7B47B04B1FE65E339A /* PlaintextPrettyPrinter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaintextPrettyPrinter.swift; sourceTree = ""; }; + 27F1772D1C62D95B13550A25E0A03B20 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/spinner.gif; sourceTree = ""; }; + 284AD2ECA5BDC0FD4F1264561C46DC59 /* RecordModifier.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordModifier.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/FindReplaceFloret/RecordModifier.html; sourceTree = ""; }; 290445BC890406DEE2BF586E0406BF3E /* Pods-cauli-ios-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-cauli-ios-example.release.xcconfig"; sourceTree = ""; }; - 2A7D0477E08D978FF5476527A6D2D140 /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/generated/js/jazzy.js; sourceTree = ""; }; - 2B98281A2979319C16CFB6C118764240 /* Cauliframework-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Cauliframework-dummy.m"; sourceTree = ""; }; - 2D2535147CA2A3169614EBC9CD9F1FDE /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/generated/Protocols.html; sourceTree = ""; }; - 333AC06D78B9188FBDC961D5E6028A20 /* Structs.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Structs.html; path = docs/generated/Structs.html; sourceTree = ""; }; - 341C98D7E3F0173FDA656AB8FE19D973 /* Record.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Record.html; path = docs/generated/Structs/Record.html; sourceTree = ""; }; - 351754A8B92B2F27B8DF9A015F87D443 /* URLRequest.html */ = {isa = PBXFileReference; includeInIndex = 1; name = URLRequest.html; path = docs/generated/Extensions/URLRequest.html; sourceTree = ""; }; - 3552715898C28FC5A163A48FAEAC3BD0 /* MockFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = MockFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/MockFloret.html; sourceTree = ""; }; - 355641E440386F3504FF120C3701722F /* CauliURLProtocolDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliURLProtocolDelegate.swift; sourceTree = ""; }; - 35F42C593B6BC46DA4930619E7BFCD3A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/generated/docsets/Cauli.docset/Contents/Info.plist; sourceTree = ""; }; - 364BED71955CDAE8002B7BF772EDA0C3 /* Storage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Storage.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols/Storage.html; sourceTree = ""; }; - 37D15805CE4B839B302A8058451FDA39 /* Cauli.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cauli.swift; path = Cauli/Cauli.swift; sourceTree = ""; }; - 37F20671311DF7DED71C3F50AE71910A /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/search.json; sourceTree = ""; }; - 3A242390E0F2A4C718FDF85568DE1480 /* florets.html */ = {isa = PBXFileReference; includeInIndex = 1; name = florets.html; path = docs/generated/florets.html; sourceTree = ""; }; - 3A78E18B131F109B5FD7ED9A9D250168 /* RecordModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecordModifier.swift; path = Cauli/RecordModifier.swift; sourceTree = ""; }; - 3A84726B87FBC879A44A326082CE3771 /* URLRequest.html */ = {isa = PBXFileReference; includeInIndex = 1; name = URLRequest.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/URLRequest.html; sourceTree = ""; }; - 3ADDFF88567027A5D682A280592681B0 /* Guides.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Guides.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Guides.html; sourceTree = ""; }; - 3BC197607FF0E4F0E8DE139FE43FE286 /* SwitchTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwitchTableViewCell.swift; sourceTree = ""; }; - 3BDCB330CE4EBFDC21B6F3E051F60E0D /* RecordSelector.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordSelector.html; path = docs/generated/Structs/RecordSelector.html; sourceTree = ""; }; - 3CB140E375669282D73D77E9AFA2810E /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/generated/index.html; sourceTree = ""; }; - 3FD90157CC2F2368E54DAB9AE03847CC /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 3FEAF9C9EBB161AC4BEDE2D320658DC6 /* CauliURLProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliURLProtocol.swift; sourceTree = ""; }; - 412F0A1B3C2CF7BC7E66CC44BDB94F6F /* InspectorFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = InspectorFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/InspectorFloret.html; sourceTree = ""; }; - 42E7899D0F7A2BC15C4CD1165E5BDDD1 /* Guides.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Guides.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Guides.html; sourceTree = ""; }; - 46CE6B664E17357FFF6DB71774242532 /* Cauliframework.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauliframework.tgz; path = docs/generated/docsets/Cauliframework.tgz; sourceTree = ""; }; - 4836B056784C9A4765EFE1FBC5997245 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/dash.png; sourceTree = ""; }; - 497D0216A931D62F54789826F880EA5C /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/Cauli.html; sourceTree = ""; }; - 4A13E0BDF4AF707C21444C614C04BB6B /* CauliViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliViewController.swift; sourceTree = ""; }; - 4A839BECE0FD0CAE3BCE7EB695B8855A /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = ""; }; - 4B14EEBE61AE798D2A3EBBD9091DBED0 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/search.json; sourceTree = ""; }; - 4C40C307C7CBE102E0470610D7E3B4B3 /* CauliURLProtocol.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CauliURLProtocol.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/CauliURLProtocol.html; sourceTree = ""; }; - 4D84B9C6EA1298F0D66966475E1B0423 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/generated/docsets/Cauliframework.docset/Contents/Info.plist; sourceTree = ""; }; - 4F92757B91E7E0CE4C7B6DF4FC61FDA3 /* NSError.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NSError.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/NSError.html; sourceTree = ""; }; + 2940EE38487AB8BA38173F31E4DC7F47 /* florets.html */ = {isa = PBXFileReference; includeInIndex = 1; name = florets.html; path = docs/generated/florets.html; sourceTree = ""; }; + 2D194BDE30E06336CC68FD0EB4B4FF9D /* Cauliframework.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Cauliframework.xcconfig; sourceTree = ""; }; + 2D28FC398FF2BF6A7D153D83CF816506 /* FindReplaceFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = FindReplaceFloret.html; path = docs/generated/Classes/FindReplaceFloret.html; sourceTree = ""; }; + 2F5324C26E00BB6316C58B6D10DD0534 /* Response.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Response.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/Response.html; sourceTree = ""; }; + 2FF57F899C52A39F8CFD166C3ED68FDA /* SwappedResponse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwappedResponse.swift; sourceTree = ""; }; + 3052841995F1E672FED20EA3E60270BF /* NoCacheFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NoCacheFloret.html; path = docs/generated/Classes/NoCacheFloret.html; sourceTree = ""; }; + 30CB7D764D917052FAC64F899BCB00F7 /* StorageCapacity.html */ = {isa = PBXFileReference; includeInIndex = 1; name = StorageCapacity.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Enums/StorageCapacity.html; sourceTree = ""; }; + 37102DD9AF53E4D7A9C26A6E073B0A8D /* NSError.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NSError.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/NSError.html; sourceTree = ""; }; + 37C85BDA8924183F68C84B812658805F /* NSError.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NSError.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/NSError.html; sourceTree = ""; }; + 3809CF7F1AE551D5A69140F993123095 /* MockFloretStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockFloretStorage.swift; sourceTree = ""; }; + 38D123A8EAD98F3A55079CC940FDD334 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; + 394380E1F0581392D0FEBF50805BA9A0 /* CauliURLProtocol.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CauliURLProtocol.html; path = docs/generated/Extensions/CauliURLProtocol.html; sourceTree = ""; }; + 3C4EAE279532056641D95F4BC1EF9C98 /* InspectorTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorTableViewController.swift; sourceTree = ""; }; + 3D223A0928ABD4601459FAAEE8EB4DB7 /* ReplaceDefinition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReplaceDefinition.swift; sourceTree = ""; }; + 3FEAC1678D60772F344A6CD0EBE0F624 /* ViewControllerShakePresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewControllerShakePresenter.swift; path = Cauli/ViewControllerShakePresenter.swift; sourceTree = ""; }; + 401C528E84B06C7E8049F8A59180C24D /* CauliAuthenticationChallengeProxy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliAuthenticationChallengeProxy.swift; sourceTree = ""; }; + 41EB2868EBEFF5A4D94ED4ED7EE0D3B1 /* Floret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Floret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols/Floret.html; sourceTree = ""; }; + 42762D6CE659CD70E4A031257C11F5AF /* RecordTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordTableViewController.swift; sourceTree = ""; }; + 429D9ED80EE1CAC15EE77A32BAD23C72 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/generated/img/carat.png; sourceTree = ""; }; + 435A8C5E6FC2DEC866928796CD238679 /* MemoryStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MemoryStorage.swift; path = Cauli/MemoryStorage.swift; sourceTree = ""; }; + 436DA31525F99FA6E582D959993A2FF6 /* FindReplaceFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FindReplaceFloret.swift; sourceTree = ""; }; + 4526A917A951770BC72CD94DF1873D7F /* Writing Your Own Plugin.md */ = {isa = PBXFileReference; includeInIndex = 1; name = "Writing Your Own Plugin.md"; path = "docs/guides/Writing Your Own Plugin.md"; sourceTree = ""; }; + 45AA67C83397C9E2F37A269FDC376380 /* StorageCapacity.html */ = {isa = PBXFileReference; includeInIndex = 1; name = StorageCapacity.html; path = docs/generated/Enums/StorageCapacity.html; sourceTree = ""; }; + 48C7AB4A93DFF325B992DD8955DE8EE3 /* Storage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Storage.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols/Storage.html; sourceTree = ""; }; + 4987E3C9F0A616A1731C3C07B66E52CC /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/css/jazzy.css; sourceTree = ""; }; + 49BAFDD27DD1F28E61DA479A7928ACDA /* writing-your-own-plugin.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "writing-your-own-plugin.html"; path = "docs/generated/writing-your-own-plugin.html"; sourceTree = ""; }; + 4A2994838DA800552AF2A25DDAB0E2AD /* Configuration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Configuration.html; path = docs/generated/Structs/Configuration.html; sourceTree = ""; }; + 4C8D1BF517E22EDDA7949E91206CEDFC /* HTTPBodyStreamFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HTTPBodyStreamFloret.swift; sourceTree = ""; }; + 4D136F844542621B337390FE66DFFE60 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/dash.png; sourceTree = ""; }; + 4D811CDF41B9AE4823D85CAB6F2510DF /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/jazzy.search.js; sourceTree = ""; }; + 4DD2DC9F6D345CD12F087AA14B672067 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = ""; }; + 4E269479E4E7B923FC0D26EA70AF469C /* Architecture.md */ = {isa = PBXFileReference; includeInIndex = 1; name = Architecture.md; path = docs/guides/Architecture.md; sourceTree = ""; }; + 4F2C3CCB574F26CB93B175CFCE4A70A3 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/generated/js/jazzy.search.js; sourceTree = ""; }; + 4F69066B12411932B6D3107869CE96C8 /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/generated/css/jazzy.css; sourceTree = ""; }; + 50A7C8920DB8F13F30FA598F35F17B7D /* Floret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Floret.html; path = docs/generated/Protocols/Floret.html; sourceTree = ""; }; + 52374E922FE424AC8ABB2120CCDE16B5 /* Mode.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Mode.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/MockFloret/Mode.html; sourceTree = ""; }; 526EED268023D8F722212522141E35C6 /* Pods-cauli-ios-example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-cauli-ios-example-acknowledgements.plist"; sourceTree = ""; }; - 54D783212ABA0E541126B44DBAC749B8 /* NetworkServiceType.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NetworkServiceType.html; path = docs/generated/Extensions/URLRequest/NetworkServiceType.html; sourceTree = ""; }; - 577C1214C2EA48F78E253C4C997EFEC5 /* Collection+ReduceAsnyc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Collection+ReduceAsnyc.swift"; sourceTree = ""; }; - 578F309FEF698D9FD80DF65B039A9632 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/generated/css/highlight.css; sourceTree = ""; }; - 58ABBDC7D7FD38A5314E9F80EECC5988 /* Response.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Response.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/Response.html; sourceTree = ""; }; - 59A68FF74B7315B82A67FB3457FD30DA /* NoCacheFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NoCacheFloret.html; path = docs/generated/Classes/NoCacheFloret.html; sourceTree = ""; }; - 5B101F69EA490F68C6313F9B73CE9097 /* MockFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockFloret.swift; sourceTree = ""; }; - 5B78DC18359222D0D9F4452468A1A8C3 /* Floret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Floret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols/Floret.html; sourceTree = ""; }; - 5B9BC28F0D8729BFC6D4675AA3C541B8 /* frequently-asked-questions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "frequently-asked-questions.html"; path = "docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/frequently-asked-questions.html"; sourceTree = ""; }; - 5BB9420415EFDA2502B10F4ED43E470E /* NetworkServiceType.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NetworkServiceType.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/URLRequest/NetworkServiceType.html; sourceTree = ""; }; - 5C29F6DBF32780F9BA6FC583AB8F687B /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/css/jazzy.css; sourceTree = ""; }; - 5C87C7D20E721B9716364DE3A33A5E71 /* configuring-cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "configuring-cauli.html"; path = "docs/generated/configuring-cauli.html"; sourceTree = ""; }; - 5D847A985BC3D9E04F8E4431B10FBAC5 /* TagLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TagLabel.swift; sourceTree = ""; }; - 5D85B0E4EC40906FE56F7274FE15747E /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/gh.png; sourceTree = ""; }; - 5EC6701664CDABD22161FBA746A361E5 /* architecture.html */ = {isa = PBXFileReference; includeInIndex = 1; name = architecture.html; path = docs/generated/architecture.html; sourceTree = ""; }; - 5F396AA09B9498901FB70D95C3885252 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/jazzy.search.js; sourceTree = ""; }; - 5F43152384C31FF5C7086A8C1AF4C0C1 /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/lunr.min.js; sourceTree = ""; }; - 60E26C59F7D3D580514D2F978674A3AB /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; - 61D422F9845CEDBC72814C83D1832F4D /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/css/jazzy.css; sourceTree = ""; }; - 641F37523C22317B901353EE42D0BD8E /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions.html; sourceTree = ""; }; - 64D1031853A857525EAF10A2BBE43613 /* Response.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Response.html; path = docs/generated/Structs/Response.html; sourceTree = ""; }; - 659F5D8DBD9D1004B250F5205C99A453 /* RecordModifier.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordModifier.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/FindReplaceFloret/RecordModifier.html; sourceTree = ""; }; - 65B1B9EA46A1A80989E3A459B1151307 /* configuring-cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "configuring-cauli.html"; path = "docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/configuring-cauli.html"; sourceTree = ""; }; - 662EB3C27A020FFCB2620A7E0F47997E /* frequently-asked-questions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "frequently-asked-questions.html"; path = "docs/generated/frequently-asked-questions.html"; sourceTree = ""; }; - 68396A68D78E143D16AA68ED716A71F6 /* PlaintextPrettyPrinter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaintextPrettyPrinter.swift; sourceTree = ""; }; - 6A0BC077468E9EF3223FF87DAAF6BF61 /* PrettyPrinter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PrettyPrinter.swift; sourceTree = ""; }; - 6A1BD5C8A4ACB5A9932B8D38D2D0478C /* Result.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Result.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Enums/Result.html; sourceTree = ""; }; - 6A67B0DCC78F33B4A0BEB2118620B2D8 /* Mode.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Mode.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/MockFloret/Mode.html; sourceTree = ""; }; - 6D2EFC1572D418186B9D7EAB617A0FC3 /* Storage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Storage.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols/Storage.html; sourceTree = ""; }; - 6D352A29C7481A92555B2163C958B8F2 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/carat.png; sourceTree = ""; }; - 6D68A55BC220D7357C72E939C2F79CE4 /* FindReplaceFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = FindReplaceFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/FindReplaceFloret.html; sourceTree = ""; }; - 6E84D6DB17C0DE7D1EFAB44AB93C13BE /* InspectorRecordTableViewCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = InspectorRecordTableViewCell.xib; sourceTree = ""; }; - 6F9037B513302D0A66EB8F7607804539 /* Guides.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Guides.html; path = docs/generated/Guides.html; sourceTree = ""; }; - 7166236E888D76BA21B3F14D947C4345 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/generated/search.json; sourceTree = ""; }; - 7334653FE77C8301E2FB451541F14C5D /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/generated/img/gh.png; sourceTree = ""; }; - 73D1833834C83F1F311D886B83AC51C6 /* Floret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Floret.swift; path = Cauli/Floret.swift; sourceTree = ""; }; - 758D6706CF35DC8CFF8E9339333330C9 /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/typeahead.jquery.js; sourceTree = ""; }; - 785C5E35207C1C26D6DBE0BE0CF70356 /* StorageCapacity.html */ = {isa = PBXFileReference; includeInIndex = 1; name = StorageCapacity.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Enums/StorageCapacity.html; sourceTree = ""; }; - 793F91D06ACAD502CEC4CD3A49EB8309 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/index.html; sourceTree = ""; }; - 7B6C6E0F6867475A7970161798258C7D /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/NSError/Cauli.html; sourceTree = ""; }; - 7CE077A8B29982D886F7CB90FE19A02E /* Frequently Asked Questions.md */ = {isa = PBXFileReference; includeInIndex = 1; name = "Frequently Asked Questions.md"; path = "docs/guides/Frequently Asked Questions.md"; sourceTree = ""; }; - 7D38F3B64EA751D04CD2E48D05B1EB72 /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = Cauli/Storage.swift; sourceTree = ""; }; - 7DA71A73D203A957A705DC8F13A4CCFA /* Record.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Record.swift; sourceTree = ""; }; - 7EEA61D5FEADBDCED0F2B7297AFC30BB /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/carat.png; sourceTree = ""; }; - 809F4B7B75A338FF6F6DC2800665697A /* SwappedRecord.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwappedRecord.swift; sourceTree = ""; }; - 8145EF0EFF66613F88711375BFE70BE9 /* WeakReference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WeakReference.swift; sourceTree = ""; }; - 824B6FCF888838134EB12E46D5FE7EFC /* RecordTableViewDatasource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordTableViewDatasource.swift; sourceTree = ""; }; - 8278E828B2EBF7384FB170C982EC6B95 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/spinner.gif; sourceTree = ""; }; - 8363ED8BF211195661995F229AD23909 /* SwappedResponse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwappedResponse.swift; sourceTree = ""; }; - 87A3D492D6B879252BD11DD5400ADB46 /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions.html; sourceTree = ""; }; - 87B520528E1AFC79B3966F1C5913A6E6 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8A917F0F234E3245A620B99562CFA48C /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/generated/undocumented.json; sourceTree = ""; }; - 8BFFBB94778A80B3343674049D2D73C2 /* NSError+Cauli.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSError+Cauli.swift"; sourceTree = ""; }; - 8E0F617FE5BC237A561515ABD975572A /* ViewControllerShakePresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewControllerShakePresenter.swift; path = Cauli/ViewControllerShakePresenter.swift; sourceTree = ""; }; - 8E1E31DE30CC76C40DA29AA3977374AD /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/generated/js/typeahead.jquery.js; sourceTree = ""; }; + 53312AB8282C9D51771AC35FE5969A7E /* architecture.html */ = {isa = PBXFileReference; includeInIndex = 1; name = architecture.html; path = docs/generated/architecture.html; sourceTree = ""; }; + 53AC1420E03E9B0DBCFBFB7B6B555B50 /* Record.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Record.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/Record.html; sourceTree = ""; }; + 549DDB8B11C588DD63474B071CB2DBC1 /* Displayable.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Displayable.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols/Displayable.html; sourceTree = ""; }; + 5591E1FA568128BDFE4727977442C9F2 /* Structs.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Structs.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs.html; sourceTree = ""; }; + 55C8C238CAA6145250277F16A16FD636 /* Configuring Cauli.md */ = {isa = PBXFileReference; includeInIndex = 1; name = "Configuring Cauli.md"; path = "docs/guides/Configuring Cauli.md"; sourceTree = ""; }; + 5731EC0FB425744BA64438E3ADB69E2B /* Guides.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Guides.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Guides.html; sourceTree = ""; }; + 57C4D471EED532CFFE77C99B25B01BA3 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/generated/Protocols.html; sourceTree = ""; }; + 58220CAE60F4D1BE323F3525B4E283CD /* CauliViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliViewController.swift; sourceTree = ""; }; + 59022FCEE78DD423DA72CDDEC835DF07 /* MockFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockFloret.swift; sourceTree = ""; }; + 5940C7CD54756C1E93210CE925628A40 /* InspectorFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = InspectorFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/InspectorFloret.html; sourceTree = ""; }; + 5A01C191BA7C960C3E5483A866098B47 /* Cauliframework.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = Cauliframework.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 5AEFDF93C3CC255A9D6F78D4FA01AE05 /* URLRequest+Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "URLRequest+Codable.swift"; sourceTree = ""; }; + 5B892C2F1110A20A978715A4F5888044 /* Cauli.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.tgz; path = docs/generated/docsets/Cauli.tgz; sourceTree = ""; }; + 5B966786C1F481C559EC5A0C4B61A288 /* Cauliframework-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Cauliframework-umbrella.h"; sourceTree = ""; }; + 61942EC1B5D554392E8709E47961F6D8 /* RecordSelector.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordSelector.html; path = docs/generated/Structs/RecordSelector.html; sourceTree = ""; }; + 61FBA33475668EB4DCCC256E6DB15071 /* configuring-cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "configuring-cauli.html"; path = "docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/configuring-cauli.html"; sourceTree = ""; }; + 62F0DE9886BD10E1F411768B06EE5BEB /* NSError+Cauli.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSError+Cauli.swift"; sourceTree = ""; }; + 63769035C5DDDCB40876F46006D209C7 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols.html; sourceTree = ""; }; + 63A6F54EBC1A3DA693AA183F9AE922CE /* SwitchTableViewCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = SwitchTableViewCell.xib; sourceTree = ""; }; + 63CAE8765B3CEC0A871DF417AE85FCFB /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/dash.png; sourceTree = ""; }; + 64351A3487B2EEC8DD69838F87E5612C /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/carat.png; sourceTree = ""; }; + 6526F9046077CCD70912A6F2A1D7C905 /* InspectorFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorFloret.swift; sourceTree = ""; }; + 6562C17F45393F37CCE0BB6488870EB7 /* WeakReference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WeakReference.swift; sourceTree = ""; }; + 66B6F2832603834EBC46398465512AFC /* Displayable.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Displayable.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols/Displayable.html; sourceTree = ""; }; + 6A9CA13D32DAAEEDD96458B0690A9BB2 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/generated/img/spinner.gif; sourceTree = ""; }; + 6B51F2D8894BB7D5CDDBA70A62A84784 /* InspectorFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = InspectorFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/InspectorFloret.html; sourceTree = ""; }; + 6B93B5BA8D557164400936000D2C2BC9 /* writing-your-own-plugin.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "writing-your-own-plugin.html"; path = "docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/writing-your-own-plugin.html"; sourceTree = ""; }; + 6BE1328B46D67E46A62F9EE722B2D4B7 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/generated/css/highlight.css; sourceTree = ""; }; + 6C012E0250AB1FC22B852619630CEEF5 /* Displayable.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Displayable.html; path = docs/generated/Protocols/Displayable.html; sourceTree = ""; }; + 6DC86221974F0ABF1464515CE4447228 /* Storage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Storage.html; path = docs/generated/Protocols/Storage.html; sourceTree = ""; }; + 6EA9C98708EA7870C8546BF0F5E3CEE5 /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/gh.png; sourceTree = ""; }; + 7037F1E38B8F1C531663940A9F03CF99 /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes.html; sourceTree = ""; }; + 7126F2472A22F81DBB94D7FF694DAF8B /* Record.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Record.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/Record.html; sourceTree = ""; }; + 71AA9AD712D4CE644D3B166B0A216D85 /* FindReplaceFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = FindReplaceFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/FindReplaceFloret.html; sourceTree = ""; }; + 723D2C90AB9E0CD66EF6C7FF770F971C /* RecordSelector.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordSelector.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/RecordSelector.html; sourceTree = ""; }; + 72479EC9985F1D3DA4419EFA81A47E4F /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/generated/Extensions.html; sourceTree = ""; }; + 73CAB5FD8931BFCADDD04076F70CEE2C /* PrettyPrinter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PrettyPrinter.swift; sourceTree = ""; }; + 7411A70A458E6B0480DDE6CADAB83C0C /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/generated/docsets/Cauli.docset/Contents/Resources/docSet.dsidx; sourceTree = ""; }; + 7614DC16981F2A89AB124A4BC7383E51 /* StorageCapacity.html */ = {isa = PBXFileReference; includeInIndex = 1; name = StorageCapacity.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Enums/StorageCapacity.html; sourceTree = ""; }; + 76C461A25104C0879316BF5BFBB85E4E /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = ""; }; + 77E182B69F395E5A490445E339D15685 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/generated/docsets/Cauli.docset/Contents/Info.plist; sourceTree = ""; }; + 79B483F2605C9772A688813BFD3BF237 /* Florets.md */ = {isa = PBXFileReference; includeInIndex = 1; name = Florets.md; path = docs/guides/Florets.md; sourceTree = ""; }; + 7A7374F43D77324789963C280DAA81E0 /* InspectorTableViewDatasource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorTableViewDatasource.swift; sourceTree = ""; }; + 7BC8EBDA2B8ACF265665A6A3CE7C1C3C /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/Classes/Cauli.html; sourceTree = ""; }; + 7C32B75C03487E13382994739ACE7008 /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/lunr.min.js; sourceTree = ""; }; + 7E2119596056326208BF96A805D75449 /* RecordTableViewDatasource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordTableViewDatasource.swift; sourceTree = ""; }; + 7EF0C203D5706E90AEB18D35BC289607 /* DisplayingFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisplayingFloret.swift; path = Cauli/DisplayingFloret.swift; sourceTree = ""; }; + 7F44B9C34909CE667C2FF4147613CA0A /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/generated/js/jazzy.js; sourceTree = ""; }; + 8065621DC5D6D4EEEBC8B282A71263F9 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/Extensions/NSError/Cauli.html; sourceTree = ""; }; + 819127E96902B6D72C77234DE0251D7C /* RecordSelector.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordSelector.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/RecordSelector.html; sourceTree = ""; }; + 83A53245F2BE39F5823A1266762F0F9A /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/css/jazzy.css; sourceTree = ""; }; + 8413BDBEDE9EF570FA134A5BC51D6F49 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/badge.svg; sourceTree = ""; }; + 86DABE34B893318F68EA29FCAF30705A /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/generated/Classes.html; sourceTree = ""; }; + 86E15477182EA6E2E88E7C6C84BE4802 /* frequently-asked-questions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "frequently-asked-questions.html"; path = "docs/generated/frequently-asked-questions.html"; sourceTree = ""; }; + 884FB2628D6AABD23D57F30DD50927D8 /* URLResponseRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = URLResponseRepresentable.swift; sourceTree = ""; }; + 88EE3659D0F4D52391D50F640BC6B5F6 /* Record.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Record.html; path = docs/generated/Structs/Record.html; sourceTree = ""; }; + 891F6D1796B3DCB7226D9FEC2C5D58B0 /* CauliURLProtocol.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CauliURLProtocol.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/CauliURLProtocol.html; sourceTree = ""; }; + 8BB0BC1FBE6D2B412653D9FFCD7CBD60 /* URLRequest.html */ = {isa = PBXFileReference; includeInIndex = 1; name = URLRequest.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/URLRequest.html; sourceTree = ""; }; + 8C9DABEFF85B8CEF466262D6533EEDD2 /* Result.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Result.html; path = docs/generated/Enums/Result.html; sourceTree = ""; }; + 8DA280FD21ACDC057977FD79D5AF1B5D /* NSError+Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSError+Codable.swift"; sourceTree = ""; }; + 8E31E75921C5150101D1E6A5E3F8FD10 /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/docSet.dsidx; sourceTree = ""; }; 8EB2E0282B5D42A84A052073310B9E3D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8F8427DE23F778EE4DCD2A676BE3ECD6 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/NSError/Cauli.html; sourceTree = ""; }; - 8FC9593E7F2B6F206857EA43AAA85A33 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/Cauli.html; sourceTree = ""; }; - 912BFD1DF26F799A823330A817C2B311 /* NSError.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NSError.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/NSError.html; sourceTree = ""; }; + 8F6CE194D925B6DD0BFA85B705EF5C43 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/generated/badge.svg; sourceTree = ""; }; + 90ED8C9B3D2C751A0E2A5DF13B836FE3 /* FindReplaceFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = FindReplaceFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/FindReplaceFloret.html; sourceTree = ""; }; + 912C8BF15ECA08210618FC2373830D84 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/index.html; sourceTree = ""; }; 91331E4A38CD0986096F960E9E432477 /* Pods-cauli-ios-example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-cauli-ios-example-acknowledgements.markdown"; sourceTree = ""; }; - 934104E57388DA89278280A6AC9417E3 /* florets.html */ = {isa = PBXFileReference; includeInIndex = 1; name = florets.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/florets.html; sourceTree = ""; }; - 9366113AE9A3E717A6B191CE61C37C3F /* InspectorTableViewDatasource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorTableViewDatasource.swift; sourceTree = ""; }; - 96AF9127AEDBD2A093990193E31657C6 /* NSError.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NSError.html; path = docs/generated/Extensions/NSError.html; sourceTree = ""; }; - 97104407CE284F3F38B8F46FECA2706E /* NoCacheFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NoCacheFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/NoCacheFloret.html; sourceTree = ""; }; - 974E4B1188A38432A00AA817C85AFC37 /* Result.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Result.html; path = docs/generated/Enums/Result.html; sourceTree = ""; }; - 986F08780D2998F5557E01A04204651A /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Result.swift; sourceTree = ""; }; - 99655130873DFDA2DA82A4CF93CB5A8C /* CauliURLProtocol.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CauliURLProtocol.html; path = docs/generated/Extensions/CauliURLProtocol.html; sourceTree = ""; }; - 99924EAF8AAF0C89F634D633A3C192F0 /* HTTPBodyStreamFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HTTPBodyStreamFloret.swift; sourceTree = ""; }; - 99D1685BBAC0710591B1C098CC84044B /* Displayable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Displayable.swift; path = Cauli/Displayable.swift; sourceTree = ""; }; - 9DBA7AF56F12B20F4349330371CDD019 /* Structs.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Structs.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs.html; sourceTree = ""; }; - 9DEE196BA0BA7FB003E9DBE74B1B4458 /* UIWindow.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIWindow.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/UIWindow.html; sourceTree = ""; }; - 9EBEAD6379BB68BE1415AC138803C7BF /* MockFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = MockFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/MockFloret.html; sourceTree = ""; }; - 9F2A14E3603D07DA6EC8865976461FB4 /* Cauliframework.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Cauliframework.modulemap; sourceTree = ""; }; - A102B58F88B750F3CAAFE0A505DD5035 /* RecordSelector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordSelector.swift; sourceTree = ""; }; - A1DDB7AD65DCD3AA7B7864AFC75FB35E /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/gh.png; sourceTree = ""; }; - A2CF7838F54D38F066FEF9BDB72DF280 /* Displayable.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Displayable.html; path = docs/generated/Protocols/Displayable.html; sourceTree = ""; }; - A48F91A25142E0772117B6B6D9395EDF /* UIWindow+Shake.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIWindow+Shake.swift"; sourceTree = ""; }; - A5EA8FB766A9F3461E52712966312B2B /* florets.html */ = {isa = PBXFileReference; includeInIndex = 1; name = florets.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/florets.html; sourceTree = ""; }; - A72C26F7FF258B51A575BED6B6DA6FA4 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - A7778D46EA53CFC3A40F191EC72C8AAE /* Storage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Storage.html; path = docs/generated/Protocols/Storage.html; sourceTree = ""; }; - A785855479020AF77BB60F7C6C3CE980 /* MockFloretStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockFloretStorage.swift; sourceTree = ""; }; - A7A293151340F07BD3119CF1DD6169F6 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = ""; }; - AA2CBBEE8B49A416788406186BFFCEB0 /* UIWindow.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIWindow.html; path = docs/generated/Extensions/UIWindow.html; sourceTree = ""; }; - ADAC981321B9FAAD6D735C9DE93B81F9 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/Extensions/NSError/Cauli.html; sourceTree = ""; }; - ADD9D8063D17AC78FBD2FDD2C9391152 /* Configuration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Configuration.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/Configuration.html; sourceTree = ""; }; - AE1FDEF3C519F8E2099CF3AC887D7D35 /* NoCacheFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NoCacheFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/NoCacheFloret.html; sourceTree = ""; }; - AE8B6957461BB35C514F182EA4B0A446 /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/spinner.gif; sourceTree = ""; }; - B10BAECC4BD24FA518FE61962B752D12 /* UIWindow.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIWindow.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/UIWindow.html; sourceTree = ""; }; - B141F13097B47CB13B423ED95B4C78FC /* NoCacheFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NoCacheFloret.swift; sourceTree = ""; }; - B29F459986252FD1695E9706E88E5A12 /* Cauliframework.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Cauliframework.xcconfig; sourceTree = ""; }; - B3E02F6F8CEF6805367599C3F933C5FF /* Cauli.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.tgz; path = docs/generated/docsets/Cauli.tgz; sourceTree = ""; }; - B5815195A685FD6A4417E8AB171ECE28 /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/typeahead.jquery.js; sourceTree = ""; }; - B6980C3C1DCF85165F6E95C3BEA6A230 /* Protocols.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Protocols.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols.html; sourceTree = ""; }; + 91B0CBD88146D22423A3A0EE723F06E1 /* Structs.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Structs.html; path = docs/generated/Structs.html; sourceTree = ""; }; + 939F95EF2C52124EA92F7ABAA9C3A28F /* URLSessionConfiguration+Swizzling.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "URLSessionConfiguration+Swizzling.swift"; sourceTree = ""; }; + 93FC0C6AC99FF5EAC459F2AED227FAAF /* NetworkServiceType.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NetworkServiceType.html; path = docs/generated/Extensions/URLRequest/NetworkServiceType.html; sourceTree = ""; }; + 95AD8FD6DC2F0D79850A704F3A473205 /* Cauliframework-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Cauliframework-dummy.m"; sourceTree = ""; }; + 96BED3B9A63B7E16AE0A5A04428BD500 /* CachePolicy.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachePolicy.html; path = docs/generated/Extensions/URLRequest/CachePolicy.html; sourceTree = ""; }; + 971FB2E5B070266982DEF4B3E539A180 /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/img/gh.png; sourceTree = ""; }; + 976D8AA0DD0E215CCA002A950BCD5A69 /* configuring-cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "configuring-cauli.html"; path = "docs/generated/configuring-cauli.html"; sourceTree = ""; }; + 987DCE7862C57554C2349A2EB17777A8 /* Guides.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Guides.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Guides.html; sourceTree = ""; }; + 990BBBAF5CC62469BA3ED7DE007D36AA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9952F6295111BA536910DFE3D65DBA70 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/generated/img/dash.png; sourceTree = ""; }; + 9966E32C3BDAB8DDA221F77BE3F0D474 /* NoCacheFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NoCacheFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/NoCacheFloret.html; sourceTree = ""; }; + 99C3051DC1AA8D94F177E4E192F27690 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/NSError/Cauli.html; sourceTree = ""; }; + 9C8393F35525567366443DC5E977215A /* CauliURLProtocolDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliURLProtocolDelegate.swift; sourceTree = ""; }; + 9ED145C8F44C0959A55FCBC10B278685 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/Cauli.html; sourceTree = ""; }; + 9EF1C972F210E870C0BC55B936190DF8 /* Configuration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Configuration.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/Configuration.html; sourceTree = ""; }; + 9F2E393D9D9E1A6824A549AA00292EF0 /* RecordModifier.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordModifier.html; path = docs/generated/Classes/FindReplaceFloret/RecordModifier.html; sourceTree = ""; }; + A27D64D7C902DED569DE776598B971BC /* MockRecordSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockRecordSerializer.swift; sourceTree = ""; }; + A347A41045AB866296F3247DC181AC83 /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Enums.html; sourceTree = ""; }; + A371DB7D16346E378F02F3D6326C74AD /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Enums.html; sourceTree = ""; }; + A3DC03CC8D469D0E3D08D01712F0E76D /* Cauli.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cauli.h; path = Cauli/Cauli.h; sourceTree = ""; }; + A408E78C141BDDD183EE4D6EA24F0FA1 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/generated/index.html; sourceTree = ""; }; + A66ECEFEE9970DC682EEA4E7A1213656 /* CachePolicy.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachePolicy.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/URLRequest/CachePolicy.html; sourceTree = ""; }; + A737F412195C44F88724472447D4744E /* RecordSelector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordSelector.swift; sourceTree = ""; }; + A8BDA33B50D675674EA79D099A9283BE /* Floret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Floret.swift; path = Cauli/Floret.swift; sourceTree = ""; }; + A9920C90A1BF178175997B2B89CF3E83 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + AB4839360243156CB7488F192323F5F0 /* florets.html */ = {isa = PBXFileReference; includeInIndex = 1; name = florets.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/florets.html; sourceTree = ""; }; + AB4CBA16DB1F7CC57E9C13522C2D8C03 /* Guides.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Guides.html; path = docs/generated/Guides.html; sourceTree = ""; }; + AB68EAA11C35D8443F7AE00D90723975 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = ""; }; + AC161185414AEDEB97BE1CDE9FBDA621 /* Mode.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Mode.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/MockFloret/Mode.html; sourceTree = ""; }; + AC184407B4C51E2784915F47B75DE9FD /* frequently-asked-questions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "frequently-asked-questions.html"; path = "docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/frequently-asked-questions.html"; sourceTree = ""; }; + AC4B11A741CC236771E452CF545FFD9D /* SwitchTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwitchTableViewCell.swift; sourceTree = ""; }; + AE5BFD3ABEECBB8AD12228E76C8F02E2 /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/generated/js/lunr.min.js; sourceTree = ""; }; + AE604DE5DF99412FCFE711E6753DA232 /* Collection+ReduceAsnyc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Collection+ReduceAsnyc.swift"; sourceTree = ""; }; + AF18CB0ADB18C87BD649062957263D58 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/generated/js/jquery.min.js; sourceTree = ""; }; + B1625C2185A7EDA66AB7C9C2AE2619FF /* CachePolicy.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachePolicy.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/URLRequest/CachePolicy.html; sourceTree = ""; }; + B3623A6057AA9DDC6E5F53891761AB11 /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions.html; sourceTree = ""; }; + B3BFB1121F78A6E852C8EC051322576B /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/typeahead.jquery.js; sourceTree = ""; }; + B42EFB18E5B174015ADA7ACC807C306C /* UIWindow.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIWindow.html; path = docs/generated/Extensions/UIWindow.html; sourceTree = ""; }; + B497F47B0017279A8918AC90D6BDAF8A /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/generated/js/typeahead.jquery.js; sourceTree = ""; }; B6E59FA677F3E6B4FAC6F9677FEE90A0 /* Pods-cauli-ios-example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-cauli-ios-example-resources.sh"; sourceTree = ""; }; - B842B36C7D90BE508A0E3A77FEAA7476 /* RecordModifier.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordModifier.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/FindReplaceFloret/RecordModifier.html; sourceTree = ""; }; - B8C66F52A73FA9F028933BC187B23C52 /* RecordSelector.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordSelector.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/RecordSelector.html; sourceTree = ""; }; - B997071242293DFDB603C9FBE4C632DA /* Record.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Record.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/Record.html; sourceTree = ""; }; - BA6F43118057F9C8B3A6F0FDBEB9871D /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/badge.svg; sourceTree = ""; }; - BB9383CB89ADB9473BFDC5D711D67E56 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/generated/js/jquery.min.js; sourceTree = ""; }; - BBAA03E5EB01FC9D923F8E99CEC54B98 /* URLRequest.html */ = {isa = PBXFileReference; includeInIndex = 1; name = URLRequest.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/URLRequest.html; sourceTree = ""; }; - BD619EF647914FE0D77937F92F09EA68 /* Cauli.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cauli.h; path = Cauli/Cauli.h; sourceTree = ""; }; - BE16B88A692837B79E16115CB2498CDF /* RecordSelector.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordSelector.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/RecordSelector.html; sourceTree = ""; }; - BF1CB3EADF1093AB149794917E83C25C /* RecordTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordTableViewController.swift; sourceTree = ""; }; - BF23A29371EF57BAE331503B26D3C9EA /* FindReplaceFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = FindReplaceFloret.html; path = docs/generated/Classes/FindReplaceFloret.html; sourceTree = ""; }; - BF249B6F54533EFF9ECA00D8B4A50BD2 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/generated/js/jazzy.search.js; sourceTree = ""; }; - BFD86836327E1E093A8C0775CFDD312A /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/lunr.min.js; sourceTree = ""; }; - C16E9D82290B02AA2C3AB4452BC80648 /* Displayable.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Displayable.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols/Displayable.html; sourceTree = ""; }; + B6EE184F0DB32DB48CC89990BE3DB714 /* Cauliframework-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Cauliframework-prefix.pch"; sourceTree = ""; }; + B85FD0E19F02B06503E4FBC30AD98C0D /* Cauliframework.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Cauliframework.modulemap; sourceTree = ""; }; + B87235B46BEA950303E756CB63595651 /* InspectorRecordTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorRecordTableViewCell.swift; sourceTree = ""; }; + BA2AE47A13503F2FF3335EA574C44B3B /* TagLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TagLabel.swift; sourceTree = ""; }; + BAE2B725623E2CC628245A8A7FC32E54 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/undocumented.json; sourceTree = ""; }; + BC20ABA2D1887FB0CA0EA39B230F5D48 /* typeahead.jquery.js */ = {isa = PBXFileReference; includeInIndex = 1; name = typeahead.jquery.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/typeahead.jquery.js; sourceTree = ""; }; + BE0D5ACA5417203867D1145A5483F668 /* RecordModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecordModifier.swift; path = Cauli/RecordModifier.swift; sourceTree = ""; }; + C120B6E8944B3EC0A918CFD85BD01413 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = ""; }; + C18A279163B95AFA374A3DE6576B6703 /* MockFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = MockFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/MockFloret.html; sourceTree = ""; }; + C26DF67ADD7539743016235BAF4B4B78 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + C2F66A9B97706A17B01B4421D0F1C5BD /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/index.html; sourceTree = ""; }; + C317F37ED9574337B2BC89A62EFD0825 /* NoCacheFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NoCacheFloret.swift; sourceTree = ""; }; + C3641F680DE2C3A9BC22F92D472DB517 /* Frequently Asked Questions.md */ = {isa = PBXFileReference; includeInIndex = 1; name = "Frequently Asked Questions.md"; path = "docs/guides/Frequently Asked Questions.md"; sourceTree = ""; }; C66D899594E0259C6A6E8C36FDCC5B38 /* Pods_cauli_ios_example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_cauli_ios_example.framework; path = "Pods-cauli-ios-example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - C727F3E21E8003C666A724D50AA8FD63 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = ""; }; - C90A49F27273C63591D6646BE541C210 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/undocumented.json; sourceTree = ""; }; - C9DD35A768D78652DF20E6B339665EB1 /* URLRequest+Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "URLRequest+Codable.swift"; sourceTree = ""; }; + C67BB83433035F76A75F0C1241CD91AC /* spinner.gif */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.gif; name = spinner.gif; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/img/spinner.gif; sourceTree = ""; }; + C7E6404235AF7F7401FB11F9DB740ADE /* NetworkServiceType.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NetworkServiceType.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Extensions/URLRequest/NetworkServiceType.html; sourceTree = ""; }; + C92F0979588AD55EA307233C98FC3710 /* MockFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = MockFloret.html; path = docs/generated/Classes/MockFloret.html; sourceTree = ""; }; + C98EAE1264B828E38C2712D754EF0570 /* UIWindow+Shake.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIWindow+Shake.swift"; sourceTree = ""; }; + CA154897A15B5AF5775076006623C2B0 /* Configuration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Configuration.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/Configuration.html; sourceTree = ""; }; CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - CE263BD98D7762CA872E3F8C5743B89C /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/undocumented.json; sourceTree = ""; }; - CF1FA9C7AD5D63D817C97BEB0A9FF854 /* InspectorTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InspectorTableViewController.swift; sourceTree = ""; }; - D220FBF8D1DCCF5FD2AC0D23BC1B381D /* Floret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Floret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols/Floret.html; sourceTree = ""; }; - D383D771CB158A44876BCB3AE44B57D2 /* writing-your-own-plugin.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "writing-your-own-plugin.html"; path = "docs/generated/writing-your-own-plugin.html"; sourceTree = ""; }; - D560A8FF200D156B3579E3899CC429F3 /* Configuration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Configuration.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Structs/Configuration.html; sourceTree = ""; }; - D596C9F3100C73D62DD60807A70FE413 /* SwitchTableViewCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = SwitchTableViewCell.xib; sourceTree = ""; }; - D59BAB9D1D9D8ADC7D1A3EA6A93A4E93 /* configuring-cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "configuring-cauli.html"; path = "docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/configuring-cauli.html"; sourceTree = ""; }; - D6096A4311DD4CE32D76F8C0F2F9AB43 /* CachePolicy.html */ = {isa = PBXFileReference; includeInIndex = 1; name = CachePolicy.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/URLRequest/CachePolicy.html; sourceTree = ""; }; - D75F15B6555407D892A75E84FA9C3922 /* Architecture.md */ = {isa = PBXFileReference; includeInIndex = 1; name = Architecture.md; path = docs/guides/Architecture.md; sourceTree = ""; }; - D95C962B02F5F11E70A8ADC4CC5CA6D1 /* InspectorFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = InspectorFloret.html; path = docs/generated/Classes/InspectorFloret.html; sourceTree = ""; }; - D9A46E560EF00495CC2B056B7F9A2D51 /* Structs.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Structs.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs.html; sourceTree = ""; }; - DADF3BC1294644413D975E43763E810D /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/generated/css/jazzy.css; sourceTree = ""; }; - DDD006E005AF841249574AD705A3DD6C /* ReplaceDefinition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ReplaceDefinition.swift; sourceTree = ""; }; - DED2DA9B22105C1FDEE48378A344BA8A /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes.html; sourceTree = ""; }; - E02D6EEFBC9C81839E88BCA3ECE52707 /* NSError+Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSError+Codable.swift"; sourceTree = ""; }; - E1178823C60E79A6D996E8847F85E38A /* Configuring Cauli.md */ = {isa = PBXFileReference; includeInIndex = 1; name = "Configuring Cauli.md"; path = "docs/guides/Configuring Cauli.md"; sourceTree = ""; }; - E2AF06DF7CFE89F23DF6E55F1F01D2EF /* Enums.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Enums.html; path = docs/generated/Enums.html; sourceTree = ""; }; - E7DF103B93F697BCC5E21FEEA36568DD /* InspectorFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = InspectorFloret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/InspectorFloret.html; sourceTree = ""; }; - E841F613BC1297546D6B89238B7142E9 /* Cauliframework.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = Cauliframework.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - EB0E0769C061FCC3A3FEBE17F84C0988 /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/generated/Extensions.html; sourceTree = ""; }; - EBAACC46B2B055668175364AD7E28358 /* architecture.html */ = {isa = PBXFileReference; includeInIndex = 1; name = architecture.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/architecture.html; sourceTree = ""; }; - EF05CD4857006D9A9749341A6ED2C95E /* SwappedURLRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwappedURLRequest.swift; sourceTree = ""; }; + CC253739EDAC95B9B919EF875C71107D /* RecordModifier.html */ = {isa = PBXFileReference; includeInIndex = 1; name = RecordModifier.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/FindReplaceFloret/RecordModifier.html; sourceTree = ""; }; + CD910CBABFC349B1233E9F8F3EB6A8AF /* NetworkServiceType.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NetworkServiceType.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/URLRequest/NetworkServiceType.html; sourceTree = ""; }; + D0FB34FC3A8F617F79BDDCC444866429 /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes.html; sourceTree = ""; }; + D34664B310163C9347EF2A76238C494D /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = ""; }; + D3EA7EA3C9839DFDB788CED8AA5F9DF1 /* Record.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Record.swift; sourceTree = ""; }; + D8E1B714D30916EEC96C0828760BC546 /* InspectorRecordTableViewCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = InspectorRecordTableViewCell.xib; sourceTree = ""; }; + D9DE75FAA75E72C9F1AB10891FEFC550 /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Classes/Cauli.html; sourceTree = ""; }; + DAA1A09663C61E7DF8176FD0852ABC28 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/generated/search.json; sourceTree = ""; }; + DC111C5ED773DDD067E70EC69E2DFEAD /* architecture.html */ = {isa = PBXFileReference; includeInIndex = 1; name = architecture.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/architecture.html; sourceTree = ""; }; + DC1FBA92375C68E8D32106E6677E0EE4 /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/generated/img/gh.png; sourceTree = ""; }; + DD2831E54463260BD9D200C5DE02C9A0 /* Mode.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Mode.html; path = docs/generated/Classes/MockFloret/Mode.html; sourceTree = ""; }; + DE6C320121CB41F6AE3F6CBEEF0F5B5A /* InterceptingFloret.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InterceptingFloret.swift; path = Cauli/InterceptingFloret.swift; sourceTree = ""; }; + DEBDE4B7220C33BD8FAEDB32F880F1A0 /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = ""; }; + DEC74E004715C8D25940F723BBA7083E /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/search.json; sourceTree = ""; }; + DF320CBC8108677E14E3CDC84EDC97FA /* Cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauli.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/NSError/Cauli.html; sourceTree = ""; }; + E0C519B98DBD67CADA09AF19730E8968 /* InspectorFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = InspectorFloret.html; path = docs/generated/Classes/InspectorFloret.html; sourceTree = ""; }; + E2FD9605082A61E0220882A9C6E8A332 /* MockFloret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = MockFloret.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Classes/MockFloret.html; sourceTree = ""; }; + E4AAC6A70DA0ABC57B0697D12068E291 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/generated/docsets/Cauliframework.docset/Contents/Info.plist; sourceTree = ""; }; + E4B4A31706E20B47BDB0233E3EB40308 /* UIWindow.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIWindow.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Extensions/UIWindow.html; sourceTree = ""; }; + E6F4DF6BF77C5B077DBCB024FE20256A /* Result.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Result.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Enums/Result.html; sourceTree = ""; }; + EBC58EF7DB04BC6755D101658E249BDB /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = Cauli/Storage.swift; sourceTree = ""; }; + EDBCAB9B443CB4D80F648FD049CF0ABC /* CauliURLProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CauliURLProtocol.swift; sourceTree = ""; }; + EE4B4B561510F13361798FAF93537525 /* NSError.html */ = {isa = PBXFileReference; includeInIndex = 1; name = NSError.html; path = docs/generated/Extensions/NSError.html; sourceTree = ""; }; EFE8FBC6050AD32786761C35CA7B02A8 /* Pods-cauli-ios-example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-cauli-ios-example.modulemap"; sourceTree = ""; }; - F15DD64E58C749D99CC1149A3CB184BF /* URLSessionConfiguration+Swizzling.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "URLSessionConfiguration+Swizzling.swift"; sourceTree = ""; }; - F1AD6E1D13080A1C19115D1F5ADB347A /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Response.swift; sourceTree = ""; }; + F1271E0DAA34FF0B6F44AEC73CE25059 /* URLRequest.html */ = {isa = PBXFileReference; includeInIndex = 1; name = URLRequest.html; path = docs/generated/Extensions/URLRequest.html; sourceTree = ""; }; + F2173BDDA18DA330E12D53129909AECD /* Response.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Response.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Structs/Response.html; sourceTree = ""; }; + F2377F0951BE9E426FC40C8BE913C97C /* architecture.html */ = {isa = PBXFileReference; includeInIndex = 1; name = architecture.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/architecture.html; sourceTree = ""; }; F2975D1D678040DC58B0D4E64EBF16AC /* Cauliframework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cauliframework.framework; path = Cauliframework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F2AC3A330B4D5F3C12D9E4AEEE4D3C08 /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/generated/Classes.html; sourceTree = ""; }; - F7448DF6098331CED99DEA9366739CEE /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = ""; }; - F9B230F5154091EC069DA17CD75720DF /* lunr.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = lunr.min.js; path = docs/generated/js/lunr.min.js; sourceTree = ""; }; - FACE9856D4C6D3E4E1921A23D77F2E01 /* Florets.md */ = {isa = PBXFileReference; includeInIndex = 1; name = Florets.md; path = docs/guides/Florets.md; sourceTree = ""; }; - FB6C8500B4DC6837A4A4572789105D7C /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = ""; }; - FBC33DFB60585DB89CAD1DFA5A447A14 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/badge.svg; sourceTree = ""; }; + F2C7D773B5239D4D0088734F3FAA96ED /* florets.html */ = {isa = PBXFileReference; includeInIndex = 1; name = florets.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/florets.html; sourceTree = ""; }; + F30ED02814F1974AE25BBFE8C876204E /* Cauliframework.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = Cauliframework.tgz; path = docs/generated/docsets/Cauliframework.tgz; sourceTree = ""; }; + F3CFBF1A695AB717DD0EF189EC117EE4 /* SwappedURLRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SwappedURLRequest.swift; sourceTree = ""; }; + F3F854CCFA79EE1EABD21716E6814761 /* Response.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Response.html; path = docs/generated/Structs/Response.html; sourceTree = ""; }; + F972EBE0FD9F019BF568A6E84AB9091D /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/search.json; sourceTree = ""; }; + F995D03269A3CCDB1B326F59E0111124 /* Floret.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Floret.html; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/Protocols/Floret.html; sourceTree = ""; }; + F9E8F6BA4BD3EE7EAFE05189DE2E89D0 /* jazzy.search.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.search.js; path = docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/js/jazzy.search.js; sourceTree = ""; }; FBF1D27466D3F93E74A379195F62D074 /* Pods-cauli-ios-example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-cauli-ios-example-dummy.m"; sourceTree = ""; }; - FC5250F6572000D8288CE4178FE27BD2 /* Mode.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Mode.html; path = docs/generated/Classes/MockFloret/Mode.html; sourceTree = ""; }; - FCB195878A4C4F69706BD98532BD1A15 /* writing-your-own-plugin.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "writing-your-own-plugin.html"; path = "docs/generated/docsets/Cauliframework.docset/Contents/Resources/Documents/writing-your-own-plugin.html"; sourceTree = ""; }; FD0353FEE45649660C5469B9EDDDDCC2 /* Pods-cauli-ios-example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-cauli-ios-example-frameworks.sh"; sourceTree = ""; }; + FD07B19A28E05DBA287FB563D876D3CB /* Storage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Storage.html; path = docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/Protocols/Storage.html; sourceTree = ""; }; + FEE4CB6D6CA7BDFCAB5464E441FAC9D4 /* configuring-cauli.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "configuring-cauli.html"; path = "docs/generated/docsets/Cauli.docset/Contents/Resources/Documents/configuring-cauli.html"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 331BFC56057AC089A391642B6A288915 /* Frameworks */ = { + 0F72D2E6CBA4F886742A00ABEE51D498 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C8EECCADFDE10A3D3625846AA8CDA15F /* Foundation.framework in Frameworks */, + B564EB797861C62F6B8600ADEBB15B91 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -327,109 +329,291 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0A955F18BA3B4C1CFB5568E3F1074A1E /* CauliViewController */ = { + 1AC8C96CD5FB6BD7873EF0DCA533F70F /* Resources */ = { isa = PBXGroup; children = ( - 4A13E0BDF4AF707C21444C614C04BB6B /* CauliViewController.swift */, - 3BC197607FF0E4F0E8DE139FE43FE286 /* SwitchTableViewCell.swift */, + 939DCB45146E2AC3F28820EBCC1BF561 /* CauliViewController */, + 1BDE2F8307DB73C911708BF2B002F99F /* Florets */, ); - name = CauliViewController; - path = Cauli/CauliViewController; + name = Resources; sourceTree = ""; }; - 13E9ECC519391A4B90476FADC2E3F51E /* Florets */ = { + 1BDE2F8307DB73C911708BF2B002F99F /* Florets */ = { isa = PBXGroup; children = ( - 6AD92F722C9D786587311269C99199D5 /* Inspector */, + 85657D81F1507E49DE21F18A3D006872 /* Inspector */, ); name = Florets; path = Cauli/Florets; sourceTree = ""; }; - 1A79F665A2EFE07C90E110DB821A9199 /* CauliViewController */ = { + 294AFB6EB99DF2147243E3DD59B58767 /* HTTPBodyStreamFloret */ = { + isa = PBXGroup; + children = ( + 4C8D1BF517E22EDDA7949E91206CEDFC /* HTTPBodyStreamFloret.swift */, + ); + name = HTTPBodyStreamFloret; + path = HTTPBodyStreamFloret; + sourceTree = ""; + }; + 2B65E7DD1C0EBE26834761A26D2BE300 /* CauliViewController */ = { isa = PBXGroup; children = ( - D596C9F3100C73D62DD60807A70FE413 /* SwitchTableViewCell.xib */, + 58220CAE60F4D1BE323F3525B4E283CD /* CauliViewController.swift */, + AC4B11A741CC236771E452CF545FFD9D /* SwitchTableViewCell.swift */, ); name = CauliViewController; path = Cauli/CauliViewController; sourceTree = ""; }; - 1A899EEAA2E331ADEDFE9C0A84815C5E /* Support Files */ = { + 2C4FFAE1BEA687C2FC39ACFF9B742262 /* Data structures */ = { isa = PBXGroup; children = ( - 9F2A14E3603D07DA6EC8865976461FB4 /* Cauliframework.modulemap */, - B29F459986252FD1695E9706E88E5A12 /* Cauliframework.xcconfig */, - 2B98281A2979319C16CFB6C118764240 /* Cauliframework-dummy.m */, - 0CF52AD11F6C10F066473637F744F249 /* Cauliframework-prefix.pch */, - 002BC02E6FA2DE153EFED378F108C08D /* Cauliframework-umbrella.h */, - 87B520528E1AFC79B3966F1C5913A6E6 /* Info.plist */, + D3EA7EA3C9839DFDB788CED8AA5F9DF1 /* Record.swift */, + 1A58C2FEAD073A778A55127F0D4F7F9E /* Response.swift */, + 13D4B62F37B48E031AD9B39CCE0162FD /* Result.swift */, + 884FB2628D6AABD23D57F30DD50927D8 /* URLResponseRepresentable.swift */, ); - name = "Support Files"; - path = "Example/cauli-ios-example/Pods/Target Support Files/Cauliframework"; + name = "Data structures"; + path = "Cauli/Data structures"; sourceTree = ""; }; - 204DAA555D8E71C0CE55FC11D687F8CE /* Cauliframework */ = { + 34FF6F2CE40517493B6D528FBBBF0B52 /* Pod */ = { isa = PBXGroup; children = ( - BD619EF647914FE0D77937F92F09EA68 /* Cauli.h */, - 37D15805CE4B839B302A8058451FDA39 /* Cauli.swift */, - 99D1685BBAC0710591B1C098CC84044B /* Displayable.swift */, - 73D1833834C83F1F311D886B83AC51C6 /* Floret.swift */, - 172A1CED554FF1FA874A836E74199F61 /* MemoryStorage.swift */, - 3A78E18B131F109B5FD7ED9A9D250168 /* RecordModifier.swift */, - 7D38F3B64EA751D04CD2E48D05B1EB72 /* Storage.swift */, - 8E0F617FE5BC237A561515ABD975572A /* ViewControllerShakePresenter.swift */, - 899EF9BE45274A47AF8D35A580F52AA8 /* CauliURLProtocol */, - 0A955F18BA3B4C1CFB5568E3F1074A1E /* CauliViewController */, - C03A91AA24A34DB30AFB0AA2FBD9211E /* Configuration */, - 711F6BFB064ABF43A6F1F7008DCB0B34 /* Data structures */, - EFEA4167C2F12E635361AB823B6B73A7 /* Extensions */, - 25EB20055C1724026052BC1957D3041D /* Florets */, - DB67A240E800CCD50F50F64846E6678E /* Pod */, - C72436566B6BAFBC228A2CA30838A868 /* Resources */, - 1A899EEAA2E331ADEDFE9C0A84815C5E /* Support Files */, + F2377F0951BE9E426FC40C8BE913C97C /* architecture.html */, + DC111C5ED773DDD067E70EC69E2DFEAD /* architecture.html */, + 53312AB8282C9D51771AC35FE5969A7E /* architecture.html */, + 4E269479E4E7B923FC0D26EA70AF469C /* Architecture.md */, + 10E8B128CB9E6808D7344B1BB43E2FA5 /* badge.svg */, + 8413BDBEDE9EF570FA134A5BC51D6F49 /* badge.svg */, + 8F6CE194D925B6DD0BFA85B705EF5C43 /* badge.svg */, + 96BED3B9A63B7E16AE0A5A04428BD500 /* CachePolicy.html */, + B1625C2185A7EDA66AB7C9C2AE2619FF /* CachePolicy.html */, + A66ECEFEE9970DC682EEA4E7A1213656 /* CachePolicy.html */, + 429D9ED80EE1CAC15EE77A32BAD23C72 /* carat.png */, + 1D8BC00742DF8E6BC9F3D2D710B90FD9 /* carat.png */, + 64351A3487B2EEC8DD69838F87E5612C /* carat.png */, + D9DE75FAA75E72C9F1AB10891FEFC550 /* Cauli.html */, + 9ED145C8F44C0959A55FCBC10B278685 /* Cauli.html */, + 8065621DC5D6D4EEEBC8B282A71263F9 /* Cauli.html */, + 7BC8EBDA2B8ACF265665A6A3CE7C1C3C /* Cauli.html */, + DF320CBC8108677E14E3CDC84EDC97FA /* Cauli.html */, + 99C3051DC1AA8D94F177E4E192F27690 /* Cauli.html */, + 5B892C2F1110A20A978715A4F5888044 /* Cauli.tgz */, + 5A01C191BA7C960C3E5483A866098B47 /* Cauliframework.podspec */, + F30ED02814F1974AE25BBFE8C876204E /* Cauliframework.tgz */, + 891F6D1796B3DCB7226D9FEC2C5D58B0 /* CauliURLProtocol.html */, + 03D37EDC89AA9E7A35CFEC4517AD5B4D /* CauliURLProtocol.html */, + 394380E1F0581392D0FEBF50805BA9A0 /* CauliURLProtocol.html */, + D0FB34FC3A8F617F79BDDCC444866429 /* Classes.html */, + 7037F1E38B8F1C531663940A9F03CF99 /* Classes.html */, + 86DABE34B893318F68EA29FCAF30705A /* Classes.html */, + 4A2994838DA800552AF2A25DDAB0E2AD /* Configuration.html */, + CA154897A15B5AF5775076006623C2B0 /* Configuration.html */, + 9EF1C972F210E870C0BC55B936190DF8 /* Configuration.html */, + 55C8C238CAA6145250277F16A16FD636 /* Configuring Cauli.md */, + 61FBA33475668EB4DCCC256E6DB15071 /* configuring-cauli.html */, + FEE4CB6D6CA7BDFCAB5464E441FAC9D4 /* configuring-cauli.html */, + 976D8AA0DD0E215CCA002A950BCD5A69 /* configuring-cauli.html */, + 4D136F844542621B337390FE66DFFE60 /* dash.png */, + 9952F6295111BA536910DFE3D65DBA70 /* dash.png */, + 63CAE8765B3CEC0A871DF417AE85FCFB /* dash.png */, + 549DDB8B11C588DD63474B071CB2DBC1 /* Displayable.html */, + 66B6F2832603834EBC46398465512AFC /* Displayable.html */, + 6C012E0250AB1FC22B852619630CEEF5 /* Displayable.html */, + 8E31E75921C5150101D1E6A5E3F8FD10 /* docSet.dsidx */, + 7411A70A458E6B0480DDE6CADAB83C0C /* docSet.dsidx */, + A347A41045AB866296F3247DC181AC83 /* Enums.html */, + 14A25E36322B966DDFEA6A05D3F0A773 /* Enums.html */, + A371DB7D16346E378F02F3D6326C74AD /* Enums.html */, + 00A13C6823D489418421107063AE35DC /* Extensions.html */, + 72479EC9985F1D3DA4419EFA81A47E4F /* Extensions.html */, + B3623A6057AA9DDC6E5F53891761AB11 /* Extensions.html */, + 71AA9AD712D4CE644D3B166B0A216D85 /* FindReplaceFloret.html */, + 2D28FC398FF2BF6A7D153D83CF816506 /* FindReplaceFloret.html */, + 90ED8C9B3D2C751A0E2A5DF13B836FE3 /* FindReplaceFloret.html */, + F995D03269A3CCDB1B326F59E0111124 /* Floret.html */, + 50A7C8920DB8F13F30FA598F35F17B7D /* Floret.html */, + 41EB2868EBEFF5A4D94ED4ED7EE0D3B1 /* Floret.html */, + AB4839360243156CB7488F192323F5F0 /* florets.html */, + 2940EE38487AB8BA38173F31E4DC7F47 /* florets.html */, + F2C7D773B5239D4D0088734F3FAA96ED /* florets.html */, + 79B483F2605C9772A688813BFD3BF237 /* Florets.md */, + C3641F680DE2C3A9BC22F92D472DB517 /* Frequently Asked Questions.md */, + 86E15477182EA6E2E88E7C6C84BE4802 /* frequently-asked-questions.html */, + 11AE88D1A612A5247241AC0F1AC2B68A /* frequently-asked-questions.html */, + AC184407B4C51E2784915F47B75DE9FD /* frequently-asked-questions.html */, + 6EA9C98708EA7870C8546BF0F5E3CEE5 /* gh.png */, + DC1FBA92375C68E8D32106E6677E0EE4 /* gh.png */, + 971FB2E5B070266982DEF4B3E539A180 /* gh.png */, + AB4CBA16DB1F7CC57E9C13522C2D8C03 /* Guides.html */, + 5731EC0FB425744BA64438E3ADB69E2B /* Guides.html */, + 987DCE7862C57554C2349A2EB17777A8 /* Guides.html */, + 76C461A25104C0879316BF5BFBB85E4E /* highlight.css */, + AB68EAA11C35D8443F7AE00D90723975 /* highlight.css */, + 6BE1328B46D67E46A62F9EE722B2D4B7 /* highlight.css */, + 912C8BF15ECA08210618FC2373830D84 /* index.html */, + C2F66A9B97706A17B01B4421D0F1C5BD /* index.html */, + A408E78C141BDDD183EE4D6EA24F0FA1 /* index.html */, + 77E182B69F395E5A490445E339D15685 /* Info.plist */, + E4AAC6A70DA0ABC57B0697D12068E291 /* Info.plist */, + E0C519B98DBD67CADA09AF19730E8968 /* InspectorFloret.html */, + 5940C7CD54756C1E93210CE925628A40 /* InspectorFloret.html */, + 6B51F2D8894BB7D5CDDBA70A62A84784 /* InspectorFloret.html */, + 4987E3C9F0A616A1731C3C07B66E52CC /* jazzy.css */, + 4F69066B12411932B6D3107869CE96C8 /* jazzy.css */, + 83A53245F2BE39F5823A1266762F0F9A /* jazzy.css */, + D34664B310163C9347EF2A76238C494D /* jazzy.js */, + 7F44B9C34909CE667C2FF4147613CA0A /* jazzy.js */, + DEBDE4B7220C33BD8FAEDB32F880F1A0 /* jazzy.js */, + 4D811CDF41B9AE4823D85CAB6F2510DF /* jazzy.search.js */, + F9E8F6BA4BD3EE7EAFE05189DE2E89D0 /* jazzy.search.js */, + 4F2C3CCB574F26CB93B175CFCE4A70A3 /* jazzy.search.js */, + C120B6E8944B3EC0A918CFD85BD01413 /* jquery.min.js */, + AF18CB0ADB18C87BD649062957263D58 /* jquery.min.js */, + 4DD2DC9F6D345CD12F087AA14B672067 /* jquery.min.js */, + A9920C90A1BF178175997B2B89CF3E83 /* LICENSE */, + 7C32B75C03487E13382994739ACE7008 /* lunr.min.js */, + 1FE703BC471E1C5205880EB789057324 /* lunr.min.js */, + AE5BFD3ABEECBB8AD12228E76C8F02E2 /* lunr.min.js */, + C92F0979588AD55EA307233C98FC3710 /* MockFloret.html */, + E2FD9605082A61E0220882A9C6E8A332 /* MockFloret.html */, + C18A279163B95AFA374A3DE6576B6703 /* MockFloret.html */, + AC161185414AEDEB97BE1CDE9FBDA621 /* Mode.html */, + 52374E922FE424AC8ABB2120CCDE16B5 /* Mode.html */, + DD2831E54463260BD9D200C5DE02C9A0 /* Mode.html */, + 93FC0C6AC99FF5EAC459F2AED227FAAF /* NetworkServiceType.html */, + CD910CBABFC349B1233E9F8F3EB6A8AF /* NetworkServiceType.html */, + C7E6404235AF7F7401FB11F9DB740ADE /* NetworkServiceType.html */, + 9966E32C3BDAB8DDA221F77BE3F0D474 /* NoCacheFloret.html */, + 1590335A38E848293162443A1B3EA2B7 /* NoCacheFloret.html */, + 3052841995F1E672FED20EA3E60270BF /* NoCacheFloret.html */, + EE4B4B561510F13361798FAF93537525 /* NSError.html */, + 37102DD9AF53E4D7A9C26A6E073B0A8D /* NSError.html */, + 37C85BDA8924183F68C84B812658805F /* NSError.html */, + 05A50AB7B5536C8F511831F0C18FF742 /* Protocols.html */, + 57C4D471EED532CFFE77C99B25B01BA3 /* Protocols.html */, + 63769035C5DDDCB40876F46006D209C7 /* Protocols.html */, + C26DF67ADD7539743016235BAF4B4B78 /* README.md */, + 7126F2472A22F81DBB94D7FF694DAF8B /* Record.html */, + 88EE3659D0F4D52391D50F640BC6B5F6 /* Record.html */, + 53AC1420E03E9B0DBCFBFB7B6B555B50 /* Record.html */, + 9F2E393D9D9E1A6824A549AA00292EF0 /* RecordModifier.html */, + 284AD2ECA5BDC0FD4F1264561C46DC59 /* RecordModifier.html */, + CC253739EDAC95B9B919EF875C71107D /* RecordModifier.html */, + 61942EC1B5D554392E8709E47961F6D8 /* RecordSelector.html */, + 723D2C90AB9E0CD66EF6C7FF770F971C /* RecordSelector.html */, + 819127E96902B6D72C77234DE0251D7C /* RecordSelector.html */, + F3F854CCFA79EE1EABD21716E6814761 /* Response.html */, + 2F5324C26E00BB6316C58B6D10DD0534 /* Response.html */, + F2173BDDA18DA330E12D53129909AECD /* Response.html */, + 8C9DABEFF85B8CEF466262D6533EEDD2 /* Result.html */, + E6F4DF6BF77C5B077DBCB024FE20256A /* Result.html */, + 04F8D93BBD89625E81F35D615BD60AEB /* Result.html */, + DAA1A09663C61E7DF8176FD0852ABC28 /* search.json */, + F972EBE0FD9F019BF568A6E84AB9091D /* search.json */, + DEC74E004715C8D25940F723BBA7083E /* search.json */, + 27F1772D1C62D95B13550A25E0A03B20 /* spinner.gif */, + C67BB83433035F76A75F0C1241CD91AC /* spinner.gif */, + 6A9CA13D32DAAEEDD96458B0690A9BB2 /* spinner.gif */, + 48C7AB4A93DFF325B992DD8955DE8EE3 /* Storage.html */, + FD07B19A28E05DBA287FB563D876D3CB /* Storage.html */, + 6DC86221974F0ABF1464515CE4447228 /* Storage.html */, + 45AA67C83397C9E2F37A269FDC376380 /* StorageCapacity.html */, + 7614DC16981F2A89AB124A4BC7383E51 /* StorageCapacity.html */, + 30CB7D764D917052FAC64F899BCB00F7 /* StorageCapacity.html */, + 91B0CBD88146D22423A3A0EE723F06E1 /* Structs.html */, + 5591E1FA568128BDFE4727977442C9F2 /* Structs.html */, + 11B5BD437A1911E334F03F671A483A15 /* Structs.html */, + B497F47B0017279A8918AC90D6BDAF8A /* typeahead.jquery.js */, + BC20ABA2D1887FB0CA0EA39B230F5D48 /* typeahead.jquery.js */, + B3BFB1121F78A6E852C8EC051322576B /* typeahead.jquery.js */, + E4B4A31706E20B47BDB0233E3EB40308 /* UIWindow.html */, + 113C6E1258AA7CFE13C2D3EB7D69BDA9 /* UIWindow.html */, + B42EFB18E5B174015ADA7ACC807C306C /* UIWindow.html */, + BAE2B725623E2CC628245A8A7FC32E54 /* undocumented.json */, + 25A31AD6EA4F6B365BDF98F593D735A2 /* undocumented.json */, + 1871606E5005E32E32616569C1764617 /* undocumented.json */, + F1271E0DAA34FF0B6F44AEC73CE25059 /* URLRequest.html */, + 8BB0BC1FBE6D2B412653D9FFCD7CBD60 /* URLRequest.html */, + 259811E29283B09811FBE0757750B40A /* URLRequest.html */, + 4526A917A951770BC72CD94DF1873D7F /* Writing Your Own Plugin.md */, + 6B93B5BA8D557164400936000D2C2BC9 /* writing-your-own-plugin.html */, + 127970ACBE344D2768E7D3CEB3BC1406 /* writing-your-own-plugin.html */, + 49BAFDD27DD1F28E61DA479A7928ACDA /* writing-your-own-plugin.html */, ); - name = Cauliframework; - path = ../../..; + name = Pod; sourceTree = ""; }; - 25EB20055C1724026052BC1957D3041D /* Florets */ = { + 3EC18EC6C2581A7B9D08521608DF1FF3 /* Extensions */ = { isa = PBXGroup; children = ( - FA3D6FDBABF7FF148B523FF997E03667 /* FindReplace */, - ACFAFA15236623F6703B6D1A4C201A0C /* HTTPBodyStreamFloret */, - AAE1681725C871983C8B60DFB2339C9D /* Inspector */, - FAA85CD4BB2A5B1937CB0979091400A7 /* Mock */, - 9E3B2F79F2EF7B11BE5806A51E609BF3 /* NoCache */, + AE604DE5DF99412FCFE711E6753DA232 /* Collection+ReduceAsnyc.swift */, + 62F0DE9886BD10E1F411768B06EE5BEB /* NSError+Cauli.swift */, + 8DA280FD21ACDC057977FD79D5AF1B5D /* NSError+Codable.swift */, + C98EAE1264B828E38C2712D754EF0570 /* UIWindow+Shake.swift */, + 5AEFDF93C3CC255A9D6F78D4FA01AE05 /* URLRequest+Codable.swift */, + 939F95EF2C52124EA92F7ABAA9C3A28F /* URLSessionConfiguration+Swizzling.swift */, ); - name = Florets; - path = Cauli/Florets; + name = Extensions; + path = Cauli/Extensions; sourceTree = ""; }; - 48BF5B93BD24D42BE46F226CDD6C468F /* Record List */ = { + 473E007259817F4B4D665AE1685E16A1 /* Support Files */ = { isa = PBXGroup; children = ( - 6E84D6DB17C0DE7D1EFAB44AB93C13BE /* InspectorRecordTableViewCell.xib */, + B85FD0E19F02B06503E4FBC30AD98C0D /* Cauliframework.modulemap */, + 2D194BDE30E06336CC68FD0EB4B4FF9D /* Cauliframework.xcconfig */, + 95AD8FD6DC2F0D79850A704F3A473205 /* Cauliframework-dummy.m */, + B6EE184F0DB32DB48CC89990BE3DB714 /* Cauliframework-prefix.pch */, + 5B966786C1F481C559EC5A0C4B61A288 /* Cauliframework-umbrella.h */, + 990BBBAF5CC62469BA3ED7DE007D36AA /* Info.plist */, ); - name = "Record List"; - path = "Record List"; + name = "Support Files"; + path = "Example/cauli-ios-example/Pods/Target Support Files/Cauliframework"; sourceTree = ""; }; - 51DA9F2387EEC60E49EB98E30F9A3752 /* Development Pods */ = { + 48FD8D095793B2F375D51D2EC4B870BB /* Inspector */ = { isa = PBXGroup; children = ( - 204DAA555D8E71C0CE55FC11D687F8CE /* Cauliframework */, + 6526F9046077CCD70912A6F2A1D7C905 /* InspectorFloret.swift */, + BA2AE47A13503F2FF3335EA574C44B3B /* TagLabel.swift */, + C794C3DBB1B04DF464C3F1F0CE7E860E /* PrettyPrinter */, + 49972195726CF2157FF0F6D6A0C590CB /* Record */, + 5210DDD81B16AB9B5DAFE30DC7965C17 /* Record List */, ); - name = "Development Pods"; + name = Inspector; + path = Inspector; + sourceTree = ""; + }; + 49972195726CF2157FF0F6D6A0C590CB /* Record */ = { + isa = PBXGroup; + children = ( + 10ED18695E017C09DCA207F1A2D60464 /* RecordItemTableViewCell.swift */, + 42762D6CE659CD70E4A031257C11F5AF /* RecordTableViewController.swift */, + 7E2119596056326208BF96A805D75449 /* RecordTableViewDatasource.swift */, + ); + name = Record; + path = Record; + sourceTree = ""; + }; + 4C708D67C63764EA655F4B158B34E34A /* FindReplace */ = { + isa = PBXGroup; + children = ( + 436DA31525F99FA6E582D959993A2FF6 /* FindReplaceFloret.swift */, + 3D223A0928ABD4601459FAAEE8EB4DB7 /* ReplaceDefinition.swift */, + ); + name = FindReplace; + path = FindReplace; sourceTree = ""; }; - 634BE3DB13ABB658E87554ADAC90EE33 /* Record List */ = { + 5210DDD81B16AB9B5DAFE30DC7965C17 /* Record List */ = { isa = PBXGroup; children = ( - 163364FF6E7FC0C0F79FED0EBB05233B /* InspectorRecordTableViewCell.swift */, - CF1FA9C7AD5D63D817C97BEB0A9FF854 /* InspectorTableViewController.swift */, - 9366113AE9A3E717A6B191CE61C37C3F /* InspectorTableViewDatasource.swift */, + B87235B46BEA950303E756CB63595651 /* InspectorRecordTableViewCell.swift */, + 3C4EAE279532056641D95F4BC1EF9C98 /* InspectorTableViewController.swift */, + 7A7374F43D77324789963C280DAA81E0 /* InspectorTableViewDatasource.swift */, ); name = "Record List"; path = "Record List"; @@ -453,48 +637,56 @@ path = "Target Support Files/Pods-cauli-ios-example"; sourceTree = ""; }; - 6AD92F722C9D786587311269C99199D5 /* Inspector */ = { + 6FB16865C865837CAF236C37D3DB334B /* Cauliframework */ = { isa = PBXGroup; children = ( - 48BF5B93BD24D42BE46F226CDD6C468F /* Record List */, + A3DC03CC8D469D0E3D08D01712F0E76D /* Cauli.h */, + 0B10C0A7F39B48A0A6F7D677C5CAA021 /* Cauli.swift */, + 7EF0C203D5706E90AEB18D35BC289607 /* DisplayingFloret.swift */, + A8BDA33B50D675674EA79D099A9283BE /* Floret.swift */, + DE6C320121CB41F6AE3F6CBEEF0F5B5A /* InterceptingFloret.swift */, + 435A8C5E6FC2DEC866928796CD238679 /* MemoryStorage.swift */, + BE0D5ACA5417203867D1145A5483F668 /* RecordModifier.swift */, + EBC58EF7DB04BC6755D101658E249BDB /* Storage.swift */, + 3FEAC1678D60772F344A6CD0EBE0F624 /* ViewControllerShakePresenter.swift */, + F548458D850842629E87A668DCDD0FFF /* CauliURLProtocol */, + 2B65E7DD1C0EBE26834761A26D2BE300 /* CauliViewController */, + AAA69377D7F8E9C41323C248297AF354 /* Configuration */, + 2C4FFAE1BEA687C2FC39ACFF9B742262 /* Data structures */, + 3EC18EC6C2581A7B9D08521608DF1FF3 /* Extensions */, + DD4AEF1586562DC6BD151249EB8D474B /* Florets */, + 34FF6F2CE40517493B6D528FBBBF0B52 /* Pod */, + 1AC8C96CD5FB6BD7873EF0DCA533F70F /* Resources */, + 473E007259817F4B4D665AE1685E16A1 /* Support Files */, ); - name = Inspector; - path = Inspector; + name = Cauliframework; + path = ../../..; sourceTree = ""; }; - 711F6BFB064ABF43A6F1F7008DCB0B34 /* Data structures */ = { + 732872EF53225CED707523861F59B055 /* Development Pods */ = { isa = PBXGroup; children = ( - 7DA71A73D203A957A705DC8F13A4CCFA /* Record.swift */, - F1AD6E1D13080A1C19115D1F5ADB347A /* Response.swift */, - 986F08780D2998F5557E01A04204651A /* Result.swift */, - 0F295573033E32DB3D7287BE5E53C19B /* URLResponseRepresentable.swift */, + 6FB16865C865837CAF236C37D3DB334B /* Cauliframework */, ); - name = "Data structures"; - path = "Cauli/Data structures"; + name = "Development Pods"; sourceTree = ""; }; - 899EF9BE45274A47AF8D35A580F52AA8 /* CauliURLProtocol */ = { + 85657D81F1507E49DE21F18A3D006872 /* Inspector */ = { isa = PBXGroup; children = ( - 1BFC0C54DCEC02915041401B57343413 /* CauliAuthenticationChallengeProxy.swift */, - 3FEAF9C9EBB161AC4BEDE2D320658DC6 /* CauliURLProtocol.swift */, - 355641E440386F3504FF120C3701722F /* CauliURLProtocolDelegate.swift */, - 8145EF0EFF66613F88711375BFE70BE9 /* WeakReference.swift */, + B34C13B2B9EDC5F9C2F877655807EACF /* Record List */, ); - name = CauliURLProtocol; - path = Cauli/CauliURLProtocol; + name = Inspector; + path = Inspector; sourceTree = ""; }; - 8E4E6213DF688DF2D31877630B8D4127 /* Record */ = { + 939DCB45146E2AC3F28820EBCC1BF561 /* CauliViewController */ = { isa = PBXGroup; children = ( - 20A82163305CC658406E630DF19A53D8 /* RecordItemTableViewCell.swift */, - BF1CB3EADF1093AB149794917E83C25C /* RecordTableViewController.swift */, - 824B6FCF888838134EB12E46D5FE7EFC /* RecordTableViewDatasource.swift */, + 63A6F54EBC1A3DA693AA183F9AE922CE /* SwitchTableViewCell.xib */, ); - name = Record; - path = Record; + name = CauliViewController; + path = Cauli/CauliViewController; sourceTree = ""; }; 9B055D0CFEA43187E72B03DED11F5662 /* iOS */ = { @@ -505,54 +697,57 @@ name = iOS; sourceTree = ""; }; - 9E3B2F79F2EF7B11BE5806A51E609BF3 /* NoCache */ = { + A191024E9CA59B4FCF2BB249069866B2 /* NoCache */ = { isa = PBXGroup; children = ( - B141F13097B47CB13B423ED95B4C78FC /* NoCacheFloret.swift */, + C317F37ED9574337B2BC89A62EFD0825 /* NoCacheFloret.swift */, ); name = NoCache; path = NoCache; sourceTree = ""; }; - AAE1681725C871983C8B60DFB2339C9D /* Inspector */ = { + A32AD7E11EE1AB6188D1248318CA85D7 /* Mock */ = { isa = PBXGroup; children = ( - 0447B7FE197DF570130DB948BC59B2A7 /* InspectorFloret.swift */, - 5D847A985BC3D9E04F8E4431B10FBAC5 /* TagLabel.swift */, - E95E44E82A5B183020641527D25E015B /* PrettyPrinter */, - 8E4E6213DF688DF2D31877630B8D4127 /* Record */, - 634BE3DB13ABB658E87554ADAC90EE33 /* Record List */, + 0EADE3B48D03A09D08BD65DC2175865D /* MD5Digest.swift */, + 59022FCEE78DD423DA72CDDEC835DF07 /* MockFloret.swift */, + 3809CF7F1AE551D5A69140F993123095 /* MockFloretStorage.swift */, + A27D64D7C902DED569DE776598B971BC /* MockRecordSerializer.swift */, + 17A90E2598F3B89F02DDFCAC68B7888B /* SwappedRecord.swift */, + 2FF57F899C52A39F8CFD166C3ED68FDA /* SwappedResponse.swift */, + F3CFBF1A695AB717DD0EF189EC117EE4 /* SwappedURLRequest.swift */, ); - name = Inspector; - path = Inspector; + name = Mock; + path = Mock; sourceTree = ""; }; - ACFAFA15236623F6703B6D1A4C201A0C /* HTTPBodyStreamFloret */ = { + AAA69377D7F8E9C41323C248297AF354 /* Configuration */ = { isa = PBXGroup; children = ( - 99924EAF8AAF0C89F634D633A3C192F0 /* HTTPBodyStreamFloret.swift */, + 38D123A8EAD98F3A55079CC940FDD334 /* Configuration.swift */, + A737F412195C44F88724472447D4744E /* RecordSelector.swift */, ); - name = HTTPBodyStreamFloret; - path = HTTPBodyStreamFloret; + name = Configuration; + path = Cauli/Configuration; sourceTree = ""; }; - C03A91AA24A34DB30AFB0AA2FBD9211E /* Configuration */ = { + B34C13B2B9EDC5F9C2F877655807EACF /* Record List */ = { isa = PBXGroup; children = ( - 60E26C59F7D3D580514D2F978674A3AB /* Configuration.swift */, - A102B58F88B750F3CAAFE0A505DD5035 /* RecordSelector.swift */, + D8E1B714D30916EEC96C0828760BC546 /* InspectorRecordTableViewCell.xib */, ); - name = Configuration; - path = Cauli/Configuration; + name = "Record List"; + path = "Record List"; sourceTree = ""; }; - C72436566B6BAFBC228A2CA30838A868 /* Resources */ = { + C794C3DBB1B04DF464C3F1F0CE7E860E /* PrettyPrinter */ = { isa = PBXGroup; children = ( - 1A79F665A2EFE07C90E110DB821A9199 /* CauliViewController */, - 13E9ECC519391A4B90476FADC2E3F51E /* Florets */, + 27127849A9C0EE7B47B04B1FE65E339A /* PlaintextPrettyPrinter.swift */, + 73CAB5FD8931BFCADDD04076F70CEE2C /* PrettyPrinter.swift */, ); - name = Resources; + name = PrettyPrinter; + path = PrettyPrinter; sourceTree = ""; }; CA59CB4EF9C5D9425ECE553F06151D48 /* Products */ = { @@ -568,7 +763,7 @@ isa = PBXGroup; children = ( 24390EFD555DD124430DFF9724065945 /* Podfile */, - 51DA9F2387EEC60E49EB98E30F9A3752 /* Development Pods */, + 732872EF53225CED707523861F59B055 /* Development Pods */, D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, CA59CB4EF9C5D9425ECE553F06151D48 /* Products */, FD9794DC984DC04CE60B3CE4545AEF84 /* Targets Support Files */, @@ -583,221 +778,29 @@ name = Frameworks; sourceTree = ""; }; - DB67A240E800CCD50F50F64846E6678E /* Pod */ = { + DD4AEF1586562DC6BD151249EB8D474B /* Florets */ = { isa = PBXGroup; children = ( - 0017FD8AD408A7695FF0928915067DAD /* architecture.html */, - EBAACC46B2B055668175364AD7E28358 /* architecture.html */, - 5EC6701664CDABD22161FBA746A361E5 /* architecture.html */, - D75F15B6555407D892A75E84FA9C3922 /* Architecture.md */, - FBC33DFB60585DB89CAD1DFA5A447A14 /* badge.svg */, - BA6F43118057F9C8B3A6F0FDBEB9871D /* badge.svg */, - 03A3EB0D64D3923C0798DBDD319FCF69 /* badge.svg */, - 116CA2936D011584B5AA995D8A8B0E2B /* CachePolicy.html */, - 04A1338932937661010F1A7A952F7E5B /* CachePolicy.html */, - D6096A4311DD4CE32D76F8C0F2F9AB43 /* CachePolicy.html */, - 17367A30AE3FCACD7EC214A806E9C8DA /* carat.png */, - 7EEA61D5FEADBDCED0F2B7297AFC30BB /* carat.png */, - 6D352A29C7481A92555B2163C958B8F2 /* carat.png */, - 497D0216A931D62F54789826F880EA5C /* Cauli.html */, - 8FC9593E7F2B6F206857EA43AAA85A33 /* Cauli.html */, - ADAC981321B9FAAD6D735C9DE93B81F9 /* Cauli.html */, - 1F4ED6011A039A05B51D65F14F69D1A3 /* Cauli.html */, - 7B6C6E0F6867475A7970161798258C7D /* Cauli.html */, - 8F8427DE23F778EE4DCD2A676BE3ECD6 /* Cauli.html */, - B3E02F6F8CEF6805367599C3F933C5FF /* Cauli.tgz */, - E841F613BC1297546D6B89238B7142E9 /* Cauliframework.podspec */, - 46CE6B664E17357FFF6DB71774242532 /* Cauliframework.tgz */, - 4C40C307C7CBE102E0470610D7E3B4B3 /* CauliURLProtocol.html */, - 1B2A8096B174E0D8EC12A756F445E93C /* CauliURLProtocol.html */, - 99655130873DFDA2DA82A4CF93CB5A8C /* CauliURLProtocol.html */, - DED2DA9B22105C1FDEE48378A344BA8A /* Classes.html */, - 257863B8F27AF7A84B0AEA4713AA5F78 /* Classes.html */, - F2AC3A330B4D5F3C12D9E4AEEE4D3C08 /* Classes.html */, - 094BB32B0F9BBC6A0A9275DD86639299 /* Configuration.html */, - ADD9D8063D17AC78FBD2FDD2C9391152 /* Configuration.html */, - D560A8FF200D156B3579E3899CC429F3 /* Configuration.html */, - E1178823C60E79A6D996E8847F85E38A /* Configuring Cauli.md */, - D59BAB9D1D9D8ADC7D1A3EA6A93A4E93 /* configuring-cauli.html */, - 65B1B9EA46A1A80989E3A459B1151307 /* configuring-cauli.html */, - 5C87C7D20E721B9716364DE3A33A5E71 /* configuring-cauli.html */, - 4836B056784C9A4765EFE1FBC5997245 /* dash.png */, - 11684D3BFBA620BEC8B7C70AA194D67C /* dash.png */, - 13DA5E4F1499A4DC4021BA3438020046 /* dash.png */, - 226471E0BE524DE64795E02659422717 /* Displayable.html */, - C16E9D82290B02AA2C3AB4452BC80648 /* Displayable.html */, - A2CF7838F54D38F066FEF9BDB72DF280 /* Displayable.html */, - 26DF8835BA1D13F1CF186BE4C75252B6 /* docSet.dsidx */, - 0DFAE25F1063C59A714FB3C0450402DD /* docSet.dsidx */, - 1A4E73C1123B304E85D94378E6A318B6 /* Enums.html */, - E2AF06DF7CFE89F23DF6E55F1F01D2EF /* Enums.html */, - 246F6476C2DC01D4BD2FE6A5FBD2A2B0 /* Enums.html */, - 87A3D492D6B879252BD11DD5400ADB46 /* Extensions.html */, - EB0E0769C061FCC3A3FEBE17F84C0988 /* Extensions.html */, - 641F37523C22317B901353EE42D0BD8E /* Extensions.html */, - 6D68A55BC220D7357C72E939C2F79CE4 /* FindReplaceFloret.html */, - BF23A29371EF57BAE331503B26D3C9EA /* FindReplaceFloret.html */, - 2710B4F9342FE90693FCF80BABF0E2CF /* FindReplaceFloret.html */, - D220FBF8D1DCCF5FD2AC0D23BC1B381D /* Floret.html */, - 090F02A76646EA2AAE98603F8AE86E8C /* Floret.html */, - 5B78DC18359222D0D9F4452468A1A8C3 /* Floret.html */, - 934104E57388DA89278280A6AC9417E3 /* florets.html */, - 3A242390E0F2A4C718FDF85568DE1480 /* florets.html */, - A5EA8FB766A9F3461E52712966312B2B /* florets.html */, - FACE9856D4C6D3E4E1921A23D77F2E01 /* Florets.md */, - 7CE077A8B29982D886F7CB90FE19A02E /* Frequently Asked Questions.md */, - 662EB3C27A020FFCB2620A7E0F47997E /* frequently-asked-questions.html */, - 19D83E46128210B78E19D9D2F04C2BFC /* frequently-asked-questions.html */, - 5B9BC28F0D8729BFC6D4675AA3C541B8 /* frequently-asked-questions.html */, - A1DDB7AD65DCD3AA7B7864AFC75FB35E /* gh.png */, - 7334653FE77C8301E2FB451541F14C5D /* gh.png */, - 5D85B0E4EC40906FE56F7274FE15747E /* gh.png */, - 6F9037B513302D0A66EB8F7607804539 /* Guides.html */, - 42E7899D0F7A2BC15C4CD1165E5BDDD1 /* Guides.html */, - 3ADDFF88567027A5D682A280592681B0 /* Guides.html */, - 03964D796BFC2B3EC049A9BEE48983EA /* highlight.css */, - F7448DF6098331CED99DEA9366739CEE /* highlight.css */, - 578F309FEF698D9FD80DF65B039A9632 /* highlight.css */, - 17A3D21F7563073C46E94854DE8E45CB /* index.html */, - 793F91D06ACAD502CEC4CD3A49EB8309 /* index.html */, - 3CB140E375669282D73D77E9AFA2810E /* index.html */, - 35F42C593B6BC46DA4930619E7BFCD3A /* Info.plist */, - 4D84B9C6EA1298F0D66966475E1B0423 /* Info.plist */, - D95C962B02F5F11E70A8ADC4CC5CA6D1 /* InspectorFloret.html */, - 412F0A1B3C2CF7BC7E66CC44BDB94F6F /* InspectorFloret.html */, - E7DF103B93F697BCC5E21FEEA36568DD /* InspectorFloret.html */, - 61D422F9845CEDBC72814C83D1832F4D /* jazzy.css */, - DADF3BC1294644413D975E43763E810D /* jazzy.css */, - 5C29F6DBF32780F9BA6FC583AB8F687B /* jazzy.css */, - 4A839BECE0FD0CAE3BCE7EB695B8855A /* jazzy.js */, - 2A7D0477E08D978FF5476527A6D2D140 /* jazzy.js */, - FB6C8500B4DC6837A4A4572789105D7C /* jazzy.js */, - 5F396AA09B9498901FB70D95C3885252 /* jazzy.search.js */, - 1E687082F56AE1928595820A20DC7D06 /* jazzy.search.js */, - BF249B6F54533EFF9ECA00D8B4A50BD2 /* jazzy.search.js */, - A7A293151340F07BD3119CF1DD6169F6 /* jquery.min.js */, - BB9383CB89ADB9473BFDC5D711D67E56 /* jquery.min.js */, - C727F3E21E8003C666A724D50AA8FD63 /* jquery.min.js */, - 3FD90157CC2F2368E54DAB9AE03847CC /* LICENSE */, - BFD86836327E1E093A8C0775CFDD312A /* lunr.min.js */, - 5F43152384C31FF5C7086A8C1AF4C0C1 /* lunr.min.js */, - F9B230F5154091EC069DA17CD75720DF /* lunr.min.js */, - 0FC49A9E87407B56FA8783A2083AC144 /* MockFloret.html */, - 3552715898C28FC5A163A48FAEAC3BD0 /* MockFloret.html */, - 9EBEAD6379BB68BE1415AC138803C7BF /* MockFloret.html */, - 6A67B0DCC78F33B4A0BEB2118620B2D8 /* Mode.html */, - 209C617044806E53E9AE65240E3B71E5 /* Mode.html */, - FC5250F6572000D8288CE4178FE27BD2 /* Mode.html */, - 54D783212ABA0E541126B44DBAC749B8 /* NetworkServiceType.html */, - 5BB9420415EFDA2502B10F4ED43E470E /* NetworkServiceType.html */, - 04571E83EE84A326B585DF9277D27DBA /* NetworkServiceType.html */, - 97104407CE284F3F38B8F46FECA2706E /* NoCacheFloret.html */, - AE1FDEF3C519F8E2099CF3AC887D7D35 /* NoCacheFloret.html */, - 59A68FF74B7315B82A67FB3457FD30DA /* NoCacheFloret.html */, - 96AF9127AEDBD2A093990193E31657C6 /* NSError.html */, - 4F92757B91E7E0CE4C7B6DF4FC61FDA3 /* NSError.html */, - 912BFD1DF26F799A823330A817C2B311 /* NSError.html */, - 014385AF820175A39D3A1025DDBC6B98 /* Protocols.html */, - 2D2535147CA2A3169614EBC9CD9F1FDE /* Protocols.html */, - B6980C3C1DCF85165F6E95C3BEA6A230 /* Protocols.html */, - A72C26F7FF258B51A575BED6B6DA6FA4 /* README.md */, - 1718638BA23ED4EEFFA74F7D2ACB1FB4 /* Record.html */, - 341C98D7E3F0173FDA656AB8FE19D973 /* Record.html */, - B997071242293DFDB603C9FBE4C632DA /* Record.html */, - 006CA42A7B811A99770F1F25C3BCE6C8 /* RecordModifier.html */, - 659F5D8DBD9D1004B250F5205C99A453 /* RecordModifier.html */, - B842B36C7D90BE508A0E3A77FEAA7476 /* RecordModifier.html */, - 3BDCB330CE4EBFDC21B6F3E051F60E0D /* RecordSelector.html */, - B8C66F52A73FA9F028933BC187B23C52 /* RecordSelector.html */, - BE16B88A692837B79E16115CB2498CDF /* RecordSelector.html */, - 64D1031853A857525EAF10A2BBE43613 /* Response.html */, - 154D1429391D18A644AE8E69FF5964F0 /* Response.html */, - 58ABBDC7D7FD38A5314E9F80EECC5988 /* Response.html */, - 974E4B1188A38432A00AA817C85AFC37 /* Result.html */, - 07EE360818D60E35CC30E2D7BADA91FC /* Result.html */, - 6A1BD5C8A4ACB5A9932B8D38D2D0478C /* Result.html */, - 7166236E888D76BA21B3F14D947C4345 /* search.json */, - 37F20671311DF7DED71C3F50AE71910A /* search.json */, - 4B14EEBE61AE798D2A3EBBD9091DBED0 /* search.json */, - AE8B6957461BB35C514F182EA4B0A446 /* spinner.gif */, - 8278E828B2EBF7384FB170C982EC6B95 /* spinner.gif */, - 1BDCF94B5396706AA5643F5D2929CEC1 /* spinner.gif */, - 364BED71955CDAE8002B7BF772EDA0C3 /* Storage.html */, - 6D2EFC1572D418186B9D7EAB617A0FC3 /* Storage.html */, - A7778D46EA53CFC3A40F191EC72C8AAE /* Storage.html */, - 26B4FCB6BFE2E83364AA576DDDE89F18 /* StorageCapacity.html */, - 10E3F251C596F21F6CFEDC28F85CB94C /* StorageCapacity.html */, - 785C5E35207C1C26D6DBE0BE0CF70356 /* StorageCapacity.html */, - 333AC06D78B9188FBDC961D5E6028A20 /* Structs.html */, - D9A46E560EF00495CC2B056B7F9A2D51 /* Structs.html */, - 9DBA7AF56F12B20F4349330371CDD019 /* Structs.html */, - 8E1E31DE30CC76C40DA29AA3977374AD /* typeahead.jquery.js */, - 758D6706CF35DC8CFF8E9339333330C9 /* typeahead.jquery.js */, - B5815195A685FD6A4417E8AB171ECE28 /* typeahead.jquery.js */, - 9DEE196BA0BA7FB003E9DBE74B1B4458 /* UIWindow.html */, - B10BAECC4BD24FA518FE61962B752D12 /* UIWindow.html */, - AA2CBBEE8B49A416788406186BFFCEB0 /* UIWindow.html */, - C90A49F27273C63591D6646BE541C210 /* undocumented.json */, - 8A917F0F234E3245A620B99562CFA48C /* undocumented.json */, - CE263BD98D7762CA872E3F8C5743B89C /* undocumented.json */, - 351754A8B92B2F27B8DF9A015F87D443 /* URLRequest.html */, - 3A84726B87FBC879A44A326082CE3771 /* URLRequest.html */, - BBAA03E5EB01FC9D923F8E99CEC54B98 /* URLRequest.html */, - 11069C2FE1DD4629F97080F0D4E36842 /* Writing Your Own Plugin.md */, - 0E6A7512A176684BCC29720CE65A4A05 /* writing-your-own-plugin.html */, - FCB195878A4C4F69706BD98532BD1A15 /* writing-your-own-plugin.html */, - D383D771CB158A44876BCB3AE44B57D2 /* writing-your-own-plugin.html */, + 4C708D67C63764EA655F4B158B34E34A /* FindReplace */, + 294AFB6EB99DF2147243E3DD59B58767 /* HTTPBodyStreamFloret */, + 48FD8D095793B2F375D51D2EC4B870BB /* Inspector */, + A32AD7E11EE1AB6188D1248318CA85D7 /* Mock */, + A191024E9CA59B4FCF2BB249069866B2 /* NoCache */, ); - name = Pod; - sourceTree = ""; - }; - E95E44E82A5B183020641527D25E015B /* PrettyPrinter */ = { - isa = PBXGroup; - children = ( - 68396A68D78E143D16AA68ED716A71F6 /* PlaintextPrettyPrinter.swift */, - 6A0BC077468E9EF3223FF87DAAF6BF61 /* PrettyPrinter.swift */, - ); - name = PrettyPrinter; - path = PrettyPrinter; - sourceTree = ""; - }; - EFEA4167C2F12E635361AB823B6B73A7 /* Extensions */ = { - isa = PBXGroup; - children = ( - 577C1214C2EA48F78E253C4C997EFEC5 /* Collection+ReduceAsnyc.swift */, - 8BFFBB94778A80B3343674049D2D73C2 /* NSError+Cauli.swift */, - E02D6EEFBC9C81839E88BCA3ECE52707 /* NSError+Codable.swift */, - A48F91A25142E0772117B6B6D9395EDF /* UIWindow+Shake.swift */, - C9DD35A768D78652DF20E6B339665EB1 /* URLRequest+Codable.swift */, - F15DD64E58C749D99CC1149A3CB184BF /* URLSessionConfiguration+Swizzling.swift */, - ); - name = Extensions; - path = Cauli/Extensions; - sourceTree = ""; - }; - FA3D6FDBABF7FF148B523FF997E03667 /* FindReplace */ = { - isa = PBXGroup; - children = ( - 1892D072411106878CB0E5FE42299750 /* FindReplaceFloret.swift */, - DDD006E005AF841249574AD705A3DD6C /* ReplaceDefinition.swift */, - ); - name = FindReplace; - path = FindReplace; + name = Florets; + path = Cauli/Florets; sourceTree = ""; }; - FAA85CD4BB2A5B1937CB0979091400A7 /* Mock */ = { + F548458D850842629E87A668DCDD0FFF /* CauliURLProtocol */ = { isa = PBXGroup; children = ( - 1F16952D6EAC4642FE2D5698EC435090 /* MD5Digest.swift */, - 5B101F69EA490F68C6313F9B73CE9097 /* MockFloret.swift */, - A785855479020AF77BB60F7C6C3CE980 /* MockFloretStorage.swift */, - 22048209A0F6C9DBCF694E9CD3802EF1 /* MockRecordSerializer.swift */, - 809F4B7B75A338FF6F6DC2800665697A /* SwappedRecord.swift */, - 8363ED8BF211195661995F229AD23909 /* SwappedResponse.swift */, - EF05CD4857006D9A9749341A6ED2C95E /* SwappedURLRequest.swift */, + 401C528E84B06C7E8049F8A59180C24D /* CauliAuthenticationChallengeProxy.swift */, + EDBCAB9B443CB4D80F648FD049CF0ABC /* CauliURLProtocol.swift */, + 9C8393F35525567366443DC5E977215A /* CauliURLProtocolDelegate.swift */, + 6562C17F45393F37CCE0BB6488870EB7 /* WeakReference.swift */, ); - name = Mock; - path = Mock; + name = CauliURLProtocol; + path = Cauli/CauliURLProtocol; sourceTree = ""; }; FD9794DC984DC04CE60B3CE4545AEF84 /* Targets Support Files */ = { @@ -819,26 +822,26 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C979B073393C45FC440C660B0325B964 /* Headers */ = { + D0644FA1F3761E39920956C7FEDBE1C6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1FC74312192BAB153B55B9E17B2F9D81 /* Cauli.h in Headers */, - 6C11DC1B9B2F279B98823401B4F34207 /* Cauliframework-umbrella.h in Headers */, + B6B72D94527F8C53F85E1F63C4A2E6AC /* Cauli.h in Headers */, + 33A1A27010C459E1C536E55DB62C0A3D /* Cauliframework-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 788C7D290CBD2BD952F6D3BDE95EC4E6 /* Cauliframework */ = { + 91F0DA3FF114AEC7C471EF5049236C12 /* Cauliframework */ = { isa = PBXNativeTarget; - buildConfigurationList = 3B5773A6B3FAA993CD38FC90F8792E33 /* Build configuration list for PBXNativeTarget "Cauliframework" */; + buildConfigurationList = 0F76DBB002F0942D50D17C5E4C789420 /* Build configuration list for PBXNativeTarget "Cauliframework" */; buildPhases = ( - C979B073393C45FC440C660B0325B964 /* Headers */, - FCD9F93DFC5EB5F7AA405971AD3ED875 /* Sources */, - 331BFC56057AC089A391642B6A288915 /* Frameworks */, - 8A57B4C018EE560DA7872E77D0750322 /* Resources */, + D0644FA1F3761E39920956C7FEDBE1C6 /* Headers */, + 4E578447465326835C0998916E82AAB1 /* Sources */, + 0F72D2E6CBA4F886742A00ABEE51D498 /* Frameworks */, + 377D6378EA0B4B53B37513994C2337A5 /* Resources */, ); buildRules = ( ); @@ -889,26 +892,26 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 788C7D290CBD2BD952F6D3BDE95EC4E6 /* Cauliframework */, + 91F0DA3FF114AEC7C471EF5049236C12 /* Cauliframework */, DCCB792654F85279EED80A9300FF3ED3 /* Pods-cauli-ios-example */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 7B460E8457FFEDFC293B2C778783FCE3 /* Resources */ = { + 377D6378EA0B4B53B37513994C2337A5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 11C02CE0C41525DB3F144085AA3EC02C /* InspectorRecordTableViewCell.xib in Resources */, + B21FFAA9F4742E1E9E5529EAE7F886B4 /* SwitchTableViewCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8A57B4C018EE560DA7872E77D0750322 /* Resources */ = { + 7B460E8457FFEDFC293B2C778783FCE3 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9152B26E885ED4CAC7DF2CE3907DE26D /* InspectorRecordTableViewCell.xib in Resources */, - ADC45302BD1A967A399F9F2CA5829736 /* SwitchTableViewCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -923,57 +926,58 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FCD9F93DFC5EB5F7AA405971AD3ED875 /* Sources */ = { + 4E578447465326835C0998916E82AAB1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 84573B93EFDE1B26E8437BAE22539BCA /* Cauli.swift in Sources */, - 2D07B23B416FBF4C3DFEF018F09B4D5A /* CauliAuthenticationChallengeProxy.swift in Sources */, - 393825C4BD43FA206AB2A3017FD831E9 /* Cauliframework-dummy.m in Sources */, - 461F644E13F6EB13334D695E4B185939 /* CauliURLProtocol.swift in Sources */, - 889838CAD10AECEAA9A25B9AB62BD2E8 /* CauliURLProtocolDelegate.swift in Sources */, - 184B33C4462B02605831A5A614EE1404 /* CauliViewController.swift in Sources */, - 32CAE88145D665C7BCD3156D1D8F51B2 /* Collection+ReduceAsnyc.swift in Sources */, - 5806F68B7E41713318A63624DBCA8B85 /* Configuration.swift in Sources */, - 6EB6A632E44B06571EA49A214EA05BB4 /* Displayable.swift in Sources */, - 91A2918F407A64F347F355E588F8C157 /* FindReplaceFloret.swift in Sources */, - DF3A18400FED0C5A5CD00CF4D83FFD77 /* Floret.swift in Sources */, - C9E0C0566464EB525FD94D1B9105C477 /* HTTPBodyStreamFloret.swift in Sources */, - 2883850FCAA2DB0DC29DD388769204D8 /* InspectorFloret.swift in Sources */, - DA7D73F829F379644C1297ED13FBB4F7 /* InspectorRecordTableViewCell.swift in Sources */, - 6386477D4E18169C0356B86B7452B656 /* InspectorTableViewController.swift in Sources */, - 5F362BEC4586916877F84785D5FD7CD3 /* InspectorTableViewDatasource.swift in Sources */, - C32E88D0CE89BA6F16FC6648F08C4EA4 /* MD5Digest.swift in Sources */, - 88ECBA2C06166307EEC301D6ADB4B9F7 /* MemoryStorage.swift in Sources */, - 4EDEE5965A34B4708DA4F72C07CF084C /* MockFloret.swift in Sources */, - C2A79B55DC81CD26A8BCC9F3F6D78D58 /* MockFloretStorage.swift in Sources */, - EEE072C7E4729A70D1D75247977FEE07 /* MockRecordSerializer.swift in Sources */, - 030BFAE94DF53318D8CE02D98B8AA9B2 /* NoCacheFloret.swift in Sources */, - B80667729CAB04E615C60615A2A2C927 /* NSError+Cauli.swift in Sources */, - D57AF7B176C46F944F609EDCC1589AF0 /* NSError+Codable.swift in Sources */, - 1EDDB84E97951625CEFC7B6D9FDEFBAE /* PlaintextPrettyPrinter.swift in Sources */, - 9CC52BE90018709271FD2EECBEE2848C /* PrettyPrinter.swift in Sources */, - 72CF293E173F2F4070678981BC6EE55F /* Record.swift in Sources */, - 9B4D1A1435CD92D8968BABFCD7D85109 /* RecordItemTableViewCell.swift in Sources */, - 51F2FBE48D28D54C2271BA07D1DB576C /* RecordModifier.swift in Sources */, - B58E97488237AF1DCDE9315AC4504871 /* RecordSelector.swift in Sources */, - 6687D88674D1C358A7B0C64D8D2C888A /* RecordTableViewController.swift in Sources */, - BCFA67FEA5B15568E543FA1106E469E8 /* RecordTableViewDatasource.swift in Sources */, - F5AA1119C19A8DF041DF8AF5D15BBE40 /* ReplaceDefinition.swift in Sources */, - ABFABD134A78337AA080058EA9631967 /* Response.swift in Sources */, - B14C55E9BA4D0DE2870A5B33D4497D0B /* Result.swift in Sources */, - 4022D4742BC903985F3BE086F1F71F65 /* Storage.swift in Sources */, - 3BA2AE9EC520F7FD3D58F31015069FF5 /* SwappedRecord.swift in Sources */, - 97CE25CD162CE672CAEC70C4867FD5AE /* SwappedResponse.swift in Sources */, - 9A39185A7FDB07877878F520C889C59D /* SwappedURLRequest.swift in Sources */, - 5E7A184DE51A5057936AF8BFEDE2F713 /* SwitchTableViewCell.swift in Sources */, - D7E0027F6D3A2060138A5495E19C0CD2 /* TagLabel.swift in Sources */, - DB48634E1D192A350562A9C372B66B17 /* UIWindow+Shake.swift in Sources */, - A20F41C7CAF8E0BE834D509A52043245 /* URLRequest+Codable.swift in Sources */, - 2A454E3FA3299BFFE9125AEDD41D7399 /* URLResponseRepresentable.swift in Sources */, - 1370FD76B619EFDAB7D80DF8E8D9715E /* URLSessionConfiguration+Swizzling.swift in Sources */, - 4DB858EF94D12746EE5CC487E6BF4D97 /* ViewControllerShakePresenter.swift in Sources */, - B3DEDCCEBD6DA846D98C948A8C6F3267 /* WeakReference.swift in Sources */, + 91662625E38602E36E3BE31719F57F34 /* Cauli.swift in Sources */, + DFB5CE2835EA4EF26CCED873311EA6B5 /* CauliAuthenticationChallengeProxy.swift in Sources */, + 2B5CAD618210977BDEFA01C8A8CB2511 /* Cauliframework-dummy.m in Sources */, + 45FDEC3FE0B858D595E40F2CB669C0A8 /* CauliURLProtocol.swift in Sources */, + 0BC189D08E130867496485D2C1634217 /* CauliURLProtocolDelegate.swift in Sources */, + DF478AAD9425385F9D3F2373E2251C6F /* CauliViewController.swift in Sources */, + BBB0FD4A50D134590FD7BB16E887E91A /* Collection+ReduceAsnyc.swift in Sources */, + 0C147B05DD636DFD002748CEE1711354 /* Configuration.swift in Sources */, + 83DB4B0A3B9566177390A2B340384190 /* DisplayingFloret.swift in Sources */, + 497FB23CD80C3B83D7EE4A8B321ADFF0 /* FindReplaceFloret.swift in Sources */, + 48168DF0264FB95A26098D00C9FFED0D /* Floret.swift in Sources */, + 71657188836E24B183AE8B5E78DAD834 /* HTTPBodyStreamFloret.swift in Sources */, + 5C46DC74DF7F44EDCE65F340CB45889E /* InspectorFloret.swift in Sources */, + 8FA74CA83D1F6A56EF602437A3A67D7E /* InspectorRecordTableViewCell.swift in Sources */, + 486FF22BAD29D4ED982B7623C12320C6 /* InspectorTableViewController.swift in Sources */, + 269E1EBBCF35A8C3818DED7AE1823B1E /* InspectorTableViewDatasource.swift in Sources */, + 15AA840BAEB039CBEA98459ECC606696 /* InterceptingFloret.swift in Sources */, + 90F64D7DAEA0FC9355FFCC3079637E3C /* MD5Digest.swift in Sources */, + 5178E963D724A35DF30291FE4D72C292 /* MemoryStorage.swift in Sources */, + 427AB3C186BED0C0458ABEBEF14C8E3F /* MockFloret.swift in Sources */, + A676C9A50530490859C9741676DE0130 /* MockFloretStorage.swift in Sources */, + 441F4A73D8151DD7573FA8FE2E72B05B /* MockRecordSerializer.swift in Sources */, + D8DE18FBFF820D0820F6F483787458FA /* NoCacheFloret.swift in Sources */, + C50340E0EF971E9F1A67AE8D3A337143 /* NSError+Cauli.swift in Sources */, + 5C7A2758094D7DB139121272D3AD3908 /* NSError+Codable.swift in Sources */, + C5063E721FBF860DDA80D8D12F48184C /* PlaintextPrettyPrinter.swift in Sources */, + 60FBB4FB53292B9ED0E92F32EAFA62AE /* PrettyPrinter.swift in Sources */, + EB1A0AF8830B1EACF635C5CCF4631A29 /* Record.swift in Sources */, + 05DAA012C462EB96E94FF0D41D972F60 /* RecordItemTableViewCell.swift in Sources */, + 9374B893D1C9B7694D789E289895DA89 /* RecordModifier.swift in Sources */, + BB1AB16D2D53ACF2F7B475EDF445D65C /* RecordSelector.swift in Sources */, + 873E2BCD0461FE07E423AA1C04211B38 /* RecordTableViewController.swift in Sources */, + 0FFE32D711ADF47AD03F3B1EBFC119A8 /* RecordTableViewDatasource.swift in Sources */, + 9C0F1055C5C970D3B118029DBFDBF704 /* ReplaceDefinition.swift in Sources */, + 0CCCFB0C1A20B794A83DB3A090494E5A /* Response.swift in Sources */, + AD1A2A667AAA4EA928E2E6089ABE09E0 /* Result.swift in Sources */, + 19029B24D4FA19E258D08A7C3C855A48 /* Storage.swift in Sources */, + 62626995D2E08B364A88AF4A09DDA897 /* SwappedRecord.swift in Sources */, + 49E87D39C972EACB0DA0BBF680FA1953 /* SwappedResponse.swift in Sources */, + E0E0C3CFD98B314391754E15DC88DA4A /* SwappedURLRequest.swift in Sources */, + 800F4F2B951AD5B8FA78FE05973100E7 /* SwitchTableViewCell.swift in Sources */, + 780014D45298D53A109BEE052A8A38B0 /* TagLabel.swift in Sources */, + CB65E9B298C4C4B51EEC8AC9233FA7D4 /* UIWindow+Shake.swift in Sources */, + 67160FEA150FFF2B7083B86CE6A0A4ED /* URLRequest+Codable.swift in Sources */, + F538B157A4D76682C53A3AF556753DE1 /* URLResponseRepresentable.swift in Sources */, + 7A71540A9AF3647E82A40EA72B932E12 /* URLSessionConfiguration+Swizzling.swift in Sources */, + C74DC1BAE0791C4B8D52B40416B8BAA9 /* ViewControllerShakePresenter.swift in Sources */, + EFBBAAB32E4C3B688967E3E58B2C0752 /* WeakReference.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -983,15 +987,15 @@ D427CF9316A86219F850C39366097499 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Cauliframework; - target = 788C7D290CBD2BD952F6D3BDE95EC4E6 /* Cauliframework */; + target = 91F0DA3FF114AEC7C471EF5049236C12 /* Cauliframework */; targetProxy = 8346848C64348F9F3A9E3474358F2EBA /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 3968ADB58F591648C8C12E7175ABD983 /* Debug */ = { + 0B38150A8E8FCF873BE2B71072A20D86 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B29F459986252FD1695E9706E88E5A12 /* Cauliframework.xcconfig */; + baseConfigurationReference = 2D194BDE30E06336CC68FD0EB4B4FF9D /* Cauliframework.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1192,11 +1196,10 @@ }; name = Release; }; - DF6F9898383919748AE2FCE3A2AA737C /* Debug */ = { + D411DDAC619ACB6BDDBCB7EBBB3C6343 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 15E6CC9220321B05EDD0F54077D11DA6 /* Pods-cauli-ios-example.debug.xcconfig */; + baseConfigurationReference = 2D194BDE30E06336CC68FD0EB4B4FF9D /* Cauliframework.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1207,7 +1210,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-cauli-ios-example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Cauliframework/Cauliframework-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Cauliframework/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1215,25 +1219,25 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-cauli-ios-example/Pods-cauli-ios-example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/Cauliframework/Cauliframework.modulemap"; + PRODUCT_MODULE_NAME = Cauliframework; + PRODUCT_NAME = Cauliframework; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - FCE321630E40071D35AE0C72CDB690DA /* Release */ = { + DF6F9898383919748AE2FCE3A2AA737C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B29F459986252FD1695E9706E88E5A12 /* Cauliframework.xcconfig */; + baseConfigurationReference = 15E6CC9220321B05EDD0F54077D11DA6 /* Pods-cauli-ios-example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1244,8 +1248,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Cauliframework/Cauliframework-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Cauliframework/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-cauli-ios-example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1253,28 +1256,29 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MODULEMAP_FILE = "Target Support Files/Cauliframework/Cauliframework.modulemap"; - PRODUCT_MODULE_NAME = Cauliframework; - PRODUCT_NAME = Cauliframework; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-cauli-ios-example/Pods-cauli-ios-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.2; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3B5773A6B3FAA993CD38FC90F8792E33 /* Build configuration list for PBXNativeTarget "Cauliframework" */ = { + 0F76DBB002F0942D50D17C5E4C789420 /* Build configuration list for PBXNativeTarget "Cauliframework" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3968ADB58F591648C8C12E7175ABD983 /* Debug */, - FCE321630E40071D35AE0C72CDB690DA /* Release */, + 0B38150A8E8FCF873BE2B71072A20D86 /* Debug */, + D411DDAC619ACB6BDDBCB7EBBB3C6343 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/docs/guides/Frequently Asked Questions.md b/docs/guides/Frequently Asked Questions.md index f99e29c..9bf3a71 100644 --- a/docs/guides/Frequently Asked Questions.md +++ b/docs/guides/Frequently Asked Questions.md @@ -12,10 +12,10 @@ Currently only the `URLSession.default` and `URLSessions` initialised with the ` WKWebView runs out of process, meaning it is not using the URL loading system of your application and thus are not passing through the `URLProtocol`. In iOS 11 Apple added the [`setURLSchemeHandler:forURLScheme:`](https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/2875766-seturlschemehandler?language=objc) on the [WKWebViewConfiguration](https://developer.apple.com/documentation/webkit/wkwebviewconfiguration?language=objc) which can be used to intercept requests, but it is not possible to register a custom `WKURLSchemeHandler` for http or https schemes. There are [alternative solutions](https://github.com/wilddylan/WKWebViewWithURLProtocol/blob/master/WKWebViewWithURLProtocol/NSURLProtocol%2BWKWebViewSupport.m) which leverage private API, but Cauli should stay private API free. `SFSafariViewController` runs out of process as well and is sandboxed. There are no APIs to intercept requests. -## How can I modify Records before they are displayed in displayable florets, like the InspectorFloret? +## How can I modify Records before they are displayed in displaying florets, like the InspectorFloret? You may want to modify certain aspects of recorded requests or responses before they are displayed in the `Cauli` view controller. For example you have some confidential information in the request headers, like an API key or auth token that you don't want to expose. -Displayable florets fetch their data from a `Storage` before it is displayed. This gives you the opportunity to modify the data (a `Record`) before it is stored. You can use a `RecordModifier` for this, that is passed to your `Cauli` `Configuration` on init: +Displaying florets fetch their data from a `Storage` before it is displayed. This gives you the opportunity to modify the data (a `Record`) before it is stored. You can use a `RecordModifier` for this, that is passed to your `Cauli` `Configuration` on init: ```swift let recordModifier = RecordModifier(keyPath: \Record.designatedRequest) { designatedRequest -> (URLRequest) in @@ -35,4 +35,4 @@ let configuration = Configuration( let cauli = Cauli([ InspectorFloret() ], configuration: configuration) ``` -This will rewrite all request headers with the key "X-AUTH-NAME" to contain only asterisks, but only after the request was executed with the correct header. \ No newline at end of file +This will rewrite all request headers with the key "X-AUTH-NAME" to contain only asterisks, but only after the request was executed with the correct header. diff --git a/docs/guides/Writing Your Own Plugin.md b/docs/guides/Writing Your Own Plugin.md index 83d106d..3288fc7 100644 --- a/docs/guides/Writing Your Own Plugin.md +++ b/docs/guides/Writing Your Own Plugin.md @@ -1,30 +1,15 @@ # Writing your own Plugin -You can write your own plugin if you want to process requests before they get send or responses after they got received. +You can write your own plugin if you want to process requests before they get send, responses after they got received or if you want to provide an additional UI. -## Implementing the `Floret` protocol +## Before implementing your own Plugin -```swift -protocol Floret { - - /// The name of your floret so we can display it in a list. - var name: String? { get } - - // So we can show switches for the Florets in the Cauli UI. - // There is no need to act on this bool. If it is disabled, the - // `willRequest` and `didRespond` functions just aren't called anymore. - var enabled: Bool { get set } - - // Return a ViewController here if you want to or nil if you don't have any UI at all. - func viewController(_ cauli: Cauli) -> UIViewController? - - // These are the two functions that you can use to manipulate a request before it will be sent ... - func willRequest(_ record: Record) -> Record - // ... and the response after it is received. - func didRespond(_ record: Record) -> Record -} -``` +Before implementing your own idea, you have to decide which Floret base protocol suits you best. You can also implement multiple. + +**[InterceptingFloret]](https://cauli.works/docs/Protocols/InterceptingFloret.html):** This protocol let's you process requests and responses. +**[DisplayingFloret](https://cauli.works/docs/Protocols/DisplayingFloret.html):** This protocol let's you create a custom UIViewController for your floret. +**[Floret](https://cauli.works/docs/Protocols/Floret.html):** The Floret protocol is the base for the protocols described above. It should not be implemented directly, since there will be no effect. ## Accessing the storage -Cauli manages the storage of `Record`s. Every `Record` selected by the [RecordSelector](https://cauli.works/docs/Structs/RecordSelector.html) is stored in memory. When displaying your Florets ViewController you have access to the respective Cauli instance and thus to it's [Storage](https://cauli.works/docs/Protocols/Storage.html). \ No newline at end of file +Cauli manages the storage of `Record`s. Every `Record` selected by the [RecordSelector](https://cauli.works/docs/Structs/RecordSelector.html) is stored in memory. When displaying your [DisplayingFlorets](https://cauli.works/docs/Protocols/DisplayingFloret.html) ViewController you have access to the respective Cauli instance and thus to it's [Storage](https://cauli.works/docs/Protocols/Storage.html).