From 92c120bbafe1a0e3c12b8d59bc9903c0c747bf8e Mon Sep 17 00:00:00 2001 From: Yasha Mostofi Date: Fri, 17 Feb 2017 19:53:01 -0600 Subject: [PATCH] ROLE checking for adding a new Universally Tracked event --- .../UserInterfaceState.xcuserstate | Bin 25026 -> 33679 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 109 --- HackIllinois: QR/Base.lproj/Main.storyboard | 78 +- HackIllinois: QR/ScanViewController.swift | 22 +- HackIllinois: QR/ViewController.swift | 175 ++-- Podfile | 1 + Podfile.lock | 5 +- Pods/JWTDecode/JWTDecode/A0JWT.swift | 71 ++ Pods/JWTDecode/JWTDecode/Errors.swift | 47 + Pods/JWTDecode/JWTDecode/JWT.swift | 71 ++ Pods/JWTDecode/JWTDecode/JWTDecode.swift | 151 +++ Pods/JWTDecode/LICENSE.txt | 21 + Pods/JWTDecode/README.md | 159 ++++ Pods/Manifest.lock | 5 +- Pods/Pods.xcodeproj/project.pbxproj | 877 +++++++++++------- .../xcschemes/JWTDecode.xcscheme | 60 ++ .../xcschemes/Pods-HackIllinois: QR.xcscheme | 4 +- .../xcschemes/SwiftQRCode.xcscheme | 2 +- .../xcschemes/SwiftyJSON.xcscheme | 2 +- .../xcschemes/xcschememanagement.plist | 20 +- .../Target Support Files/JWTDecode/Info.plist | 26 + .../JWTDecode/JWTDecode-dummy.m | 5 + .../JWTDecode/JWTDecode-prefix.pch | 12 + .../JWTDecode/JWTDecode-umbrella.h | 16 + .../JWTDecode/JWTDecode.modulemap | 6 + .../JWTDecode/JWTDecode.xcconfig | 10 + ...HackIllinois: QR-acknowledgements.markdown | 25 + ...ds-HackIllinois: QR-acknowledgements.plist | 31 + .../Pods-HackIllinois: QR-frameworks.sh | 2 + .../Pods-HackIllinois: QR.debug.xcconfig | 6 +- .../Pods-HackIllinois: QR.release.xcconfig | 6 +- .../Pods-HackIllinois: QRTests.debug.xcconfig | 4 +- ...ods-HackIllinois: QRTests.release.xcconfig | 4 +- ...ods-HackIllinois: QRUITests.debug.xcconfig | 4 +- ...s-HackIllinois: QRUITests.release.xcconfig | 4 +- 35 files changed, 1431 insertions(+), 610 deletions(-) create mode 100644 Pods/JWTDecode/JWTDecode/A0JWT.swift create mode 100644 Pods/JWTDecode/JWTDecode/Errors.swift create mode 100644 Pods/JWTDecode/JWTDecode/JWT.swift create mode 100644 Pods/JWTDecode/JWTDecode/JWTDecode.swift create mode 100644 Pods/JWTDecode/LICENSE.txt create mode 100644 Pods/JWTDecode/README.md create mode 100644 Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/JWTDecode.xcscheme create mode 100644 Pods/Target Support Files/JWTDecode/Info.plist create mode 100644 Pods/Target Support Files/JWTDecode/JWTDecode-dummy.m create mode 100644 Pods/Target Support Files/JWTDecode/JWTDecode-prefix.pch create mode 100644 Pods/Target Support Files/JWTDecode/JWTDecode-umbrella.h create mode 100644 Pods/Target Support Files/JWTDecode/JWTDecode.modulemap create mode 100644 Pods/Target Support Files/JWTDecode/JWTDecode.xcconfig diff --git a/HackIllinois: QR.xcworkspace/xcuserdata/ymostofi.xcuserdatad/UserInterfaceState.xcuserstate b/HackIllinois: QR.xcworkspace/xcuserdata/ymostofi.xcuserdatad/UserInterfaceState.xcuserstate index e12cd705d4e518db894e0360d2b13c05b58b93d0..a0f49a6eeac9d6cc9cda296c06b015f146f90ef7 100644 GIT binary patch literal 33679 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 F{{zoBIOqTX delta 13615 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 diff --git a/HackIllinois: QR.xcworkspace/xcuserdata/ymostofi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/HackIllinois: QR.xcworkspace/xcuserdata/ymostofi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 21171d5..ed9a9b4 100644 --- a/HackIllinois: QR.xcworkspace/xcuserdata/ymostofi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/HackIllinois: QR.xcworkspace/xcuserdata/ymostofi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -2,113 +2,4 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/HackIllinois: QR/Base.lproj/Main.storyboard b/HackIllinois: QR/Base.lproj/Main.storyboard index 78926ff..2be17f7 100644 --- a/HackIllinois: QR/Base.lproj/Main.storyboard +++ b/HackIllinois: QR/Base.lproj/Main.storyboard @@ -1,16 +1,31 @@ - + - + + + + + + + + + + + + + + + + @@ -23,20 +38,20 @@ - - + + - + - - + + - + - - - - - - - - - + - - + @@ -90,27 +97,32 @@ - - - - - - - + - - + + + + + + + - + - - - diff --git a/HackIllinois: QR/ScanViewController.swift b/HackIllinois: QR/ScanViewController.swift index f78c1de..146c92f 100644 --- a/HackIllinois: QR/ScanViewController.swift +++ b/HackIllinois: QR/ScanViewController.swift @@ -12,10 +12,13 @@ import SwiftQRCode import Alamofire import Foundation -class ScanViewController: UIViewController { +class ScanViewController: BaseViewController { let scanner = QRCode() - var login_session:String = "" - + + @IBOutlet var add_event: UIButton! + @IBAction func addEventButton(_ sender: Any) { + print("button clicked") + } override func viewDidLoad() { super.viewDidLoad() print("other view loaded") @@ -23,17 +26,22 @@ class ScanViewController: UIViewController { if preferences.object(forKey: "session") != nil { self.login_session = preferences.object(forKey: "session") as! String } + print(self.check_permissions(key: self.login_session)) + if self.check_permissions(key: self.login_session) == "ADMIN" { + self.add_event.isHidden = false + self.add_event.isEnabled = true + } + else { + self.add_event.isHidden = true + self.add_event.isEnabled = false + } scanner.prepareScan(view) { (stringValue) -> () in print(stringValue) self.scanner.stopScan() print(self.login_session) - let headers: HTTPHeaders = [ "Authorization": self.login_session ] -// Alamofire.request("https://api.hackillinois.org/v1/tracking/"+stringValue, headers: headers).responseJSON { response in -// print(response) -// } Alamofire.request("https://api.hackillinois.org/v1/tracking/"+stringValue, headers: headers).validate().responseJSON { response in var message:String = "" diff --git a/HackIllinois: QR/ViewController.swift b/HackIllinois: QR/ViewController.swift index f5e0fbb..ab2ce31 100644 --- a/HackIllinois: QR/ViewController.swift +++ b/HackIllinois: QR/ViewController.swift @@ -12,56 +12,78 @@ import SwiftQRCode import Alamofire import Foundation import SwiftyJSON +import JWTDecode -class ViewController: UIViewController { + +class BaseViewController: UIViewController { + var login_session = "" + + func check_permissions(key: String) -> String { + let jwt: JWT = try! decode(jwt: key) + let json = JSON(jwt.body) + let role = json["roles"][0]["role"].rawString() + if (role == "STAFF" || role == "VOLUNTEER") { + return "SCAN" + } + else if (role == "ADMIN") + { + return "ADMIN" + } + else { + return "NONE" + } + } + + func displayAlert(title: String, message: String) { + let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) + let okayAction = UIAlertAction(title: "Okay", style: .default) + alert.addAction(okayAction) + DispatchQueue.main.async { [weak self] in + self?.present(alert, animated: true) { + } + } + } +} + +class ViewController: BaseViewController { @IBOutlet var email_input: UITextField! @IBOutlet var password_input: UITextField! @IBOutlet var login_button: UIButton! @IBAction func DoLogin(_ sender: AnyObject) { logIn(email:email_input.text!, password: password_input.text!) } - let login_url = "https://api.hackillinois.org/v1/auth" - let checksession_url = "https://api.hackillinois.org/v1/auth/reset" - var login_session:String = "" override func viewDidLoad() { super.viewDidLoad() print("view loaded") - - /* - scanner.prepareScan(view) { (stringValue) -> () in - print(stringValue) - self.scanner.stopScan() - let alert = UIAlertController(title: "data", message: stringValue, preferredStyle: .alert) - let okayAction = UIAlertAction(title: "okay", style: .default) { [weak self] (_) in - self?.scanner.startScan() - } - alert.addAction(okayAction) - DispatchQueue.main.async { [weak self] in - self?.present(alert, animated: true) { - } - } - } - scanner.scanFrame = view.bounds - */ + let nav = self.navigationController?.navigationBar + nav?.barStyle = UIBarStyle.black + let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40)) + imageView.contentMode = .scaleAspectFit + let image = UIImage(named: "hackillinois") + imageView.image = image + navigationItem.titleView = imageView + email_input.text = "yasha.mostofi+vol@gmail.com" + password_input.text = "qqqqqqqq" - /* - // Uncomment to save auth key between app opens - let preferences = UserDefaults.standard - if preferences.object(forKey: "session") != nil - { - login_session = preferences.object(forKey: "session") as! String - check_session(key: login_session) - scanner.startScan() - } - */ + // TODO: make it so you don't have to click the log in each time } func logIn(email: String, password: String) { - let preferences = UserDefaults.standard - if preferences.object(forKey: "session") != nil - { - login_session = preferences.object(forKey: "session") as! String + if email == "" && password == "" { + let preferences = UserDefaults.standard + if preferences.object(forKey: "session") != nil + { + login_session = preferences.object(forKey: "session") as! String + check_session(key: login_session) + let role = check_permissions(key: login_session) + if (role == "SCAN" || role == "ADMIN") { + performSegue(withIdentifier: "ShowScanner", sender: self) + } + else { + displayAlert(title: "Error!", message: "Permissions error. Please contact HackIllinois Staff") + } + } } else { let parameters: Parameters = [ @@ -70,31 +92,39 @@ class ViewController: UIViewController { ] Alamofire.request("https://api.hackillinois.org/v1/auth", method: .post, parameters: parameters, - encoding: JSONEncoding.default).responseJSON { [weak self] response in - if let json = response.result.value { - if let jsonDict = json as? [String: Any] { - if let dataVal = jsonDict["data"] as? [String: Any] { - if let authKey = dataVal["auth"] as? String { - self?.login_session = authKey - let preferences = UserDefaults.standard - preferences.set(authKey, forKey: "session") + encoding: JSONEncoding.default).validate().responseJSON { [weak self] response in + var goodPassword:Bool = false + switch response.result { + case .success: + goodPassword = true + case .failure: + goodPassword = false + } + if goodPassword { + if let json = response.result.value { + if let jsonDict = json as? [String: Any] { + if let dataVal = jsonDict["data"] as? [String: Any] { + if let authKey = dataVal["auth"] as? String { + self?.login_session = authKey + let preferences = UserDefaults.standard + preferences.set(authKey, forKey: "session") + if let strongSelf = self{ + strongSelf.check_session(key: strongSelf.login_session) + let role = strongSelf.check_permissions(key: strongSelf.login_session) + if (role == "ADMIN" || role == "SCAN") { + strongSelf.performSegue(withIdentifier: "ShowScanner", sender: self) + } + else { + strongSelf.displayAlert(title: "Error!", message: "Permissions error. Please contact HackIllinois Staff") + } + } + } } } } } - } - } - check_session(key: login_session) - let role = check_permissions(key: login_session) - if (role == "SCAN" || role == "ALL") { - performSegue(withIdentifier: "ShowScanner", sender: self) - } - else { - let alert = UIAlertController(title: "Error", message: "Permissions error", preferredStyle: .alert) - let okayAction = UIAlertAction(title: "Okay", style: .default) - alert.addAction(okayAction) - DispatchQueue.main.async { [weak self] in - self?.present(alert, animated: true) { + else { + self?.displayAlert(title: "Error!", message: "Password is incorrect") } } } @@ -121,36 +151,5 @@ class ViewController: UIViewController { } } - func check_permissions(key: String) -> String { - if let data = Data(base64Encoded: key.components(separatedBy: ".")[1]) { - let json = JSON(data) - // if voluteer, staff, or admin, they can scan - // if admin, they can also create events - let role = json["roles"].arrayValue[0]["role"].stringValue - if (role == "STAFF" || role == "VOLUNTEER") { - return "SCAN" - } - else if (role == "ADMIN") - { - return "ALL" - } - else { - return "NONE" - } - } - else { - return "NONE" - } - } - - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } -} + } diff --git a/Podfile b/Podfile index aa286d1..8155b48 100644 --- a/Podfile +++ b/Podfile @@ -8,6 +8,7 @@ target 'HackIllinois: QR' do pod 'SwiftQRCode' pod 'Alamofire' pod 'SwiftyJSON' + pod 'JWTDecode' # Pods for HackIllinois: QR target 'HackIllinois: QRTests' do diff --git a/Podfile.lock b/Podfile.lock index 6725859..2570365 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,18 +1,21 @@ PODS: - Alamofire (4.3.0) + - JWTDecode (2.0.0) - SwiftQRCode (3.0.2) - SwiftyJSON (3.1.4) DEPENDENCIES: - Alamofire + - JWTDecode - SwiftQRCode - SwiftyJSON SPEC CHECKSUMS: Alamofire: 856a113053a7bc9cbe5d6367a555d773fc5cfef7 + JWTDecode: 178e47e5d28d3abcff778bacced8342858cd6cb5 SwiftQRCode: 280589699d84195c2c573011aa52f2c015c31c34 SwiftyJSON: c2842d878f95482ffceec5709abc3d05680c0220 -PODFILE CHECKSUM: 87c148bddd69768669c938e766f45d5299b6e25a +PODFILE CHECKSUM: 4b38a253e7b18d8220515bda3d7b2dfcc4c59895 COCOAPODS: 1.2.0 diff --git a/Pods/JWTDecode/JWTDecode/A0JWT.swift b/Pods/JWTDecode/JWTDecode/A0JWT.swift new file mode 100644 index 0000000..39e4027 --- /dev/null +++ b/Pods/JWTDecode/JWTDecode/A0JWT.swift @@ -0,0 +1,71 @@ +// A0JWT.swift +// +// Copyright (c) 2015 Auth0 (http://auth0.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +/// Decodes a JWT +@objc(A0JWT) +public class _JWT: NSObject { + + var jwt: JWT + + init(jwt: JWT) { + self.jwt = jwt + } + + /// token header part + public var header: [String: Any] { + return self.jwt.header + } + + /// token body part or claims + public var body: [String: Any] { + return self.jwt.body + } + + /// token signature part + public var signature: String? { + return self.jwt.signature + } + + /// value of the `exp` claim + public var expiresAt: Date? { + return self.jwt.expiresAt as Date? + } + + /// value of the `expired` field + public var expired: Bool { + return self.jwt.expired + } + + /** + Creates a new instance of `A0JWT` and decodes the given jwt token. + + :param: jwtValue of the token to decode + + :returns: a new instance of `A0JWT` that holds the decode token + */ + public class func decode(jwt jwtValue: String) throws -> _JWT { + let jwt = try DecodedJWT(jwt: jwtValue) + return _JWT(jwt: jwt) + } +} diff --git a/Pods/JWTDecode/JWTDecode/Errors.swift b/Pods/JWTDecode/JWTDecode/Errors.swift new file mode 100644 index 0000000..b54554b --- /dev/null +++ b/Pods/JWTDecode/JWTDecode/Errors.swift @@ -0,0 +1,47 @@ +// Errors.swift +// +// Copyright (c) 2015 Auth0 (http://auth0.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +/** +JWT decode error codes + +- InvalidBase64UrlValue: when either the header or body parts cannot be base64 decoded +- InvalidJSONValue: when either the header or body decoded values is not a valid JSON object +- InvalidPartCount: when the token doesnt have the required amount of parts (header, body and signature) +*/ +public enum DecodeError: LocalizedError { + case invalidBase64Url(String) + case invalidJSON(String) + case invalidPartCount(String, Int) + + public var localizedDescription: String { + switch self { + case .invalidJSON(let value): + return NSLocalizedString("Malformed jwt token, failed to parse JSON value from base64Url \(value)", comment: "Invalid JSON value inside base64Url") + case .invalidPartCount(let jwt, let parts): + return NSLocalizedString("Malformed jwt token \(jwt) has \(parts) parts when it should have 3 parts", comment: "Invalid amount of jwt parts") + case .invalidBase64Url(let value): + return NSLocalizedString("Malformed jwt token, failed to decode base64Url value \(value)", comment: "Invalid JWT token base64Url value") + } + } +} diff --git a/Pods/JWTDecode/JWTDecode/JWT.swift b/Pods/JWTDecode/JWTDecode/JWT.swift new file mode 100644 index 0000000..3a056ba --- /dev/null +++ b/Pods/JWTDecode/JWTDecode/JWT.swift @@ -0,0 +1,71 @@ +// JWT.swift +// +// Copyright (c) 2015 Auth0 (http://auth0.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +/** +* Protocol that defines what a decoded JWT token should be. +*/ +public protocol JWT { + /// token header part contents + var header: [String: Any] { get } + /// token body part values or token claims + var body: [String: Any] { get } + /// token signature part + var signature: String? { get } + /// jwt string value + var string: String { get } + + + /// value of `exp` claim if available + var expiresAt: Date? { get } + /// value of `iss` claim if available + var issuer: String? { get } + /// value of `sub` claim if available + var subject: String? { get } + /// value of `aud` claim if available + var audience: [String]? { get } + /// value of `iat` claim if available + var issuedAt: Date? { get } + /// value of `nbf` claim if available + var notBefore: Date? { get } + /// value of `jti` claim if available + var identifier: String? { get } + + /// Checks if the token is currently expired using the `exp` claim. If there is no claim present it will deem the token not expired + var expired: Bool { get } +} + +public extension JWT { + + /** + Return a claim by it's name + + - parameter name: name of the claim in the JWT + + - returns: a claim of the JWT + */ + public func claim(name: String) -> Claim { + let value = self.body[name] + return Claim(value: value) + } +} diff --git a/Pods/JWTDecode/JWTDecode/JWTDecode.swift b/Pods/JWTDecode/JWTDecode/JWTDecode.swift new file mode 100644 index 0000000..e3c5154 --- /dev/null +++ b/Pods/JWTDecode/JWTDecode/JWTDecode.swift @@ -0,0 +1,151 @@ +// JWTDecode.swift +// +// Copyright (c) 2015 Auth0 (http://auth0.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +/** + Decodes a JWT token into an object that holds the decoded body (along with token header and signature parts). + If the token cannot be decoded a `NSError` will be thrown. + + - parameter jwt: jwt string value to decode + + - throws: an error if the JWT cannot be decoded + + - returns: a decoded token as an instance of JWT + */ +public func decode(jwt: String) throws -> JWT { + return try DecodedJWT(jwt: jwt) +} + +struct DecodedJWT: JWT { + + let header: [String: Any] + let body: [String: Any] + let signature: String? + let string: String + + init(jwt: String) throws { + let parts = jwt.components(separatedBy: ".") + guard parts.count == 3 else { + throw DecodeError.invalidPartCount(jwt, parts.count) + } + + self.header = try decodeJWTPart(parts[0]) + self.body = try decodeJWTPart(parts[1]) + self.signature = parts[2] + self.string = jwt + } + + var expiresAt: Date? { return claim(name: "exp").date } + var issuer: String? { return claim(name: "iss").string } + var subject: String? { return claim(name: "sub").string } + var audience: [String]? { return claim(name: "aud").array } + var issuedAt: Date? { return claim(name: "iat").date } + var notBefore: Date? { return claim(name: "nbf").date } + var identifier: String? { return claim(name: "jti").string } + + var expired: Bool { + guard let date = self.expiresAt else { + return false + } + return date.compare(Date()) != ComparisonResult.orderedDescending + } +} + +/** + * JWT Claim + */ +public struct Claim { + + /// raw value of the claim + let value: Any? + + /// value of the claim as `String` + public var string: String? { + return self.value as? String + } + + /// value of the claim as `Double` + public var double: Double? { + let double: Double? + if let string = self.string { + double = Double(string) + } else { + double = self.value as? Double + } + return double + } + + /// value of the claim as `Int` + public var integer: Int? { + let integer: Int? + if let string = self.string { + integer = Int(string) + } else { + integer = self.value as? Int + } + return integer + } + + /// value of the claim as `NSDate` + public var date: Date? { + guard let timestamp:TimeInterval = self.double else { return nil } + return Date(timeIntervalSince1970: timestamp) + } + + /// value of the claim as `[String]` + public var array: [String]? { + if let array = value as? [String] { + return array + } + if let value = self.string { + return [value] + } + return nil + } +} + +private func base64UrlDecode(_ value: String) -> Data? { + var base64 = value + .replacingOccurrences(of: "-", with: "+") + .replacingOccurrences(of: "_", with: "/") + let length = Double(base64.lengthOfBytes(using: String.Encoding.utf8)) + let requiredLength = 4 * ceil(length / 4.0) + let paddingLength = requiredLength - length + if paddingLength > 0 { + let padding = "".padding(toLength: Int(paddingLength), withPad: "=", startingAt: 0) + base64 = base64 + padding + } + return Data(base64Encoded: base64, options: .ignoreUnknownCharacters) +} + +private func decodeJWTPart(_ value: String) throws -> [String: Any] { + guard let bodyData = base64UrlDecode(value) else { + throw DecodeError.invalidBase64Url(value) + } + + guard let json = try? JSONSerialization.jsonObject(with: bodyData, options: []), let payload = json as? [String: Any] else { + throw DecodeError.invalidJSON(value) + } + + return payload +} diff --git a/Pods/JWTDecode/LICENSE.txt b/Pods/JWTDecode/LICENSE.txt new file mode 100644 index 0000000..fa9bc72 --- /dev/null +++ b/Pods/JWTDecode/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Auth0, Inc. (http://auth0.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Pods/JWTDecode/README.md b/Pods/JWTDecode/README.md new file mode 100644 index 0000000..de165e1 --- /dev/null +++ b/Pods/JWTDecode/README.md @@ -0,0 +1,159 @@ +# JWTDecode.swift + +[![CI Status](http://img.shields.io/travis/auth0/JWTDecode.swift.svg?style=flat-square)](https://travis-ci.org/auth0/JWTDecode.swift) +[![Coverage Status](https://img.shields.io/codecov/c/github/auth0/JWTDecode.swift/master.svg?style=flat-square)](https://codecov.io/github/auth0/JWTDecode.swift) +[![Version](https://img.shields.io/cocoapods/v/JWTDecode.svg?style=flat-square)](http://cocoadocs.org/docsets/JWTDecode) +[![License](https://img.shields.io/cocoapods/l/JWTDecode.svg?style=flat-square)](http://cocoadocs.org/docsets/JWTDecode) +[![Platform](https://img.shields.io/cocoapods/p/JWTDecode.svg?style=flat-square)](http://cocoadocs.org/docsets/JWTDecode) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat-square)](https://github.com/Carthage/Carthage) +![Swift 3.0.x](https://img.shields.io/badge/Swift-3.0.x-orange.svg) + +This library will help you check [JWT](http://jwt.io/) payload + +> This library doesn't validate the token, any well formed JWT can be decoded from Base64Url. + +## Requirements + +iOS 8+ and Xcode 8 (for Swift 3.0). + +## Installation + +###CocoaPods + +JWTDecode is available through [CocoaPods](http://cocoapods.org). To install +it, simply add the following line to your Podfile: + +```ruby +pod "JWTDecode" +``` + +###Carthage + +In your Cartfile add this line + +``` +github "auth0/JWTDecode.swift" +``` + +###Manual installation + +Download `JWTDecode.framework` from Releases and add it to your project in Xcode. + + +##Usage + +Just import the framework + +```swift +import JWTDecode +``` + +and decode the token + +```swift +let jwt = try decode(jwt: token) +``` + +### JWT parts + +####Header dictionary +```swift +jwt.header +``` + +####Claims in token body +```swift +jwt.body +``` + +####Token signature +```swift +jwt.signature +``` + +### Registered Claims + +* "aud" (Audience) +```swift +jwt.audience +``` +* "sub" (Subject) +```swift +jwt.subject +``` +* "jti" (JWT ID) +```swift +jwt.identifier +``` +* "iss" (Issuer) +```swift +jwt.issuer +``` +* "nbf" (Not Before) +```swift +jwt.notBefore +``` +* "iat" (Issued At) +```swift +jwt.issuedAt +``` +* "exp" (Expiration Time) +```swift +jwt.expiresAt +``` + +### Custom Claims +If we also have our custom claims we can retrive them calling `claim(name: String) -> Claim` then you can try converting the value like + +```swift +let claim = jwt.claim(name: "email") +if let email = claim.string { + print("Email in jwt was \(email)") +} +``` + +The supported conversions are: + +```swift +var string: String? +var integer: Int? +var double: Double? +var date: NSDate? +var array: [String]? +``` + +### Error Handling +If the token is invalid an `NSError` will be thrown from the `decode(token)` function. +```swift +catch let error as NSError { + error.localizedDescription +} +``` + +## What is Auth0? + +Auth0 helps you to: + +* Add authentication with [multiple authentication sources](https://docs.auth0.com/identityproviders), either social like **Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce, amont others**, or enterprise identity systems like **Windows Azure AD, Google Apps, Active Directory, ADFS or any SAML Identity Provider**. +* Add authentication through more traditional **[username/password databases](https://docs.auth0.com/mysql-connection-tutorial)**. +* Add support for **[linking different user accounts](https://docs.auth0.com/link-accounts)** with the same user. +* Support for generating signed [Json Web Tokens](https://docs.auth0.com/jwt) to call your APIs and **flow the user identity** securely. +* Analytics of how, when and where users are logging in. +* Pull data from other sources and add it to the user profile, through [JavaScript rules](https://docs.auth0.com/rules). + +## Create a free Auth0 Account + +1. Go to [Auth0](https://auth0.com) and click Sign Up. +2. Use Google, GitHub or Microsoft Account to login. + +## Issue Reporting + +If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues. + +## Author + +[Auth0](auth0.com) + +## License + +This project is licensed under the MIT license. See the [LICENSE](LICENSE.txt) file for more info. diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 6725859..2570365 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -1,18 +1,21 @@ PODS: - Alamofire (4.3.0) + - JWTDecode (2.0.0) - SwiftQRCode (3.0.2) - SwiftyJSON (3.1.4) DEPENDENCIES: - Alamofire + - JWTDecode - SwiftQRCode - SwiftyJSON SPEC CHECKSUMS: Alamofire: 856a113053a7bc9cbe5d6367a555d773fc5cfef7 + JWTDecode: 178e47e5d28d3abcff778bacced8342858cd6cb5 SwiftQRCode: 280589699d84195c2c573011aa52f2c015c31c34 SwiftyJSON: c2842d878f95482ffceec5709abc3d05680c0220 -PODFILE CHECKSUM: 87c148bddd69768669c938e766f45d5299b6e25a +PODFILE CHECKSUM: 4b38a253e7b18d8220515bda3d7b2dfcc4c59895 COCOAPODS: 1.2.0 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 8216828..55a8151 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,234 +7,272 @@ objects = { /* Begin PBXBuildFile section */ - 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA78706E7FCB4F7012E57CF7C72D6C0 /* Timeline.swift */; }; - 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 36141CEE5CE0895C2E295E95F035CAE6 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 20DAE5EF6E1A44F52AB370C9FE8BA67E /* SwiftQRCode-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1046798DC10899A1D5B29B276D7A5897 /* SwiftQRCode-dummy.m */; }; + 0813953015CB65A236D810DD22EFF95A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ADC68AC38365B260269E60555B42BE2 /* Timeline.swift */; }; + 130718A338519E40FB89378977302E95 /* SwiftQRCode-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 91974B9C5A75E2C5A9A8AA26AF6D895D /* SwiftQRCode-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 179ACEFE6E8B6B31C178C315DE47FA9F /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E1C1360C19F96C22A1FFFADE793F618 /* SwiftyJSON.swift */; }; + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D4348C92E8B9FF06BC1A88FDD0A743C4 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 237C8AA627FA81A164BDCF0A3D0EFB41 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; - 25D20C597C8B604B86025B0CF1C8ADBE /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB22ADC87CA3E02355DDE222DFCAB12A /* AVFoundation.framework */; }; - 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A873D2C8D0CBD17C6316411060E6A7D7 /* TaskDelegate.swift */; }; - 38A0D032A8A202C61ADE9D165EF8CE71 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; - 391A276338840C685263C89EF74CE020 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; - 4C1BBEDD34B132C1DF298394BB344D25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; - 4CFBA32645CF5ADB1C98815FFFC7A878 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07ACDD48EDBA099A2FEAD4950871AE5 /* SwiftyJSON.swift */; }; - 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2C01407051BDDE221A3641A297667C0 /* Request.swift */; }; - 5AF3F86540AA93602FDFFC9C7B2BC76B /* QRCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD955FC7C9B090B1AE673D8C245F0223 /* QRCode.swift */; }; - 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 489DB931DC7B69FE48BD1AE2799AC41B /* DispatchQueue+Alamofire.swift */; }; - 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DABAFA70ED17CBD90300D04A245AE58 /* ServerTrustPolicy.swift */; }; - 710F35ADF9BEF26A2703FFAC08E8B509 /* SwiftQRCode-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FFF5B8EA88A26A395259DE14279620E /* SwiftQRCode-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC9202C41A332AEC3C4FAF6ACA9165B /* SessionDelegate.swift */; }; - 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99894229C21E792F00B61E32D07BB51 /* Result.swift */; }; + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4477C90C5616329CC5B9E1C08657A8B8 /* TaskDelegate.swift */; }; + 48A4ECBA4481DC5062C986CE6AAED486 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 370E9FB421E3D221878A599780441E80 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5906A055FD3BDB14ACB011B655E3C8C0 /* Request.swift */; }; + 53A723A8D6487C3B45E00E5F822A7723 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB22ADC87CA3E02355DDE222DFCAB12A /* AVFoundation.framework */; }; + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1238C481A4AF81D4F0881425F00CD5CA /* DispatchQueue+Alamofire.swift */; }; + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8203D806182C01C6BF5A3EB349269998 /* ServerTrustPolicy.swift */; }; + 77D9C0FCE913E6EFBB00A10012C8AD4D /* QRCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = E850DA9C06700C2C7A6579A243CFDFCF /* QRCode.swift */; }; + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CCF1E543713643D89AD90CE30CF4C18 /* SessionDelegate.swift */; }; + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E892EF4103DBDA990615A3DA8DDD07C /* Result.swift */; }; + 83BF169B13EBB7862AD02B7EF1661924 /* SwiftQRCode-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 551181CADA270A455A3959937C69C7D0 /* SwiftQRCode-dummy.m */; }; 938CC3F1215F0742F3D212482B48A9E0 /* Pods-HackIllinois: QRTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AF7D5D1EFBEDD28C63428092DBF530C2 /* Pods-HackIllinois: QRTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDE786652E023117FE8449A3E2546F85 /* AFError.swift */; }; + 98022D1600D56CC5017A3BAC58E7778A /* JWTDecode-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 98C89A6083C0D4C267A578990C20C84A /* JWTDecode-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F0F4601A7355D8A2C3A808C64028796 /* AFError.swift */; }; A04BFC558D69E7DBB68023C80A9CFE4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; - A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF65B205CAF87FD249042CCA9714354E /* NetworkReachabilityManager.swift */; }; - A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EB59672D6805EAA17BC65207B124BCEF /* Alamofire-dummy.m */; }; + A0A2444C3AEF16B2A79A5BF7C55F7FB6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B89D24517A6C77B54BF1821C25BAC5 /* NetworkReachabilityManager.swift */; }; + A2E1144E17A7623D02701970C328D53A /* Pods-HackIllinois: QR-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7334D034E2CB15546267815553C0EF5D /* Pods-HackIllinois: QR-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9446745193904C17AA24F0E27598332 /* JWTDecode-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 01648E9CB3E4DB48EEE709A0F893D1C7 /* JWTDecode-dummy.m */; }; + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EF5D2484956ABAE1A57486F44BDF53A /* Alamofire-dummy.m */; }; AB3BA66EDE9BA0B982311EE5E836D127 /* Pods-HackIllinois: QRUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F262E10F790F57CCCB772D4D8C6504F3 /* Pods-HackIllinois: QRUITests-dummy.m */; }; - AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86D19CE4A9AEA92D3B62D98365ED3882 /* SessionManager.swift */; }; - B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1617B4398C835654CC33FCDD5964230 /* MultipartFormData.swift */; }; - BA1ABBEA2F693A58B154F51436B218F7 /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 750B8C3C8AC7A007954C14969EEDC814 /* SwiftyJSON-dummy.m */; }; - BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D59BF3A694BE81D5CAB094D84461FC87 /* Validation.swift */; }; - BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE089B3CF181037E5F8F4D653BE2DBD2 /* ParameterEncoding.swift */; }; - CA3C054A55C1C3DA7DBFE8D6398CBBFA /* Pods-HackIllinois: QR-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7334D034E2CB15546267815553C0EF5D /* Pods-HackIllinois: QR-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E426F76A55F50D3FD4C5B4A804E35EB /* Response.swift */; }; + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A08987369B8285C14143BBE892700D03 /* SessionManager.swift */; }; + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75CF5872A459D8997459737FD81C37BA /* MultipartFormData.swift */; }; + BB0C4091495DC0E0B801A20E59A7710F /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F514C112E109A53150B95F60DFE9365 /* SwiftyJSON-dummy.m */; }; + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0600AF68C9471BD6FAC588ECBC06B6A9 /* Validation.swift */; }; + BE57859225766723020A35A75D883E02 /* Pods-HackIllinois: QR-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AF95E178DC84F164B08F6D72ECB8C3AC /* Pods-HackIllinois: QR-dummy.m */; }; + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E42CBB9973E65BDD84D1A0D2F374B40E /* ParameterEncoding.swift */; }; + C9B0FF5A0106E352E3EC3854BDD36A93 /* JWT.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1631910C249562FE4374ED73827F480 /* JWT.swift */; }; + CA79CBF22E3ABF544E73107CB3FB7460 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59760BFDDF808999C5CF609D665A80BF /* Errors.swift */; }; + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA116F88044FFF4500C57A875058266 /* Response.swift */; }; + D0E2F0F2ADD84482502AA3C8753D925D /* JWTDecode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21F9F657E1869E178957DD2755C7F8E7 /* JWTDecode.swift */; }; DEA797809FE4499CEDF75E797A2CBF9C /* Pods-HackIllinois: QRTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 269820D758E5289F651E68880C586499 /* Pods-HackIllinois: QRTests-dummy.m */; }; - E5356886E0B7ADFD071FDE1A44387D74 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 838CFBB7D1E1CDBDD19B77023CF8C391 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E717D878ADBE4E7742A863BD399E0030 /* Pods-HackIllinois: QR-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AF95E178DC84F164B08F6D72ECB8C3AC /* Pods-HackIllinois: QR-dummy.m */; }; - EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DEE6EF915FDED3FE7666BD1979EC8DE /* Notifications.swift */; }; + E590DB1916907E26F0D8AC8B69704DE1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; + ED56A7B3B4F8C8EAA7667F81D2D0A04A /* A0JWT.swift in Sources */ = {isa = PBXBuildFile; fileRef = F750F680BCF59B5710AA811F49C0780B /* A0JWT.swift */; }; + EE8C0E9D2D7CB770841FCA52CABC9195 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 668A5FB35234BB4187124A3B9AA37928 /* Notifications.swift */; }; F4F5A33CC2D5C340C8D269119685EBA6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0759DC1B13822C138340851ED75017AC /* Foundation.framework */; }; - F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 198BD6C79226F8BF0BB8AFF8880F087A /* ResponseSerialization.swift */; }; - F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D42549C94874D315D7D79A3C23FAF0AD /* Alamofire.swift */; }; + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44A2FAA3A2DA0FC4EFB286A4B543DE0A /* ResponseSerialization.swift */; }; + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 231BE3DDBAE486A4AFD2C5D722DFDA38 /* Alamofire.swift */; }; F9226B7006F4FC84EC8DDDD5531601C3 /* Pods-HackIllinois: QRUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C25BBBD9AFAFA253A25F1704018F659B /* Pods-HackIllinois: QRUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 32B23FC3D7D18E66DD1947E3C0798D46 /* PBXContainerItemProxy */ = { + 0FA63D7032CE4226647FBD3861CAEEE2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 05DCFCB7CB4AB98C7C524B823F58DB02; - remoteInfo = SwiftQRCode; + remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; + remoteInfo = Alamofire; }; - 85C7C65B2DA3816C035A84BA97C74C8C /* PBXContainerItemProxy */ = { + D3ADDB16173F0373EF18B9DFFEDA2E2E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; - remoteInfo = Alamofire; + remoteGlobalIDString = 1E4709768EC3FCE3D3E59EE817CAD0C0; + remoteInfo = SwiftyJSON; }; - 9C7FC14377D97B193BD281976EFEB765 /* PBXContainerItemProxy */ = { + E0873EB3D85678D7A6624C593DF42780 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 6D8BFBA154D42FE04414B6FF924CAB3F; - remoteInfo = SwiftyJSON; + remoteGlobalIDString = 734E126F2A1BB2F7F1ACCF523A9A8351; + remoteInfo = JWTDecode; + }; + E4ED0816DBE89108C0FC102A5A8953D6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 931D511373E47C22C4D1F3B3503D7A94; + remoteInfo = SwiftQRCode; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 071081EB8544487C8F90D678D562AE31 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + 01648E9CB3E4DB48EEE709A0F893D1C7 /* JWTDecode-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JWTDecode-dummy.m"; sourceTree = ""; }; + 046D8587C44CC7499DFE51C20087544A /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = ""; }; + 0600AF68C9471BD6FAC588ECBC06B6A9 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; 0759DC1B13822C138340851ED75017AC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 1046798DC10899A1D5B29B276D7A5897 /* SwiftQRCode-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftQRCode-dummy.m"; sourceTree = ""; }; - 148622E11F6ED99CFE516088F884FDF1 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 077B1DA3648D411855A2FA24861D467B /* JWTDecode.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = JWTDecode.modulemap; sourceTree = ""; }; + 1238C481A4AF81D4F0881425F00CD5CA /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 131BC1FB1AD213605E50C12298EEA8F0 /* SwiftQRCode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftQRCode.framework; path = SwiftQRCode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 141D75FB56DA0AD3906CCA82F73E55C9 /* SwiftQRCode-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftQRCode-prefix.pch"; sourceTree = ""; }; 17C2DE82F02E3C431E8E0C81532559B3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 198BD6C79226F8BF0BB8AFF8880F087A /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 1A8A320483BED6BC86C3F161AD8AC5D5 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1CCF1E543713643D89AD90CE30CF4C18 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; 1E915BC9AC31457D94215425BD24466C /* Pods-HackIllinois: QR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-HackIllinois: QR.release.xcconfig"; sourceTree = ""; }; + 1F514C112E109A53150B95F60DFE9365 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; + 21F9F657E1869E178957DD2755C7F8E7 /* JWTDecode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JWTDecode.swift; path = JWTDecode/JWTDecode.swift; sourceTree = ""; }; + 231BE3DDBAE486A4AFD2C5D722DFDA38 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; 269820D758E5289F651E68880C586499 /* Pods-HackIllinois: QRTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-HackIllinois: QRTests-dummy.m"; sourceTree = ""; }; - 2D436B048B334AE57EAFAC961AE7158C /* SwiftQRCode.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftQRCode.xcconfig; sourceTree = ""; }; + 2D654C496E1257EF7AE001C4B7F30B99 /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; 33BAB01C083A8B7AC81927FE4A90E22A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 36141CEE5CE0895C2E295E95F035CAE6 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; 36BFEFBC6BDCE28AD9BCDC5FB95F6766 /* Pods-HackIllinois: QRUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-HackIllinois: QRUITests-acknowledgements.plist"; sourceTree = ""; }; + 370E9FB421E3D221878A599780441E80 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; 39821420239595CEEA28B48CA1963AD9 /* Pods-HackIllinois: QRTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-HackIllinois: QRTests-resources.sh"; sourceTree = ""; }; - 3DABAFA70ED17CBD90300D04A245AE58 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; 40120E673E3EC6127DAEBFBDE2E9E2B7 /* Pods-HackIllinois: QRTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-HackIllinois: QRTests.debug.xcconfig"; sourceTree = ""; }; 41FA06EEA327156681A0FC56FE283FDD /* Pods-HackIllinois: QRUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-HackIllinois: QRUITests-resources.sh"; sourceTree = ""; }; - 489DB931DC7B69FE48BD1AE2799AC41B /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 4477C90C5616329CC5B9E1C08657A8B8 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; + 44A2FAA3A2DA0FC4EFB286A4B543DE0A /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + 4777C17A2CFCC93E8C638B0F0BF50B52 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; 4A8AC5D25BFB6B2CF30A97199DE572F6 /* Pods-HackIllinois: QR-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-HackIllinois: QR-frameworks.sh"; sourceTree = ""; }; - 4DEE6EF915FDED3FE7666BD1979EC8DE /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - 5179ECBC70CCC8B1C852AE574F6EA4FD /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; + 4B5742E4E32247FA7550C66F4333C715 /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; + 4CA116F88044FFF4500C57A875058266 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; 52E61A076C6A1B60F86C43309D78C474 /* Pods-HackIllinois: QR-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-HackIllinois: QR-acknowledgements.plist"; sourceTree = ""; }; - 563F8C6EE9D2A2D0C87036EB68FB29F4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 56C3786227DA8F7E6E67A51596162E8D /* SwiftQRCode.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftQRCode.modulemap; sourceTree = ""; }; - 5B61F9004DBCD345F167BBAEBDF6C974 /* SwiftQRCode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftQRCode.framework; path = SwiftQRCode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5E426F76A55F50D3FD4C5B4A804E35EB /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 5FC9202C41A332AEC3C4FAF6ACA9165B /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 5FFF5B8EA88A26A395259DE14279620E /* SwiftQRCode-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftQRCode-umbrella.h"; sourceTree = ""; }; + 551181CADA270A455A3959937C69C7D0 /* SwiftQRCode-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftQRCode-dummy.m"; sourceTree = ""; }; + 5906A055FD3BDB14ACB011B655E3C8C0 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 59760BFDDF808999C5CF609D665A80BF /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = JWTDecode/Errors.swift; sourceTree = ""; }; + 5A3AFBD451D76DD420C55E7C7D2E40F5 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5ADC68AC38365B260269E60555B42BE2 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + 5E892EF4103DBDA990615A3DA8DDD07C /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; + 5EF5D2484956ABAE1A57486F44BDF53A /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + 605425B99DCC0A3497F807117BC530A2 /* Pods_HackIllinois__QRUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_HackIllinois__QRUITests.framework; path = "Pods-HackIllinois: QRUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 668A5FB35234BB4187124A3B9AA37928 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; 689464E969FC11ECA2CCB3D1F3079A4A /* Pods-HackIllinois: QRUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-HackIllinois: QRUITests-acknowledgements.markdown"; sourceTree = ""; }; - 6B668A35EC7E1A2DFC0128F238DD4655 /* SwiftQRCode-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftQRCode-prefix.pch"; sourceTree = ""; }; - 711A9CB3CB82E18D8460A63E736158EE /* Pods_HackIllinois__QRUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_HackIllinois__QRUITests.framework; path = "Pods-HackIllinois: QRUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C62BF0E58367A7F96E49E12167E86BA /* SwiftQRCode.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftQRCode.modulemap; sourceTree = ""; }; + 6F9F8CFB0E3CBFA55F9B8C94D0EE82F1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 71A97FA093361E3F49664E9DDE53F68D /* Pods_HackIllinois__QRTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_HackIllinois__QRTests.framework; path = "Pods-HackIllinois: QRTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 7334D034E2CB15546267815553C0EF5D /* Pods-HackIllinois: QR-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-HackIllinois: QR-umbrella.h"; sourceTree = ""; }; - 750B8C3C8AC7A007954C14969EEDC814 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; + 75B89D24517A6C77B54BF1821C25BAC5 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 75CF5872A459D8997459737FD81C37BA /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; 7793BC2B69E3BEDEE3FDA3C7226C5014 /* Pods-HackIllinois: QRTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-HackIllinois: QRTests.release.xcconfig"; sourceTree = ""; }; - 7DA78706E7FCB4F7012E57CF7C72D6C0 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; - 838CFBB7D1E1CDBDD19B77023CF8C391 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; - 86D19CE4A9AEA92D3B62D98365ED3882 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + 7E92C6249ECB39B4233F06E3AFF17B3C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8203D806182C01C6BF5A3EB349269998 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 83F37380A2C5C61B103B79B64853151A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 892BA4641D56DA2938851C65F12339BD /* JWTDecode.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JWTDecode.xcconfig; sourceTree = ""; }; 8EAB84DA47A1E0E374E767DE2A4639FE /* Pods-HackIllinois: QRUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-HackIllinois: QRUITests-frameworks.sh"; sourceTree = ""; }; + 8F0F4601A7355D8A2C3A808C64028796 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 91974B9C5A75E2C5A9A8AA26AF6D895D /* SwiftQRCode-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftQRCode-umbrella.h"; sourceTree = ""; }; + 93A49BCCF098886538216B3FC70EFD78 /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftyJSON.modulemap; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 956D9910F4CA5D50291F6C2BEE4BF009 /* Pods-HackIllinois: QRTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-HackIllinois: QRTests-acknowledgements.markdown"; sourceTree = ""; }; 95E5B42CD16938C0017E405CFE6585C5 /* Pods-HackIllinois: QRUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-HackIllinois: QRUITests.release.xcconfig"; sourceTree = ""; }; 97031016366D59E32176D70E421814B1 /* Pods-HackIllinois: QR.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-HackIllinois: QR.modulemap"; sourceTree = ""; }; + 98C89A6083C0D4C267A578990C20C84A /* JWTDecode-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JWTDecode-umbrella.h"; sourceTree = ""; }; + 9E1C1360C19F96C22A1FFFADE793F618 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON.swift; sourceTree = ""; }; + A08987369B8285C14143BBE892700D03 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + A49B0A675ED879C9D01EE2B94731D687 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; A53B7750EB6DE9D510F7602912327103 /* Pods-HackIllinois: QRUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-HackIllinois: QRUITests.modulemap"; sourceTree = ""; }; A54CE3C8517A6D165211E433A6C3C68B /* Pods-HackIllinois: QR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-HackIllinois: QR.debug.xcconfig"; sourceTree = ""; }; - A5854D05C9BE94B971C15E7FBF321040 /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftyJSON.modulemap; sourceTree = ""; }; - A85E56F751BE216EE0BA335764EA43F0 /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; - A873D2C8D0CBD17C6316411060E6A7D7 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; A98A863B25DA6844809B76875C68B6AC /* Pods-HackIllinois: QRTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-HackIllinois: QRTests.modulemap"; sourceTree = ""; }; - AA04A398AE2E8DF43D2916CCC1B1C95F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - ABB7EEAC88CA5892E526EC3CE8CB95F7 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Alamofire.modulemap; sourceTree = ""; }; + AE05B609BF4C5D7D7B3EA93E3811682F /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; AF7D5D1EFBEDD28C63428092DBF530C2 /* Pods-HackIllinois: QRTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-HackIllinois: QRTests-umbrella.h"; sourceTree = ""; }; AF95E178DC84F164B08F6D72ECB8C3AC /* Pods-HackIllinois: QR-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-HackIllinois: QR-dummy.m"; sourceTree = ""; }; - B208210624D090F738987457A4F2A142 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BB05643B7430DADB0BA9A995EA7A7B72 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BE089B3CF181037E5F8F4D653BE2DBD2 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - BF65B205CAF87FD249042CCA9714354E /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + B1AE7F49A5FC43595D23B4DFD71D374A /* Pods_HackIllinois__QR.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_HackIllinois__QR.framework; path = "Pods-HackIllinois: QR.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; C25BBBD9AFAFA253A25F1704018F659B /* Pods-HackIllinois: QRUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-HackIllinois: QRUITests-umbrella.h"; sourceTree = ""; }; - C2C01407051BDDE221A3641A297667C0 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - C99894229C21E792F00B61E32D07BB51 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; CE175558D8C44E186ACF38BCF588395C /* Pods-HackIllinois: QR-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-HackIllinois: QR-resources.sh"; sourceTree = ""; }; - D07ACDD48EDBA099A2FEAD4950871AE5 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON.swift; sourceTree = ""; }; + D0C545FE45B68DAC520F4AD72BE448B3 /* SwiftQRCode.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftQRCode.xcconfig; sourceTree = ""; }; + D1631910C249562FE4374ED73827F480 /* JWT.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JWT.swift; path = JWTDecode/JWT.swift; sourceTree = ""; }; + D266BFDCE23C7DE1DE8E412DEA2EE115 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D29D65D2B0C0038C46EE17DDD270DF30 /* Pods-HackIllinois: QR-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-HackIllinois: QR-acknowledgements.markdown"; sourceTree = ""; }; - D42549C94874D315D7D79A3C23FAF0AD /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - D59BF3A694BE81D5CAB094D84461FC87 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - DD955FC7C9B090B1AE673D8C245F0223 /* QRCode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QRCode.swift; path = QRCode/Source/QRCode.swift; sourceTree = ""; }; - DDE786652E023117FE8449A3E2546F85 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - E1617B4398C835654CC33FCDD5964230 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + D4348C92E8B9FF06BC1A88FDD0A743C4 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + DD1C4CDB6208F3DDBC839D44EF9E17A2 /* JWTDecode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = JWTDecode.framework; path = JWTDecode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DFAF02B0A553810766DA3EB009A4A564 /* JWTDecode-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JWTDecode-prefix.pch"; sourceTree = ""; }; + E42CBB9973E65BDD84D1A0D2F374B40E /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; E58C1C473B2675C4F87249BA1E7CF191 /* Pods-HackIllinois: QRTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-HackIllinois: QRTests-acknowledgements.plist"; sourceTree = ""; }; E768E381B0C517D0AD0D5691D55521F9 /* Pods-HackIllinois: QRTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-HackIllinois: QRTests-frameworks.sh"; sourceTree = ""; }; E76D728015EC87492EAB18A5CFDAB27D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EA0F3AA8D403A18C542FFCB109172144 /* Pods_HackIllinois__QRTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_HackIllinois__QRTests.framework; path = "Pods-HackIllinois: QRTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + E850DA9C06700C2C7A6579A243CFDFCF /* QRCode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QRCode.swift; path = QRCode/Source/QRCode.swift; sourceTree = ""; }; EB22ADC87CA3E02355DDE222DFCAB12A /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; }; - EB59672D6805EAA17BC65207B124BCEF /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; F262E10F790F57CCCB772D4D8C6504F3 /* Pods-HackIllinois: QRUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-HackIllinois: QRUITests-dummy.m"; sourceTree = ""; }; + F750F680BCF59B5710AA811F49C0780B /* A0JWT.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = A0JWT.swift; path = JWTDecode/A0JWT.swift; sourceTree = ""; }; F9DF43C9A6F0F915621B52F8C1513CEB /* Pods-HackIllinois: QRUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-HackIllinois: QRUITests.debug.xcconfig"; sourceTree = ""; }; - FF8381265CCCEAAE5746290072138306 /* Pods_HackIllinois__QR.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_HackIllinois__QR.framework; path = "Pods-HackIllinois: QR.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 2E246BFD712E03C56335C43B77A56618 /* Frameworks */ = { + 14BF850B20D6C1E568DC676ECE1E543F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4C1BBEDD34B132C1DF298394BB344D25 /* Foundation.framework in Frameworks */, + E590DB1916907E26F0D8AC8B69704DE1 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3FAFA974B62D30EAC5650CD4CB85E2DF /* Frameworks */ = { + 1BB84F9441F6A382DAC1B407D7E8A494 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 237C8AA627FA81A164BDCF0A3D0EFB41 /* Foundation.framework in Frameworks */, + 53A723A8D6487C3B45E00E5F822A7723 /* AVFoundation.framework in Frameworks */, + EE8C0E9D2D7CB770841FCA52CABC9195 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7AE76FE10F508307E7182E1DCE91B842 /* Frameworks */ = { + 218D888CBCE92ECE495AFF29D100FAAD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F4F5A33CC2D5C340C8D269119685EBA6 /* Foundation.framework in Frameworks */, + 0813953015CB65A236D810DD22EFF95A /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8A21FD6625B83C34E2FCD874CD16C3F7 /* Frameworks */ = { + 3AB45694B7ED4C32E392BB4629F5EB4C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 38A0D032A8A202C61ADE9D165EF8CE71 /* Foundation.framework in Frameworks */, + A0A2444C3AEF16B2A79A5BF7C55F7FB6 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = { + 3FAFA974B62D30EAC5650CD4CB85E2DF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A04BFC558D69E7DBB68023C80A9CFE4E /* Foundation.framework in Frameworks */, + 237C8AA627FA81A164BDCF0A3D0EFB41 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 7AE76FE10F508307E7182E1DCE91B842 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F4F5A33CC2D5C340C8D269119685EBA6 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FFF67A586A767850F7B499DA425CE902 /* Frameworks */ = { + 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 25D20C597C8B604B86025B0CF1C8ADBE /* AVFoundation.framework in Frameworks */, - 391A276338840C685263C89EF74CE020 /* Foundation.framework in Frameworks */, + A04BFC558D69E7DBB68023C80A9CFE4E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0228CDA71A48B04FAECD480D73A429CD /* Pods */ = { + 0892865E223511390A1D37C3EAE8A371 /* Support Files */ = { isa = PBXGroup; children = ( - 5D03D34591916F98B85E9E4C92CFF1F3 /* Alamofire */, - D49BAC95BF13550ED6C1BA251AD0E21F /* SwiftQRCode */, - 19C6BF9250527AB562362C8D97C50444 /* SwiftyJSON */, + 6F9F8CFB0E3CBFA55F9B8C94D0EE82F1 /* Info.plist */, + 6C62BF0E58367A7F96E49E12167E86BA /* SwiftQRCode.modulemap */, + D0C545FE45B68DAC520F4AD72BE448B3 /* SwiftQRCode.xcconfig */, + 551181CADA270A455A3959937C69C7D0 /* SwiftQRCode-dummy.m */, + 141D75FB56DA0AD3906CCA82F73E55C9 /* SwiftQRCode-prefix.pch */, + 91974B9C5A75E2C5A9A8AA26AF6D895D /* SwiftQRCode-umbrella.h */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/SwiftQRCode"; sourceTree = ""; }; - 19C6BF9250527AB562362C8D97C50444 /* SwiftyJSON */ = { + 0DCD32E4E5DE13954992D906F2FBD7FD /* Products */ = { isa = PBXGroup; children = ( - D07ACDD48EDBA099A2FEAD4950871AE5 /* SwiftyJSON.swift */, - 7B11680C1D742A0753F1F457A5A44DD0 /* Support Files */, + D266BFDCE23C7DE1DE8E412DEA2EE115 /* Alamofire.framework */, + DD1C4CDB6208F3DDBC839D44EF9E17A2 /* JWTDecode.framework */, + B1AE7F49A5FC43595D23B4DFD71D374A /* Pods_HackIllinois__QR.framework */, + 71A97FA093361E3F49664E9DDE53F68D /* Pods_HackIllinois__QRTests.framework */, + 605425B99DCC0A3497F807117BC530A2 /* Pods_HackIllinois__QRUITests.framework */, + 131BC1FB1AD213605E50C12298EEA8F0 /* SwiftQRCode.framework */, + 5A3AFBD451D76DD420C55E7C7D2E40F5 /* SwiftyJSON.framework */, ); - name = SwiftyJSON; - path = SwiftyJSON; + name = Products; sourceTree = ""; }; - 1DC830FCD791E0813772FAE74FF36258 /* Support Files */ = { + 12D3E814BB817826E0D41839A8B15AD3 /* Pods */ = { isa = PBXGroup; children = ( - ABB7EEAC88CA5892E526EC3CE8CB95F7 /* Alamofire.modulemap */, - 071081EB8544487C8F90D678D562AE31 /* Alamofire.xcconfig */, - EB59672D6805EAA17BC65207B124BCEF /* Alamofire-dummy.m */, - 148622E11F6ED99CFE516088F884FDF1 /* Alamofire-prefix.pch */, - 36141CEE5CE0895C2E295E95F035CAE6 /* Alamofire-umbrella.h */, - 563F8C6EE9D2A2D0C87036EB68FB29F4 /* Info.plist */, + AEC16B6A8F47FCC93152AFA5F13D0A30 /* Alamofire */, + 97CFF975BD9A8BF1BC012CD4913C24CE /* JWTDecode */, + 8900DD3A3D1D95100BF406B6F212B0B7 /* SwiftQRCode */, + D94B20C4A2868F2797956F0AEAEEB654 /* SwiftyJSON */, ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; + name = Pods; sourceTree = ""; }; 3F7EA461C71A5E2B23226209C47C9C16 /* Pods-HackIllinois: QRTests */ = { @@ -263,68 +301,92 @@ name = Frameworks; sourceTree = ""; }; - 5D03D34591916F98B85E9E4C92CFF1F3 /* Alamofire */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - DDE786652E023117FE8449A3E2546F85 /* AFError.swift */, - D42549C94874D315D7D79A3C23FAF0AD /* Alamofire.swift */, - 489DB931DC7B69FE48BD1AE2799AC41B /* DispatchQueue+Alamofire.swift */, - E1617B4398C835654CC33FCDD5964230 /* MultipartFormData.swift */, - BF65B205CAF87FD249042CCA9714354E /* NetworkReachabilityManager.swift */, - 4DEE6EF915FDED3FE7666BD1979EC8DE /* Notifications.swift */, - BE089B3CF181037E5F8F4D653BE2DBD2 /* ParameterEncoding.swift */, - C2C01407051BDDE221A3641A297667C0 /* Request.swift */, - 5E426F76A55F50D3FD4C5B4A804E35EB /* Response.swift */, - 198BD6C79226F8BF0BB8AFF8880F087A /* ResponseSerialization.swift */, - C99894229C21E792F00B61E32D07BB51 /* Result.swift */, - 3DABAFA70ED17CBD90300D04A245AE58 /* ServerTrustPolicy.swift */, - 5FC9202C41A332AEC3C4FAF6ACA9165B /* SessionDelegate.swift */, - 86D19CE4A9AEA92D3B62D98365ED3882 /* SessionManager.swift */, - A873D2C8D0CBD17C6316411060E6A7D7 /* TaskDelegate.swift */, - 7DA78706E7FCB4F7012E57CF7C72D6C0 /* Timeline.swift */, - D59BF3A694BE81D5CAB094D84461FC87 /* Validation.swift */, - 1DC830FCD791E0813772FAE74FF36258 /* Support Files */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 433CD3331B6C3787F473C941B61FC68F /* Frameworks */, + 12D3E814BB817826E0D41839A8B15AD3 /* Pods */, + 0DCD32E4E5DE13954992D906F2FBD7FD /* Products */, + FB9AEDFF4521BB1866EE4C5964CDB2AE /* Targets Support Files */, ); - name = Alamofire; - path = Alamofire; sourceTree = ""; }; - 7B11680C1D742A0753F1F457A5A44DD0 /* Support Files */ = { + 8900DD3A3D1D95100BF406B6F212B0B7 /* SwiftQRCode */ = { + isa = PBXGroup; + children = ( + E850DA9C06700C2C7A6579A243CFDFCF /* QRCode.swift */, + 0892865E223511390A1D37C3EAE8A371 /* Support Files */, + ); + name = SwiftQRCode; + path = SwiftQRCode; + sourceTree = ""; + }; + 97CFF975BD9A8BF1BC012CD4913C24CE /* JWTDecode */ = { isa = PBXGroup; children = ( - BB05643B7430DADB0BA9A995EA7A7B72 /* Info.plist */, - A5854D05C9BE94B971C15E7FBF321040 /* SwiftyJSON.modulemap */, - 5179ECBC70CCC8B1C852AE574F6EA4FD /* SwiftyJSON.xcconfig */, - 750B8C3C8AC7A007954C14969EEDC814 /* SwiftyJSON-dummy.m */, - A85E56F751BE216EE0BA335764EA43F0 /* SwiftyJSON-prefix.pch */, - 838CFBB7D1E1CDBDD19B77023CF8C391 /* SwiftyJSON-umbrella.h */, + F750F680BCF59B5710AA811F49C0780B /* A0JWT.swift */, + 59760BFDDF808999C5CF609D665A80BF /* Errors.swift */, + D1631910C249562FE4374ED73827F480 /* JWT.swift */, + 21F9F657E1869E178957DD2755C7F8E7 /* JWTDecode.swift */, + A909159B82B34BDCDC16A0BB78E2E029 /* Support Files */, + ); + name = JWTDecode; + path = JWTDecode; + sourceTree = ""; + }; + A7C09CBA421BD8F8E8F4F0F98D0D062D /* Support Files */ = { + isa = PBXGroup; + children = ( + 046D8587C44CC7499DFE51C20087544A /* Alamofire.modulemap */, + AE05B609BF4C5D7D7B3EA93E3811682F /* Alamofire.xcconfig */, + 5EF5D2484956ABAE1A57486F44BDF53A /* Alamofire-dummy.m */, + 4777C17A2CFCC93E8C638B0F0BF50B52 /* Alamofire-prefix.pch */, + D4348C92E8B9FF06BC1A88FDD0A743C4 /* Alamofire-umbrella.h */, + 7E92C6249ECB39B4233F06E3AFF17B3C /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/SwiftyJSON"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + A909159B82B34BDCDC16A0BB78E2E029 /* Support Files */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 433CD3331B6C3787F473C941B61FC68F /* Frameworks */, - 0228CDA71A48B04FAECD480D73A429CD /* Pods */, - 7E984904B121F108FB2287DF65CF7980 /* Products */, - FB9AEDFF4521BB1866EE4C5964CDB2AE /* Targets Support Files */, + A49B0A675ED879C9D01EE2B94731D687 /* Info.plist */, + 077B1DA3648D411855A2FA24861D467B /* JWTDecode.modulemap */, + 892BA4641D56DA2938851C65F12339BD /* JWTDecode.xcconfig */, + 01648E9CB3E4DB48EEE709A0F893D1C7 /* JWTDecode-dummy.m */, + DFAF02B0A553810766DA3EB009A4A564 /* JWTDecode-prefix.pch */, + 98C89A6083C0D4C267A578990C20C84A /* JWTDecode-umbrella.h */, ); + name = "Support Files"; + path = "../Target Support Files/JWTDecode"; sourceTree = ""; }; - 7E984904B121F108FB2287DF65CF7980 /* Products */ = { + AEC16B6A8F47FCC93152AFA5F13D0A30 /* Alamofire */ = { isa = PBXGroup; children = ( - 1A8A320483BED6BC86C3F161AD8AC5D5 /* Alamofire.framework */, - FF8381265CCCEAAE5746290072138306 /* Pods_HackIllinois__QR.framework */, - EA0F3AA8D403A18C542FFCB109172144 /* Pods_HackIllinois__QRTests.framework */, - 711A9CB3CB82E18D8460A63E736158EE /* Pods_HackIllinois__QRUITests.framework */, - 5B61F9004DBCD345F167BBAEBDF6C974 /* SwiftQRCode.framework */, - B208210624D090F738987457A4F2A142 /* SwiftyJSON.framework */, + 8F0F4601A7355D8A2C3A808C64028796 /* AFError.swift */, + 231BE3DDBAE486A4AFD2C5D722DFDA38 /* Alamofire.swift */, + 1238C481A4AF81D4F0881425F00CD5CA /* DispatchQueue+Alamofire.swift */, + 75CF5872A459D8997459737FD81C37BA /* MultipartFormData.swift */, + 75B89D24517A6C77B54BF1821C25BAC5 /* NetworkReachabilityManager.swift */, + 668A5FB35234BB4187124A3B9AA37928 /* Notifications.swift */, + E42CBB9973E65BDD84D1A0D2F374B40E /* ParameterEncoding.swift */, + 5906A055FD3BDB14ACB011B655E3C8C0 /* Request.swift */, + 4CA116F88044FFF4500C57A875058266 /* Response.swift */, + 44A2FAA3A2DA0FC4EFB286A4B543DE0A /* ResponseSerialization.swift */, + 5E892EF4103DBDA990615A3DA8DDD07C /* Result.swift */, + 8203D806182C01C6BF5A3EB349269998 /* ServerTrustPolicy.swift */, + 1CCF1E543713643D89AD90CE30CF4C18 /* SessionDelegate.swift */, + A08987369B8285C14143BBE892700D03 /* SessionManager.swift */, + 4477C90C5616329CC5B9E1C08657A8B8 /* TaskDelegate.swift */, + 5ADC68AC38365B260269E60555B42BE2 /* Timeline.swift */, + 0600AF68C9471BD6FAC588ECBC06B6A9 /* Validation.swift */, + A7C09CBA421BD8F8E8F4F0F98D0D062D /* Support Files */, ); - name = Products; + name = Alamofire; + path = Alamofire; sourceTree = ""; }; C630E1E21C23A0041076BA5E8EFAABD2 /* Pods-HackIllinois: QR */ = { @@ -345,14 +407,28 @@ path = "Target Support Files/Pods-HackIllinois: QR"; sourceTree = ""; }; - D49BAC95BF13550ED6C1BA251AD0E21F /* SwiftQRCode */ = { + C6C750A49B47596A665891F47455C7B7 /* Support Files */ = { isa = PBXGroup; children = ( - DD955FC7C9B090B1AE673D8C245F0223 /* QRCode.swift */, - EE94975BF4926187BBEDE42B9E275F0E /* Support Files */, + 83F37380A2C5C61B103B79B64853151A /* Info.plist */, + 93A49BCCF098886538216B3FC70EFD78 /* SwiftyJSON.modulemap */, + 4B5742E4E32247FA7550C66F4333C715 /* SwiftyJSON.xcconfig */, + 1F514C112E109A53150B95F60DFE9365 /* SwiftyJSON-dummy.m */, + 2D654C496E1257EF7AE001C4B7F30B99 /* SwiftyJSON-prefix.pch */, + 370E9FB421E3D221878A599780441E80 /* SwiftyJSON-umbrella.h */, ); - name = SwiftQRCode; - path = SwiftQRCode; + name = "Support Files"; + path = "../Target Support Files/SwiftyJSON"; + sourceTree = ""; + }; + D94B20C4A2868F2797956F0AEAEEB654 /* SwiftyJSON */ = { + isa = PBXGroup; + children = ( + 9E1C1360C19F96C22A1FFFADE793F618 /* SwiftyJSON.swift */, + C6C750A49B47596A665891F47455C7B7 /* Support Files */, + ); + name = SwiftyJSON; + path = SwiftyJSON; sourceTree = ""; }; DAC2290A18FFA43947A67D9B4F974D1A /* Pods-HackIllinois: QRUITests */ = { @@ -373,20 +449,6 @@ path = "Target Support Files/Pods-HackIllinois: QRUITests"; sourceTree = ""; }; - EE94975BF4926187BBEDE42B9E275F0E /* Support Files */ = { - isa = PBXGroup; - children = ( - AA04A398AE2E8DF43D2916CCC1B1C95F /* Info.plist */, - 56C3786227DA8F7E6E67A51596162E8D /* SwiftQRCode.modulemap */, - 2D436B048B334AE57EAFAC961AE7158C /* SwiftQRCode.xcconfig */, - 1046798DC10899A1D5B29B276D7A5897 /* SwiftQRCode-dummy.m */, - 6B668A35EC7E1A2DFC0128F238DD4655 /* SwiftQRCode-prefix.pch */, - 5FFF5B8EA88A26A395259DE14279620E /* SwiftQRCode-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/SwiftQRCode"; - sourceTree = ""; - }; F9B81937E2358A876EB30CC711EF4620 /* iOS */ = { isa = PBXGroup; children = ( @@ -409,35 +471,35 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 0582660A249758F2EE021368DBC57495 /* Headers */ = { + 12533A79161AF24EB1965DB594313743 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E5356886E0B7ADFD071FDE1A44387D74 /* SwiftyJSON-umbrella.h in Headers */, + A2E1144E17A7623D02701970C328D53A /* Pods-HackIllinois: QR-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3EBECBAA24AD68737F0A5678315AFA77 /* Headers */ = { + 74A0FA98708ADDEB25B5CDB6C56B4D8D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 710F35ADF9BEF26A2703FFAC08E8B509 /* SwiftQRCode-umbrella.h in Headers */, + 938CC3F1215F0742F3D212482B48A9E0 /* Pods-HackIllinois: QRTests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 74A0FA98708ADDEB25B5CDB6C56B4D8D /* Headers */ = { + 8B15BDD3E0F268D14A780995210F255C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 938CC3F1215F0742F3D212482B48A9E0 /* Pods-HackIllinois: QRTests-umbrella.h in Headers */, + 98022D1600D56CC5017A3BAC58E7778A /* JWTDecode-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7BD45ED77CF94E857E9A2D28AA118273 /* Headers */ = { + A7CE6C74432B657201162CA6DB7FF336 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - CA3C054A55C1C3DA7DBFE8D6398CBBFA /* Pods-HackIllinois: QR-umbrella.h in Headers */, + 130718A338519E40FB89378977302E95 /* SwiftQRCode-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -457,41 +519,49 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EF93B4F3A005C7694CE3723A4970F067 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 48A4ECBA4481DC5062C986CE6AAED486 /* SwiftyJSON-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 05DCFCB7CB4AB98C7C524B823F58DB02 /* SwiftQRCode */ = { + 1E4709768EC3FCE3D3E59EE817CAD0C0 /* SwiftyJSON */ = { isa = PBXNativeTarget; - buildConfigurationList = F1A0D3AC403313FCD89A9F0AE1CC7F16 /* Build configuration list for PBXNativeTarget "SwiftQRCode" */; + buildConfigurationList = 66CF63B822D7EF2BF1F9E1B6CFFDAE90 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */; buildPhases = ( - A5585FBDD0E4840C85966FD0C84AA7DC /* Sources */, - FFF67A586A767850F7B499DA425CE902 /* Frameworks */, - 3EBECBAA24AD68737F0A5678315AFA77 /* Headers */, + 8448C39380C8C6C3F61DBA535E44F1E2 /* Sources */, + 3AB45694B7ED4C32E392BB4629F5EB4C /* Frameworks */, + EF93B4F3A005C7694CE3723A4970F067 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = SwiftQRCode; - productName = SwiftQRCode; - productReference = 5B61F9004DBCD345F167BBAEBDF6C974 /* SwiftQRCode.framework */; + name = SwiftyJSON; + productName = SwiftyJSON; + productReference = 5A3AFBD451D76DD420C55E7C7D2E40F5 /* SwiftyJSON.framework */; productType = "com.apple.product-type.framework"; }; - 6D8BFBA154D42FE04414B6FF924CAB3F /* SwiftyJSON */ = { + 734E126F2A1BB2F7F1ACCF523A9A8351 /* JWTDecode */ = { isa = PBXNativeTarget; - buildConfigurationList = 93B14ECB6B164F6730B075106F4B849D /* Build configuration list for PBXNativeTarget "SwiftyJSON" */; + buildConfigurationList = 033B38A811E6E54B02C8CB30C17608FB /* Build configuration list for PBXNativeTarget "JWTDecode" */; buildPhases = ( - 8E35142CC85FEE18675487CD2C5C15C6 /* Sources */, - 8A21FD6625B83C34E2FCD874CD16C3F7 /* Frameworks */, - 0582660A249758F2EE021368DBC57495 /* Headers */, + A609FCE138E7FE7BA6445FC3598F7293 /* Sources */, + 14BF850B20D6C1E568DC676ECE1E543F /* Frameworks */, + 8B15BDD3E0F268D14A780995210F255C /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = SwiftyJSON; - productName = SwiftyJSON; - productReference = B208210624D090F738987457A4F2A142 /* SwiftyJSON.framework */; + name = JWTDecode; + productName = JWTDecode; + productReference = DD1C4CDB6208F3DDBC839D44EF9E17A2 /* JWTDecode.framework */; productType = "com.apple.product-type.framework"; }; 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { @@ -508,7 +578,45 @@ ); name = Alamofire; productName = Alamofire; - productReference = 1A8A320483BED6BC86C3F161AD8AC5D5 /* Alamofire.framework */; + productReference = D266BFDCE23C7DE1DE8E412DEA2EE115 /* Alamofire.framework */; + productType = "com.apple.product-type.framework"; + }; + 8F819D8CD6F6375CA8EC41410ADD4857 /* Pods-HackIllinois: QR */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5E83F0C54AA24CDAB899DFB14697ADA2 /* Build configuration list for PBXNativeTarget "Pods-HackIllinois: QR" */; + buildPhases = ( + F616737E6EC81572FD38DD15F6FF3D8E /* Sources */, + 218D888CBCE92ECE495AFF29D100FAAD /* Frameworks */, + 12533A79161AF24EB1965DB594313743 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 53E47DF39EA4168924134018F672D762 /* PBXTargetDependency */, + 8C256A8B2D1CB0A2FD469E2AA5684651 /* PBXTargetDependency */, + A22B1C10A5F910EF7903F2EE420991B7 /* PBXTargetDependency */, + BF98FE905BA59174084A35EE03388F03 /* PBXTargetDependency */, + ); + name = "Pods-HackIllinois: QR"; + productName = "Pods-HackIllinois: QR"; + productReference = B1AE7F49A5FC43595D23B4DFD71D374A /* Pods_HackIllinois__QR.framework */; + productType = "com.apple.product-type.framework"; + }; + 931D511373E47C22C4D1F3B3503D7A94 /* SwiftQRCode */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3B7104C4E9ECBB08B2BC07A8412EA193 /* Build configuration list for PBXNativeTarget "SwiftQRCode" */; + buildPhases = ( + 3A0606BF6AAF65E71F35D37B522EF161 /* Sources */, + 1BB84F9441F6A382DAC1B407D7E8A494 /* Frameworks */, + A7CE6C74432B657201162CA6DB7FF336 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SwiftQRCode; + productName = SwiftQRCode; + productReference = 131BC1FB1AD213605E50C12298EEA8F0 /* SwiftQRCode.framework */; productType = "com.apple.product-type.framework"; }; 9A549CEEB097B26A54CD8338744C0E26 /* Pods-HackIllinois: QRTests */ = { @@ -525,7 +633,7 @@ ); name = "Pods-HackIllinois: QRTests"; productName = "Pods-HackIllinois: QRTests"; - productReference = EA0F3AA8D403A18C542FFCB109172144 /* Pods_HackIllinois__QRTests.framework */; + productReference = 71A97FA093361E3F49664E9DDE53F68D /* Pods_HackIllinois__QRTests.framework */; productType = "com.apple.product-type.framework"; }; D2D96DB129D16346E2409D76025F3BF5 /* Pods-HackIllinois: QRUITests */ = { @@ -542,27 +650,7 @@ ); name = "Pods-HackIllinois: QRUITests"; productName = "Pods-HackIllinois: QRUITests"; - productReference = 711A9CB3CB82E18D8460A63E736158EE /* Pods_HackIllinois__QRUITests.framework */; - productType = "com.apple.product-type.framework"; - }; - E5D54D3D95D4EFE2AF8F1898A76F3B0C /* Pods-HackIllinois: QR */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0EF3BD53F1B4D8243FBA0AC41D0ABD78 /* Build configuration list for PBXNativeTarget "Pods-HackIllinois: QR" */; - buildPhases = ( - E8E4AD9AE434D6986BAC06134F04B813 /* Sources */, - 2E246BFD712E03C56335C43B77A56618 /* Frameworks */, - 7BD45ED77CF94E857E9A2D28AA118273 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 94A46110E52B4A93D3BAA4AA32601C29 /* PBXTargetDependency */, - 8E0A9725B60BD5BC5A55E399114B5AFD /* PBXTargetDependency */, - 4E47717E7F6B2A75954CCB57F3F3F1AB /* PBXTargetDependency */, - ); - name = "Pods-HackIllinois: QR"; - productName = "Pods-HackIllinois: QR"; - productReference = FF8381265CCCEAAE5746290072138306 /* Pods_HackIllinois__QR.framework */; + productReference = 605425B99DCC0A3497F807117BC530A2 /* Pods_HackIllinois__QRUITests.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -582,16 +670,17 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 7E984904B121F108FB2287DF65CF7980 /* Products */; + productRefGroup = 0DCD32E4E5DE13954992D906F2FBD7FD /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */, - E5D54D3D95D4EFE2AF8F1898A76F3B0C /* Pods-HackIllinois: QR */, + 734E126F2A1BB2F7F1ACCF523A9A8351 /* JWTDecode */, + 8F819D8CD6F6375CA8EC41410ADD4857 /* Pods-HackIllinois: QR */, 9A549CEEB097B26A54CD8338744C0E26 /* Pods-HackIllinois: QRTests */, D2D96DB129D16346E2409D76025F3BF5 /* Pods-HackIllinois: QRUITests */, - 05DCFCB7CB4AB98C7C524B823F58DB02 /* SwiftQRCode */, - 6D8BFBA154D42FE04414B6FF924CAB3F /* SwiftyJSON */, + 931D511373E47C22C4D1F3B3503D7A94 /* SwiftQRCode */, + 1E4709768EC3FCE3D3E59EE817CAD0C0 /* SwiftyJSON */, ); }; /* End PBXProject section */ @@ -622,6 +711,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3A0606BF6AAF65E71F35D37B522EF161 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 77D9C0FCE913E6EFBB00A10012C8AD4D /* QRCode.swift in Sources */, + 83BF169B13EBB7862AD02B7EF1661924 /* SwiftQRCode-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 49C9A0F8632F3668FB9C21D2EC2D9855 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -630,21 +728,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8E35142CC85FEE18675487CD2C5C15C6 /* Sources */ = { + 8448C39380C8C6C3F61DBA535E44F1E2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BA1ABBEA2F693A58B154F51436B218F7 /* SwiftyJSON-dummy.m in Sources */, - 4CFBA32645CF5ADB1C98815FFFC7A878 /* SwiftyJSON.swift in Sources */, + BB0C4091495DC0E0B801A20E59A7710F /* SwiftyJSON-dummy.m in Sources */, + 179ACEFE6E8B6B31C178C315DE47FA9F /* SwiftyJSON.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A5585FBDD0E4840C85966FD0C84AA7DC /* Sources */ = { + A609FCE138E7FE7BA6445FC3598F7293 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5AF3F86540AA93602FDFFC9C7B2BC76B /* QRCode.swift in Sources */, - 20DAE5EF6E1A44F52AB370C9FE8BA67E /* SwiftQRCode-dummy.m in Sources */, + ED56A7B3B4F8C8EAA7667F81D2D0A04A /* A0JWT.swift in Sources */, + CA79CBF22E3ABF544E73107CB3FB7460 /* Errors.swift in Sources */, + C9B0FF5A0106E352E3EC3854BDD36A93 /* JWT.swift in Sources */, + A9446745193904C17AA24F0E27598332 /* JWTDecode-dummy.m in Sources */, + D0E2F0F2ADD84482502AA3C8753D925D /* JWTDecode.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -656,41 +757,47 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E8E4AD9AE434D6986BAC06134F04B813 /* Sources */ = { + F616737E6EC81572FD38DD15F6FF3D8E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E717D878ADBE4E7742A863BD399E0030 /* Pods-HackIllinois: QR-dummy.m in Sources */, + BE57859225766723020A35A75D883E02 /* Pods-HackIllinois: QR-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 4E47717E7F6B2A75954CCB57F3F3F1AB /* PBXTargetDependency */ = { + 53E47DF39EA4168924134018F672D762 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftyJSON; - target = 6D8BFBA154D42FE04414B6FF924CAB3F /* SwiftyJSON */; - targetProxy = 9C7FC14377D97B193BD281976EFEB765 /* PBXContainerItemProxy */; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = 0FA63D7032CE4226647FBD3861CAEEE2 /* PBXContainerItemProxy */; + }; + 8C256A8B2D1CB0A2FD469E2AA5684651 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = JWTDecode; + target = 734E126F2A1BB2F7F1ACCF523A9A8351 /* JWTDecode */; + targetProxy = E0873EB3D85678D7A6624C593DF42780 /* PBXContainerItemProxy */; }; - 8E0A9725B60BD5BC5A55E399114B5AFD /* PBXTargetDependency */ = { + A22B1C10A5F910EF7903F2EE420991B7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftQRCode; - target = 05DCFCB7CB4AB98C7C524B823F58DB02 /* SwiftQRCode */; - targetProxy = 32B23FC3D7D18E66DD1947E3C0798D46 /* PBXContainerItemProxy */; + target = 931D511373E47C22C4D1F3B3503D7A94 /* SwiftQRCode */; + targetProxy = E4ED0816DBE89108C0FC102A5A8953D6 /* PBXContainerItemProxy */; }; - 94A46110E52B4A93D3BAA4AA32601C29 /* PBXTargetDependency */ = { + BF98FE905BA59174084A35EE03388F03 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; - targetProxy = 85C7C65B2DA3816C035A84BA97C74C8C /* PBXContainerItemProxy */; + name = SwiftyJSON; + target = 1E4709768EC3FCE3D3E59EE817CAD0C0 /* SwiftyJSON */; + targetProxy = D3ADDB16173F0373EF18B9DFFEDA2E2E /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 0A29B6F510198AF64EFD762EF6FA97A5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 071081EB8544487C8F90D678D562AE31 /* Alamofire.xcconfig */; + baseConfigurationReference = AE05B609BF4C5D7D7B3EA93E3811682F /* Alamofire.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -764,9 +871,9 @@ }; name = Debug; }; - 1ADCDC429C28C5158A6BFCB1DFAFC5E0 /* Release */ = { + 130DC41068E0EC03F01E21DA6559164D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1E915BC9AC31457D94215425BD24466C /* Pods-HackIllinois: QR.release.xcconfig */; + baseConfigurationReference = 892BA4641D56DA2938851C65F12339BD /* JWTDecode.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -779,20 +886,17 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-HackIllinois: QR/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/JWTDecode/JWTDecode-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/JWTDecode/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.modulemap"; + MODULEMAP_FILE = "Target Support Files/JWTDecode/JWTDecode.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_HackIllinois__QR; + PRODUCT_NAME = JWTDecode; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -869,9 +973,108 @@ }; name = Debug; }; - 3F79D397B3E0EAFDBE28A9EACA76072F /* Release */ = { + 3FA8D7DFBB124A1D8D040FD6614860FB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5179ECBC70CCC8B1C852AE574F6EA4FD /* SwiftyJSON.xcconfig */; + baseConfigurationReference = 4B5742E4E32247FA7550C66F4333C715 /* SwiftyJSON.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyJSON/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = SwiftyJSON; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 73794A22A1BFB3DE081E39AF22A2D144 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D0C545FE45B68DAC520F4AD72BE448B3 /* SwiftQRCode.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/SwiftQRCode/SwiftQRCode-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftQRCode/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SwiftQRCode/SwiftQRCode.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = SwiftQRCode; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 745A7BFD43BA0EE7932EF6CECDE4E443 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 892BA4641D56DA2938851C65F12339BD /* JWTDecode.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/JWTDecode/JWTDecode-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/JWTDecode/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/JWTDecode/JWTDecode.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = JWTDecode; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7A589344DD18DCFE55E37786B38BFD93 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4B5742E4E32247FA7550C66F4333C715 /* SwiftyJSON.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -901,15 +1104,15 @@ }; name = Release; }; - 83939006678969EB67DED5AB82FED16A /* Debug */ = { + A683DEBF61736007D0BA14FC4BA21B67 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A54CE3C8517A6D165211E433A6C3C68B /* Pods-HackIllinois: QR.debug.xcconfig */; + baseConfigurationReference = 1E915BC9AC31457D94215425BD24466C /* Pods-HackIllinois: QR.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -922,7 +1125,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -930,16 +1133,15 @@ PRODUCT_NAME = Pods_HackIllinois__QR; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 85C6B30A4667E1009A314492A68B612B /* Release */ = { + BEC9ABA323E1A72CDBA20D8AE952A184 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2D436B048B334AE57EAFAC961AE7158C /* SwiftQRCode.xcconfig */; + baseConfigurationReference = D0C545FE45B68DAC520F4AD72BE448B3 /* SwiftQRCode.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1004,6 +1206,42 @@ }; name = Debug; }; + DE1E4BB6A3F20CC86C85B91455EC1BF2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A54CE3C8517A6D165211E433A6C3C68B /* Pods-HackIllinois: QR.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "Target Support Files/Pods-HackIllinois: QR/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_HackIllinois__QR; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; E45A5C673133E49300E7D0A57B836868 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 95E5B42CD16938C0017E405CFE6585C5 /* Pods-HackIllinois: QRUITests.release.xcconfig */; @@ -1079,42 +1317,9 @@ }; name = Release; }; - EF61F65A35EA156AD13ED537E782A1BC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5179ECBC70CCC8B1C852AE574F6EA4FD /* SwiftyJSON.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyJSON/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = SwiftyJSON; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; F383079BFBF927813EA3613CFB679FDE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 071081EB8544487C8F90D678D562AE31 /* Alamofire.xcconfig */; + baseConfigurationReference = AE05B609BF4C5D7D7B3EA93E3811682F /* Alamofire.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1145,47 +1350,14 @@ }; name = Debug; }; - FBB905673D93BDA71649832CEA141DFB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2D436B048B334AE57EAFAC961AE7158C /* SwiftQRCode.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SwiftQRCode/SwiftQRCode-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftQRCode/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftQRCode/SwiftQRCode.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = SwiftQRCode; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0EF3BD53F1B4D8243FBA0AC41D0ABD78 /* Build configuration list for PBXNativeTarget "Pods-HackIllinois: QR" */ = { + 033B38A811E6E54B02C8CB30C17608FB /* Build configuration list for PBXNativeTarget "JWTDecode" */ = { isa = XCConfigurationList; buildConfigurations = ( - 83939006678969EB67DED5AB82FED16A /* Debug */, - 1ADCDC429C28C5158A6BFCB1DFAFC5E0 /* Release */, + 745A7BFD43BA0EE7932EF6CECDE4E443 /* Debug */, + 130DC41068E0EC03F01E21DA6559164D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1208,6 +1380,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 3B7104C4E9ECBB08B2BC07A8412EA193 /* Build configuration list for PBXNativeTarget "SwiftQRCode" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 73794A22A1BFB3DE081E39AF22A2D144 /* Debug */, + BEC9ABA323E1A72CDBA20D8AE952A184 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1217,29 +1398,29 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 745E68481CA7AC20A090B13C0BCA6029 /* Build configuration list for PBXNativeTarget "Pods-HackIllinois: QRUITests" */ = { + 5E83F0C54AA24CDAB899DFB14697ADA2 /* Build configuration list for PBXNativeTarget "Pods-HackIllinois: QR" */ = { isa = XCConfigurationList; buildConfigurations = ( - C411F5E5A76F7581B284934959272BA2 /* Debug */, - E45A5C673133E49300E7D0A57B836868 /* Release */, + DE1E4BB6A3F20CC86C85B91455EC1BF2 /* Debug */, + A683DEBF61736007D0BA14FC4BA21B67 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 93B14ECB6B164F6730B075106F4B849D /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { + 66CF63B822D7EF2BF1F9E1B6CFFDAE90 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { isa = XCConfigurationList; buildConfigurations = ( - EF61F65A35EA156AD13ED537E782A1BC /* Debug */, - 3F79D397B3E0EAFDBE28A9EACA76072F /* Release */, + 3FA8D7DFBB124A1D8D040FD6614860FB /* Debug */, + 7A589344DD18DCFE55E37786B38BFD93 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F1A0D3AC403313FCD89A9F0AE1CC7F16 /* Build configuration list for PBXNativeTarget "SwiftQRCode" */ = { + 745E68481CA7AC20A090B13C0BCA6029 /* Build configuration list for PBXNativeTarget "Pods-HackIllinois: QRUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - FBB905673D93BDA71649832CEA141DFB /* Debug */, - 85C6B30A4667E1009A314492A68B612B /* Release */, + C411F5E5A76F7581B284934959272BA2 /* Debug */, + E45A5C673133E49300E7D0A57B836868 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/JWTDecode.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/JWTDecode.xcscheme new file mode 100644 index 0000000..5ea4d41 --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/JWTDecode.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/Pods-HackIllinois: QR.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/Pods-HackIllinois: QR.xcscheme index 486fb3a..8052412 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/Pods-HackIllinois: QR.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/Pods-HackIllinois: QR.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -45,7 +45,7 @@ diff --git a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftQRCode.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftQRCode.xcscheme index 19aec03..b8ab64e 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftQRCode.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftQRCode.xcscheme @@ -14,7 +14,7 @@ buildForArchiving = "YES"> diff --git a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftyJSON.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftyJSON.xcscheme index fb66755..5d541b2 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftyJSON.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/SwiftyJSON.xcscheme @@ -14,7 +14,7 @@ buildForArchiving = "YES"> diff --git a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/xcschememanagement.plist index 037eebf..8194624 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/ymostofi.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,6 +9,11 @@ isShown + JWTDecode.xcscheme + + isShown + + Pods-HackIllinois: QR.xcscheme isShown @@ -37,12 +42,12 @@ SuppressBuildableAutocreation - 05DCFCB7CB4AB98C7C524B823F58DB02 + 1E4709768EC3FCE3D3E59EE817CAD0C0 primary - 6D8BFBA154D42FE04414B6FF924CAB3F + 734E126F2A1BB2F7F1ACCF523A9A8351 primary @@ -52,17 +57,22 @@ primary - 9A549CEEB097B26A54CD8338744C0E26 + 8F819D8CD6F6375CA8EC41410ADD4857 primary - D2D96DB129D16346E2409D76025F3BF5 + 931D511373E47C22C4D1F3B3503D7A94 primary - E5D54D3D95D4EFE2AF8F1898A76F3B0C + 9A549CEEB097B26A54CD8338744C0E26 + + primary + + + D2D96DB129D16346E2409D76025F3BF5 primary diff --git a/Pods/Target Support Files/JWTDecode/Info.plist b/Pods/Target Support Files/JWTDecode/Info.plist new file mode 100644 index 0000000..0a12077 --- /dev/null +++ b/Pods/Target Support Files/JWTDecode/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Pods/Target Support Files/JWTDecode/JWTDecode-dummy.m b/Pods/Target Support Files/JWTDecode/JWTDecode-dummy.m new file mode 100644 index 0000000..8c89c03 --- /dev/null +++ b/Pods/Target Support Files/JWTDecode/JWTDecode-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_JWTDecode : NSObject +@end +@implementation PodsDummy_JWTDecode +@end diff --git a/Pods/Target Support Files/JWTDecode/JWTDecode-prefix.pch b/Pods/Target Support Files/JWTDecode/JWTDecode-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Pods/Target Support Files/JWTDecode/JWTDecode-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/JWTDecode/JWTDecode-umbrella.h b/Pods/Target Support Files/JWTDecode/JWTDecode-umbrella.h new file mode 100644 index 0000000..9fffff3 --- /dev/null +++ b/Pods/Target Support Files/JWTDecode/JWTDecode-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double JWTDecodeVersionNumber; +FOUNDATION_EXPORT const unsigned char JWTDecodeVersionString[]; + diff --git a/Pods/Target Support Files/JWTDecode/JWTDecode.modulemap b/Pods/Target Support Files/JWTDecode/JWTDecode.modulemap new file mode 100644 index 0000000..dfb00d7 --- /dev/null +++ b/Pods/Target Support Files/JWTDecode/JWTDecode.modulemap @@ -0,0 +1,6 @@ +framework module JWTDecode { + umbrella header "JWTDecode-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/JWTDecode/JWTDecode.xcconfig b/Pods/Target Support Files/JWTDecode/JWTDecode.xcconfig new file mode 100644 index 0000000..9cca5a1 --- /dev/null +++ b/Pods/Target Support Files/JWTDecode/JWTDecode.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/JWTDecode +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = $BUILD_DIR +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/JWTDecode +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.markdown b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.markdown index bcad5b8..d2810f1 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.markdown @@ -24,6 +24,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## JWTDecode + +The MIT License (MIT) + +Copyright (c) 2014 Auth0, Inc. (http://auth0.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ## SwiftQRCode The MIT License (MIT) diff --git a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.plist b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.plist index 124380c..a121be9 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-acknowledgements.plist @@ -44,6 +44,37 @@ THE SOFTWARE. FooterText The MIT License (MIT) + +Copyright (c) 2014 Auth0, Inc. <support@auth0.com> (http://auth0.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + JWTDecode + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) Copyright (c) 2015 Fan Liu diff --git a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-frameworks.sh b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-frameworks.sh index 0b9667d..474821e 100755 --- a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-frameworks.sh +++ b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR-frameworks.sh @@ -90,11 +90,13 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" + install_framework "$BUILT_PRODUCTS_DIR/JWTDecode/JWTDecode.framework" install_framework "$BUILT_PRODUCTS_DIR/SwiftQRCode/SwiftQRCode.framework" install_framework "$BUILT_PRODUCTS_DIR/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "$BUILT_PRODUCTS_DIR/Alamofire/Alamofire.framework" + install_framework "$BUILT_PRODUCTS_DIR/JWTDecode/JWTDecode.framework" install_framework "$BUILT_PRODUCTS_DIR/SwiftQRCode/SwiftQRCode.framework" install_framework "$BUILT_PRODUCTS_DIR/SwiftyJSON/SwiftyJSON.framework" fi diff --git a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.debug.xcconfig b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.debug.xcconfig index 731468b..2e51434 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.debug.xcconfig +++ b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.debug.xcconfig @@ -1,9 +1,9 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "SwiftQRCode" -framework "SwiftyJSON" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode/JWTDecode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "JWTDecode" -framework "SwiftQRCode" -framework "SwiftyJSON" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.release.xcconfig b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.release.xcconfig index 731468b..2e51434 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.release.xcconfig +++ b/Pods/Target Support Files/Pods-HackIllinois: QR/Pods-HackIllinois: QR.release.xcconfig @@ -1,9 +1,9 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "SwiftQRCode" -framework "SwiftyJSON" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode/JWTDecode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "JWTDecode" -framework "SwiftQRCode" -framework "SwiftyJSON" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.debug.xcconfig b/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.debug.xcconfig index 5db08c6..ae5b36a 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.debug.xcconfig @@ -1,7 +1,7 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode/JWTDecode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.release.xcconfig b/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.release.xcconfig index 5db08c6..ae5b36a 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.release.xcconfig +++ b/Pods/Target Support Files/Pods-HackIllinois: QRTests/Pods-HackIllinois: QRTests.release.xcconfig @@ -1,7 +1,7 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode/JWTDecode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.debug.xcconfig b/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.debug.xcconfig index 5db08c6..ae5b36a 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.debug.xcconfig @@ -1,7 +1,7 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode/JWTDecode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT}/Pods diff --git a/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.release.xcconfig b/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.release.xcconfig index 5db08c6..ae5b36a 100644 --- a/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.release.xcconfig +++ b/Pods/Target Support Files/Pods-HackIllinois: QRUITests/Pods-HackIllinois: QRUITests.release.xcconfig @@ -1,7 +1,7 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/JWTDecode/JWTDecode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftQRCode/SwiftQRCode.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT}/Pods