diff --git a/.DS_Store b/.DS_Store index 85cc8cf..a6f465a 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Package.resolved b/Package.resolved index 43fe104..3d2df63 100644 --- a/Package.resolved +++ b/Package.resolved @@ -64,13 +64,22 @@ "version": "0.5.3" } }, + { + "package": "SwiftQueue", + "repositoryURL": "https://github.com/OperatorFoundation/SwiftQueue.git", + "state": { + "branch": null, + "revision": "047666d1e4d804d090ae9588aa5bfc9b77c800c3", + "version": "0.0.1" + } + }, { "package": "Transport", "repositoryURL": "https://github.com/OperatorFoundation/Transport.git", "state": { "branch": null, - "revision": "1bfcf07f796c7a22b5862a0953182bee0aaa2634", - "version": "0.0.3" + "revision": "1e49592a44568ffb735385575f85058394d24a65", + "version": "0.0.4" } } ] diff --git a/Package.swift b/Package.swift index ca98c2a..9be4c09 100644 --- a/Package.swift +++ b/Package.swift @@ -13,6 +13,9 @@ let package = Package( .library( name: "Wisp", targets: ["Wisp"]), + .library( + name: "ShapeshifterTesting", + targets: ["ShapeshifterTesting"]) ], dependencies: [ // Dependencies declare other packages that this package depends on. @@ -22,6 +25,7 @@ let package = Package( .package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", from: "0.7.2"), .package(url: "https://github.com/Bouke/HKDF.git", from: "3.0.1"), .package(url: "https://github.com/OperatorFoundation/Elligator.git", from: "0.1.0"), + .package(url: "https://github.com/OperatorFoundation/SwiftQueue.git", from: "0.0.1") ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. @@ -29,13 +33,13 @@ let package = Package( .target( name: "Meek", - dependencies: ["CryptoSwift", "Transport"]), + dependencies: ["CryptoSwift", "Transport", "SwiftQueue"]), .testTarget( name: "MeekTests", dependencies: ["Meek", "ShapeshifterTesting"]), .target( name: "Wisp", - dependencies: ["CommonCrypto", "Sodium", "CryptoSwift", "HKDF", "Elligator", "Transport"]), + dependencies: ["CommonCrypto", "Sodium", "CryptoSwift", "HKDF", "Elligator", "Transport", "SwiftQueue"]), .testTarget( name: "WispTests", dependencies: ["Wisp", "ShapeshifterTesting"]), diff --git a/Shapeshifter-Swift-Transports.xcodeproj/project.pbxproj b/Shapeshifter-Swift-Transports.xcodeproj/project.pbxproj index 757c198..fb464fb 100644 --- a/Shapeshifter-Swift-Transports.xcodeproj/project.pbxproj +++ b/Shapeshifter-Swift-Transports.xcodeproj/project.pbxproj @@ -9,7 +9,7 @@ /* Begin PBXAggregateTarget section */ "CommonCrypto::CommonCrypto::ProductTarget" /* CommonCrypto */ = { isa = PBXAggregateTarget; - buildConfigurationList = OBJ_193 /* Build configuration list for PBXAggregateTarget "CommonCrypto" */; + buildConfigurationList = OBJ_199 /* Build configuration list for PBXAggregateTarget "CommonCrypto" */; buildPhases = ( ); dependencies = ( @@ -19,12 +19,12 @@ }; "Shapeshifter-Swift-Transports::Shapeshifter-Swift-TransportsPackageTests::ProductTarget" /* Shapeshifter-Swift-TransportsPackageTests */ = { isa = PBXAggregateTarget; - buildConfigurationList = OBJ_374 /* Build configuration list for PBXAggregateTarget "Shapeshifter-Swift-TransportsPackageTests" */; + buildConfigurationList = OBJ_385 /* Build configuration list for PBXAggregateTarget "Shapeshifter-Swift-TransportsPackageTests" */; buildPhases = ( ); dependencies = ( - OBJ_377 /* PBXTargetDependency */, - OBJ_378 /* PBXTargetDependency */, + OBJ_388 /* PBXTargetDependency */, + OBJ_389 /* PBXTargetDependency */, ); name = "Shapeshifter-Swift-TransportsPackageTests"; productName = "Shapeshifter-Swift-TransportsPackageTests"; @@ -32,387 +32,422 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - OBJ_201 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* AEAD.swift */; }; - OBJ_202 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* AEADChaCha20Poly1305.swift */; }; - OBJ_203 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* AES.Cryptors.swift */; }; - OBJ_204 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* AES.swift */; }; - OBJ_205 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* Array+Extension.swift */; }; - OBJ_206 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* Authenticator.swift */; }; - OBJ_207 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* BatchedCollection.swift */; }; - OBJ_208 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* Bit.swift */; }; - OBJ_209 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* BlockCipher.swift */; }; - OBJ_210 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* BlockMode.swift */; }; - OBJ_211 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* BlockModeOptions.swift */; }; - OBJ_212 /* BlockModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* BlockModeWorker.swift */; }; - OBJ_213 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* CBC.swift */; }; - OBJ_214 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* CFB.swift */; }; - OBJ_215 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* CTR.swift */; }; - OBJ_216 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* ECB.swift */; }; - OBJ_217 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_101 /* OFB.swift */; }; - OBJ_218 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* PCBC.swift */; }; - OBJ_219 /* RandomAccessBlockModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* RandomAccessBlockModeWorker.swift */; }; - OBJ_220 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_104 /* Blowfish.swift */; }; - OBJ_221 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_105 /* CMAC.swift */; }; - OBJ_222 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* ChaCha20.swift */; }; - OBJ_223 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* Checksum.swift */; }; - OBJ_224 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* Cipher.swift */; }; - OBJ_225 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* Collection+Extension.swift */; }; - OBJ_226 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* CompactMap.swift */; }; - OBJ_227 /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* Cryptors.swift */; }; - OBJ_228 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* Digest.swift */; }; - OBJ_229 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_113 /* DigestType.swift */; }; - OBJ_230 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* AES+Foundation.swift */; }; - OBJ_231 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_116 /* Array+Foundation.swift */; }; - OBJ_232 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_117 /* Blowfish+Foundation.swift */; }; - OBJ_233 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* ChaCha20+Foundation.swift */; }; - OBJ_234 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_119 /* Data+Extension.swift */; }; - OBJ_235 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* HMAC+Foundation.swift */; }; - OBJ_236 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* Rabbit+Foundation.swift */; }; - OBJ_237 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* String+FoundationExtension.swift */; }; - OBJ_238 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* Utils+Foundation.swift */; }; - OBJ_239 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* Generics.swift */; }; - OBJ_240 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* HKDF.swift */; }; - OBJ_241 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* HMAC.swift */; }; - OBJ_242 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_127 /* Int+Extension.swift */; }; - OBJ_243 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_128 /* MD5.swift */; }; - OBJ_244 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_129 /* NoPadding.swift */; }; - OBJ_245 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_130 /* Operators.swift */; }; - OBJ_246 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_132 /* PBKDF1.swift */; }; - OBJ_247 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_133 /* PBKDF2.swift */; }; - OBJ_248 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_134 /* PKCS5.swift */; }; - OBJ_249 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_135 /* PKCS7.swift */; }; - OBJ_250 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_136 /* PKCS7Padding.swift */; }; - OBJ_251 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_137 /* Padding.swift */; }; - OBJ_252 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_138 /* Poly1305.swift */; }; - OBJ_253 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_139 /* Rabbit.swift */; }; - OBJ_254 /* RandomAccessCryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_140 /* RandomAccessCryptor.swift */; }; - OBJ_255 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_141 /* RandomBytesSequence.swift */; }; - OBJ_256 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_142 /* SHA1.swift */; }; - OBJ_257 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_143 /* SHA2.swift */; }; - OBJ_258 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_144 /* SHA3.swift */; }; - OBJ_259 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_145 /* SecureBytes.swift */; }; - OBJ_260 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_146 /* String+Extension.swift */; }; - OBJ_261 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_147 /* UInt16+Extension.swift */; }; - OBJ_262 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_148 /* UInt32+Extension.swift */; }; - OBJ_263 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_149 /* UInt64+Extension.swift */; }; - OBJ_264 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_150 /* UInt8+Extension.swift */; }; - OBJ_265 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_151 /* Updatable.swift */; }; - OBJ_266 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_152 /* Utils.swift */; }; - OBJ_267 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_153 /* ZeroPadding.swift */; }; - OBJ_274 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_154 /* Package.swift */; }; - OBJ_280 /* Crypto.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* Crypto.swift */; }; - OBJ_281 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* Cryptor.swift */; }; - OBJ_282 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* Digest.swift */; }; - OBJ_283 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* HMAC.swift */; }; - OBJ_284 /* KeyDerivation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* KeyDerivation.swift */; }; - OBJ_285 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* Random.swift */; }; - OBJ_286 /* Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* Status.swift */; }; - OBJ_287 /* StreamCryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* StreamCryptor.swift */; }; - OBJ_288 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* Updatable.swift */; }; - OBJ_289 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* Utilities.swift */; }; - OBJ_296 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_80 /* Package.swift */; }; - OBJ_302 /* Elligator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* Elligator.swift */; }; - OBJ_304 /* ElligatorObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */; }; - OBJ_305 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; - OBJ_314 /* ElligatorObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_58 /* ElligatorObjC.mm */; }; - OBJ_316 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; - OBJ_323 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_64 /* Package.swift */; }; - OBJ_329 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* HKDF.swift */; }; - OBJ_331 /* Cryptor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Cryptor::Cryptor::Product" /* Cryptor.framework */; }; - OBJ_338 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_66 /* Package.swift */; }; - OBJ_344 /* MeekTCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* MeekTCPConnection.swift */; }; - OBJ_346 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; - OBJ_347 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; - OBJ_356 /* MeekTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* MeekTests.swift */; }; - OBJ_358 /* ShapeshifterTesting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */; }; - OBJ_359 /* Meek.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::Meek::Product" /* Meek.framework */; }; - OBJ_360 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; - OBJ_361 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; - OBJ_372 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; - OBJ_384 /* FakePacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* FakePacketTunnelProvider.swift */; }; - OBJ_385 /* FakeTCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* FakeTCPConnection.swift */; }; - OBJ_386 /* FakeUDPSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* FakeUDPSession.swift */; }; - OBJ_388 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; - OBJ_395 /* Auth.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_158 /* Auth.swift */; }; - OBJ_396 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_159 /* Box.swift */; }; - OBJ_397 /* GenericHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_160 /* GenericHash.swift */; }; - OBJ_398 /* KeyDerivation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_161 /* KeyDerivation.swift */; }; - OBJ_399 /* KeyExchange.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_162 /* KeyExchange.swift */; }; - OBJ_400 /* PWHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_163 /* PWHash.swift */; }; - OBJ_401 /* RandomBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_164 /* RandomBytes.swift */; }; - OBJ_402 /* SecretBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_165 /* SecretBox.swift */; }; - OBJ_403 /* SecretStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_166 /* SecretStream.swift */; }; - OBJ_404 /* ShortHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_167 /* ShortHash.swift */; }; - OBJ_405 /* Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_168 /* Sign.swift */; }; - OBJ_406 /* Sodium.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_169 /* Sodium.swift */; }; - OBJ_407 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_170 /* Stream.swift */; }; - OBJ_408 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* Utils.swift */; }; - OBJ_414 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_174 /* PacketTunnelProvider.swift */; }; - OBJ_415 /* TCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_175 /* TCPConnection.swift */; }; - OBJ_416 /* UDPSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_176 /* UDPSession.swift */; }; - OBJ_423 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_177 /* Package.swift */; }; - OBJ_429 /* WispCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* WispCoding.swift */; }; - OBJ_430 /* WispConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* WispConstants.swift */; }; - OBJ_431 /* WispErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* WispErrors.swift */; }; - OBJ_432 /* WispProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* WispProtocol.swift */; }; - OBJ_433 /* WispTCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* WispTCPConnection.swift */; }; - OBJ_435 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; - OBJ_436 /* Elligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::Elligator::Product" /* Elligator.framework */; }; - OBJ_437 /* ElligatorObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */; }; - OBJ_438 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; - OBJ_439 /* HKDF.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "HKDF::HKDF::Product" /* HKDF.framework */; }; - OBJ_440 /* Cryptor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Cryptor::Cryptor::Product" /* Cryptor.framework */; }; - OBJ_441 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; - OBJ_442 /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "swift-sodium::Sodium::Product" /* Sodium.framework */; }; - OBJ_455 /* WispTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* WispTests.swift */; }; - OBJ_457 /* ShapeshifterTesting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */; }; - OBJ_458 /* Wisp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::Wisp::Product" /* Wisp.framework */; }; - OBJ_459 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; - OBJ_460 /* Elligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::Elligator::Product" /* Elligator.framework */; }; - OBJ_461 /* ElligatorObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */; }; - OBJ_462 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; - OBJ_463 /* HKDF.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "HKDF::HKDF::Product" /* HKDF.framework */; }; - OBJ_464 /* Cryptor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Cryptor::Cryptor::Product" /* Cryptor.framework */; }; - OBJ_465 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; - OBJ_466 /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "swift-sodium::Sodium::Product" /* Sodium.framework */; }; - OBJ_481 /* crypto_verify_32.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* crypto_verify_32.cc */; }; - OBJ_482 /* elligator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* elligator.cpp */; }; - OBJ_483 /* fe_add.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* fe_add.cc */; }; - OBJ_484 /* fe_cmov.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* fe_cmov.cc */; }; - OBJ_485 /* fe_copy.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* fe_copy.cc */; }; - OBJ_486 /* fe_frombytes.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* fe_frombytes.cc */; }; - OBJ_487 /* fe_invert.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* fe_invert.cc */; }; - OBJ_488 /* fe_isnonzero.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* fe_isnonzero.cc */; }; - OBJ_489 /* fe_mul.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* fe_mul.cc */; }; - OBJ_490 /* fe_neg.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* fe_neg.cc */; }; - OBJ_491 /* fe_sq.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* fe_sq.cc */; }; - OBJ_492 /* fe_sq2.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* fe_sq2.cc */; }; - OBJ_493 /* fe_sub.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* fe_sub.cc */; }; - OBJ_494 /* fe_tobytes.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* fe_tobytes.cc */; }; - OBJ_495 /* ge_madd.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* ge_madd.cc */; }; - OBJ_496 /* ge_p1p1_to_p2.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_44 /* ge_p1p1_to_p2.cc */; }; - OBJ_497 /* ge_p1p1_to_p3.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_45 /* ge_p1p1_to_p3.cc */; }; - OBJ_498 /* ge_p2_dbl.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* ge_p2_dbl.cc */; }; - OBJ_499 /* ge_p3_0.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* ge_p3_0.cc */; }; - OBJ_500 /* ge_p3_dbl.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* ge_p3_dbl.cc */; }; - OBJ_501 /* ge_p3_to_p2.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* ge_p3_to_p2.cc */; }; - OBJ_502 /* ge_precomp_0.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_50 /* ge_precomp_0.cc */; }; - OBJ_503 /* ge_scalarmult_base.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* ge_scalarmult_base.cc */; }; - OBJ_510 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_156 /* Package.swift */; }; + OBJ_207 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* AEAD.swift */; }; + OBJ_208 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* AEADChaCha20Poly1305.swift */; }; + OBJ_209 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* AES.Cryptors.swift */; }; + OBJ_210 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* AES.swift */; }; + OBJ_211 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* Array+Extension.swift */; }; + OBJ_212 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* Authenticator.swift */; }; + OBJ_213 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* BatchedCollection.swift */; }; + OBJ_214 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* Bit.swift */; }; + OBJ_215 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* BlockCipher.swift */; }; + OBJ_216 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* BlockMode.swift */; }; + OBJ_217 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* BlockModeOptions.swift */; }; + OBJ_218 /* BlockModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_101 /* BlockModeWorker.swift */; }; + OBJ_219 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* CBC.swift */; }; + OBJ_220 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* CFB.swift */; }; + OBJ_221 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_104 /* CTR.swift */; }; + OBJ_222 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_105 /* ECB.swift */; }; + OBJ_223 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* OFB.swift */; }; + OBJ_224 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* PCBC.swift */; }; + OBJ_225 /* RandomAccessBlockModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* RandomAccessBlockModeWorker.swift */; }; + OBJ_226 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* Blowfish.swift */; }; + OBJ_227 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* CMAC.swift */; }; + OBJ_228 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* ChaCha20.swift */; }; + OBJ_229 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* Checksum.swift */; }; + OBJ_230 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_113 /* Cipher.swift */; }; + OBJ_231 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_114 /* Collection+Extension.swift */; }; + OBJ_232 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* CompactMap.swift */; }; + OBJ_233 /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_116 /* Cryptors.swift */; }; + OBJ_234 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_117 /* Digest.swift */; }; + OBJ_235 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* DigestType.swift */; }; + OBJ_236 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* AES+Foundation.swift */; }; + OBJ_237 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* Array+Foundation.swift */; }; + OBJ_238 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* Blowfish+Foundation.swift */; }; + OBJ_239 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* ChaCha20+Foundation.swift */; }; + OBJ_240 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* Data+Extension.swift */; }; + OBJ_241 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* HMAC+Foundation.swift */; }; + OBJ_242 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* Rabbit+Foundation.swift */; }; + OBJ_243 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_127 /* String+FoundationExtension.swift */; }; + OBJ_244 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_128 /* Utils+Foundation.swift */; }; + OBJ_245 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_129 /* Generics.swift */; }; + OBJ_246 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_130 /* HKDF.swift */; }; + OBJ_247 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_131 /* HMAC.swift */; }; + OBJ_248 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_132 /* Int+Extension.swift */; }; + OBJ_249 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_133 /* MD5.swift */; }; + OBJ_250 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_134 /* NoPadding.swift */; }; + OBJ_251 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_135 /* Operators.swift */; }; + OBJ_252 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_137 /* PBKDF1.swift */; }; + OBJ_253 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_138 /* PBKDF2.swift */; }; + OBJ_254 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_139 /* PKCS5.swift */; }; + OBJ_255 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_140 /* PKCS7.swift */; }; + OBJ_256 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_141 /* PKCS7Padding.swift */; }; + OBJ_257 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_142 /* Padding.swift */; }; + OBJ_258 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_143 /* Poly1305.swift */; }; + OBJ_259 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_144 /* Rabbit.swift */; }; + OBJ_260 /* RandomAccessCryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_145 /* RandomAccessCryptor.swift */; }; + OBJ_261 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_146 /* RandomBytesSequence.swift */; }; + OBJ_262 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_147 /* SHA1.swift */; }; + OBJ_263 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_148 /* SHA2.swift */; }; + OBJ_264 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_149 /* SHA3.swift */; }; + OBJ_265 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_150 /* SecureBytes.swift */; }; + OBJ_266 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_151 /* String+Extension.swift */; }; + OBJ_267 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_152 /* UInt16+Extension.swift */; }; + OBJ_268 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_153 /* UInt32+Extension.swift */; }; + OBJ_269 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_154 /* UInt64+Extension.swift */; }; + OBJ_270 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_155 /* UInt8+Extension.swift */; }; + OBJ_271 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_156 /* Updatable.swift */; }; + OBJ_272 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_157 /* Utils.swift */; }; + OBJ_273 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_158 /* ZeroPadding.swift */; }; + OBJ_280 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_159 /* Package.swift */; }; + OBJ_286 /* Crypto.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* Crypto.swift */; }; + OBJ_287 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* Cryptor.swift */; }; + OBJ_288 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* Digest.swift */; }; + OBJ_289 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* HMAC.swift */; }; + OBJ_290 /* KeyDerivation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* KeyDerivation.swift */; }; + OBJ_291 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_80 /* Random.swift */; }; + OBJ_292 /* Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_81 /* Status.swift */; }; + OBJ_293 /* StreamCryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* StreamCryptor.swift */; }; + OBJ_294 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* Updatable.swift */; }; + OBJ_295 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* Utilities.swift */; }; + OBJ_302 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* Package.swift */; }; + OBJ_308 /* Elligator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_68 /* Elligator.swift */; }; + OBJ_310 /* ElligatorObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */; }; + OBJ_311 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; + OBJ_320 /* ElligatorObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* ElligatorObjC.mm */; }; + OBJ_322 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; + OBJ_329 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* Package.swift */; }; + OBJ_335 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* HKDF.swift */; }; + OBJ_337 /* Cryptor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Cryptor::Cryptor::Product" /* Cryptor.framework */; }; + OBJ_344 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* Package.swift */; }; + OBJ_350 /* MeekTCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* MeekTCPConnection.swift */; }; + OBJ_352 /* SwiftQueue.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */; }; + OBJ_353 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; + OBJ_354 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; + OBJ_365 /* MeekTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* MeekTests.swift */; }; + OBJ_367 /* ShapeshifterTesting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */; }; + OBJ_368 /* Meek.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::Meek::Product" /* Meek.framework */; }; + OBJ_369 /* SwiftQueue.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */; }; + OBJ_370 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; + OBJ_371 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; + OBJ_383 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; + OBJ_395 /* FakePacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* FakePacketTunnelProvider.swift */; }; + OBJ_396 /* FakeTCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* FakeTCPConnection.swift */; }; + OBJ_397 /* FakeUDPSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* FakeUDPSession.swift */; }; + OBJ_399 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; + OBJ_406 /* Auth.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_163 /* Auth.swift */; }; + OBJ_407 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_164 /* Box.swift */; }; + OBJ_408 /* GenericHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_165 /* GenericHash.swift */; }; + OBJ_409 /* KeyDerivation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_166 /* KeyDerivation.swift */; }; + OBJ_410 /* KeyExchange.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_167 /* KeyExchange.swift */; }; + OBJ_411 /* PWHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_168 /* PWHash.swift */; }; + OBJ_412 /* RandomBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_169 /* RandomBytes.swift */; }; + OBJ_413 /* SecretBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_170 /* SecretBox.swift */; }; + OBJ_414 /* SecretStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* SecretStream.swift */; }; + OBJ_415 /* ShortHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_172 /* ShortHash.swift */; }; + OBJ_416 /* Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_173 /* Sign.swift */; }; + OBJ_417 /* Sodium.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_174 /* Sodium.swift */; }; + OBJ_418 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_175 /* Stream.swift */; }; + OBJ_419 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_176 /* Utils.swift */; }; + OBJ_425 /* LinkedList.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* LinkedList.swift */; }; + OBJ_426 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* Queue.swift */; }; + OBJ_433 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Package.swift */; }; + OBJ_438 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_179 /* PacketTunnelProvider.swift */; }; + OBJ_439 /* TCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_180 /* TCPConnection.swift */; }; + OBJ_440 /* UDPSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_181 /* UDPSession.swift */; }; + OBJ_447 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_182 /* Package.swift */; }; + OBJ_453 /* WispCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* WispCoding.swift */; }; + OBJ_454 /* WispConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* WispConstants.swift */; }; + OBJ_455 /* WispErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* WispErrors.swift */; }; + OBJ_456 /* WispProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* WispProtocol.swift */; }; + OBJ_457 /* WispTCPConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* WispTCPConnection.swift */; }; + OBJ_459 /* SwiftQueue.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */; }; + OBJ_460 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; + OBJ_461 /* Elligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::Elligator::Product" /* Elligator.framework */; }; + OBJ_462 /* ElligatorObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */; }; + OBJ_463 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; + OBJ_464 /* HKDF.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "HKDF::HKDF::Product" /* HKDF.framework */; }; + OBJ_465 /* Cryptor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Cryptor::Cryptor::Product" /* Cryptor.framework */; }; + OBJ_466 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; + OBJ_467 /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "swift-sodium::Sodium::Product" /* Sodium.framework */; }; + OBJ_481 /* WispTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* WispTests.swift */; }; + OBJ_483 /* ShapeshifterTesting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */; }; + OBJ_484 /* Wisp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Shapeshifter-Swift-Transports::Wisp::Product" /* Wisp.framework */; }; + OBJ_485 /* SwiftQueue.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */; }; + OBJ_486 /* Transport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Transport::Transport::Product" /* Transport.framework */; }; + OBJ_487 /* Elligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::Elligator::Product" /* Elligator.framework */; }; + OBJ_488 /* ElligatorObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */; }; + OBJ_489 /* celligator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Elligator::celligator::Product" /* celligator.framework */; }; + OBJ_490 /* HKDF.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "HKDF::HKDF::Product" /* HKDF.framework */; }; + OBJ_491 /* Cryptor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Cryptor::Cryptor::Product" /* Cryptor.framework */; }; + OBJ_492 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */; }; + OBJ_493 /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "swift-sodium::Sodium::Product" /* Sodium.framework */; }; + OBJ_509 /* crypto_verify_32.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* crypto_verify_32.cc */; }; + OBJ_510 /* elligator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* elligator.cpp */; }; + OBJ_511 /* fe_add.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* fe_add.cc */; }; + OBJ_512 /* fe_cmov.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* fe_cmov.cc */; }; + OBJ_513 /* fe_copy.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* fe_copy.cc */; }; + OBJ_514 /* fe_frombytes.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* fe_frombytes.cc */; }; + OBJ_515 /* fe_invert.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* fe_invert.cc */; }; + OBJ_516 /* fe_isnonzero.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* fe_isnonzero.cc */; }; + OBJ_517 /* fe_mul.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* fe_mul.cc */; }; + OBJ_518 /* fe_neg.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* fe_neg.cc */; }; + OBJ_519 /* fe_sq.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_44 /* fe_sq.cc */; }; + OBJ_520 /* fe_sq2.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_45 /* fe_sq2.cc */; }; + OBJ_521 /* fe_sub.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* fe_sub.cc */; }; + OBJ_522 /* fe_tobytes.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* fe_tobytes.cc */; }; + OBJ_523 /* ge_madd.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* ge_madd.cc */; }; + OBJ_524 /* ge_p1p1_to_p2.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* ge_p1p1_to_p2.cc */; }; + OBJ_525 /* ge_p1p1_to_p3.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_50 /* ge_p1p1_to_p3.cc */; }; + OBJ_526 /* ge_p2_dbl.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* ge_p2_dbl.cc */; }; + OBJ_527 /* ge_p3_0.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_52 /* ge_p3_0.cc */; }; + OBJ_528 /* ge_p3_dbl.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_53 /* ge_p3_dbl.cc */; }; + OBJ_529 /* ge_p3_to_p2.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_54 /* ge_p3_to_p2.cc */; }; + OBJ_530 /* ge_precomp_0.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_55 /* ge_precomp_0.cc */; }; + OBJ_531 /* ge_scalarmult_base.cc in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_56 /* ge_scalarmult_base.cc */; }; + OBJ_538 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_161 /* Package.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 4691A4722099FBC10013861F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Elligator::ElligatorObjC"; - remoteInfo = ElligatorObjC; - }; - 4691A4732099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A220ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "Elligator::celligator"; - remoteInfo = celligator; + remoteGlobalIDString = "Transport::Transport"; + remoteInfo = Transport; }; - 4691A4742099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A320ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "Elligator::celligator"; - remoteInfo = celligator; + remoteGlobalIDString = "SwiftQueue::SwiftQueue"; + remoteInfo = SwiftQueue; }; - 4691A4752099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A420ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Transport::Transport"; remoteInfo = Transport; }; - 4691A4762099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A520ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Elligator::Elligator"; remoteInfo = Elligator; }; - 4691A4772099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A620ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Elligator::ElligatorObjC"; remoteInfo = ElligatorObjC; }; - 4691A4782099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A720ACD19000CFBBBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Elligator::celligator"; + remoteInfo = celligator; + }; + 468318A820ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Elligator::celligator"; remoteInfo = celligator; }; - 4691A4792099FBC10013861F /* PBXContainerItemProxy */ = { + 468318A920ACD19000CFBBBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Elligator::ElligatorObjC"; + remoteInfo = ElligatorObjC; + }; + 468318AA20ACD19000CFBBBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Elligator::celligator"; + remoteInfo = celligator; + }; + 468318AB20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "HKDF::HKDF"; remoteInfo = HKDF; }; - 4691A47A2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318AC20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Cryptor::Cryptor"; remoteInfo = Cryptor; }; - 4691A47B2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318AD20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Cryptor::Cryptor"; remoteInfo = Cryptor; }; - 4691A47C2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318AE20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "CryptoSwift::CryptoSwift"; remoteInfo = CryptoSwift; }; - 4691A47D2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318AF20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "swift-sodium::Sodium"; remoteInfo = Sodium; }; - 4691A47E2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B020ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "Transport::Transport"; - remoteInfo = Transport; + remoteGlobalIDString = "SwiftQueue::SwiftQueue"; + remoteInfo = SwiftQueue; }; - 4691A47F2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B120ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Transport::Transport"; remoteInfo = Transport; }; - 4691A4802099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B220ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "CryptoSwift::CryptoSwift"; remoteInfo = CryptoSwift; }; - 4691A4812099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B320ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Shapeshifter-Swift-Transports::ShapeshifterTesting"; remoteInfo = ShapeshifterTesting; }; - 4691A4822099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B420ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Shapeshifter-Swift-Transports::Meek"; remoteInfo = Meek; }; - 4691A4832099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B520ACD19000CFBBBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SwiftQueue::SwiftQueue"; + remoteInfo = SwiftQueue; + }; + 468318B620ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Transport::Transport"; remoteInfo = Transport; }; - 4691A4842099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B720ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "CryptoSwift::CryptoSwift"; remoteInfo = CryptoSwift; }; - 4691A4852099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B820ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Shapeshifter-Swift-Transports::ShapeshifterTesting"; remoteInfo = ShapeshifterTesting; }; - 4691A4862099FBC10013861F /* PBXContainerItemProxy */ = { + 468318B920ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Shapeshifter-Swift-Transports::Wisp"; remoteInfo = Wisp; }; - 4691A4872099FBC10013861F /* PBXContainerItemProxy */ = { + 468318BA20ACD19000CFBBBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SwiftQueue::SwiftQueue"; + remoteInfo = SwiftQueue; + }; + 468318BB20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Transport::Transport"; remoteInfo = Transport; }; - 4691A4882099FBC10013861F /* PBXContainerItemProxy */ = { + 468318BC20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Elligator::Elligator"; remoteInfo = Elligator; }; - 4691A4892099FBC10013861F /* PBXContainerItemProxy */ = { + 468318BD20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Elligator::ElligatorObjC"; remoteInfo = ElligatorObjC; }; - 4691A48A2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318BE20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Elligator::celligator"; remoteInfo = celligator; }; - 4691A48B2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318BF20ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "HKDF::HKDF"; remoteInfo = HKDF; }; - 4691A48C2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318C020ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Cryptor::Cryptor"; remoteInfo = Cryptor; }; - 4691A48D2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318C120ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "CryptoSwift::CryptoSwift"; remoteInfo = CryptoSwift; }; - 4691A48E2099FBC10013861F /* PBXContainerItemProxy */ = { + 468318C220ACD19000CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "swift-sodium::Sodium"; remoteInfo = Sodium; }; - 4691A48F2099FBC30013861F /* PBXContainerItemProxy */ = { + 468318C320ACD19200CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Shapeshifter-Swift-Transports::MeekTests"; remoteInfo = MeekTests; }; - 4691A4902099FBC30013861F /* PBXContainerItemProxy */ = { + 468318C420ACD19200CFBBBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; @@ -428,275 +463,290 @@ "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ElligatorObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Elligator::celligator::Product" /* celligator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = celligator.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "HKDF::HKDF::Product" /* HKDF.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HKDF.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - OBJ_100 /* ECB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ECB.swift; sourceTree = ""; }; - OBJ_101 /* OFB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OFB.swift; sourceTree = ""; }; - OBJ_102 /* PCBC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PCBC.swift; sourceTree = ""; }; - OBJ_103 /* RandomAccessBlockModeWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomAccessBlockModeWorker.swift; sourceTree = ""; }; - OBJ_104 /* Blowfish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Blowfish.swift; sourceTree = ""; }; - OBJ_105 /* CMAC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CMAC.swift; sourceTree = ""; }; - OBJ_106 /* ChaCha20.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChaCha20.swift; sourceTree = ""; }; - OBJ_107 /* Checksum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Checksum.swift; sourceTree = ""; }; - OBJ_108 /* Cipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cipher.swift; sourceTree = ""; }; - OBJ_109 /* Collection+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+Extension.swift"; sourceTree = ""; }; + OBJ_100 /* BlockModeOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockModeOptions.swift; sourceTree = ""; }; + OBJ_101 /* BlockModeWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockModeWorker.swift; sourceTree = ""; }; + OBJ_102 /* CBC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CBC.swift; sourceTree = ""; }; + OBJ_103 /* CFB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CFB.swift; sourceTree = ""; }; + OBJ_104 /* CTR.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CTR.swift; sourceTree = ""; }; + OBJ_105 /* ECB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ECB.swift; sourceTree = ""; }; + OBJ_106 /* OFB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OFB.swift; sourceTree = ""; }; + OBJ_107 /* PCBC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PCBC.swift; sourceTree = ""; }; + OBJ_108 /* RandomAccessBlockModeWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomAccessBlockModeWorker.swift; sourceTree = ""; }; + OBJ_109 /* Blowfish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Blowfish.swift; sourceTree = ""; }; OBJ_11 /* FakePacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakePacketTunnelProvider.swift; sourceTree = ""; }; - OBJ_110 /* CompactMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompactMap.swift; sourceTree = ""; }; - OBJ_111 /* Cryptors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cryptors.swift; sourceTree = ""; }; - OBJ_112 /* Digest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Digest.swift; sourceTree = ""; }; - OBJ_113 /* DigestType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DigestType.swift; sourceTree = ""; }; - OBJ_115 /* AES+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AES+Foundation.swift"; sourceTree = ""; }; - OBJ_116 /* Array+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Foundation.swift"; sourceTree = ""; }; - OBJ_117 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Blowfish+Foundation.swift"; sourceTree = ""; }; - OBJ_118 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ChaCha20+Foundation.swift"; sourceTree = ""; }; - OBJ_119 /* Data+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Extension.swift"; sourceTree = ""; }; + OBJ_110 /* CMAC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CMAC.swift; sourceTree = ""; }; + OBJ_111 /* ChaCha20.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChaCha20.swift; sourceTree = ""; }; + OBJ_112 /* Checksum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Checksum.swift; sourceTree = ""; }; + OBJ_113 /* Cipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cipher.swift; sourceTree = ""; }; + OBJ_114 /* Collection+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+Extension.swift"; sourceTree = ""; }; + OBJ_115 /* CompactMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompactMap.swift; sourceTree = ""; }; + OBJ_116 /* Cryptors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cryptors.swift; sourceTree = ""; }; + OBJ_117 /* Digest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Digest.swift; sourceTree = ""; }; + OBJ_118 /* DigestType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DigestType.swift; sourceTree = ""; }; OBJ_12 /* FakeTCPConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeTCPConnection.swift; sourceTree = ""; }; - OBJ_120 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "HMAC+Foundation.swift"; sourceTree = ""; }; - OBJ_121 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Rabbit+Foundation.swift"; sourceTree = ""; }; - OBJ_122 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+FoundationExtension.swift"; sourceTree = ""; }; - OBJ_123 /* Utils+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Utils+Foundation.swift"; sourceTree = ""; }; - OBJ_124 /* Generics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generics.swift; sourceTree = ""; }; - OBJ_125 /* HKDF.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HKDF.swift; sourceTree = ""; }; - OBJ_126 /* HMAC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMAC.swift; sourceTree = ""; }; - OBJ_127 /* Int+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Extension.swift"; sourceTree = ""; }; - OBJ_128 /* MD5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MD5.swift; sourceTree = ""; }; - OBJ_129 /* NoPadding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoPadding.swift; sourceTree = ""; }; + OBJ_120 /* AES+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AES+Foundation.swift"; sourceTree = ""; }; + OBJ_121 /* Array+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Foundation.swift"; sourceTree = ""; }; + OBJ_122 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Blowfish+Foundation.swift"; sourceTree = ""; }; + OBJ_123 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ChaCha20+Foundation.swift"; sourceTree = ""; }; + OBJ_124 /* Data+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Extension.swift"; sourceTree = ""; }; + OBJ_125 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "HMAC+Foundation.swift"; sourceTree = ""; }; + OBJ_126 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Rabbit+Foundation.swift"; sourceTree = ""; }; + OBJ_127 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+FoundationExtension.swift"; sourceTree = ""; }; + OBJ_128 /* Utils+Foundation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Utils+Foundation.swift"; sourceTree = ""; }; + OBJ_129 /* Generics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generics.swift; sourceTree = ""; }; OBJ_13 /* FakeUDPSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeUDPSession.swift; sourceTree = ""; }; - OBJ_130 /* Operators.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Operators.swift; sourceTree = ""; }; - OBJ_132 /* PBKDF1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBKDF1.swift; sourceTree = ""; }; - OBJ_133 /* PBKDF2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBKDF2.swift; sourceTree = ""; }; - OBJ_134 /* PKCS5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PKCS5.swift; sourceTree = ""; }; - OBJ_135 /* PKCS7.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PKCS7.swift; sourceTree = ""; }; - OBJ_136 /* PKCS7Padding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PKCS7Padding.swift; sourceTree = ""; }; - OBJ_137 /* Padding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Padding.swift; sourceTree = ""; }; - OBJ_138 /* Poly1305.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Poly1305.swift; sourceTree = ""; }; - OBJ_139 /* Rabbit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Rabbit.swift; sourceTree = ""; }; - OBJ_140 /* RandomAccessCryptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomAccessCryptor.swift; sourceTree = ""; }; - OBJ_141 /* RandomBytesSequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomBytesSequence.swift; sourceTree = ""; }; - OBJ_142 /* SHA1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SHA1.swift; sourceTree = ""; }; - OBJ_143 /* SHA2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SHA2.swift; sourceTree = ""; }; - OBJ_144 /* SHA3.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SHA3.swift; sourceTree = ""; }; - OBJ_145 /* SecureBytes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureBytes.swift; sourceTree = ""; }; - OBJ_146 /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; - OBJ_147 /* UInt16+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt16+Extension.swift"; sourceTree = ""; }; - OBJ_148 /* UInt32+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt32+Extension.swift"; sourceTree = ""; }; - OBJ_149 /* UInt64+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt64+Extension.swift"; sourceTree = ""; }; + OBJ_130 /* HKDF.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HKDF.swift; sourceTree = ""; }; + OBJ_131 /* HMAC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMAC.swift; sourceTree = ""; }; + OBJ_132 /* Int+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Extension.swift"; sourceTree = ""; }; + OBJ_133 /* MD5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MD5.swift; sourceTree = ""; }; + OBJ_134 /* NoPadding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoPadding.swift; sourceTree = ""; }; + OBJ_135 /* Operators.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Operators.swift; sourceTree = ""; }; + OBJ_137 /* PBKDF1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBKDF1.swift; sourceTree = ""; }; + OBJ_138 /* PBKDF2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBKDF2.swift; sourceTree = ""; }; + OBJ_139 /* PKCS5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PKCS5.swift; sourceTree = ""; }; + OBJ_140 /* PKCS7.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PKCS7.swift; sourceTree = ""; }; + OBJ_141 /* PKCS7Padding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PKCS7Padding.swift; sourceTree = ""; }; + OBJ_142 /* Padding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Padding.swift; sourceTree = ""; }; + OBJ_143 /* Poly1305.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Poly1305.swift; sourceTree = ""; }; + OBJ_144 /* Rabbit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Rabbit.swift; sourceTree = ""; }; + OBJ_145 /* RandomAccessCryptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomAccessCryptor.swift; sourceTree = ""; }; + OBJ_146 /* RandomBytesSequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomBytesSequence.swift; sourceTree = ""; }; + OBJ_147 /* SHA1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SHA1.swift; sourceTree = ""; }; + OBJ_148 /* SHA2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SHA2.swift; sourceTree = ""; }; + OBJ_149 /* SHA3.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SHA3.swift; sourceTree = ""; }; OBJ_15 /* WispCoding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WispCoding.swift; sourceTree = ""; }; - OBJ_150 /* UInt8+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt8+Extension.swift"; sourceTree = ""; }; - OBJ_151 /* Updatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Updatable.swift; sourceTree = ""; }; - OBJ_152 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; - OBJ_153 /* ZeroPadding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZeroPadding.swift; sourceTree = ""; }; - OBJ_154 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/CryptoSwift.git--6440749087414195235/Package.swift"; sourceTree = ""; }; - OBJ_156 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/swift-sodium.git-4026326239528637742/Package.swift"; sourceTree = ""; }; - OBJ_158 /* Auth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Auth.swift; sourceTree = ""; }; - OBJ_159 /* Box.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Box.swift; sourceTree = ""; }; + OBJ_150 /* SecureBytes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureBytes.swift; sourceTree = ""; }; + OBJ_151 /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; + OBJ_152 /* UInt16+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt16+Extension.swift"; sourceTree = ""; }; + OBJ_153 /* UInt32+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt32+Extension.swift"; sourceTree = ""; }; + OBJ_154 /* UInt64+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt64+Extension.swift"; sourceTree = ""; }; + OBJ_155 /* UInt8+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UInt8+Extension.swift"; sourceTree = ""; }; + OBJ_156 /* Updatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Updatable.swift; sourceTree = ""; }; + OBJ_157 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; + OBJ_158 /* ZeroPadding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZeroPadding.swift; sourceTree = ""; }; + OBJ_159 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/CryptoSwift.git--6440749087414195235/Package.swift"; sourceTree = ""; }; OBJ_16 /* WispConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WispConstants.swift; sourceTree = ""; }; - OBJ_160 /* GenericHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericHash.swift; sourceTree = ""; }; - OBJ_161 /* KeyDerivation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyDerivation.swift; sourceTree = ""; }; - OBJ_162 /* KeyExchange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyExchange.swift; sourceTree = ""; }; - OBJ_163 /* PWHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PWHash.swift; sourceTree = ""; }; - OBJ_164 /* RandomBytes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomBytes.swift; sourceTree = ""; }; - OBJ_165 /* SecretBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretBox.swift; sourceTree = ""; }; - OBJ_166 /* SecretStream.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretStream.swift; sourceTree = ""; }; - OBJ_167 /* ShortHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShortHash.swift; sourceTree = ""; }; - OBJ_168 /* Sign.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sign.swift; sourceTree = ""; }; - OBJ_169 /* Sodium.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sodium.swift; sourceTree = ""; }; + OBJ_161 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/swift-sodium.git-4026326239528637742/Package.swift"; sourceTree = ""; }; + OBJ_163 /* Auth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Auth.swift; sourceTree = ""; }; + OBJ_164 /* Box.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Box.swift; sourceTree = ""; }; + OBJ_165 /* GenericHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericHash.swift; sourceTree = ""; }; + OBJ_166 /* KeyDerivation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyDerivation.swift; sourceTree = ""; }; + OBJ_167 /* KeyExchange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyExchange.swift; sourceTree = ""; }; + OBJ_168 /* PWHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PWHash.swift; sourceTree = ""; }; + OBJ_169 /* RandomBytes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomBytes.swift; sourceTree = ""; }; OBJ_17 /* WispErrors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WispErrors.swift; sourceTree = ""; }; - OBJ_170 /* Stream.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stream.swift; sourceTree = ""; }; - OBJ_171 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; - OBJ_174 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = ""; }; - OBJ_175 /* TCPConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TCPConnection.swift; sourceTree = ""; }; - OBJ_176 /* UDPSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UDPSession.swift; sourceTree = ""; }; - OBJ_177 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/Transport.git-7971019246718298831/Package.swift"; sourceTree = ""; }; + OBJ_170 /* SecretBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretBox.swift; sourceTree = ""; }; + OBJ_171 /* SecretStream.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretStream.swift; sourceTree = ""; }; + OBJ_172 /* ShortHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShortHash.swift; sourceTree = ""; }; + OBJ_173 /* Sign.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sign.swift; sourceTree = ""; }; + OBJ_174 /* Sodium.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sodium.swift; sourceTree = ""; }; + OBJ_175 /* Stream.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stream.swift; sourceTree = ""; }; + OBJ_176 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; + OBJ_179 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = ""; }; OBJ_18 /* WispProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WispProtocol.swift; sourceTree = ""; }; + OBJ_180 /* TCPConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TCPConnection.swift; sourceTree = ""; }; + OBJ_181 /* UDPSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UDPSession.swift; sourceTree = ""; }; + OBJ_182 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/Transport.git-7971019246718298831/Package.swift"; sourceTree = ""; }; OBJ_19 /* WispTCPConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WispTCPConnection.swift; sourceTree = ""; }; OBJ_22 /* WispTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WispTests.swift; sourceTree = ""; }; OBJ_24 /* MeekTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeekTests.swift; sourceTree = ""; }; OBJ_25 /* Examples */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Examples; sourceTree = SOURCE_ROOT; }; - OBJ_29 /* crypto_verify_32.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = crypto_verify_32.cc; sourceTree = ""; }; - OBJ_30 /* elligator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = elligator.cpp; sourceTree = ""; }; - OBJ_31 /* fe_add.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_add.cc; sourceTree = ""; }; - OBJ_32 /* fe_cmov.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_cmov.cc; sourceTree = ""; }; - OBJ_33 /* fe_copy.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_copy.cc; sourceTree = ""; }; - OBJ_34 /* fe_frombytes.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_frombytes.cc; sourceTree = ""; }; - OBJ_35 /* fe_invert.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_invert.cc; sourceTree = ""; }; - OBJ_36 /* fe_isnonzero.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_isnonzero.cc; sourceTree = ""; }; - OBJ_37 /* fe_mul.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_mul.cc; sourceTree = ""; }; - OBJ_38 /* fe_neg.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_neg.cc; sourceTree = ""; }; - OBJ_39 /* fe_sq.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_sq.cc; sourceTree = ""; }; - OBJ_40 /* fe_sq2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_sq2.cc; sourceTree = ""; }; - OBJ_41 /* fe_sub.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_sub.cc; sourceTree = ""; }; - OBJ_42 /* fe_tobytes.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_tobytes.cc; sourceTree = ""; }; - OBJ_43 /* ge_madd.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_madd.cc; sourceTree = ""; }; - OBJ_44 /* ge_p1p1_to_p2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p1p1_to_p2.cc; sourceTree = ""; }; - OBJ_45 /* ge_p1p1_to_p3.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p1p1_to_p3.cc; sourceTree = ""; }; - OBJ_46 /* ge_p2_dbl.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p2_dbl.cc; sourceTree = ""; }; - OBJ_47 /* ge_p3_0.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p3_0.cc; sourceTree = ""; }; - OBJ_48 /* ge_p3_dbl.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p3_dbl.cc; sourceTree = ""; }; - OBJ_49 /* ge_p3_to_p2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p3_to_p2.cc; sourceTree = ""; }; - OBJ_50 /* ge_precomp_0.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_precomp_0.cc; sourceTree = ""; }; - OBJ_51 /* ge_scalarmult_base.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_scalarmult_base.cc; sourceTree = ""; }; - OBJ_53 /* fe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fe.h; sourceTree = ""; }; - OBJ_54 /* ge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ge.h; sourceTree = ""; }; - OBJ_55 /* base.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = base.h; sourceTree = ""; }; - OBJ_56 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/Shapeshifter-Swift-Transports.xcodeproj/GeneratedModuleMap/celligator/module.modulemap"; sourceTree = ""; }; - OBJ_58 /* ElligatorObjC.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ElligatorObjC.mm; sourceTree = ""; }; + OBJ_29 /* LinkedList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkedList.swift; sourceTree = ""; }; + OBJ_30 /* Queue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Queue.swift; sourceTree = ""; }; + OBJ_31 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/SwiftQueue.git--1803263377898760171/Package.swift"; sourceTree = ""; }; + OBJ_34 /* crypto_verify_32.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = crypto_verify_32.cc; sourceTree = ""; }; + OBJ_35 /* elligator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = elligator.cpp; sourceTree = ""; }; + OBJ_36 /* fe_add.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_add.cc; sourceTree = ""; }; + OBJ_37 /* fe_cmov.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_cmov.cc; sourceTree = ""; }; + OBJ_38 /* fe_copy.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_copy.cc; sourceTree = ""; }; + OBJ_39 /* fe_frombytes.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_frombytes.cc; sourceTree = ""; }; + OBJ_40 /* fe_invert.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_invert.cc; sourceTree = ""; }; + OBJ_41 /* fe_isnonzero.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_isnonzero.cc; sourceTree = ""; }; + OBJ_42 /* fe_mul.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_mul.cc; sourceTree = ""; }; + OBJ_43 /* fe_neg.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_neg.cc; sourceTree = ""; }; + OBJ_44 /* fe_sq.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_sq.cc; sourceTree = ""; }; + OBJ_45 /* fe_sq2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_sq2.cc; sourceTree = ""; }; + OBJ_46 /* fe_sub.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_sub.cc; sourceTree = ""; }; + OBJ_47 /* fe_tobytes.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fe_tobytes.cc; sourceTree = ""; }; + OBJ_48 /* ge_madd.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_madd.cc; sourceTree = ""; }; + OBJ_49 /* ge_p1p1_to_p2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p1p1_to_p2.cc; sourceTree = ""; }; + OBJ_50 /* ge_p1p1_to_p3.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p1p1_to_p3.cc; sourceTree = ""; }; + OBJ_51 /* ge_p2_dbl.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p2_dbl.cc; sourceTree = ""; }; + OBJ_52 /* ge_p3_0.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p3_0.cc; sourceTree = ""; }; + OBJ_53 /* ge_p3_dbl.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p3_dbl.cc; sourceTree = ""; }; + OBJ_54 /* ge_p3_to_p2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_p3_to_p2.cc; sourceTree = ""; }; + OBJ_55 /* ge_precomp_0.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_precomp_0.cc; sourceTree = ""; }; + OBJ_56 /* ge_scalarmult_base.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ge_scalarmult_base.cc; sourceTree = ""; }; + OBJ_58 /* fe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fe.h; sourceTree = ""; }; + OBJ_59 /* ge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ge.h; sourceTree = ""; }; OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; - OBJ_60 /* ElligatorObjC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ElligatorObjC.h; sourceTree = ""; }; - OBJ_61 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/Shapeshifter-Swift-Transports.xcodeproj/GeneratedModuleMap/ElligatorObjC/module.modulemap"; sourceTree = ""; }; - OBJ_63 /* Elligator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Elligator.swift; sourceTree = ""; }; - OBJ_64 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/Elligator.git-1685432175989269477/Package.swift"; sourceTree = ""; }; - OBJ_66 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/HKDF.git-3816566315579078428/Package.swift"; sourceTree = ""; }; - OBJ_67 /* HKDF.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HKDF.swift; sourceTree = ""; }; - OBJ_70 /* Crypto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Crypto.swift; sourceTree = ""; }; - OBJ_71 /* Cryptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cryptor.swift; sourceTree = ""; }; - OBJ_72 /* Digest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Digest.swift; sourceTree = ""; }; - OBJ_73 /* HMAC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMAC.swift; sourceTree = ""; }; - OBJ_74 /* KeyDerivation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyDerivation.swift; sourceTree = ""; }; - OBJ_75 /* Random.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Random.swift; sourceTree = ""; }; - OBJ_76 /* Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Status.swift; sourceTree = ""; }; - OBJ_77 /* StreamCryptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamCryptor.swift; sourceTree = ""; }; - OBJ_78 /* Updatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Updatable.swift; sourceTree = ""; }; - OBJ_79 /* Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = ""; }; - OBJ_80 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/BlueCryptor.git-2709167748876642405/Package.swift"; sourceTree = ""; }; - OBJ_84 /* AEAD.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AEAD.swift; sourceTree = ""; }; - OBJ_85 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AEADChaCha20Poly1305.swift; sourceTree = ""; }; - OBJ_86 /* AES.Cryptors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AES.Cryptors.swift; sourceTree = ""; }; - OBJ_87 /* AES.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AES.swift; sourceTree = ""; }; - OBJ_88 /* Array+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Extension.swift"; sourceTree = ""; }; - OBJ_89 /* Authenticator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Authenticator.swift; sourceTree = ""; }; + OBJ_60 /* base.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = base.h; sourceTree = ""; }; + OBJ_61 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/Shapeshifter-Swift-Transports.xcodeproj/GeneratedModuleMap/celligator/module.modulemap"; sourceTree = ""; }; + OBJ_63 /* ElligatorObjC.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ElligatorObjC.mm; sourceTree = ""; }; + OBJ_65 /* ElligatorObjC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ElligatorObjC.h; sourceTree = ""; }; + OBJ_66 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/Shapeshifter-Swift-Transports.xcodeproj/GeneratedModuleMap/ElligatorObjC/module.modulemap"; sourceTree = ""; }; + OBJ_68 /* Elligator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Elligator.swift; sourceTree = ""; }; + OBJ_69 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/Elligator.git-1685432175989269477/Package.swift"; sourceTree = ""; }; + OBJ_71 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/HKDF.git-3816566315579078428/Package.swift"; sourceTree = ""; }; + OBJ_72 /* HKDF.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HKDF.swift; sourceTree = ""; }; + OBJ_75 /* Crypto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Crypto.swift; sourceTree = ""; }; + OBJ_76 /* Cryptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cryptor.swift; sourceTree = ""; }; + OBJ_77 /* Digest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Digest.swift; sourceTree = ""; }; + OBJ_78 /* HMAC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMAC.swift; sourceTree = ""; }; + OBJ_79 /* KeyDerivation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyDerivation.swift; sourceTree = ""; }; + OBJ_80 /* Random.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Random.swift; sourceTree = ""; }; + OBJ_81 /* Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Status.swift; sourceTree = ""; }; + OBJ_82 /* StreamCryptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamCryptor.swift; sourceTree = ""; }; + OBJ_83 /* Updatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Updatable.swift; sourceTree = ""; }; + OBJ_84 /* Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = ""; }; + OBJ_85 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/Lita/Documents/Dev/Shapeshifter-Swift-Transports/.build/checkouts/BlueCryptor.git-2709167748876642405/Package.swift"; sourceTree = ""; }; + OBJ_89 /* AEAD.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AEAD.swift; sourceTree = ""; }; OBJ_9 /* MeekTCPConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeekTCPConnection.swift; sourceTree = ""; }; - OBJ_90 /* BatchedCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchedCollection.swift; sourceTree = ""; }; - OBJ_91 /* Bit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bit.swift; sourceTree = ""; }; - OBJ_92 /* BlockCipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockCipher.swift; sourceTree = ""; }; - OBJ_94 /* BlockMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockMode.swift; sourceTree = ""; }; - OBJ_95 /* BlockModeOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockModeOptions.swift; sourceTree = ""; }; - OBJ_96 /* BlockModeWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockModeWorker.swift; sourceTree = ""; }; - OBJ_97 /* CBC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CBC.swift; sourceTree = ""; }; - OBJ_98 /* CFB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CFB.swift; sourceTree = ""; }; - OBJ_99 /* CTR.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CTR.swift; sourceTree = ""; }; + OBJ_90 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AEADChaCha20Poly1305.swift; sourceTree = ""; }; + OBJ_91 /* AES.Cryptors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AES.Cryptors.swift; sourceTree = ""; }; + OBJ_92 /* AES.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AES.swift; sourceTree = ""; }; + OBJ_93 /* Array+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Extension.swift"; sourceTree = ""; }; + OBJ_94 /* Authenticator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Authenticator.swift; sourceTree = ""; }; + OBJ_95 /* BatchedCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchedCollection.swift; sourceTree = ""; }; + OBJ_96 /* Bit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bit.swift; sourceTree = ""; }; + OBJ_97 /* BlockCipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockCipher.swift; sourceTree = ""; }; + OBJ_99 /* BlockMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockMode.swift; sourceTree = ""; }; "Shapeshifter-Swift-Transports::Meek::Product" /* Meek.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Meek.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Shapeshifter-Swift-Transports::MeekTests::Product" /* MeekTests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = MeekTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ShapeshifterTesting.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Shapeshifter-Swift-Transports::Wisp::Product" /* Wisp.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Wisp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Shapeshifter-Swift-Transports::WispTests::Product" /* WispTests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = WispTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SwiftQueue.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Transport::Transport::Product" /* Transport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Transport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "swift-sodium::Sodium::Product" /* Sodium.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sodium.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - OBJ_268 /* Frameworks */ = { + OBJ_274 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_290 /* Frameworks */ = { + OBJ_296 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_303 /* Frameworks */ = { + OBJ_309 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_304 /* ElligatorObjC.framework in Frameworks */, - OBJ_305 /* celligator.framework in Frameworks */, + OBJ_310 /* ElligatorObjC.framework in Frameworks */, + OBJ_311 /* celligator.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_315 /* Frameworks */ = { + OBJ_321 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_316 /* celligator.framework in Frameworks */, + OBJ_322 /* celligator.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_330 /* Frameworks */ = { + OBJ_336 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_331 /* Cryptor.framework in Frameworks */, + OBJ_337 /* Cryptor.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_345 /* Frameworks */ = { + OBJ_351 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_346 /* Transport.framework in Frameworks */, - OBJ_347 /* CryptoSwift.framework in Frameworks */, + OBJ_352 /* SwiftQueue.framework in Frameworks */, + OBJ_353 /* Transport.framework in Frameworks */, + OBJ_354 /* CryptoSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_357 /* Frameworks */ = { + OBJ_366 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_358 /* ShapeshifterTesting.framework in Frameworks */, - OBJ_359 /* Meek.framework in Frameworks */, - OBJ_360 /* Transport.framework in Frameworks */, - OBJ_361 /* CryptoSwift.framework in Frameworks */, + OBJ_367 /* ShapeshifterTesting.framework in Frameworks */, + OBJ_368 /* Meek.framework in Frameworks */, + OBJ_369 /* SwiftQueue.framework in Frameworks */, + OBJ_370 /* Transport.framework in Frameworks */, + OBJ_371 /* CryptoSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_387 /* Frameworks */ = { + OBJ_398 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_388 /* Transport.framework in Frameworks */, + OBJ_399 /* Transport.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_409 /* Frameworks */ = { + OBJ_420 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_417 /* Frameworks */ = { + OBJ_427 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_434 /* Frameworks */ = { + OBJ_441 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_435 /* Transport.framework in Frameworks */, - OBJ_436 /* Elligator.framework in Frameworks */, - OBJ_437 /* ElligatorObjC.framework in Frameworks */, - OBJ_438 /* celligator.framework in Frameworks */, - OBJ_439 /* HKDF.framework in Frameworks */, - OBJ_440 /* Cryptor.framework in Frameworks */, - OBJ_441 /* CryptoSwift.framework in Frameworks */, - OBJ_442 /* Sodium.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_456 /* Frameworks */ = { + OBJ_458 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_457 /* ShapeshifterTesting.framework in Frameworks */, - OBJ_458 /* Wisp.framework in Frameworks */, - OBJ_459 /* Transport.framework in Frameworks */, - OBJ_460 /* Elligator.framework in Frameworks */, - OBJ_461 /* ElligatorObjC.framework in Frameworks */, - OBJ_462 /* celligator.framework in Frameworks */, - OBJ_463 /* HKDF.framework in Frameworks */, - OBJ_464 /* Cryptor.framework in Frameworks */, - OBJ_465 /* CryptoSwift.framework in Frameworks */, - OBJ_466 /* Sodium.framework in Frameworks */, + OBJ_459 /* SwiftQueue.framework in Frameworks */, + OBJ_460 /* Transport.framework in Frameworks */, + OBJ_461 /* Elligator.framework in Frameworks */, + OBJ_462 /* ElligatorObjC.framework in Frameworks */, + OBJ_463 /* celligator.framework in Frameworks */, + OBJ_464 /* HKDF.framework in Frameworks */, + OBJ_465 /* Cryptor.framework in Frameworks */, + OBJ_466 /* CryptoSwift.framework in Frameworks */, + OBJ_467 /* Sodium.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_504 /* Frameworks */ = { + OBJ_482 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + OBJ_483 /* ShapeshifterTesting.framework in Frameworks */, + OBJ_484 /* Wisp.framework in Frameworks */, + OBJ_485 /* SwiftQueue.framework in Frameworks */, + OBJ_486 /* Transport.framework in Frameworks */, + OBJ_487 /* Elligator.framework in Frameworks */, + OBJ_488 /* ElligatorObjC.framework in Frameworks */, + OBJ_489 /* celligator.framework in Frameworks */, + OBJ_490 /* HKDF.framework in Frameworks */, + OBJ_491 /* Cryptor.framework in Frameworks */, + OBJ_492 /* CryptoSwift.framework in Frameworks */, + OBJ_493 /* Sodium.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_532 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( @@ -717,30 +767,30 @@ path = Sources/ShapeshifterTesting; sourceTree = SOURCE_ROOT; }; - OBJ_114 /* Foundation */ = { + OBJ_119 /* Foundation */ = { isa = PBXGroup; children = ( - OBJ_115 /* AES+Foundation.swift */, - OBJ_116 /* Array+Foundation.swift */, - OBJ_117 /* Blowfish+Foundation.swift */, - OBJ_118 /* ChaCha20+Foundation.swift */, - OBJ_119 /* Data+Extension.swift */, - OBJ_120 /* HMAC+Foundation.swift */, - OBJ_121 /* Rabbit+Foundation.swift */, - OBJ_122 /* String+FoundationExtension.swift */, - OBJ_123 /* Utils+Foundation.swift */, + OBJ_120 /* AES+Foundation.swift */, + OBJ_121 /* Array+Foundation.swift */, + OBJ_122 /* Blowfish+Foundation.swift */, + OBJ_123 /* ChaCha20+Foundation.swift */, + OBJ_124 /* Data+Extension.swift */, + OBJ_125 /* HMAC+Foundation.swift */, + OBJ_126 /* Rabbit+Foundation.swift */, + OBJ_127 /* String+FoundationExtension.swift */, + OBJ_128 /* Utils+Foundation.swift */, ); path = Foundation; sourceTree = ""; }; - OBJ_131 /* PKCS */ = { + OBJ_136 /* PKCS */ = { isa = PBXGroup; children = ( - OBJ_132 /* PBKDF1.swift */, - OBJ_133 /* PBKDF2.swift */, - OBJ_134 /* PKCS5.swift */, - OBJ_135 /* PKCS7.swift */, - OBJ_136 /* PKCS7Padding.swift */, + OBJ_137 /* PBKDF1.swift */, + OBJ_138 /* PBKDF2.swift */, + OBJ_139 /* PKCS5.swift */, + OBJ_140 /* PKCS7.swift */, + OBJ_141 /* PKCS7Padding.swift */, ); path = PKCS; sourceTree = ""; @@ -758,73 +808,74 @@ path = Sources/Wisp; sourceTree = SOURCE_ROOT; }; - OBJ_155 /* swift-sodium 0.5.3 */ = { + OBJ_160 /* swift-sodium 0.5.3 */ = { isa = PBXGroup; children = ( - OBJ_156 /* Package.swift */, - OBJ_157 /* Sodium */, + OBJ_161 /* Package.swift */, + OBJ_162 /* Sodium */, ); name = "swift-sodium 0.5.3"; path = ".build/checkouts/swift-sodium.git-4026326239528637742"; sourceTree = SOURCE_ROOT; }; - OBJ_157 /* Sodium */ = { + OBJ_162 /* Sodium */ = { isa = PBXGroup; children = ( - OBJ_158 /* Auth.swift */, - OBJ_159 /* Box.swift */, - OBJ_160 /* GenericHash.swift */, - OBJ_161 /* KeyDerivation.swift */, - OBJ_162 /* KeyExchange.swift */, - OBJ_163 /* PWHash.swift */, - OBJ_164 /* RandomBytes.swift */, - OBJ_165 /* SecretBox.swift */, - OBJ_166 /* SecretStream.swift */, - OBJ_167 /* ShortHash.swift */, - OBJ_168 /* Sign.swift */, - OBJ_169 /* Sodium.swift */, - OBJ_170 /* Stream.swift */, - OBJ_171 /* Utils.swift */, + OBJ_163 /* Auth.swift */, + OBJ_164 /* Box.swift */, + OBJ_165 /* GenericHash.swift */, + OBJ_166 /* KeyDerivation.swift */, + OBJ_167 /* KeyExchange.swift */, + OBJ_168 /* PWHash.swift */, + OBJ_169 /* RandomBytes.swift */, + OBJ_170 /* SecretBox.swift */, + OBJ_171 /* SecretStream.swift */, + OBJ_172 /* ShortHash.swift */, + OBJ_173 /* Sign.swift */, + OBJ_174 /* Sodium.swift */, + OBJ_175 /* Stream.swift */, + OBJ_176 /* Utils.swift */, ); path = Sodium; sourceTree = ""; }; - OBJ_172 /* Transport 0.0.3 */ = { + OBJ_177 /* Transport 0.0.4 */ = { isa = PBXGroup; children = ( - OBJ_173 /* Transport */, - OBJ_177 /* Package.swift */, + OBJ_178 /* Transport */, + OBJ_182 /* Package.swift */, ); - name = "Transport 0.0.3"; + name = "Transport 0.0.4"; sourceTree = SOURCE_ROOT; }; - OBJ_173 /* Transport */ = { + OBJ_178 /* Transport */ = { isa = PBXGroup; children = ( - OBJ_174 /* PacketTunnelProvider.swift */, - OBJ_175 /* TCPConnection.swift */, - OBJ_176 /* UDPSession.swift */, + OBJ_179 /* PacketTunnelProvider.swift */, + OBJ_180 /* TCPConnection.swift */, + OBJ_181 /* UDPSession.swift */, ); name = Transport; path = ".build/checkouts/Transport.git-7971019246718298831/Sources/Transport"; sourceTree = SOURCE_ROOT; }; - OBJ_178 /* Products */ = { + OBJ_183 /* Products */ = { isa = PBXGroup; children = ( - "Elligator::Elligator::Product" /* Elligator.framework */, - "Shapeshifter-Swift-Transports::Wisp::Product" /* Wisp.framework */, - "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */, - "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */, "CryptoSwift::CryptoSwift::Product" /* CryptoSwift.framework */, - "swift-sodium::Sodium::Product" /* Sodium.framework */, - "Cryptor::Cryptor::Product" /* Cryptor.framework */, - "Transport::Transport::Product" /* Transport.framework */, "Shapeshifter-Swift-Transports::MeekTests::Product" /* MeekTests.xctest */, - "Elligator::celligator::Product" /* celligator.framework */, + "Cryptor::Cryptor::Product" /* Cryptor.framework */, + "Shapeshifter-Swift-Transports::ShapeshifterTesting::Product" /* ShapeshifterTesting.framework */, "Shapeshifter-Swift-Transports::WispTests::Product" /* WispTests.xctest */, "Shapeshifter-Swift-Transports::Meek::Product" /* Meek.framework */, + "Shapeshifter-Swift-Transports::Wisp::Product" /* Wisp.framework */, + "Elligator::celligator::Product" /* celligator.framework */, + "Transport::Transport::Product" /* Transport.framework */, + "Elligator::Elligator::Product" /* Elligator.framework */, "HKDF::HKDF::Product" /* HKDF.framework */, + "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */, + "Elligator::ElligatorObjC::Product" /* ElligatorObjC.framework */, + "swift-sodium::Sodium::Product" /* Sodium.framework */, ); name = Products; sourceTree = BUILT_PRODUCTS_DIR; @@ -859,60 +910,80 @@ OBJ_26 /* Dependencies */ = { isa = PBXGroup; children = ( - OBJ_27 /* Elligator 0.1.0 */, - OBJ_65 /* HKDF 3.0.1 */, - OBJ_68 /* Cryptor 0.8.27 */, - OBJ_81 /* CryptoSwift 0.9.0 */, - OBJ_155 /* swift-sodium 0.5.3 */, - OBJ_172 /* Transport 0.0.3 */, + OBJ_27 /* SwiftQueue 0.0.1 */, + OBJ_32 /* Elligator 0.1.0 */, + OBJ_70 /* HKDF 3.0.1 */, + OBJ_73 /* Cryptor 0.8.27 */, + OBJ_86 /* CryptoSwift 0.9.0 */, + OBJ_160 /* swift-sodium 0.5.3 */, + OBJ_177 /* Transport 0.0.4 */, ); name = Dependencies; sourceTree = ""; }; - OBJ_27 /* Elligator 0.1.0 */ = { + OBJ_27 /* SwiftQueue 0.0.1 */ = { + isa = PBXGroup; + children = ( + OBJ_28 /* SwiftQueue */, + OBJ_31 /* Package.swift */, + ); + name = "SwiftQueue 0.0.1"; + sourceTree = SOURCE_ROOT; + }; + OBJ_28 /* SwiftQueue */ = { + isa = PBXGroup; + children = ( + OBJ_29 /* LinkedList.swift */, + OBJ_30 /* Queue.swift */, + ); + name = SwiftQueue; + path = ".build/checkouts/SwiftQueue.git--1803263377898760171/Sources/SwiftQueue"; + sourceTree = SOURCE_ROOT; + }; + OBJ_32 /* Elligator 0.1.0 */ = { isa = PBXGroup; children = ( - OBJ_28 /* celligator */, - OBJ_57 /* ElligatorObjC */, - OBJ_62 /* Elligator */, - OBJ_64 /* Package.swift */, + OBJ_33 /* celligator */, + OBJ_62 /* ElligatorObjC */, + OBJ_67 /* Elligator */, + OBJ_69 /* Package.swift */, ); name = "Elligator 0.1.0"; sourceTree = SOURCE_ROOT; }; - OBJ_28 /* celligator */ = { + OBJ_33 /* celligator */ = { isa = PBXGroup; children = ( - OBJ_29 /* crypto_verify_32.cc */, - OBJ_30 /* elligator.cpp */, - OBJ_31 /* fe_add.cc */, - OBJ_32 /* fe_cmov.cc */, - OBJ_33 /* fe_copy.cc */, - OBJ_34 /* fe_frombytes.cc */, - OBJ_35 /* fe_invert.cc */, - OBJ_36 /* fe_isnonzero.cc */, - OBJ_37 /* fe_mul.cc */, - OBJ_38 /* fe_neg.cc */, - OBJ_39 /* fe_sq.cc */, - OBJ_40 /* fe_sq2.cc */, - OBJ_41 /* fe_sub.cc */, - OBJ_42 /* fe_tobytes.cc */, - OBJ_43 /* ge_madd.cc */, - OBJ_44 /* ge_p1p1_to_p2.cc */, - OBJ_45 /* ge_p1p1_to_p3.cc */, - OBJ_46 /* ge_p2_dbl.cc */, - OBJ_47 /* ge_p3_0.cc */, - OBJ_48 /* ge_p3_dbl.cc */, - OBJ_49 /* ge_p3_to_p2.cc */, - OBJ_50 /* ge_precomp_0.cc */, - OBJ_51 /* ge_scalarmult_base.cc */, - OBJ_52 /* include */, + OBJ_34 /* crypto_verify_32.cc */, + OBJ_35 /* elligator.cpp */, + OBJ_36 /* fe_add.cc */, + OBJ_37 /* fe_cmov.cc */, + OBJ_38 /* fe_copy.cc */, + OBJ_39 /* fe_frombytes.cc */, + OBJ_40 /* fe_invert.cc */, + OBJ_41 /* fe_isnonzero.cc */, + OBJ_42 /* fe_mul.cc */, + OBJ_43 /* fe_neg.cc */, + OBJ_44 /* fe_sq.cc */, + OBJ_45 /* fe_sq2.cc */, + OBJ_46 /* fe_sub.cc */, + OBJ_47 /* fe_tobytes.cc */, + OBJ_48 /* ge_madd.cc */, + OBJ_49 /* ge_p1p1_to_p2.cc */, + OBJ_50 /* ge_p1p1_to_p3.cc */, + OBJ_51 /* ge_p2_dbl.cc */, + OBJ_52 /* ge_p3_0.cc */, + OBJ_53 /* ge_p3_dbl.cc */, + OBJ_54 /* ge_p3_to_p2.cc */, + OBJ_55 /* ge_precomp_0.cc */, + OBJ_56 /* ge_scalarmult_base.cc */, + OBJ_57 /* include */, ); name = celligator; path = ".build/checkouts/Elligator.git-1685432175989269477/Sources/celligator"; sourceTree = SOURCE_ROOT; }; - OBJ_5 = { + OBJ_5 /* */ = { isa = PBXGroup; children = ( OBJ_6 /* Package.swift */, @@ -920,94 +991,95 @@ OBJ_20 /* Tests */, OBJ_25 /* Examples */, OBJ_26 /* Dependencies */, - OBJ_178 /* Products */, + OBJ_183 /* Products */, ); + name = ""; sourceTree = ""; }; - OBJ_52 /* include */ = { + OBJ_57 /* include */ = { isa = PBXGroup; children = ( - OBJ_53 /* fe.h */, - OBJ_54 /* ge.h */, - OBJ_55 /* base.h */, - OBJ_56 /* module.modulemap */, + OBJ_58 /* fe.h */, + OBJ_59 /* ge.h */, + OBJ_60 /* base.h */, + OBJ_61 /* module.modulemap */, ); path = include; sourceTree = ""; }; - OBJ_57 /* ElligatorObjC */ = { + OBJ_62 /* ElligatorObjC */ = { isa = PBXGroup; children = ( - OBJ_58 /* ElligatorObjC.mm */, - OBJ_59 /* include */, + OBJ_63 /* ElligatorObjC.mm */, + OBJ_64 /* include */, ); name = ElligatorObjC; path = ".build/checkouts/Elligator.git-1685432175989269477/Sources/ElligatorObjC"; sourceTree = SOURCE_ROOT; }; - OBJ_59 /* include */ = { + OBJ_64 /* include */ = { isa = PBXGroup; children = ( - OBJ_60 /* ElligatorObjC.h */, - OBJ_61 /* module.modulemap */, + OBJ_65 /* ElligatorObjC.h */, + OBJ_66 /* module.modulemap */, ); path = include; sourceTree = ""; }; - OBJ_62 /* Elligator */ = { + OBJ_67 /* Elligator */ = { isa = PBXGroup; children = ( - OBJ_63 /* Elligator.swift */, + OBJ_68 /* Elligator.swift */, ); name = Elligator; path = ".build/checkouts/Elligator.git-1685432175989269477/Sources/Elligator"; sourceTree = SOURCE_ROOT; }; - OBJ_65 /* HKDF 3.0.1 */ = { + OBJ_7 /* Sources */ = { isa = PBXGroup; children = ( - OBJ_66 /* Package.swift */, - OBJ_67 /* HKDF.swift */, + OBJ_8 /* Meek */, + OBJ_10 /* ShapeshifterTesting */, + OBJ_14 /* Wisp */, ); - name = "HKDF 3.0.1"; - path = ".build/checkouts/HKDF.git-3816566315579078428/Sources"; + name = Sources; sourceTree = SOURCE_ROOT; }; - OBJ_68 /* Cryptor 0.8.27 */ = { + OBJ_70 /* HKDF 3.0.1 */ = { isa = PBXGroup; children = ( - OBJ_69 /* Cryptor */, - OBJ_80 /* Package.swift */, + OBJ_71 /* Package.swift */, + OBJ_72 /* HKDF.swift */, ); - name = "Cryptor 0.8.27"; + name = "HKDF 3.0.1"; + path = ".build/checkouts/HKDF.git-3816566315579078428/Sources"; sourceTree = SOURCE_ROOT; }; - OBJ_69 /* Cryptor */ = { + OBJ_73 /* Cryptor 0.8.27 */ = { isa = PBXGroup; children = ( - OBJ_70 /* Crypto.swift */, - OBJ_71 /* Cryptor.swift */, - OBJ_72 /* Digest.swift */, - OBJ_73 /* HMAC.swift */, - OBJ_74 /* KeyDerivation.swift */, - OBJ_75 /* Random.swift */, - OBJ_76 /* Status.swift */, - OBJ_77 /* StreamCryptor.swift */, - OBJ_78 /* Updatable.swift */, - OBJ_79 /* Utilities.swift */, + OBJ_74 /* Cryptor */, + OBJ_85 /* Package.swift */, ); - name = Cryptor; - path = ".build/checkouts/BlueCryptor.git-2709167748876642405/Sources/Cryptor"; + name = "Cryptor 0.8.27"; sourceTree = SOURCE_ROOT; }; - OBJ_7 /* Sources */ = { + OBJ_74 /* Cryptor */ = { isa = PBXGroup; children = ( - OBJ_8 /* Meek */, - OBJ_10 /* ShapeshifterTesting */, - OBJ_14 /* Wisp */, + OBJ_75 /* Crypto.swift */, + OBJ_76 /* Cryptor.swift */, + OBJ_77 /* Digest.swift */, + OBJ_78 /* HMAC.swift */, + OBJ_79 /* KeyDerivation.swift */, + OBJ_80 /* Random.swift */, + OBJ_81 /* Status.swift */, + OBJ_82 /* StreamCryptor.swift */, + OBJ_83 /* Updatable.swift */, + OBJ_84 /* Utilities.swift */, ); - name = Sources; + name = Cryptor; + path = ".build/checkouts/BlueCryptor.git-2709167748876642405/Sources/Cryptor"; sourceTree = SOURCE_ROOT; }; OBJ_8 /* Meek */ = { @@ -1019,90 +1091,90 @@ path = Sources/Meek; sourceTree = SOURCE_ROOT; }; - OBJ_81 /* CryptoSwift 0.9.0 */ = { + OBJ_86 /* CryptoSwift 0.9.0 */ = { isa = PBXGroup; children = ( - OBJ_82 /* CryptoSwift */, - OBJ_154 /* Package.swift */, + OBJ_87 /* CryptoSwift */, + OBJ_159 /* Package.swift */, ); name = "CryptoSwift 0.9.0"; sourceTree = SOURCE_ROOT; }; - OBJ_82 /* CryptoSwift */ = { + OBJ_87 /* CryptoSwift */ = { isa = PBXGroup; children = ( - OBJ_83 /* AEAD */, - OBJ_86 /* AES.Cryptors.swift */, - OBJ_87 /* AES.swift */, - OBJ_88 /* Array+Extension.swift */, - OBJ_89 /* Authenticator.swift */, - OBJ_90 /* BatchedCollection.swift */, - OBJ_91 /* Bit.swift */, - OBJ_92 /* BlockCipher.swift */, - OBJ_93 /* BlockMode */, - OBJ_104 /* Blowfish.swift */, - OBJ_105 /* CMAC.swift */, - OBJ_106 /* ChaCha20.swift */, - OBJ_107 /* Checksum.swift */, - OBJ_108 /* Cipher.swift */, - OBJ_109 /* Collection+Extension.swift */, - OBJ_110 /* CompactMap.swift */, - OBJ_111 /* Cryptors.swift */, - OBJ_112 /* Digest.swift */, - OBJ_113 /* DigestType.swift */, - OBJ_114 /* Foundation */, - OBJ_124 /* Generics.swift */, - OBJ_125 /* HKDF.swift */, - OBJ_126 /* HMAC.swift */, - OBJ_127 /* Int+Extension.swift */, - OBJ_128 /* MD5.swift */, - OBJ_129 /* NoPadding.swift */, - OBJ_130 /* Operators.swift */, - OBJ_131 /* PKCS */, - OBJ_137 /* Padding.swift */, - OBJ_138 /* Poly1305.swift */, - OBJ_139 /* Rabbit.swift */, - OBJ_140 /* RandomAccessCryptor.swift */, - OBJ_141 /* RandomBytesSequence.swift */, - OBJ_142 /* SHA1.swift */, - OBJ_143 /* SHA2.swift */, - OBJ_144 /* SHA3.swift */, - OBJ_145 /* SecureBytes.swift */, - OBJ_146 /* String+Extension.swift */, - OBJ_147 /* UInt16+Extension.swift */, - OBJ_148 /* UInt32+Extension.swift */, - OBJ_149 /* UInt64+Extension.swift */, - OBJ_150 /* UInt8+Extension.swift */, - OBJ_151 /* Updatable.swift */, - OBJ_152 /* Utils.swift */, - OBJ_153 /* ZeroPadding.swift */, + OBJ_88 /* AEAD */, + OBJ_91 /* AES.Cryptors.swift */, + OBJ_92 /* AES.swift */, + OBJ_93 /* Array+Extension.swift */, + OBJ_94 /* Authenticator.swift */, + OBJ_95 /* BatchedCollection.swift */, + OBJ_96 /* Bit.swift */, + OBJ_97 /* BlockCipher.swift */, + OBJ_98 /* BlockMode */, + OBJ_109 /* Blowfish.swift */, + OBJ_110 /* CMAC.swift */, + OBJ_111 /* ChaCha20.swift */, + OBJ_112 /* Checksum.swift */, + OBJ_113 /* Cipher.swift */, + OBJ_114 /* Collection+Extension.swift */, + OBJ_115 /* CompactMap.swift */, + OBJ_116 /* Cryptors.swift */, + OBJ_117 /* Digest.swift */, + OBJ_118 /* DigestType.swift */, + OBJ_119 /* Foundation */, + OBJ_129 /* Generics.swift */, + OBJ_130 /* HKDF.swift */, + OBJ_131 /* HMAC.swift */, + OBJ_132 /* Int+Extension.swift */, + OBJ_133 /* MD5.swift */, + OBJ_134 /* NoPadding.swift */, + OBJ_135 /* Operators.swift */, + OBJ_136 /* PKCS */, + OBJ_142 /* Padding.swift */, + OBJ_143 /* Poly1305.swift */, + OBJ_144 /* Rabbit.swift */, + OBJ_145 /* RandomAccessCryptor.swift */, + OBJ_146 /* RandomBytesSequence.swift */, + OBJ_147 /* SHA1.swift */, + OBJ_148 /* SHA2.swift */, + OBJ_149 /* SHA3.swift */, + OBJ_150 /* SecureBytes.swift */, + OBJ_151 /* String+Extension.swift */, + OBJ_152 /* UInt16+Extension.swift */, + OBJ_153 /* UInt32+Extension.swift */, + OBJ_154 /* UInt64+Extension.swift */, + OBJ_155 /* UInt8+Extension.swift */, + OBJ_156 /* Updatable.swift */, + OBJ_157 /* Utils.swift */, + OBJ_158 /* ZeroPadding.swift */, ); name = CryptoSwift; path = ".build/checkouts/CryptoSwift.git--6440749087414195235/Sources/CryptoSwift"; sourceTree = SOURCE_ROOT; }; - OBJ_83 /* AEAD */ = { + OBJ_88 /* AEAD */ = { isa = PBXGroup; children = ( - OBJ_84 /* AEAD.swift */, - OBJ_85 /* AEADChaCha20Poly1305.swift */, + OBJ_89 /* AEAD.swift */, + OBJ_90 /* AEADChaCha20Poly1305.swift */, ); path = AEAD; sourceTree = ""; }; - OBJ_93 /* BlockMode */ = { + OBJ_98 /* BlockMode */ = { isa = PBXGroup; children = ( - OBJ_94 /* BlockMode.swift */, - OBJ_95 /* BlockModeOptions.swift */, - OBJ_96 /* BlockModeWorker.swift */, - OBJ_97 /* CBC.swift */, - OBJ_98 /* CFB.swift */, - OBJ_99 /* CTR.swift */, - OBJ_100 /* ECB.swift */, - OBJ_101 /* OFB.swift */, - OBJ_102 /* PCBC.swift */, - OBJ_103 /* RandomAccessBlockModeWorker.swift */, + OBJ_99 /* BlockMode.swift */, + OBJ_100 /* BlockModeOptions.swift */, + OBJ_101 /* BlockModeWorker.swift */, + OBJ_102 /* CBC.swift */, + OBJ_103 /* CFB.swift */, + OBJ_104 /* CTR.swift */, + OBJ_105 /* ECB.swift */, + OBJ_106 /* OFB.swift */, + OBJ_107 /* PCBC.swift */, + OBJ_108 /* RandomAccessBlockModeWorker.swift */, ); path = BlockMode; sourceTree = ""; @@ -1112,10 +1184,10 @@ /* Begin PBXNativeTarget section */ "CryptoSwift::CryptoSwift" /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_197 /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = OBJ_203 /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - OBJ_200 /* Sources */, - OBJ_268 /* Frameworks */, + OBJ_206 /* Sources */, + OBJ_274 /* Frameworks */, ); buildRules = ( ); @@ -1128,9 +1200,9 @@ }; "CryptoSwift::SwiftPMPackageDescription" /* CryptoSwiftPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_270 /* Build configuration list for PBXNativeTarget "CryptoSwiftPackageDescription" */; + buildConfigurationList = OBJ_276 /* Build configuration list for PBXNativeTarget "CryptoSwiftPackageDescription" */; buildPhases = ( - OBJ_273 /* Sources */, + OBJ_279 /* Sources */, ); buildRules = ( ); @@ -1142,10 +1214,10 @@ }; "Cryptor::Cryptor" /* Cryptor */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_276 /* Build configuration list for PBXNativeTarget "Cryptor" */; + buildConfigurationList = OBJ_282 /* Build configuration list for PBXNativeTarget "Cryptor" */; buildPhases = ( - OBJ_279 /* Sources */, - OBJ_290 /* Frameworks */, + OBJ_285 /* Sources */, + OBJ_296 /* Frameworks */, ); buildRules = ( ); @@ -1158,9 +1230,9 @@ }; "Cryptor::SwiftPMPackageDescription" /* CryptorPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_292 /* Build configuration list for PBXNativeTarget "CryptorPackageDescription" */; + buildConfigurationList = OBJ_298 /* Build configuration list for PBXNativeTarget "CryptorPackageDescription" */; buildPhases = ( - OBJ_295 /* Sources */, + OBJ_301 /* Sources */, ); buildRules = ( ); @@ -1172,16 +1244,16 @@ }; "Elligator::Elligator" /* Elligator */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_298 /* Build configuration list for PBXNativeTarget "Elligator" */; + buildConfigurationList = OBJ_304 /* Build configuration list for PBXNativeTarget "Elligator" */; buildPhases = ( - OBJ_301 /* Sources */, - OBJ_303 /* Frameworks */, + OBJ_307 /* Sources */, + OBJ_309 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_306 /* PBXTargetDependency */, - OBJ_308 /* PBXTargetDependency */, + OBJ_312 /* PBXTargetDependency */, + OBJ_314 /* PBXTargetDependency */, ); name = Elligator; productName = Elligator; @@ -1190,15 +1262,15 @@ }; "Elligator::ElligatorObjC" /* ElligatorObjC */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_310 /* Build configuration list for PBXNativeTarget "ElligatorObjC" */; + buildConfigurationList = OBJ_316 /* Build configuration list for PBXNativeTarget "ElligatorObjC" */; buildPhases = ( - OBJ_313 /* Sources */, - OBJ_315 /* Frameworks */, + OBJ_319 /* Sources */, + OBJ_321 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_317 /* PBXTargetDependency */, + OBJ_323 /* PBXTargetDependency */, ); name = ElligatorObjC; productName = ElligatorObjC; @@ -1207,9 +1279,9 @@ }; "Elligator::SwiftPMPackageDescription" /* ElligatorPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_319 /* Build configuration list for PBXNativeTarget "ElligatorPackageDescription" */; + buildConfigurationList = OBJ_325 /* Build configuration list for PBXNativeTarget "ElligatorPackageDescription" */; buildPhases = ( - OBJ_322 /* Sources */, + OBJ_328 /* Sources */, ); buildRules = ( ); @@ -1221,10 +1293,10 @@ }; "Elligator::celligator" /* celligator */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_477 /* Build configuration list for PBXNativeTarget "celligator" */; + buildConfigurationList = OBJ_505 /* Build configuration list for PBXNativeTarget "celligator" */; buildPhases = ( - OBJ_480 /* Sources */, - OBJ_504 /* Frameworks */, + OBJ_508 /* Sources */, + OBJ_532 /* Frameworks */, ); buildRules = ( ); @@ -1237,15 +1309,15 @@ }; "HKDF::HKDF" /* HKDF */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_325 /* Build configuration list for PBXNativeTarget "HKDF" */; + buildConfigurationList = OBJ_331 /* Build configuration list for PBXNativeTarget "HKDF" */; buildPhases = ( - OBJ_328 /* Sources */, - OBJ_330 /* Frameworks */, + OBJ_334 /* Sources */, + OBJ_336 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_332 /* PBXTargetDependency */, + OBJ_338 /* PBXTargetDependency */, ); name = HKDF; productName = HKDF; @@ -1254,9 +1326,9 @@ }; "HKDF::SwiftPMPackageDescription" /* HKDFPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_334 /* Build configuration list for PBXNativeTarget "HKDFPackageDescription" */; + buildConfigurationList = OBJ_340 /* Build configuration list for PBXNativeTarget "HKDFPackageDescription" */; buildPhases = ( - OBJ_337 /* Sources */, + OBJ_343 /* Sources */, ); buildRules = ( ); @@ -1268,16 +1340,17 @@ }; "Shapeshifter-Swift-Transports::Meek" /* Meek */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_340 /* Build configuration list for PBXNativeTarget "Meek" */; + buildConfigurationList = OBJ_346 /* Build configuration list for PBXNativeTarget "Meek" */; buildPhases = ( - OBJ_343 /* Sources */, - OBJ_345 /* Frameworks */, + OBJ_349 /* Sources */, + OBJ_351 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_348 /* PBXTargetDependency */, - OBJ_350 /* PBXTargetDependency */, + OBJ_355 /* PBXTargetDependency */, + OBJ_357 /* PBXTargetDependency */, + OBJ_359 /* PBXTargetDependency */, ); name = Meek; productName = Meek; @@ -1286,18 +1359,19 @@ }; "Shapeshifter-Swift-Transports::MeekTests" /* MeekTests */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_352 /* Build configuration list for PBXNativeTarget "MeekTests" */; + buildConfigurationList = OBJ_361 /* Build configuration list for PBXNativeTarget "MeekTests" */; buildPhases = ( - OBJ_355 /* Sources */, - OBJ_357 /* Frameworks */, + OBJ_364 /* Sources */, + OBJ_366 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_362 /* PBXTargetDependency */, - OBJ_364 /* PBXTargetDependency */, - OBJ_365 /* PBXTargetDependency */, - OBJ_366 /* PBXTargetDependency */, + OBJ_372 /* PBXTargetDependency */, + OBJ_374 /* PBXTargetDependency */, + OBJ_375 /* PBXTargetDependency */, + OBJ_376 /* PBXTargetDependency */, + OBJ_377 /* PBXTargetDependency */, ); name = MeekTests; productName = MeekTests; @@ -1306,15 +1380,15 @@ }; "Shapeshifter-Swift-Transports::ShapeshifterTesting" /* ShapeshifterTesting */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_380 /* Build configuration list for PBXNativeTarget "ShapeshifterTesting" */; + buildConfigurationList = OBJ_391 /* Build configuration list for PBXNativeTarget "ShapeshifterTesting" */; buildPhases = ( - OBJ_383 /* Sources */, - OBJ_387 /* Frameworks */, + OBJ_394 /* Sources */, + OBJ_398 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_389 /* PBXTargetDependency */, + OBJ_400 /* PBXTargetDependency */, ); name = ShapeshifterTesting; productName = ShapeshifterTesting; @@ -1323,9 +1397,9 @@ }; "Shapeshifter-Swift-Transports::SwiftPMPackageDescription" /* Shapeshifter-Swift-TransportsPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_368 /* Build configuration list for PBXNativeTarget "Shapeshifter-Swift-TransportsPackageDescription" */; + buildConfigurationList = OBJ_379 /* Build configuration list for PBXNativeTarget "Shapeshifter-Swift-TransportsPackageDescription" */; buildPhases = ( - OBJ_371 /* Sources */, + OBJ_382 /* Sources */, ); buildRules = ( ); @@ -1337,22 +1411,23 @@ }; "Shapeshifter-Swift-Transports::Wisp" /* Wisp */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_425 /* Build configuration list for PBXNativeTarget "Wisp" */; + buildConfigurationList = OBJ_449 /* Build configuration list for PBXNativeTarget "Wisp" */; buildPhases = ( - OBJ_428 /* Sources */, - OBJ_434 /* Frameworks */, + OBJ_452 /* Sources */, + OBJ_458 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_443 /* PBXTargetDependency */, - OBJ_444 /* PBXTargetDependency */, - OBJ_445 /* PBXTargetDependency */, - OBJ_446 /* PBXTargetDependency */, - OBJ_447 /* PBXTargetDependency */, - OBJ_448 /* PBXTargetDependency */, - OBJ_449 /* PBXTargetDependency */, - OBJ_450 /* PBXTargetDependency */, + OBJ_468 /* PBXTargetDependency */, + OBJ_469 /* PBXTargetDependency */, + OBJ_470 /* PBXTargetDependency */, + OBJ_471 /* PBXTargetDependency */, + OBJ_472 /* PBXTargetDependency */, + OBJ_473 /* PBXTargetDependency */, + OBJ_474 /* PBXTargetDependency */, + OBJ_475 /* PBXTargetDependency */, + OBJ_476 /* PBXTargetDependency */, ); name = Wisp; productName = Wisp; @@ -1361,35 +1436,66 @@ }; "Shapeshifter-Swift-Transports::WispTests" /* WispTests */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_451 /* Build configuration list for PBXNativeTarget "WispTests" */; + buildConfigurationList = OBJ_477 /* Build configuration list for PBXNativeTarget "WispTests" */; buildPhases = ( - OBJ_454 /* Sources */, - OBJ_456 /* Frameworks */, + OBJ_480 /* Sources */, + OBJ_482 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_467 /* PBXTargetDependency */, - OBJ_468 /* PBXTargetDependency */, - OBJ_469 /* PBXTargetDependency */, - OBJ_470 /* PBXTargetDependency */, - OBJ_471 /* PBXTargetDependency */, - OBJ_472 /* PBXTargetDependency */, - OBJ_473 /* PBXTargetDependency */, - OBJ_474 /* PBXTargetDependency */, - OBJ_475 /* PBXTargetDependency */, - OBJ_476 /* PBXTargetDependency */, + OBJ_494 /* PBXTargetDependency */, + OBJ_495 /* PBXTargetDependency */, + OBJ_496 /* PBXTargetDependency */, + OBJ_497 /* PBXTargetDependency */, + OBJ_498 /* PBXTargetDependency */, + OBJ_499 /* PBXTargetDependency */, + OBJ_500 /* PBXTargetDependency */, + OBJ_501 /* PBXTargetDependency */, + OBJ_502 /* PBXTargetDependency */, + OBJ_503 /* PBXTargetDependency */, + OBJ_504 /* PBXTargetDependency */, ); name = WispTests; productName = WispTests; productReference = "Shapeshifter-Swift-Transports::WispTests::Product" /* WispTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + "SwiftQueue::SwiftPMPackageDescription" /* SwiftQueuePackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_429 /* Build configuration list for PBXNativeTarget "SwiftQueuePackageDescription" */; + buildPhases = ( + OBJ_432 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SwiftQueuePackageDescription; + productName = SwiftQueuePackageDescription; + productType = "com.apple.product-type.framework"; + }; + "SwiftQueue::SwiftQueue" /* SwiftQueue */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_421 /* Build configuration list for PBXNativeTarget "SwiftQueue" */; + buildPhases = ( + OBJ_424 /* Sources */, + OBJ_427 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SwiftQueue; + productName = SwiftQueue; + productReference = "SwiftQueue::SwiftQueue::Product" /* SwiftQueue.framework */; + productType = "com.apple.product-type.framework"; + }; "Transport::SwiftPMPackageDescription" /* TransportPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_419 /* Build configuration list for PBXNativeTarget "TransportPackageDescription" */; + buildConfigurationList = OBJ_443 /* Build configuration list for PBXNativeTarget "TransportPackageDescription" */; buildPhases = ( - OBJ_422 /* Sources */, + OBJ_446 /* Sources */, ); buildRules = ( ); @@ -1401,10 +1507,10 @@ }; "Transport::Transport" /* Transport */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_410 /* Build configuration list for PBXNativeTarget "Transport" */; + buildConfigurationList = OBJ_434 /* Build configuration list for PBXNativeTarget "Transport" */; buildPhases = ( - OBJ_413 /* Sources */, - OBJ_417 /* Frameworks */, + OBJ_437 /* Sources */, + OBJ_441 /* Frameworks */, ); buildRules = ( ); @@ -1417,10 +1523,10 @@ }; "swift-sodium::Sodium" /* Sodium */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_391 /* Build configuration list for PBXNativeTarget "Sodium" */; + buildConfigurationList = OBJ_402 /* Build configuration list for PBXNativeTarget "Sodium" */; buildPhases = ( - OBJ_394 /* Sources */, - OBJ_409 /* Frameworks */, + OBJ_405 /* Sources */, + OBJ_420 /* Frameworks */, ); buildRules = ( ); @@ -1433,9 +1539,9 @@ }; "swift-sodium::SwiftPMPackageDescription" /* swift-sodiumPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_506 /* Build configuration list for PBXNativeTarget "swift-sodiumPackageDescription" */; + buildConfigurationList = OBJ_534 /* Build configuration list for PBXNativeTarget "swift-sodiumPackageDescription" */; buildPhases = ( - OBJ_509 /* Sources */, + OBJ_537 /* Sources */, ); buildRules = ( ); @@ -1460,8 +1566,8 @@ knownRegions = ( en, ); - mainGroup = OBJ_5; - productRefGroup = OBJ_178 /* Products */; + mainGroup = OBJ_5 /* */; + productRefGroup = OBJ_183 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -1481,6 +1587,8 @@ "Shapeshifter-Swift-Transports::Shapeshifter-Swift-TransportsPackageTests::ProductTarget" /* Shapeshifter-Swift-TransportsPackageTests */, "Shapeshifter-Swift-Transports::ShapeshifterTesting" /* ShapeshifterTesting */, "swift-sodium::Sodium" /* Sodium */, + "SwiftQueue::SwiftQueue" /* SwiftQueue */, + "SwiftQueue::SwiftPMPackageDescription" /* SwiftQueuePackageDescription */, "Transport::Transport" /* Transport */, "Transport::SwiftPMPackageDescription" /* TransportPackageDescription */, "Shapeshifter-Swift-Transports::Wisp" /* Wisp */, @@ -1492,243 +1600,252 @@ /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - OBJ_200 /* Sources */ = { + OBJ_206 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_201 /* AEAD.swift in Sources */, - OBJ_202 /* AEADChaCha20Poly1305.swift in Sources */, - OBJ_203 /* AES.Cryptors.swift in Sources */, - OBJ_204 /* AES.swift in Sources */, - OBJ_205 /* Array+Extension.swift in Sources */, - OBJ_206 /* Authenticator.swift in Sources */, - OBJ_207 /* BatchedCollection.swift in Sources */, - OBJ_208 /* Bit.swift in Sources */, - OBJ_209 /* BlockCipher.swift in Sources */, - OBJ_210 /* BlockMode.swift in Sources */, - OBJ_211 /* BlockModeOptions.swift in Sources */, - OBJ_212 /* BlockModeWorker.swift in Sources */, - OBJ_213 /* CBC.swift in Sources */, - OBJ_214 /* CFB.swift in Sources */, - OBJ_215 /* CTR.swift in Sources */, - OBJ_216 /* ECB.swift in Sources */, - OBJ_217 /* OFB.swift in Sources */, - OBJ_218 /* PCBC.swift in Sources */, - OBJ_219 /* RandomAccessBlockModeWorker.swift in Sources */, - OBJ_220 /* Blowfish.swift in Sources */, - OBJ_221 /* CMAC.swift in Sources */, - OBJ_222 /* ChaCha20.swift in Sources */, - OBJ_223 /* Checksum.swift in Sources */, - OBJ_224 /* Cipher.swift in Sources */, - OBJ_225 /* Collection+Extension.swift in Sources */, - OBJ_226 /* CompactMap.swift in Sources */, - OBJ_227 /* Cryptors.swift in Sources */, - OBJ_228 /* Digest.swift in Sources */, - OBJ_229 /* DigestType.swift in Sources */, - OBJ_230 /* AES+Foundation.swift in Sources */, - OBJ_231 /* Array+Foundation.swift in Sources */, - OBJ_232 /* Blowfish+Foundation.swift in Sources */, - OBJ_233 /* ChaCha20+Foundation.swift in Sources */, - OBJ_234 /* Data+Extension.swift in Sources */, - OBJ_235 /* HMAC+Foundation.swift in Sources */, - OBJ_236 /* Rabbit+Foundation.swift in Sources */, - OBJ_237 /* String+FoundationExtension.swift in Sources */, - OBJ_238 /* Utils+Foundation.swift in Sources */, - OBJ_239 /* Generics.swift in Sources */, - OBJ_240 /* HKDF.swift in Sources */, - OBJ_241 /* HMAC.swift in Sources */, - OBJ_242 /* Int+Extension.swift in Sources */, - OBJ_243 /* MD5.swift in Sources */, - OBJ_244 /* NoPadding.swift in Sources */, - OBJ_245 /* Operators.swift in Sources */, - OBJ_246 /* PBKDF1.swift in Sources */, - OBJ_247 /* PBKDF2.swift in Sources */, - OBJ_248 /* PKCS5.swift in Sources */, - OBJ_249 /* PKCS7.swift in Sources */, - OBJ_250 /* PKCS7Padding.swift in Sources */, - OBJ_251 /* Padding.swift in Sources */, - OBJ_252 /* Poly1305.swift in Sources */, - OBJ_253 /* Rabbit.swift in Sources */, - OBJ_254 /* RandomAccessCryptor.swift in Sources */, - OBJ_255 /* RandomBytesSequence.swift in Sources */, - OBJ_256 /* SHA1.swift in Sources */, - OBJ_257 /* SHA2.swift in Sources */, - OBJ_258 /* SHA3.swift in Sources */, - OBJ_259 /* SecureBytes.swift in Sources */, - OBJ_260 /* String+Extension.swift in Sources */, - OBJ_261 /* UInt16+Extension.swift in Sources */, - OBJ_262 /* UInt32+Extension.swift in Sources */, - OBJ_263 /* UInt64+Extension.swift in Sources */, - OBJ_264 /* UInt8+Extension.swift in Sources */, - OBJ_265 /* Updatable.swift in Sources */, - OBJ_266 /* Utils.swift in Sources */, - OBJ_267 /* ZeroPadding.swift in Sources */, + OBJ_207 /* AEAD.swift in Sources */, + OBJ_208 /* AEADChaCha20Poly1305.swift in Sources */, + OBJ_209 /* AES.Cryptors.swift in Sources */, + OBJ_210 /* AES.swift in Sources */, + OBJ_211 /* Array+Extension.swift in Sources */, + OBJ_212 /* Authenticator.swift in Sources */, + OBJ_213 /* BatchedCollection.swift in Sources */, + OBJ_214 /* Bit.swift in Sources */, + OBJ_215 /* BlockCipher.swift in Sources */, + OBJ_216 /* BlockMode.swift in Sources */, + OBJ_217 /* BlockModeOptions.swift in Sources */, + OBJ_218 /* BlockModeWorker.swift in Sources */, + OBJ_219 /* CBC.swift in Sources */, + OBJ_220 /* CFB.swift in Sources */, + OBJ_221 /* CTR.swift in Sources */, + OBJ_222 /* ECB.swift in Sources */, + OBJ_223 /* OFB.swift in Sources */, + OBJ_224 /* PCBC.swift in Sources */, + OBJ_225 /* RandomAccessBlockModeWorker.swift in Sources */, + OBJ_226 /* Blowfish.swift in Sources */, + OBJ_227 /* CMAC.swift in Sources */, + OBJ_228 /* ChaCha20.swift in Sources */, + OBJ_229 /* Checksum.swift in Sources */, + OBJ_230 /* Cipher.swift in Sources */, + OBJ_231 /* Collection+Extension.swift in Sources */, + OBJ_232 /* CompactMap.swift in Sources */, + OBJ_233 /* Cryptors.swift in Sources */, + OBJ_234 /* Digest.swift in Sources */, + OBJ_235 /* DigestType.swift in Sources */, + OBJ_236 /* AES+Foundation.swift in Sources */, + OBJ_237 /* Array+Foundation.swift in Sources */, + OBJ_238 /* Blowfish+Foundation.swift in Sources */, + OBJ_239 /* ChaCha20+Foundation.swift in Sources */, + OBJ_240 /* Data+Extension.swift in Sources */, + OBJ_241 /* HMAC+Foundation.swift in Sources */, + OBJ_242 /* Rabbit+Foundation.swift in Sources */, + OBJ_243 /* String+FoundationExtension.swift in Sources */, + OBJ_244 /* Utils+Foundation.swift in Sources */, + OBJ_245 /* Generics.swift in Sources */, + OBJ_246 /* HKDF.swift in Sources */, + OBJ_247 /* HMAC.swift in Sources */, + OBJ_248 /* Int+Extension.swift in Sources */, + OBJ_249 /* MD5.swift in Sources */, + OBJ_250 /* NoPadding.swift in Sources */, + OBJ_251 /* Operators.swift in Sources */, + OBJ_252 /* PBKDF1.swift in Sources */, + OBJ_253 /* PBKDF2.swift in Sources */, + OBJ_254 /* PKCS5.swift in Sources */, + OBJ_255 /* PKCS7.swift in Sources */, + OBJ_256 /* PKCS7Padding.swift in Sources */, + OBJ_257 /* Padding.swift in Sources */, + OBJ_258 /* Poly1305.swift in Sources */, + OBJ_259 /* Rabbit.swift in Sources */, + OBJ_260 /* RandomAccessCryptor.swift in Sources */, + OBJ_261 /* RandomBytesSequence.swift in Sources */, + OBJ_262 /* SHA1.swift in Sources */, + OBJ_263 /* SHA2.swift in Sources */, + OBJ_264 /* SHA3.swift in Sources */, + OBJ_265 /* SecureBytes.swift in Sources */, + OBJ_266 /* String+Extension.swift in Sources */, + OBJ_267 /* UInt16+Extension.swift in Sources */, + OBJ_268 /* UInt32+Extension.swift in Sources */, + OBJ_269 /* UInt64+Extension.swift in Sources */, + OBJ_270 /* UInt8+Extension.swift in Sources */, + OBJ_271 /* Updatable.swift in Sources */, + OBJ_272 /* Utils.swift in Sources */, + OBJ_273 /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_273 /* Sources */ = { + OBJ_279 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_274 /* Package.swift in Sources */, + OBJ_280 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_279 /* Sources */ = { + OBJ_285 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_280 /* Crypto.swift in Sources */, - OBJ_281 /* Cryptor.swift in Sources */, - OBJ_282 /* Digest.swift in Sources */, - OBJ_283 /* HMAC.swift in Sources */, - OBJ_284 /* KeyDerivation.swift in Sources */, - OBJ_285 /* Random.swift in Sources */, - OBJ_286 /* Status.swift in Sources */, - OBJ_287 /* StreamCryptor.swift in Sources */, - OBJ_288 /* Updatable.swift in Sources */, - OBJ_289 /* Utilities.swift in Sources */, + OBJ_286 /* Crypto.swift in Sources */, + OBJ_287 /* Cryptor.swift in Sources */, + OBJ_288 /* Digest.swift in Sources */, + OBJ_289 /* HMAC.swift in Sources */, + OBJ_290 /* KeyDerivation.swift in Sources */, + OBJ_291 /* Random.swift in Sources */, + OBJ_292 /* Status.swift in Sources */, + OBJ_293 /* StreamCryptor.swift in Sources */, + OBJ_294 /* Updatable.swift in Sources */, + OBJ_295 /* Utilities.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_295 /* Sources */ = { + OBJ_301 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_296 /* Package.swift in Sources */, + OBJ_302 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_301 /* Sources */ = { + OBJ_307 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_302 /* Elligator.swift in Sources */, + OBJ_308 /* Elligator.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_313 /* Sources */ = { + OBJ_319 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_314 /* ElligatorObjC.mm in Sources */, + OBJ_320 /* ElligatorObjC.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_322 /* Sources */ = { + OBJ_328 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_323 /* Package.swift in Sources */, + OBJ_329 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_328 /* Sources */ = { + OBJ_334 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_329 /* HKDF.swift in Sources */, + OBJ_335 /* HKDF.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_337 /* Sources */ = { + OBJ_343 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_338 /* Package.swift in Sources */, + OBJ_344 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_343 /* Sources */ = { + OBJ_349 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_344 /* MeekTCPConnection.swift in Sources */, + OBJ_350 /* MeekTCPConnection.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_355 /* Sources */ = { + OBJ_364 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_356 /* MeekTests.swift in Sources */, + OBJ_365 /* MeekTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_371 /* Sources */ = { + OBJ_382 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_372 /* Package.swift in Sources */, + OBJ_383 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_383 /* Sources */ = { + OBJ_394 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_384 /* FakePacketTunnelProvider.swift in Sources */, - OBJ_385 /* FakeTCPConnection.swift in Sources */, - OBJ_386 /* FakeUDPSession.swift in Sources */, + OBJ_395 /* FakePacketTunnelProvider.swift in Sources */, + OBJ_396 /* FakeTCPConnection.swift in Sources */, + OBJ_397 /* FakeUDPSession.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_394 /* Sources */ = { + OBJ_405 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_406 /* Auth.swift in Sources */, + OBJ_407 /* Box.swift in Sources */, + OBJ_408 /* GenericHash.swift in Sources */, + OBJ_409 /* KeyDerivation.swift in Sources */, + OBJ_410 /* KeyExchange.swift in Sources */, + OBJ_411 /* PWHash.swift in Sources */, + OBJ_412 /* RandomBytes.swift in Sources */, + OBJ_413 /* SecretBox.swift in Sources */, + OBJ_414 /* SecretStream.swift in Sources */, + OBJ_415 /* ShortHash.swift in Sources */, + OBJ_416 /* Sign.swift in Sources */, + OBJ_417 /* Sodium.swift in Sources */, + OBJ_418 /* Stream.swift in Sources */, + OBJ_419 /* Utils.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_424 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_395 /* Auth.swift in Sources */, - OBJ_396 /* Box.swift in Sources */, - OBJ_397 /* GenericHash.swift in Sources */, - OBJ_398 /* KeyDerivation.swift in Sources */, - OBJ_399 /* KeyExchange.swift in Sources */, - OBJ_400 /* PWHash.swift in Sources */, - OBJ_401 /* RandomBytes.swift in Sources */, - OBJ_402 /* SecretBox.swift in Sources */, - OBJ_403 /* SecretStream.swift in Sources */, - OBJ_404 /* ShortHash.swift in Sources */, - OBJ_405 /* Sign.swift in Sources */, - OBJ_406 /* Sodium.swift in Sources */, - OBJ_407 /* Stream.swift in Sources */, - OBJ_408 /* Utils.swift in Sources */, + OBJ_425 /* LinkedList.swift in Sources */, + OBJ_426 /* Queue.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_413 /* Sources */ = { + OBJ_432 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_414 /* PacketTunnelProvider.swift in Sources */, - OBJ_415 /* TCPConnection.swift in Sources */, - OBJ_416 /* UDPSession.swift in Sources */, + OBJ_433 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_422 /* Sources */ = { + OBJ_437 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_423 /* Package.swift in Sources */, + OBJ_438 /* PacketTunnelProvider.swift in Sources */, + OBJ_439 /* TCPConnection.swift in Sources */, + OBJ_440 /* UDPSession.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_428 /* Sources */ = { + OBJ_446 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_429 /* WispCoding.swift in Sources */, - OBJ_430 /* WispConstants.swift in Sources */, - OBJ_431 /* WispErrors.swift in Sources */, - OBJ_432 /* WispProtocol.swift in Sources */, - OBJ_433 /* WispTCPConnection.swift in Sources */, + OBJ_447 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_454 /* Sources */ = { + OBJ_452 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_455 /* WispTests.swift in Sources */, + OBJ_453 /* WispCoding.swift in Sources */, + OBJ_454 /* WispConstants.swift in Sources */, + OBJ_455 /* WispErrors.swift in Sources */, + OBJ_456 /* WispProtocol.swift in Sources */, + OBJ_457 /* WispTCPConnection.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1736,214 +1853,242 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_481 /* crypto_verify_32.cc in Sources */, - OBJ_482 /* elligator.cpp in Sources */, - OBJ_483 /* fe_add.cc in Sources */, - OBJ_484 /* fe_cmov.cc in Sources */, - OBJ_485 /* fe_copy.cc in Sources */, - OBJ_486 /* fe_frombytes.cc in Sources */, - OBJ_487 /* fe_invert.cc in Sources */, - OBJ_488 /* fe_isnonzero.cc in Sources */, - OBJ_489 /* fe_mul.cc in Sources */, - OBJ_490 /* fe_neg.cc in Sources */, - OBJ_491 /* fe_sq.cc in Sources */, - OBJ_492 /* fe_sq2.cc in Sources */, - OBJ_493 /* fe_sub.cc in Sources */, - OBJ_494 /* fe_tobytes.cc in Sources */, - OBJ_495 /* ge_madd.cc in Sources */, - OBJ_496 /* ge_p1p1_to_p2.cc in Sources */, - OBJ_497 /* ge_p1p1_to_p3.cc in Sources */, - OBJ_498 /* ge_p2_dbl.cc in Sources */, - OBJ_499 /* ge_p3_0.cc in Sources */, - OBJ_500 /* ge_p3_dbl.cc in Sources */, - OBJ_501 /* ge_p3_to_p2.cc in Sources */, - OBJ_502 /* ge_precomp_0.cc in Sources */, - OBJ_503 /* ge_scalarmult_base.cc in Sources */, + OBJ_481 /* WispTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_509 /* Sources */ = { + OBJ_508 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_510 /* Package.swift in Sources */, + OBJ_509 /* crypto_verify_32.cc in Sources */, + OBJ_510 /* elligator.cpp in Sources */, + OBJ_511 /* fe_add.cc in Sources */, + OBJ_512 /* fe_cmov.cc in Sources */, + OBJ_513 /* fe_copy.cc in Sources */, + OBJ_514 /* fe_frombytes.cc in Sources */, + OBJ_515 /* fe_invert.cc in Sources */, + OBJ_516 /* fe_isnonzero.cc in Sources */, + OBJ_517 /* fe_mul.cc in Sources */, + OBJ_518 /* fe_neg.cc in Sources */, + OBJ_519 /* fe_sq.cc in Sources */, + OBJ_520 /* fe_sq2.cc in Sources */, + OBJ_521 /* fe_sub.cc in Sources */, + OBJ_522 /* fe_tobytes.cc in Sources */, + OBJ_523 /* ge_madd.cc in Sources */, + OBJ_524 /* ge_p1p1_to_p2.cc in Sources */, + OBJ_525 /* ge_p1p1_to_p3.cc in Sources */, + OBJ_526 /* ge_p2_dbl.cc in Sources */, + OBJ_527 /* ge_p3_0.cc in Sources */, + OBJ_528 /* ge_p3_dbl.cc in Sources */, + OBJ_529 /* ge_p3_to_p2.cc in Sources */, + OBJ_530 /* ge_precomp_0.cc in Sources */, + OBJ_531 /* ge_scalarmult_base.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_537 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_538 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - OBJ_306 /* PBXTargetDependency */ = { + OBJ_312 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::ElligatorObjC" /* ElligatorObjC */; - targetProxy = 4691A4722099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A620ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_308 /* PBXTargetDependency */ = { + OBJ_314 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::celligator" /* celligator */; - targetProxy = 4691A4742099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A820ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_317 /* PBXTargetDependency */ = { + OBJ_323 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::celligator" /* celligator */; - targetProxy = 4691A4732099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A720ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_332 /* PBXTargetDependency */ = { + OBJ_338 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Cryptor::Cryptor" /* Cryptor */; - targetProxy = 4691A47A2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318AC20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_348 /* PBXTargetDependency */ = { + OBJ_355 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SwiftQueue::SwiftQueue" /* SwiftQueue */; + targetProxy = 468318B020ACD19000CFBBBD /* PBXContainerItemProxy */; + }; + OBJ_357 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Transport::Transport" /* Transport */; - targetProxy = 4691A47F2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B120ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_350 /* PBXTargetDependency */ = { + OBJ_359 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "CryptoSwift::CryptoSwift" /* CryptoSwift */; - targetProxy = 4691A4802099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B220ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_362 /* PBXTargetDependency */ = { + OBJ_372 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Shapeshifter-Swift-Transports::ShapeshifterTesting" /* ShapeshifterTesting */; - targetProxy = 4691A4812099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B320ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_364 /* PBXTargetDependency */ = { + OBJ_374 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Shapeshifter-Swift-Transports::Meek" /* Meek */; - targetProxy = 4691A4822099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B420ACD19000CFBBBD /* PBXContainerItemProxy */; + }; + OBJ_375 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SwiftQueue::SwiftQueue" /* SwiftQueue */; + targetProxy = 468318B520ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_365 /* PBXTargetDependency */ = { + OBJ_376 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Transport::Transport" /* Transport */; - targetProxy = 4691A4832099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B620ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_366 /* PBXTargetDependency */ = { + OBJ_377 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "CryptoSwift::CryptoSwift" /* CryptoSwift */; - targetProxy = 4691A4842099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B720ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_377 /* PBXTargetDependency */ = { + OBJ_388 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Shapeshifter-Swift-Transports::MeekTests" /* MeekTests */; - targetProxy = 4691A48F2099FBC30013861F /* PBXContainerItemProxy */; + targetProxy = 468318C320ACD19200CFBBBD /* PBXContainerItemProxy */; }; - OBJ_378 /* PBXTargetDependency */ = { + OBJ_389 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Shapeshifter-Swift-Transports::WispTests" /* WispTests */; - targetProxy = 4691A4902099FBC30013861F /* PBXContainerItemProxy */; + targetProxy = 468318C420ACD19200CFBBBD /* PBXContainerItemProxy */; }; - OBJ_389 /* PBXTargetDependency */ = { + OBJ_400 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Transport::Transport" /* Transport */; - targetProxy = 4691A47E2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A220ACD19000CFBBBD /* PBXContainerItemProxy */; + }; + OBJ_468 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SwiftQueue::SwiftQueue" /* SwiftQueue */; + targetProxy = 468318A320ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_443 /* PBXTargetDependency */ = { + OBJ_469 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Transport::Transport" /* Transport */; - targetProxy = 4691A4752099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A420ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_444 /* PBXTargetDependency */ = { + OBJ_470 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::Elligator" /* Elligator */; - targetProxy = 4691A4762099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A520ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_445 /* PBXTargetDependency */ = { + OBJ_471 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::ElligatorObjC" /* ElligatorObjC */; - targetProxy = 4691A4772099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318A920ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_446 /* PBXTargetDependency */ = { + OBJ_472 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::celligator" /* celligator */; - targetProxy = 4691A4782099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318AA20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_447 /* PBXTargetDependency */ = { + OBJ_473 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "HKDF::HKDF" /* HKDF */; - targetProxy = 4691A4792099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318AB20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_448 /* PBXTargetDependency */ = { + OBJ_474 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Cryptor::Cryptor" /* Cryptor */; - targetProxy = 4691A47B2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318AD20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_449 /* PBXTargetDependency */ = { + OBJ_475 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "CryptoSwift::CryptoSwift" /* CryptoSwift */; - targetProxy = 4691A47C2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318AE20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_450 /* PBXTargetDependency */ = { + OBJ_476 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "swift-sodium::Sodium" /* Sodium */; - targetProxy = 4691A47D2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318AF20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_467 /* PBXTargetDependency */ = { + OBJ_494 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Shapeshifter-Swift-Transports::ShapeshifterTesting" /* ShapeshifterTesting */; - targetProxy = 4691A4852099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B820ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_468 /* PBXTargetDependency */ = { + OBJ_495 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Shapeshifter-Swift-Transports::Wisp" /* Wisp */; - targetProxy = 4691A4862099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318B920ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_469 /* PBXTargetDependency */ = { + OBJ_496 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SwiftQueue::SwiftQueue" /* SwiftQueue */; + targetProxy = 468318BA20ACD19000CFBBBD /* PBXContainerItemProxy */; + }; + OBJ_497 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Transport::Transport" /* Transport */; - targetProxy = 4691A4872099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318BB20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_470 /* PBXTargetDependency */ = { + OBJ_498 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::Elligator" /* Elligator */; - targetProxy = 4691A4882099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318BC20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_471 /* PBXTargetDependency */ = { + OBJ_499 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::ElligatorObjC" /* ElligatorObjC */; - targetProxy = 4691A4892099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318BD20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_472 /* PBXTargetDependency */ = { + OBJ_500 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Elligator::celligator" /* celligator */; - targetProxy = 4691A48A2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318BE20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_473 /* PBXTargetDependency */ = { + OBJ_501 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "HKDF::HKDF" /* HKDF */; - targetProxy = 4691A48B2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318BF20ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_474 /* PBXTargetDependency */ = { + OBJ_502 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Cryptor::Cryptor" /* Cryptor */; - targetProxy = 4691A48C2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318C020ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_475 /* PBXTargetDependency */ = { + OBJ_503 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "CryptoSwift::CryptoSwift" /* CryptoSwift */; - targetProxy = 4691A48D2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318C120ACD19000CFBBBD /* PBXContainerItemProxy */; }; - OBJ_476 /* PBXTargetDependency */ = { + OBJ_504 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "swift-sodium::Sodium" /* Sodium */; - targetProxy = 4691A48E2099FBC10013861F /* PBXContainerItemProxy */; + targetProxy = 468318C220ACD19000CFBBBD /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - OBJ_194 /* Debug */ = { + OBJ_200 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; - OBJ_195 /* Release */ = { + OBJ_201 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; - OBJ_198 /* Debug */ = { + OBJ_204 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -1966,7 +2111,7 @@ }; name = Debug; }; - OBJ_199 /* Release */ = { + OBJ_205 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -1989,7 +2134,7 @@ }; name = Release; }; - OBJ_271 /* Debug */ = { + OBJ_277 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -1998,7 +2143,7 @@ }; name = Debug; }; - OBJ_272 /* Release */ = { + OBJ_278 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2007,7 +2152,7 @@ }; name = Release; }; - OBJ_277 /* Debug */ = { + OBJ_283 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2033,7 +2178,7 @@ }; name = Debug; }; - OBJ_278 /* Release */ = { + OBJ_284 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2059,7 +2204,7 @@ }; name = Release; }; - OBJ_293 /* Debug */ = { + OBJ_299 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2068,7 +2213,29 @@ }; name = Debug; }; - OBJ_294 /* Release */ = { + OBJ_3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.13; + ONLY_ACTIVE_ARCH = YES; + OTHER_SWIFT_FLAGS = "-DXcode"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + USE_HEADERMAP = NO; + }; + name = Debug; + }; + OBJ_300 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2077,7 +2244,7 @@ }; name = Release; }; - OBJ_299 /* Debug */ = { + OBJ_305 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2106,30 +2273,7 @@ }; name = Debug; }; - OBJ_3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ADDITIONAL_SDKS = ""; - CLANG_ENABLE_OBJC_ARC = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_NS_ASSERTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - MACOSX_DEPLOYMENT_TARGET = 10.13; - ONLY_ACTIVE_ARCH = YES; - OTHER_SWIFT_FLAGS = "-DXcode"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos11.3; - SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - USE_HEADERMAP = NO; - }; - name = Debug; - }; - OBJ_300 /* Release */ = { + OBJ_306 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2158,7 +2302,7 @@ }; name = Release; }; - OBJ_311 /* Debug */ = { + OBJ_317 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { DEFINES_MODULE = NO; @@ -2185,7 +2329,7 @@ }; name = Debug; }; - OBJ_312 /* Release */ = { + OBJ_318 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { DEFINES_MODULE = NO; @@ -2212,7 +2356,7 @@ }; name = Release; }; - OBJ_320 /* Debug */ = { + OBJ_326 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2221,7 +2365,7 @@ }; name = Debug; }; - OBJ_321 /* Release */ = { + OBJ_327 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2230,7 +2374,7 @@ }; name = Release; }; - OBJ_326 /* Debug */ = { + OBJ_332 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2256,7 +2400,7 @@ }; name = Debug; }; - OBJ_327 /* Release */ = { + OBJ_333 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2282,7 +2426,7 @@ }; name = Release; }; - OBJ_335 /* Debug */ = { + OBJ_341 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2291,7 +2435,7 @@ }; name = Debug; }; - OBJ_336 /* Release */ = { + OBJ_342 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2300,7 +2444,7 @@ }; name = Release; }; - OBJ_341 /* Debug */ = { + OBJ_347 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2326,7 +2470,7 @@ }; name = Debug; }; - OBJ_342 /* Release */ = { + OBJ_348 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2352,7 +2496,7 @@ }; name = Release; }; - OBJ_353 /* Debug */ = { + OBJ_362 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2374,7 +2518,7 @@ }; name = Debug; }; - OBJ_354 /* Release */ = { + OBJ_363 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2396,7 +2540,7 @@ }; name = Release; }; - OBJ_369 /* Debug */ = { + OBJ_380 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2405,7 +2549,7 @@ }; name = Debug; }; - OBJ_370 /* Release */ = { + OBJ_381 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2414,19 +2558,19 @@ }; name = Release; }; - OBJ_375 /* Debug */ = { + OBJ_386 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; - OBJ_376 /* Release */ = { + OBJ_387 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; - OBJ_381 /* Debug */ = { + OBJ_392 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2452,7 +2596,7 @@ }; name = Debug; }; - OBJ_382 /* Release */ = { + OBJ_393 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2478,7 +2622,27 @@ }; name = Release; }; - OBJ_392 /* Debug */ = { + OBJ_4 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_OPTIMIZATION_LEVEL = s; + MACOSX_DEPLOYMENT_TARGET = 10.13; + OTHER_SWIFT_FLAGS = "-DXcode"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + USE_HEADERMAP = NO; + }; + name = Release; + }; + OBJ_403 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2511,7 +2675,7 @@ }; name = Debug; }; - OBJ_393 /* Release */ = { + OBJ_404 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2544,28 +2708,71 @@ }; name = Release; }; - OBJ_4 /* Release */ = { + OBJ_422 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = ""; - CLANG_ENABLE_OBJC_ARC = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = s; - MACOSX_DEPLOYMENT_TARGET = 10.13; - OTHER_SWIFT_FLAGS = "-DXcode"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos11.3; - SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - USE_HEADERMAP = NO; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = "Shapeshifter-Swift-Transports.xcodeproj/SwiftQueue_Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = SwiftQueue; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = SwiftQueue; + }; + name = Debug; + }; + OBJ_423 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = "Shapeshifter-Swift-Transports.xcodeproj/SwiftQueue_Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = SwiftQueue; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = SwiftQueue; }; name = Release; }; - OBJ_411 /* Debug */ = { + OBJ_430 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + OBJ_431 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + OBJ_435 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2588,7 +2795,7 @@ }; name = Debug; }; - OBJ_412 /* Release */ = { + OBJ_436 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2611,7 +2818,7 @@ }; name = Release; }; - OBJ_420 /* Debug */ = { + OBJ_444 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2620,7 +2827,7 @@ }; name = Debug; }; - OBJ_421 /* Release */ = { + OBJ_445 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2629,7 +2836,7 @@ }; name = Release; }; - OBJ_426 /* Debug */ = { + OBJ_450 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2667,7 +2874,7 @@ }; name = Debug; }; - OBJ_427 /* Release */ = { + OBJ_451 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2705,7 +2912,7 @@ }; name = Release; }; - OBJ_452 /* Debug */ = { + OBJ_478 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2739,7 +2946,7 @@ }; name = Debug; }; - OBJ_453 /* Release */ = { + OBJ_479 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2773,7 +2980,7 @@ }; name = Release; }; - OBJ_478 /* Debug */ = { + OBJ_506 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { DEFINES_MODULE = NO; @@ -2799,7 +3006,7 @@ }; name = Debug; }; - OBJ_479 /* Release */ = { + OBJ_507 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { DEFINES_MODULE = NO; @@ -2825,7 +3032,7 @@ }; name = Release; }; - OBJ_507 /* Debug */ = { + OBJ_535 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2834,7 +3041,7 @@ }; name = Debug; }; - OBJ_508 /* Release */ = { + OBJ_536 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2846,20 +3053,11 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - OBJ_193 /* Build configuration list for PBXAggregateTarget "CommonCrypto" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_194 /* Debug */, - OBJ_195 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - OBJ_197 /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { + OBJ_199 /* Build configuration list for PBXAggregateTarget "CommonCrypto" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_198 /* Debug */, - OBJ_199 /* Release */, + OBJ_200 /* Debug */, + OBJ_201 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2873,16 +3071,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_270 /* Build configuration list for PBXNativeTarget "CryptoSwiftPackageDescription" */ = { + OBJ_203 /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_271 /* Debug */, - OBJ_272 /* Release */, + OBJ_204 /* Debug */, + OBJ_205 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_276 /* Build configuration list for PBXNativeTarget "Cryptor" */ = { + OBJ_276 /* Build configuration list for PBXNativeTarget "CryptoSwiftPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_277 /* Debug */, @@ -2891,16 +3089,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_292 /* Build configuration list for PBXNativeTarget "CryptorPackageDescription" */ = { + OBJ_282 /* Build configuration list for PBXNativeTarget "Cryptor" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_293 /* Debug */, - OBJ_294 /* Release */, + OBJ_283 /* Debug */, + OBJ_284 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_298 /* Build configuration list for PBXNativeTarget "Elligator" */ = { + OBJ_298 /* Build configuration list for PBXNativeTarget "CryptorPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_299 /* Debug */, @@ -2909,25 +3107,25 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_310 /* Build configuration list for PBXNativeTarget "ElligatorObjC" */ = { + OBJ_304 /* Build configuration list for PBXNativeTarget "Elligator" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_311 /* Debug */, - OBJ_312 /* Release */, + OBJ_305 /* Debug */, + OBJ_306 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_319 /* Build configuration list for PBXNativeTarget "ElligatorPackageDescription" */ = { + OBJ_316 /* Build configuration list for PBXNativeTarget "ElligatorObjC" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_320 /* Debug */, - OBJ_321 /* Release */, + OBJ_317 /* Debug */, + OBJ_318 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_325 /* Build configuration list for PBXNativeTarget "HKDF" */ = { + OBJ_325 /* Build configuration list for PBXNativeTarget "ElligatorPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_326 /* Debug */, @@ -2936,16 +3134,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_334 /* Build configuration list for PBXNativeTarget "HKDFPackageDescription" */ = { + OBJ_331 /* Build configuration list for PBXNativeTarget "HKDF" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_335 /* Debug */, - OBJ_336 /* Release */, + OBJ_332 /* Debug */, + OBJ_333 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_340 /* Build configuration list for PBXNativeTarget "Meek" */ = { + OBJ_340 /* Build configuration list for PBXNativeTarget "HKDFPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_341 /* Debug */, @@ -2954,43 +3152,43 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_352 /* Build configuration list for PBXNativeTarget "MeekTests" */ = { + OBJ_346 /* Build configuration list for PBXNativeTarget "Meek" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_353 /* Debug */, - OBJ_354 /* Release */, + OBJ_347 /* Debug */, + OBJ_348 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_368 /* Build configuration list for PBXNativeTarget "Shapeshifter-Swift-TransportsPackageDescription" */ = { + OBJ_361 /* Build configuration list for PBXNativeTarget "MeekTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_369 /* Debug */, - OBJ_370 /* Release */, + OBJ_362 /* Debug */, + OBJ_363 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_374 /* Build configuration list for PBXAggregateTarget "Shapeshifter-Swift-TransportsPackageTests" */ = { + OBJ_379 /* Build configuration list for PBXNativeTarget "Shapeshifter-Swift-TransportsPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_375 /* Debug */, - OBJ_376 /* Release */, + OBJ_380 /* Debug */, + OBJ_381 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_380 /* Build configuration list for PBXNativeTarget "ShapeshifterTesting" */ = { + OBJ_385 /* Build configuration list for PBXAggregateTarget "Shapeshifter-Swift-TransportsPackageTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_381 /* Debug */, - OBJ_382 /* Release */, + OBJ_386 /* Debug */, + OBJ_387 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_391 /* Build configuration list for PBXNativeTarget "Sodium" */ = { + OBJ_391 /* Build configuration list for PBXNativeTarget "ShapeshifterTesting" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_392 /* Debug */, @@ -2999,43 +3197,61 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_410 /* Build configuration list for PBXNativeTarget "Transport" */ = { + OBJ_402 /* Build configuration list for PBXNativeTarget "Sodium" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_403 /* Debug */, + OBJ_404 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_421 /* Build configuration list for PBXNativeTarget "SwiftQueue" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_411 /* Debug */, - OBJ_412 /* Release */, + OBJ_422 /* Debug */, + OBJ_423 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_419 /* Build configuration list for PBXNativeTarget "TransportPackageDescription" */ = { + OBJ_429 /* Build configuration list for PBXNativeTarget "SwiftQueuePackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_420 /* Debug */, - OBJ_421 /* Release */, + OBJ_430 /* Debug */, + OBJ_431 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_425 /* Build configuration list for PBXNativeTarget "Wisp" */ = { + OBJ_434 /* Build configuration list for PBXNativeTarget "Transport" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_426 /* Debug */, - OBJ_427 /* Release */, + OBJ_435 /* Debug */, + OBJ_436 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_451 /* Build configuration list for PBXNativeTarget "WispTests" */ = { + OBJ_443 /* Build configuration list for PBXNativeTarget "TransportPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_452 /* Debug */, - OBJ_453 /* Release */, + OBJ_444 /* Debug */, + OBJ_445 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_477 /* Build configuration list for PBXNativeTarget "celligator" */ = { + OBJ_449 /* Build configuration list for PBXNativeTarget "Wisp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_450 /* Debug */, + OBJ_451 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_477 /* Build configuration list for PBXNativeTarget "WispTests" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_478 /* Debug */, @@ -3044,11 +3260,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_506 /* Build configuration list for PBXNativeTarget "swift-sodiumPackageDescription" */ = { + OBJ_505 /* Build configuration list for PBXNativeTarget "celligator" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_506 /* Debug */, + OBJ_507 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_534 /* Build configuration list for PBXNativeTarget "swift-sodiumPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_507 /* Debug */, - OBJ_508 /* Release */, + OBJ_535 /* Debug */, + OBJ_536 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Shapeshifter-Swift-Transports.xcodeproj/xcshareddata/xcschemes/Shapeshifter-Swift-Transports-Package.xcscheme b/Shapeshifter-Swift-Transports.xcodeproj/xcshareddata/xcschemes/Shapeshifter-Swift-Transports-Package.xcscheme index 53394fe..a147b7d 100644 --- a/Shapeshifter-Swift-Transports.xcodeproj/xcshareddata/xcschemes/Shapeshifter-Swift-Transports-Package.xcscheme +++ b/Shapeshifter-Swift-Transports.xcodeproj/xcshareddata/xcschemes/Shapeshifter-Swift-Transports-Package.xcscheme @@ -14,9 +14,9 @@ buildForAnalyzing = "YES"> @@ -28,9 +28,9 @@ buildForAnalyzing = "YES"> @@ -56,9 +56,9 @@ buildForAnalyzing = "YES"> @@ -70,9 +70,9 @@ buildForAnalyzing = "YES"> @@ -84,9 +84,9 @@ buildForAnalyzing = "YES"> @@ -98,9 +98,9 @@ buildForAnalyzing = "YES"> @@ -112,9 +112,9 @@ buildForAnalyzing = "YES"> @@ -126,9 +126,9 @@ buildForAnalyzing = "YES"> @@ -140,9 +140,9 @@ buildForAnalyzing = "YES"> @@ -154,9 +154,23 @@ buildForAnalyzing = "YES"> + + + + @@ -205,9 +219,9 @@ diff --git a/Sources/Meek/MeekTCPConnection.swift b/Sources/Meek/MeekTCPConnection.swift index d5237a2..f36b3ff 100644 --- a/Sources/Meek/MeekTCPConnection.swift +++ b/Sources/Meek/MeekTCPConnection.swift @@ -12,10 +12,11 @@ import NetworkExtension import CryptoSwift //import ShapeshifterTesting import Transport +import SwiftQueue -public func createMeekTCPConnection(provider: PacketTunnelProvider, to: URL, serverURL: URL) -> MeekTCPConnection? +public func createMeekTCPConnection(provider: PacketTunnelProvider, to: URL, serverURL: URL, logQueue: Queue) -> MeekTCPConnection? { - let conn = MeekTCPConnection(provider: provider, to: to, url: serverURL) + let conn = MeekTCPConnection(provider: provider, to: to, url: serverURL, logQueue: logQueue) guard let c = conn else { @@ -44,13 +45,9 @@ public class MeekTCPConnection: TCPConnection } public var connectedPath: NWPath? - public var localAddress: NWEndpoint? - public var remoteAddress: NWEndpoint? - public var txtRecord: Data? - public var error: Error? public var serverURL: URL @@ -62,6 +59,8 @@ public class MeekTCPConnection: TCPConnection ///Meek server is no longer accepting POST public var meekIsClosed = false + private var logQueue: Queue + let minLength = 1 let maxLength = MemoryLayout.size @@ -103,7 +102,8 @@ public class MeekTCPConnection: TCPConnection { didSet { - NotificationCenter.default.post(name: .meekConnectionState, object: _state) + logQueue.enqueue("Meek Connection State has changed: \(_state.description)") + NotificationCenter.default.post(name: .meekConnectionState, object: _state.description) guard let callback = stateCallback else { return } @@ -111,8 +111,10 @@ public class MeekTCPConnection: TCPConnection } } - public init?(provider: PacketTunnelProvider, to front: URL, url: URL) + public init?(provider: PacketTunnelProvider, to front: URL, url: URL, logQueue: Queue) { + self.logQueue = logQueue + serverURL = url frontURL = front @@ -184,11 +186,13 @@ public class MeekTCPConnection: TCPConnection public func readLength(_ length: Int, completionHandler completion: @escaping (Data?, Error?) -> Void) { + logQueue.enqueue("Meek readLength Called") readMinimumLength(length, maximumLength: length, completionHandler: completion) } public func write(_ data: Data, completionHandler completion: @escaping (Error?) -> Void) { + logQueue.enqueue("Meek Write Called") guard isViable else { @@ -228,6 +232,7 @@ public class MeekTCPConnection: TCPConnection func checkForData(responseBuffer: Data, completionHandler completion: @escaping (Error?) -> Void) { + logQueue.enqueue("Meek checkForData Called") self.network.readMinimumLength(60, maximumLength: 60 + 65536, completionHandler: { (maybeData, maybeError) in @@ -264,6 +269,7 @@ public class MeekTCPConnection: TCPConnection guard statusCode == "200" else { + self.logQueue.enqueue("Meek status code is not 200") if self.bodyBuffer.isEmpty { self.cleanup() @@ -277,6 +283,8 @@ public class MeekTCPConnection: TCPConnection return } + self.logQueue.enqueue("Meek Server response status code is 200.") + guard let bodyData = maybeBody else { @@ -341,6 +349,7 @@ public class MeekTCPConnection: TCPConnection func decodeResponse(_ data: Data) -> (statusCode: String?, body: Data?) { + logQueue.enqueue("Meek: Decoding Server Response") guard let (headerString, bodyData) = splitOnBlankLine(data: data) else { @@ -484,3 +493,19 @@ public extension Notification.Name { static let meekConnectionState = Notification.Name("MeekTCPConnectionState") } + +extension NWTCPConnectionState: CustomStringConvertible +{ + public var description: String + { + switch self + { + case .cancelled: return "Cancelled" + case .connected: return "Connected" + case .connecting: return "Connecting" + case .disconnected: return "Disconnected" + case .invalid: return "Invalid" + case .waiting: return "Waiting" + } + } +}