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

/* Begin PBXBuildFile section */
		9374F67F1D010711004ECE59 /* Syncbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9374F6741D010711004ECE59 /* Syncbase.framework */; };
		9374F6921D01074B004ECE59 /* Syncbase.h in Headers */ = {isa = PBXBuildFile; fileRef = 9374F6901D01074B004ECE59 /* Syncbase.h */; settings = {ATTRIBUTES = (Public, ); }; };
		9374F6AD1D01081D004ECE59 /* AccessList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A21D01081D004ECE59 /* AccessList.swift */; };
		9374F6AE1D01081D004ECE59 /* BatchDatabase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A31D01081D004ECE59 /* BatchDatabase.swift */; };
		9374F6AF1D01081D004ECE59 /* Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A41D01081D004ECE59 /* Collection.swift */; };
		9374F6B01D01081D004ECE59 /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A51D01081D004ECE59 /* Database.swift */; };
		9374F6B11D01081D004ECE59 /* DatabaseHandle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A61D01081D004ECE59 /* DatabaseHandle.swift */; };
		9374F6B21D01081D004ECE59 /* Id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A71D01081D004ECE59 /* Id.swift */; };
		9374F6B31D01081D004ECE59 /* Syncbase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A81D01081D004ECE59 /* Syncbase.swift */; };
		9374F6B41D01081D004ECE59 /* Syncgroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6A91D01081D004ECE59 /* Syncgroup.swift */; };
		9374F6B51D01081D004ECE59 /* SyncgroupInvite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6AA1D01081D004ECE59 /* SyncgroupInvite.swift */; };
		9374F6B61D01081D004ECE59 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6AB1D01081D004ECE59 /* User.swift */; };
		9374F6B71D01081D004ECE59 /* WatchChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9374F6AC1D01081D004ECE59 /* WatchChange.swift */; };
		938DEA861D0BAE57003C9734 /* Blessing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938DEA851D0BAE57003C9734 /* Blessing.swift */; };
		938DEA891D0F3FD4003C9734 /* BasicDatabaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938DEA871D0F3FC7003C9734 /* BasicDatabaseTests.swift */; };
		938DEA8B1D107078003C9734 /* TestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938DEA8A1D107078003C9734 /* TestHelpers.swift */; };
		938DEA9F1D12257E003C9734 /* OAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938DEA9E1D12257E003C9734 /* OAuth.swift */; };
		93D90C4D1D080E18004A8E72 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93D90C4C1D080E18004A8E72 /* Error.swift */; };
		93D90C591D08BD6E004A8E72 /* SyncbaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93D90C561D08BD62004A8E72 /* SyncbaseCore.framework */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		9374F6801D010711004ECE59 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 9374F66B1D010711004ECE59 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 9374F6731D010711004ECE59;
			remoteInfo = Syncbase;
		};
		93D90C551D08BD62004A8E72 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93D90C501D08BD61004A8E72 /* SyncbaseCore.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 30AD2DFF1CDD506700A28A0C;
			remoteInfo = SyncbaseCore;
		};
		93D90C571D08BD62004A8E72 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93D90C501D08BD61004A8E72 /* SyncbaseCore.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 30AD2E091CDD506700A28A0C;
			remoteInfo = SyncbaseCoreTests;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		9374F6741D010711004ECE59 /* Syncbase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Syncbase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		9374F67E1D010711004ECE59 /* SyncbaseTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncbaseTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		9374F68F1D01074B004ECE59 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		9374F6901D01074B004ECE59 /* Syncbase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Syncbase.h; sourceTree = "<group>"; };
		9374F6941D010751004ECE59 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		9374F6A21D01081D004ECE59 /* AccessList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccessList.swift; sourceTree = "<group>"; };
		9374F6A31D01081D004ECE59 /* BatchDatabase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BatchDatabase.swift; sourceTree = "<group>"; };
		9374F6A41D01081D004ECE59 /* Collection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Collection.swift; sourceTree = "<group>"; };
		9374F6A51D01081D004ECE59 /* Database.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Database.swift; sourceTree = "<group>"; };
		9374F6A61D01081D004ECE59 /* DatabaseHandle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseHandle.swift; sourceTree = "<group>"; };
		9374F6A71D01081D004ECE59 /* Id.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Id.swift; sourceTree = "<group>"; };
		9374F6A81D01081D004ECE59 /* Syncbase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncbase.swift; sourceTree = "<group>"; };
		9374F6A91D01081D004ECE59 /* Syncgroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncgroup.swift; sourceTree = "<group>"; };
		9374F6AA1D01081D004ECE59 /* SyncgroupInvite.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyncgroupInvite.swift; sourceTree = "<group>"; };
		9374F6AB1D01081D004ECE59 /* User.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = "<group>"; };
		9374F6AC1D01081D004ECE59 /* WatchChange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchChange.swift; sourceTree = "<group>"; };
		938DEA851D0BAE57003C9734 /* Blessing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Blessing.swift; sourceTree = "<group>"; };
		938DEA871D0F3FC7003C9734 /* BasicDatabaseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BasicDatabaseTests.swift; sourceTree = "<group>"; };
		938DEA8A1D107078003C9734 /* TestHelpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestHelpers.swift; sourceTree = "<group>"; };
		938DEA9E1D12257E003C9734 /* OAuth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OAuth.swift; sourceTree = "<group>"; };
		93D90C4C1D080E18004A8E72 /* Error.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = "<group>"; };
		93D90C501D08BD61004A8E72 /* SyncbaseCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SyncbaseCore.xcodeproj; path = ../SyncbaseCore/SyncbaseCore.xcodeproj; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		9374F6701D010711004ECE59 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93D90C591D08BD6E004A8E72 /* SyncbaseCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		9374F67B1D010711004ECE59 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9374F67F1D010711004ECE59 /* Syncbase.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		9374F66A1D010711004ECE59 = {
			isa = PBXGroup;
			children = (
				93D90C501D08BD61004A8E72 /* SyncbaseCore.xcodeproj */,
				9374F68E1D01074B004ECE59 /* Source */,
				9374F6931D010751004ECE59 /* Tests */,
				9374F6751D010711004ECE59 /* Products */,
			);
			sourceTree = "<group>";
		};
		9374F6751D010711004ECE59 /* Products */ = {
			isa = PBXGroup;
			children = (
				9374F6741D010711004ECE59 /* Syncbase.framework */,
				9374F67E1D010711004ECE59 /* SyncbaseTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		9374F68E1D01074B004ECE59 /* Source */ = {
			isa = PBXGroup;
			children = (
				9374F6901D01074B004ECE59 /* Syncbase.h */,
				9374F68F1D01074B004ECE59 /* Info.plist */,
				9374F6A21D01081D004ECE59 /* AccessList.swift */,
				9374F6A31D01081D004ECE59 /* BatchDatabase.swift */,
				938DEA851D0BAE57003C9734 /* Blessing.swift */,
				9374F6A41D01081D004ECE59 /* Collection.swift */,
				9374F6A51D01081D004ECE59 /* Database.swift */,
				9374F6A61D01081D004ECE59 /* DatabaseHandle.swift */,
				93D90C4C1D080E18004A8E72 /* Error.swift */,
				9374F6A71D01081D004ECE59 /* Id.swift */,
				938DEA9E1D12257E003C9734 /* OAuth.swift */,
				9374F6A81D01081D004ECE59 /* Syncbase.swift */,
				9374F6A91D01081D004ECE59 /* Syncgroup.swift */,
				9374F6AA1D01081D004ECE59 /* SyncgroupInvite.swift */,
				9374F6AB1D01081D004ECE59 /* User.swift */,
				9374F6AC1D01081D004ECE59 /* WatchChange.swift */,
			);
			path = Source;
			sourceTree = "<group>";
		};
		9374F6931D010751004ECE59 /* Tests */ = {
			isa = PBXGroup;
			children = (
				9374F6941D010751004ECE59 /* Info.plist */,
				938DEA871D0F3FC7003C9734 /* BasicDatabaseTests.swift */,
				938DEA8A1D107078003C9734 /* TestHelpers.swift */,
			);
			path = Tests;
			sourceTree = "<group>";
		};
		93D90C511D08BD61004A8E72 /* Products */ = {
			isa = PBXGroup;
			children = (
				93D90C561D08BD62004A8E72 /* SyncbaseCore.framework */,
				93D90C581D08BD62004A8E72 /* SyncbaseCoreTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		9374F6711D010711004ECE59 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9374F6921D01074B004ECE59 /* Syncbase.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		9374F6731D010711004ECE59 /* Syncbase */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 9374F6881D010711004ECE59 /* Build configuration list for PBXNativeTarget "Syncbase" */;
			buildPhases = (
				9374F66F1D010711004ECE59 /* Sources */,
				9374F6701D010711004ECE59 /* Frameworks */,
				9374F6711D010711004ECE59 /* Headers */,
				9374F6721D010711004ECE59 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Syncbase;
			productName = Syncbase;
			productReference = 9374F6741D010711004ECE59 /* Syncbase.framework */;
			productType = "com.apple.product-type.framework";
		};
		9374F67D1D010711004ECE59 /* SyncbaseTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 9374F68B1D010711004ECE59 /* Build configuration list for PBXNativeTarget "SyncbaseTests" */;
			buildPhases = (
				9374F67A1D010711004ECE59 /* Sources */,
				9374F67B1D010711004ECE59 /* Frameworks */,
				9374F67C1D010711004ECE59 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				9374F6811D010711004ECE59 /* PBXTargetDependency */,
			);
			name = SyncbaseTests;
			productName = SyncbaseTests;
			productReference = 9374F67E1D010711004ECE59 /* SyncbaseTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9374F66B1D010711004ECE59 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0730;
				LastUpgradeCheck = 0730;
				ORGANIZATIONNAME = "Google, Inc.";
				TargetAttributes = {
					9374F6731D010711004ECE59 = {
						CreatedOnToolsVersion = 7.3.1;
					};
					9374F67D1D010711004ECE59 = {
						CreatedOnToolsVersion = 7.3.1;
					};
				};
			};
			buildConfigurationList = 9374F66E1D010711004ECE59 /* Build configuration list for PBXProject "Syncbase" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 9374F66A1D010711004ECE59;
			productRefGroup = 9374F6751D010711004ECE59 /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 93D90C511D08BD61004A8E72 /* Products */;
					ProjectRef = 93D90C501D08BD61004A8E72 /* SyncbaseCore.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				9374F6731D010711004ECE59 /* Syncbase */,
				9374F67D1D010711004ECE59 /* SyncbaseTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		93D90C561D08BD62004A8E72 /* SyncbaseCore.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = SyncbaseCore.framework;
			remoteRef = 93D90C551D08BD62004A8E72 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93D90C581D08BD62004A8E72 /* SyncbaseCoreTests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = SyncbaseCoreTests.xctest;
			remoteRef = 93D90C571D08BD62004A8E72 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		9374F6721D010711004ECE59 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		9374F67C1D010711004ECE59 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		9374F66F1D010711004ECE59 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9374F6B71D01081D004ECE59 /* WatchChange.swift in Sources */,
				938DEA9F1D12257E003C9734 /* OAuth.swift in Sources */,
				9374F6AF1D01081D004ECE59 /* Collection.swift in Sources */,
				9374F6B11D01081D004ECE59 /* DatabaseHandle.swift in Sources */,
				9374F6B21D01081D004ECE59 /* Id.swift in Sources */,
				93D90C4D1D080E18004A8E72 /* Error.swift in Sources */,
				938DEA861D0BAE57003C9734 /* Blessing.swift in Sources */,
				9374F6B51D01081D004ECE59 /* SyncgroupInvite.swift in Sources */,
				9374F6AD1D01081D004ECE59 /* AccessList.swift in Sources */,
				9374F6B41D01081D004ECE59 /* Syncgroup.swift in Sources */,
				9374F6B31D01081D004ECE59 /* Syncbase.swift in Sources */,
				9374F6B01D01081D004ECE59 /* Database.swift in Sources */,
				9374F6B61D01081D004ECE59 /* User.swift in Sources */,
				9374F6AE1D01081D004ECE59 /* BatchDatabase.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		9374F67A1D010711004ECE59 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				938DEA891D0F3FD4003C9734 /* BasicDatabaseTests.swift in Sources */,
				938DEA8B1D107078003C9734 /* TestHelpers.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		9374F6811D010711004ECE59 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 9374F6731D010711004ECE59 /* Syncbase */;
			targetProxy = 9374F6801D010711004ECE59 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		9374F6861D010711004ECE59 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = 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 = 9.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		9374F6871D010711004ECE59 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = 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 = 9.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
				VALID_ARCHS = arm64;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		9374F6891D010711004ECE59 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/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;
		};
		9374F68A1D010711004ECE59 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/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;
		};
		9374F68C1D010711004ECE59 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		9374F68D1D010711004ECE59 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		9374F66E1D010711004ECE59 /* Build configuration list for PBXProject "Syncbase" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				9374F6861D010711004ECE59 /* Debug */,
				9374F6871D010711004ECE59 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		9374F6881D010711004ECE59 /* Build configuration list for PBXNativeTarget "Syncbase" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				9374F6891D010711004ECE59 /* Debug */,
				9374F68A1D010711004ECE59 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		9374F68B1D010711004ECE59 /* Build configuration list for PBXNativeTarget "SyncbaseTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				9374F68C1D010711004ECE59 /* Debug */,
				9374F68D1D010711004ECE59 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 9374F66B1D010711004ECE59 /* Project object */;
}
