// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		93B980D31CAB9B6100CE42E0 /* Principal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980D21CAB9B6100CE42E0 /* Principal.swift */; };
		93B980DC1CAB9D3D00CE42E0 /* Syncbase.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B980DB1CAB9D3D00CE42E0 /* Syncbase.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93B980E31CAB9D3D00CE42E0 /* Syncbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */; };
		93B980E81CAB9D3D00CE42E0 /* SyncbaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980E71CAB9D3D00CE42E0 /* SyncbaseTests.swift */; };
		93B980F31CAB9D6E00CE42E0 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980F21CAB9D6E00CE42E0 /* Security.swift */; };
		93B980F51CAB9D9000CE42E0 /* Syncbase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980F41CAB9D9000CE42E0 /* Syncbase.swift */; };
		93BC21591C9E199F0074C612 /* VanadiumCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC21581C9E199F0074C612 /* VanadiumCore.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93BC21601C9E199F0074C612 /* VanadiumCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93BC21551C9E199F0074C612 /* VanadiumCore.framework */; };
		93BC21F21C9E1B540074C612 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21711C9E1B540074C612 /* Errors.swift */; };
		93BC21F31C9E1B540074C612 /* Refs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21721C9E1B540074C612 /* Refs.swift */; };
		93BC21F41C9E1B540074C612 /* Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21731C9E1B540074C612 /* Types.swift */; };
		93BC21F51C9E1B540074C612 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21751C9E1B540074C612 /* Context.swift */; };
		93BC21F61C9E1B540074C612 /* RPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21771C9E1B540074C612 /* RPC.swift */; };
		93BC21F71C9E1B540074C612 /* Runtime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21791C9E1B540074C612 /* Runtime.swift */; };
		93BC21F81C9E1B540074C612 /* Dates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217B1C9E1B540074C612 /* Dates.swift */; };
		93BC21F91C9E1B540074C612 /* Locking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217C1C9E1B540074C612 /* Locking.swift */; };
		93BC21FA1C9E1B540074C612 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217D1C9E1B540074C612 /* Logging.swift */; };
		93BC21FB1C9E1B540074C612 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217E1C9E1B540074C612 /* Promise.swift */; };
		93BC21FC1C9E1B540074C612 /* Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217F1C9E1B540074C612 /* Strings.swift */; };
		93BC21FD1C9E1B540074C612 /* Threads.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21801C9E1B540074C612 /* Threads.swift */; };
		93BC22001C9E1B540074C612 /* VdlTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21841C9E1B540074C612 /* VdlTypes.swift */; };
		93BC22011C9E1B540074C612 /* VdlUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21851C9E1B540074C612 /* VdlUtil.swift */; };
		93BC22021C9E1B540074C612 /* cgo_exports.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC21871C9E1B540074C612 /* cgo_exports.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93BC22031C9E1B540074C612 /* go_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC21881C9E1B540074C612 /* go_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93BC22041C9E1B540074C612 /* v23_amd64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93BC21891C9E1B540074C612 /* v23_amd64.a */; };
		93BC22051C9E1B540074C612 /* v23_arm64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93BC218A1C9E1B540074C612 /* v23_arm64.a */; };
		93BC22441C9E1BE00074C612 /* CoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC22421C9E1BE00074C612 /* CoreTests.swift */; };
		93BC22451C9E1BE00074C612 /* PromiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC22431C9E1BE00074C612 /* PromiseTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		93B980E41CAB9D3D00CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93BC214C1C9E199F0074C612 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 93B980D81CAB9D3D00CE42E0;
			remoteInfo = Syncbase;
		};
		93B980F01CAB9D5800CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93BC214C1C9E199F0074C612 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 93BC21541C9E199F0074C612;
			remoteInfo = VanadiumCore;
		};
		93B981011CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F8111E3319A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS";
		};
		93B981031CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F8111E3E19A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS Tests";
		};
		93B981051CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4DD67C0B1A5C55C900ED2280;
			remoteInfo = "Alamofire OSX";
		};
		93B981071CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F829C6B21A7A94F100A2CD59;
			remoteInfo = "Alamofire OSX Tests";
		};
		93B981091CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4CF626EF1BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS";
		};
		93B9810B1CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4CF626F81BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS Tests";
		};
		93B9810D1CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = E4202FE01B667AA100C997FB;
			remoteInfo = "Alamofire watchOS";
		};
		93B9810F1CAC57F400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = F8111E3219A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS";
		};
		93BC21611C9E199F0074C612 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93BC214C1C9E199F0074C612 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 93BC21541C9E199F0074C612;
			remoteInfo = VanadiumCore;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		93B980D21CAB9B6100CE42E0 /* Principal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Principal.swift; path = security/Principal.swift; sourceTree = "<group>"; };
		93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Syncbase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		93B980DB1CAB9D3D00CE42E0 /* Syncbase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Syncbase.h; sourceTree = "<group>"; };
		93B980DD1CAB9D3D00CE42E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93B980E21CAB9D3D00CE42E0 /* SyncbaseTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncbaseTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		93B980E71CAB9D3D00CE42E0 /* SyncbaseTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncbaseTests.swift; sourceTree = "<group>"; };
		93B980E91CAB9D3D00CE42E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93B980F21CAB9D6E00CE42E0 /* Security.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Security.swift; sourceTree = "<group>"; };
		93B980F41CAB9D9000CE42E0 /* Syncbase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncbase.swift; sourceTree = "<group>"; };
		93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Alamofire.xcodeproj; path = "../../../third_party/swift/Alamofire-3.3.0/Alamofire.xcodeproj"; sourceTree = "<group>"; };
		93BC21551C9E199F0074C612 /* VanadiumCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VanadiumCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		93BC21581C9E199F0074C612 /* VanadiumCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VanadiumCore.h; sourceTree = "<group>"; };
		93BC215A1C9E199F0074C612 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93BC215F1C9E199F0074C612 /* VanadiumCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VanadiumCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		93BC21661C9E199F0074C612 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93BC21711C9E1B540074C612 /* Errors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = "<group>"; };
		93BC21721C9E1B540074C612 /* Refs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Refs.swift; sourceTree = "<group>"; };
		93BC21731C9E1B540074C612 /* Types.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Types.swift; sourceTree = "<group>"; };
		93BC21751C9E1B540074C612 /* Context.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = "<group>"; };
		93BC21771C9E1B540074C612 /* RPC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RPC.swift; sourceTree = "<group>"; };
		93BC21791C9E1B540074C612 /* Runtime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Runtime.swift; sourceTree = "<group>"; };
		93BC217B1C9E1B540074C612 /* Dates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Dates.swift; sourceTree = "<group>"; };
		93BC217C1C9E1B540074C612 /* Locking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Locking.swift; sourceTree = "<group>"; };
		93BC217D1C9E1B540074C612 /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = "<group>"; };
		93BC217E1C9E1B540074C612 /* Promise.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Promise.swift; sourceTree = "<group>"; };
		93BC217F1C9E1B540074C612 /* Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Strings.swift; sourceTree = "<group>"; };
		93BC21801C9E1B540074C612 /* Threads.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Threads.swift; sourceTree = "<group>"; };
		93BC21841C9E1B540074C612 /* VdlTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VdlTypes.swift; sourceTree = "<group>"; };
		93BC21851C9E1B540074C612 /* VdlUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VdlUtil.swift; sourceTree = "<group>"; };
		93BC21871C9E1B540074C612 /* cgo_exports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cgo_exports.h; sourceTree = "<group>"; };
		93BC21881C9E1B540074C612 /* go_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = go_types.h; sourceTree = "<group>"; };
		93BC21891C9E1B540074C612 /* v23_amd64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = v23_amd64.a; sourceTree = "<group>"; };
		93BC218A1C9E1B540074C612 /* v23_arm64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = v23_arm64.a; sourceTree = "<group>"; };
		93BC22421C9E1BE00074C612 /* CoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreTests.swift; sourceTree = "<group>"; };
		93BC22431C9E1BE00074C612 /* PromiseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PromiseTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		93B980D51CAB9D3D00CE42E0 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93B980DF1CAB9D3D00CE42E0 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93B980E31CAB9D3D00CE42E0 /* Syncbase.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21511C9E199F0074C612 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC22051C9E1B540074C612 /* v23_arm64.a in Frameworks */,
				93BC22041C9E1B540074C612 /* v23_amd64.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC215C1C9E199F0074C612 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC21601C9E199F0074C612 /* VanadiumCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		93B980D11CAB9B3E00CE42E0 /* security */ = {
			isa = PBXGroup;
			children = (
				93B980D21CAB9B6100CE42E0 /* Principal.swift */,
			);
			name = security;
			sourceTree = "<group>";
		};
		93B980DA1CAB9D3D00CE42E0 /* Syncbase */ = {
			isa = PBXGroup;
			children = (
				93B980DB1CAB9D3D00CE42E0 /* Syncbase.h */,
				93B980DD1CAB9D3D00CE42E0 /* Info.plist */,
				93B980F21CAB9D6E00CE42E0 /* Security.swift */,
				93B980F41CAB9D9000CE42E0 /* Syncbase.swift */,
			);
			path = Syncbase;
			sourceTree = "<group>";
		};
		93B980E61CAB9D3D00CE42E0 /* SyncbaseTests */ = {
			isa = PBXGroup;
			children = (
				93B980E71CAB9D3D00CE42E0 /* SyncbaseTests.swift */,
				93B980E91CAB9D3D00CE42E0 /* Info.plist */,
			);
			path = SyncbaseTests;
			sourceTree = "<group>";
		};
		93B980F81CAC57B400CE42E0 /* Products */ = {
			isa = PBXGroup;
			children = (
				93B981021CAC57B400CE42E0 /* Alamofire.framework */,
				93B981041CAC57B400CE42E0 /* Alamofire iOS Tests.xctest */,
				93B981061CAC57B400CE42E0 /* Alamofire.framework */,
				93B981081CAC57B400CE42E0 /* Alamofire OSX Tests.xctest */,
				93B9810A1CAC57B400CE42E0 /* Alamofire.framework */,
				93B9810C1CAC57B400CE42E0 /* Alamofire tvOS Tests.xctest */,
				93B9810E1CAC57B400CE42E0 /* Alamofire.framework */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		93BC214B1C9E199F0074C612 = {
			isa = PBXGroup;
			children = (
				93BC21571C9E199F0074C612 /* VanadiumCore */,
				93BC21631C9E199F0074C612 /* VanadiumCoreTests */,
				93B980DA1CAB9D3D00CE42E0 /* Syncbase */,
				93B980E61CAB9D3D00CE42E0 /* SyncbaseTests */,
				93BC21561C9E199F0074C612 /* Products */,
				93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */,
			);
			sourceTree = "<group>";
		};
		93BC21561C9E199F0074C612 /* Products */ = {
			isa = PBXGroup;
			children = (
				93BC21551C9E199F0074C612 /* VanadiumCore.framework */,
				93BC215F1C9E199F0074C612 /* VanadiumCoreTests.xctest */,
				93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */,
				93B980E21CAB9D3D00CE42E0 /* SyncbaseTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		93BC21571C9E199F0074C612 /* VanadiumCore */ = {
			isa = PBXGroup;
			children = (
				93BC21581C9E199F0074C612 /* VanadiumCore.h */,
				93BC215A1C9E199F0074C612 /* Info.plist */,
				93BC21701C9E1B540074C612 /* bridge */,
				93BC21741C9E1B540074C612 /* context */,
				93BC21761C9E1B540074C612 /* rpc */,
				93BC21781C9E1B540074C612 /* rt */,
				93B980D11CAB9B3E00CE42E0 /* security */,
				93BC217A1C9E1B540074C612 /* util */,
				93BC21821C9E1B540074C612 /* vdl */,
				93BC21861C9E1B540074C612 /* x */,
			);
			path = VanadiumCore;
			sourceTree = "<group>";
		};
		93BC21631C9E199F0074C612 /* VanadiumCoreTests */ = {
			isa = PBXGroup;
			children = (
				93BC21661C9E199F0074C612 /* Info.plist */,
				93BC22421C9E1BE00074C612 /* CoreTests.swift */,
				93BC22431C9E1BE00074C612 /* PromiseTests.swift */,
			);
			path = VanadiumCoreTests;
			sourceTree = "<group>";
		};
		93BC21701C9E1B540074C612 /* bridge */ = {
			isa = PBXGroup;
			children = (
				93BC21711C9E1B540074C612 /* Errors.swift */,
				93BC21721C9E1B540074C612 /* Refs.swift */,
				93BC21731C9E1B540074C612 /* Types.swift */,
			);
			path = bridge;
			sourceTree = "<group>";
		};
		93BC21741C9E1B540074C612 /* context */ = {
			isa = PBXGroup;
			children = (
				93BC21751C9E1B540074C612 /* Context.swift */,
			);
			path = context;
			sourceTree = "<group>";
		};
		93BC21761C9E1B540074C612 /* rpc */ = {
			isa = PBXGroup;
			children = (
				93BC21771C9E1B540074C612 /* RPC.swift */,
			);
			path = rpc;
			sourceTree = "<group>";
		};
		93BC21781C9E1B540074C612 /* rt */ = {
			isa = PBXGroup;
			children = (
				93BC21791C9E1B540074C612 /* Runtime.swift */,
			);
			path = rt;
			sourceTree = "<group>";
		};
		93BC217A1C9E1B540074C612 /* util */ = {
			isa = PBXGroup;
			children = (
				93BC217B1C9E1B540074C612 /* Dates.swift */,
				93BC217C1C9E1B540074C612 /* Locking.swift */,
				93BC217D1C9E1B540074C612 /* Logging.swift */,
				93BC217E1C9E1B540074C612 /* Promise.swift */,
				93BC217F1C9E1B540074C612 /* Strings.swift */,
				93BC21801C9E1B540074C612 /* Threads.swift */,
			);
			path = util;
			sourceTree = "<group>";
		};
		93BC21821C9E1B540074C612 /* vdl */ = {
			isa = PBXGroup;
			children = (
				93BC21841C9E1B540074C612 /* VdlTypes.swift */,
				93BC21851C9E1B540074C612 /* VdlUtil.swift */,
			);
			path = vdl;
			sourceTree = "<group>";
		};
		93BC21861C9E1B540074C612 /* x */ = {
			isa = PBXGroup;
			children = (
				93BC21871C9E1B540074C612 /* cgo_exports.h */,
				93BC21881C9E1B540074C612 /* go_types.h */,
				93BC21891C9E1B540074C612 /* v23_amd64.a */,
				93BC218A1C9E1B540074C612 /* v23_arm64.a */,
				93BC218B1C9E1B540074C612 /* vdl */,
			);
			path = x;
			sourceTree = "<group>";
		};
		93BC218B1C9E1B540074C612 /* vdl */ = {
			isa = PBXGroup;
			children = (
			);
			path = vdl;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		93B980D61CAB9D3D00CE42E0 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93B980DC1CAB9D3D00CE42E0 /* Syncbase.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21521C9E199F0074C612 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC22021C9E1B540074C612 /* cgo_exports.h in Headers */,
				93BC22031C9E1B540074C612 /* go_types.h in Headers */,
				93BC21591C9E199F0074C612 /* VanadiumCore.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		93B980D81CAB9D3D00CE42E0 /* Syncbase */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93B980EA1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "Syncbase" */;
			buildPhases = (
				93B980D41CAB9D3D00CE42E0 /* Sources */,
				93B980D51CAB9D3D00CE42E0 /* Frameworks */,
				93B980D61CAB9D3D00CE42E0 /* Headers */,
				93B980D71CAB9D3D00CE42E0 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				93B981101CAC57F400CE42E0 /* PBXTargetDependency */,
				93B980F11CAB9D5800CE42E0 /* PBXTargetDependency */,
			);
			name = Syncbase;
			productName = Syncbase;
			productReference = 93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */;
			productType = "com.apple.product-type.framework";
		};
		93B980E11CAB9D3D00CE42E0 /* SyncbaseTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93B980ED1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "SyncbaseTests" */;
			buildPhases = (
				93B980DE1CAB9D3D00CE42E0 /* Sources */,
				93B980DF1CAB9D3D00CE42E0 /* Frameworks */,
				93B980E01CAB9D3D00CE42E0 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				93B980E51CAB9D3D00CE42E0 /* PBXTargetDependency */,
			);
			name = SyncbaseTests;
			productName = SyncbaseTests;
			productReference = 93B980E21CAB9D3D00CE42E0 /* SyncbaseTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		93BC21541C9E199F0074C612 /* VanadiumCore */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93BC21691C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCore" */;
			buildPhases = (
				93BC216F1C9E19E50074C612 /* Warn on TODO and FIXME */,
				93BC21501C9E199F0074C612 /* Sources */,
				93BC21511C9E199F0074C612 /* Frameworks */,
				93BC21521C9E199F0074C612 /* Headers */,
				93BC21531C9E199F0074C612 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = VanadiumCore;
			productName = VanadiumCore;
			productReference = 93BC21551C9E199F0074C612 /* VanadiumCore.framework */;
			productType = "com.apple.product-type.framework";
		};
		93BC215E1C9E199F0074C612 /* VanadiumCoreTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93BC216C1C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCoreTests" */;
			buildPhases = (
				93BC215B1C9E199F0074C612 /* Sources */,
				93BC215C1C9E199F0074C612 /* Frameworks */,
				93BC215D1C9E199F0074C612 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				93BC21621C9E199F0074C612 /* PBXTargetDependency */,
			);
			name = VanadiumCoreTests;
			productName = VanadiumCoreTests;
			productReference = 93BC215F1C9E199F0074C612 /* VanadiumCoreTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		93BC214C1C9E199F0074C612 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0730;
				LastUpgradeCheck = 0720;
				ORGANIZATIONNAME = "Google, Inc.";
				TargetAttributes = {
					93B980D81CAB9D3D00CE42E0 = {
						CreatedOnToolsVersion = 7.3;
					};
					93B980E11CAB9D3D00CE42E0 = {
						CreatedOnToolsVersion = 7.3;
					};
					93BC21541C9E199F0074C612 = {
						CreatedOnToolsVersion = 7.2.1;
					};
					93BC215E1C9E199F0074C612 = {
						CreatedOnToolsVersion = 7.2.1;
					};
				};
			};
			buildConfigurationList = 93BC214F1C9E199F0074C612 /* Build configuration list for PBXProject "Vanadium" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 93BC214B1C9E199F0074C612;
			productRefGroup = 93BC21561C9E199F0074C612 /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 93B980F81CAC57B400CE42E0 /* Products */;
					ProjectRef = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				93BC21541C9E199F0074C612 /* VanadiumCore */,
				93BC215E1C9E199F0074C612 /* VanadiumCoreTests */,
				93B980D81CAB9D3D00CE42E0 /* Syncbase */,
				93B980E11CAB9D3D00CE42E0 /* SyncbaseTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		93B981021CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B981011CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B981041CAC57B400CE42E0 /* Alamofire iOS Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire iOS Tests.xctest";
			remoteRef = 93B981031CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B981061CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B981051CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B981081CAC57B400CE42E0 /* Alamofire OSX Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire OSX Tests.xctest";
			remoteRef = 93B981071CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B9810A1CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B981091CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B9810C1CAC57B400CE42E0 /* Alamofire tvOS Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire tvOS Tests.xctest";
			remoteRef = 93B9810B1CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B9810E1CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B9810D1CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		93B980D71CAB9D3D00CE42E0 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93B980E01CAB9D3D00CE42E0 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21531C9E199F0074C612 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC215D1C9E199F0074C612 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		93BC216F1C9E19E50074C612 /* Warn on TODO and FIXME */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Warn on TODO and FIXME";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# http://matthewmorey.com/improved-xcode-build-phases/\nKEYWORDS=\"TODO|FIXME|\\?\\?\\?:|\\!\\!\\!:\"\nfind \"${SRCROOT}\" \\( -name \"*.h\" -or -name \"*.m\" \\) -and \\( -path \"${SRCROOT}/Pods/*\" -prune -o -print0 \\) | xargs -0 egrep --with-filename --line-number --only-matching \"($KEYWORDS).*\\$\" | perl -p -e \"s/($KEYWORDS)/ warning: \\$1/\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		93B980D41CAB9D3D00CE42E0 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93B980F31CAB9D6E00CE42E0 /* Security.swift in Sources */,
				93B980F51CAB9D9000CE42E0 /* Syncbase.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93B980DE1CAB9D3D00CE42E0 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93B980E81CAB9D3D00CE42E0 /* SyncbaseTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21501C9E199F0074C612 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC21F41C9E1B540074C612 /* Types.swift in Sources */,
				93BC21FC1C9E1B540074C612 /* Strings.swift in Sources */,
				93BC21F51C9E1B540074C612 /* Context.swift in Sources */,
				93BC21F21C9E1B540074C612 /* Errors.swift in Sources */,
				93BC21F31C9E1B540074C612 /* Refs.swift in Sources */,
				93BC22001C9E1B540074C612 /* VdlTypes.swift in Sources */,
				93BC21F81C9E1B540074C612 /* Dates.swift in Sources */,
				93BC21F71C9E1B540074C612 /* Runtime.swift in Sources */,
				93BC22011C9E1B540074C612 /* VdlUtil.swift in Sources */,
				93B980D31CAB9B6100CE42E0 /* Principal.swift in Sources */,
				93BC21FD1C9E1B540074C612 /* Threads.swift in Sources */,
				93BC21F61C9E1B540074C612 /* RPC.swift in Sources */,
				93BC21FB1C9E1B540074C612 /* Promise.swift in Sources */,
				93BC21FA1C9E1B540074C612 /* Logging.swift in Sources */,
				93BC21F91C9E1B540074C612 /* Locking.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC215B1C9E199F0074C612 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC22441C9E1BE00074C612 /* CoreTests.swift in Sources */,
				93BC22451C9E1BE00074C612 /* PromiseTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		93B980E51CAB9D3D00CE42E0 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 93B980D81CAB9D3D00CE42E0 /* Syncbase */;
			targetProxy = 93B980E41CAB9D3D00CE42E0 /* PBXContainerItemProxy */;
		};
		93B980F11CAB9D5800CE42E0 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 93BC21541C9E199F0074C612 /* VanadiumCore */;
			targetProxy = 93B980F01CAB9D5800CE42E0 /* PBXContainerItemProxy */;
		};
		93B981101CAC57F400CE42E0 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "Alamofire iOS";
			targetProxy = 93B9810F1CAC57F400CE42E0 /* PBXContainerItemProxy */;
		};
		93BC21621C9E199F0074C612 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 93BC21541C9E199F0074C612 /* VanadiumCore */;
			targetProxy = 93BC21611C9E199F0074C612 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		93B980EB1CAB9D3D00CE42E0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Syncbase/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.Syncbase;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		93B980EC1CAB9D3D00CE42E0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Syncbase/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.Syncbase;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		93B980EE1CAB9D3D00CE42E0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				INFOPLIST_FILE = SyncbaseTests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		93B980EF1CAB9D3D00CE42E0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				INFOPLIST_FILE = SyncbaseTests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		93BC21671C9E199F0074C612 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_BITCODE = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		93BC21681C9E199F0074C612 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_BITCODE = NO;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		93BC216A1C9E199F0074C612 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = VanadiumCore/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/VanadiumCore",
					"$(PROJECT_DIR)/VanadiumCore/x",
				);
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCore;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				VALID_ARCHS = arm64;
			};
			name = Debug;
		};
		93BC216B1C9E199F0074C612 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = VanadiumCore/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/VanadiumCore",
					"$(PROJECT_DIR)/VanadiumCore/x",
				);
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCore;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				VALID_ARCHS = arm64;
			};
			name = Release;
		};
		93BC216D1C9E199F0074C612 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				INFOPLIST_FILE = VanadiumCoreTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		93BC216E1C9E199F0074C612 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				INFOPLIST_FILE = VanadiumCoreTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		93B980EA1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "Syncbase" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93B980EB1CAB9D3D00CE42E0 /* Debug */,
				93B980EC1CAB9D3D00CE42E0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93B980ED1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "SyncbaseTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93B980EE1CAB9D3D00CE42E0 /* Debug */,
				93B980EF1CAB9D3D00CE42E0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93BC214F1C9E199F0074C612 /* Build configuration list for PBXProject "Vanadium" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93BC21671C9E199F0074C612 /* Debug */,
				93BC21681C9E199F0074C612 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93BC21691C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCore" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93BC216A1C9E199F0074C612 /* Debug */,
				93BC216B1C9E199F0074C612 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93BC216C1C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCoreTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93BC216D1C9E199F0074C612 /* Debug */,
				93BC216E1C9E199F0074C612 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 93BC214C1C9E199F0074C612 /* Project object */;
}
