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

/* Begin PBXBuildFile section */
		FE49FF9C1A1A3C2D000030A4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE49FF9B1A1A3C2D000030A4 /* Foundation.framework */; };
		FE7A4AD71D8D72D600E732B4 /* SessionDetails.m in Sources */ = {isa = PBXBuildFile; fileRef = FE7A4AD61D8D72D600E732B4 /* SessionDetails.m */; };
		FE991F061C5F66540014F23E /* Context.mm in Sources */ = {isa = PBXBuildFile; fileRef = FE991EF61C5F66540014F23E /* Context.mm */; };
		FE991F071C5F66540014F23E /* HTTPConnector.mm in Sources */ = {isa = PBXBuildFile; fileRef = FE991EFA1C5F66540014F23E /* HTTPConnector.mm */; };
		FE991F081C5F66540014F23E /* MPin.mm in Sources */ = {isa = PBXBuildFile; fileRef = FE991EFD1C5F66540014F23E /* MPin.mm */; };
		FE991F091C5F66540014F23E /* MpinStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = FE991EFF1C5F66540014F23E /* MpinStatus.m */; };
		FE991F0A1C5F66540014F23E /* OTP.m in Sources */ = {isa = PBXBuildFile; fileRef = FE991F011C5F66540014F23E /* OTP.m */; };
		FE991F0B1C5F66540014F23E /* Storage.mm in Sources */ = {isa = PBXBuildFile; fileRef = FE991F031C5F66540014F23E /* Storage.mm */; };
		FE991F0C1C5F66540014F23E /* User.mm in Sources */ = {isa = PBXBuildFile; fileRef = FE991F051C5F66540014F23E /* User.mm */; };
		FEBBC18B1C5F88F80011001A /* IUser.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FE991EFB1C5F66540014F23E /* IUser.h */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		FEBBC18C1C5F88F80011001A /* MPin.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FE991EFC1C5F66540014F23E /* MPin.h */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		FEBBC18D1C5F88F80011001A /* OTP.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FE991F001C5F66540014F23E /* OTP.h */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		FEBBC18E1C5F89100011001A /* MpinStatus.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FE991EFE1C5F66540014F23E /* MpinStatus.h */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		FED0EE051C68C984001AB531 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDD91C68C984001AB531 /* aes.c */; };
		FED0EE061C68C984001AB531 /* big.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDDA1C68C984001AB531 /* big.c */; };
		FED0EE071C68C984001AB531 /* ecp.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDDD1C68C984001AB531 /* ecp.c */; };
		FED0EE081C68C984001AB531 /* ecp2.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDDE1C68C984001AB531 /* ecp2.c */; };
		FED0EE091C68C984001AB531 /* ff.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDDF1C68C984001AB531 /* ff.c */; };
		FED0EE0A1C68C984001AB531 /* fp.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE01C68C984001AB531 /* fp.c */; };
		FED0EE0B1C68C984001AB531 /* fp12.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE11C68C984001AB531 /* fp12.c */; };
		FED0EE0C1C68C984001AB531 /* fp2.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE21C68C984001AB531 /* fp2.c */; };
		FED0EE0D1C68C984001AB531 /* fp4.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE31C68C984001AB531 /* fp4.c */; };
		FED0EE0E1C68C984001AB531 /* gcm.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE41C68C984001AB531 /* gcm.c */; };
		FED0EE0F1C68C984001AB531 /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE51C68C984001AB531 /* hash.c */; };
		FED0EE101C68C984001AB531 /* mpin.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE61C68C984001AB531 /* mpin.c */; };
		FED0EE111C68C984001AB531 /* oct.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE81C68C984001AB531 /* oct.c */; };
		FED0EE121C68C984001AB531 /* pair.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDE91C68C984001AB531 /* pair.c */; };
		FED0EE131C68C984001AB531 /* rand.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDEB1C68C984001AB531 /* rand.c */; };
		FED0EE141C68C984001AB531 /* rom.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDEC1C68C984001AB531 /* rom.c */; };
		FED0EE151C68C984001AB531 /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDED1C68C984001AB531 /* version.c */; };
		FED0EE161C68C984001AB531 /* mpin_crypto_non_tee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDF81C68C984001AB531 /* mpin_crypto_non_tee.cpp */; };
		FED0EE171C68C984001AB531 /* mpin_sdk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED0EDFB1C68C984001AB531 /* mpin_sdk.cpp */; };
		FED0EE181C68C984001AB531 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED0EE021C68C984001AB531 /* utils.cpp */; };
		FED0EE1B1C68C9A3001AB531 /* CvString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED0EE191C68C9A3001AB531 /* CvString.cpp */; };
		FED0EE1C1C68C9A3001AB531 /* CvXcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED0EE1A1C68C9A3001AB531 /* CvXcode.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
		FE49FF961A1A3C2D000030A4 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 8;
			dstPath = "include/$(PRODUCT_NAME)";
			dstSubfolderSpec = 16;
			files = (
				FEBBC18E1C5F89100011001A /* MpinStatus.h in CopyFiles */,
				FEBBC18B1C5F88F80011001A /* IUser.h in CopyFiles */,
				FEBBC18C1C5F88F80011001A /* MPin.h in CopyFiles */,
				FEBBC18D1C5F88F80011001A /* OTP.h in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		FE49FF981A1A3C2D000030A4 /* libMPinSDK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMPinSDK.a; sourceTree = BUILT_PRODUCTS_DIR; };
		FE49FF9B1A1A3C2D000030A4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		FE49FF9F1A1A3C2D000030A4 /* MPinSDK-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MPinSDK-Prefix.pch"; sourceTree = "<group>"; };
		FE49FFAC1A1A3C2D000030A4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
		FE7A4AD51D8D72D600E732B4 /* SessionDetails.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SessionDetails.h; path = ../../src/SessionDetails.h; sourceTree = "<group>"; };
		FE7A4AD61D8D72D600E732B4 /* SessionDetails.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SessionDetails.m; path = ../../src/SessionDetails.m; sourceTree = "<group>"; };
		FE991EF51C5F66540014F23E /* Context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Context.h; path = ../../src/Context.h; sourceTree = "<group>"; };
		FE991EF61C5F66540014F23E /* Context.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Context.mm; path = ../../src/Context.mm; sourceTree = "<group>"; };
		FE991EF71C5F66540014F23E /* def.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = def.h; path = ../../src/def.h; sourceTree = "<group>"; };
		FE991EF81C5F66540014F23E /* Exceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Exceptions.h; path = ../../src/Exceptions.h; sourceTree = "<group>"; };
		FE991EF91C5F66540014F23E /* HTTPConnector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPConnector.h; path = ../../src/HTTPConnector.h; sourceTree = "<group>"; };
		FE991EFA1C5F66540014F23E /* HTTPConnector.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = HTTPConnector.mm; path = ../../src/HTTPConnector.mm; sourceTree = "<group>"; };
		FE991EFB1C5F66540014F23E /* IUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IUser.h; path = ../../src/IUser.h; sourceTree = "<group>"; };
		FE991EFC1C5F66540014F23E /* MPin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPin.h; path = ../../src/MPin.h; sourceTree = "<group>"; };
		FE991EFD1C5F66540014F23E /* MPin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MPin.mm; path = ../../src/MPin.mm; sourceTree = "<group>"; };
		FE991EFE1C5F66540014F23E /* MpinStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MpinStatus.h; path = ../../src/MpinStatus.h; sourceTree = "<group>"; };
		FE991EFF1C5F66540014F23E /* MpinStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MpinStatus.m; path = ../../src/MpinStatus.m; sourceTree = "<group>"; };
		FE991F001C5F66540014F23E /* OTP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OTP.h; path = ../../src/OTP.h; sourceTree = "<group>"; };
		FE991F011C5F66540014F23E /* OTP.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OTP.m; path = ../../src/OTP.m; sourceTree = "<group>"; };
		FE991F021C5F66540014F23E /* Storage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Storage.h; path = ../../src/Storage.h; sourceTree = "<group>"; };
		FE991F031C5F66540014F23E /* Storage.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Storage.mm; path = ../../src/Storage.mm; sourceTree = "<group>"; };
		FE991F041C5F66540014F23E /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = User.h; path = ../../src/User.h; sourceTree = "<group>"; };
		FE991F051C5F66540014F23E /* User.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = User.mm; path = ../../src/User.mm; sourceTree = "<group>"; };
		FED0EDD91C68C984001AB531 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes.c; sourceTree = "<group>"; };
		FED0EDDA1C68C984001AB531 /* big.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = big.c; sourceTree = "<group>"; };
		FED0EDDB1C68C984001AB531 /* clint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clint.h; sourceTree = "<group>"; };
		FED0EDDC1C68C984001AB531 /* DLLDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DLLDefines.h; sourceTree = "<group>"; };
		FED0EDDD1C68C984001AB531 /* ecp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ecp.c; sourceTree = "<group>"; };
		FED0EDDE1C68C984001AB531 /* ecp2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ecp2.c; sourceTree = "<group>"; };
		FED0EDDF1C68C984001AB531 /* ff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ff.c; sourceTree = "<group>"; };
		FED0EDE01C68C984001AB531 /* fp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fp.c; sourceTree = "<group>"; };
		FED0EDE11C68C984001AB531 /* fp12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fp12.c; sourceTree = "<group>"; };
		FED0EDE21C68C984001AB531 /* fp2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fp2.c; sourceTree = "<group>"; };
		FED0EDE31C68C984001AB531 /* fp4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fp4.c; sourceTree = "<group>"; };
		FED0EDE41C68C984001AB531 /* gcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gcm.c; sourceTree = "<group>"; };
		FED0EDE51C68C984001AB531 /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hash.c; sourceTree = "<group>"; };
		FED0EDE61C68C984001AB531 /* mpin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mpin.c; sourceTree = "<group>"; };
		FED0EDE71C68C984001AB531 /* mpin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mpin.h; sourceTree = "<group>"; };
		FED0EDE81C68C984001AB531 /* oct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = oct.c; sourceTree = "<group>"; };
		FED0EDE91C68C984001AB531 /* pair.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pair.c; sourceTree = "<group>"; };
		FED0EDEA1C68C984001AB531 /* platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = "<group>"; };
		FED0EDEB1C68C984001AB531 /* rand.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rand.c; sourceTree = "<group>"; };
		FED0EDEC1C68C984001AB531 /* rom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rom.c; sourceTree = "<group>"; };
		FED0EDED1C68C984001AB531 /* version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = version.c; sourceTree = "<group>"; };
		FED0EDEE1C68C984001AB531 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
		FED0EDEF1C68C984001AB531 /* cv_shared_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cv_shared_ptr.h; path = "../../mpin-sdk-core/src/cv_shared_ptr.h"; sourceTree = "<group>"; };
		FED0EDF11C68C984001AB531 /* elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = elements.h; sourceTree = "<group>"; };
		FED0EDF21C68C984001AB531 /* elements.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = elements.inl; sourceTree = "<group>"; };
		FED0EDF31C68C984001AB531 /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reader.h; sourceTree = "<group>"; };
		FED0EDF41C68C984001AB531 /* reader.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = reader.inl; sourceTree = "<group>"; };
		FED0EDF51C68C984001AB531 /* visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = visitor.h; sourceTree = "<group>"; };
		FED0EDF61C68C984001AB531 /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = writer.h; sourceTree = "<group>"; };
		FED0EDF71C68C984001AB531 /* writer.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = writer.inl; sourceTree = "<group>"; };
		FED0EDF81C68C984001AB531 /* mpin_crypto_non_tee.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mpin_crypto_non_tee.cpp; path = "../../mpin-sdk-core/src/mpin_crypto_non_tee.cpp"; sourceTree = "<group>"; };
		FED0EDF91C68C984001AB531 /* mpin_crypto_non_tee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mpin_crypto_non_tee.h; path = "../../mpin-sdk-core/src/mpin_crypto_non_tee.h"; sourceTree = "<group>"; };
		FED0EDFA1C68C984001AB531 /* mpin_crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mpin_crypto.h; path = "../../mpin-sdk-core/src/mpin_crypto.h"; sourceTree = "<group>"; };
		FED0EDFB1C68C984001AB531 /* mpin_sdk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mpin_sdk.cpp; path = "../../mpin-sdk-core/src/mpin_sdk.cpp"; sourceTree = "<group>"; };
		FED0EDFC1C68C984001AB531 /* mpin_sdk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mpin_sdk.h; path = "../../mpin-sdk-core/src/mpin_sdk.h"; sourceTree = "<group>"; };
		FED0EDFE1C68C984001AB531 /* checked.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checked.h; sourceTree = "<group>"; };
		FED0EDFF1C68C984001AB531 /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = core.h; sourceTree = "<group>"; };
		FED0EE001C68C984001AB531 /* unchecked.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unchecked.h; sourceTree = "<group>"; };
		FED0EE011C68C984001AB531 /* utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utf8.h; path = "../../mpin-sdk-core/src/utf8.h"; sourceTree = "<group>"; };
		FED0EE021C68C984001AB531 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = "../../mpin-sdk-core/src/utils.cpp"; sourceTree = "<group>"; };
		FED0EE031C68C984001AB531 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = "../../mpin-sdk-core/src/utils.h"; sourceTree = "<group>"; };
		FED0EE041C68C984001AB531 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = version.h; path = "../../mpin-sdk-core/src/version.h"; sourceTree = "<group>"; };
		FED0EE191C68C9A3001AB531 /* CvString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CvString.cpp; path = "../../mpin-sdk-core/ext/cvshared/cpp/CvString.cpp"; sourceTree = "<group>"; };
		FED0EE1A1C68C9A3001AB531 /* CvXcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CvXcode.cpp; path = "../../mpin-sdk-core/ext/cvshared/cpp/CvXcode.cpp"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		FE49FF951A1A3C2D000030A4 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FE49FF9C1A1A3C2D000030A4 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		FE49FF8F1A1A3C2D000030A4 = {
			isa = PBXGroup;
			children = (
				FE49FF9D1A1A3C2D000030A4 /* MPinSDK */,
				FE49FF9A1A1A3C2D000030A4 /* Frameworks */,
				FE49FF991A1A3C2D000030A4 /* Products */,
			);
			sourceTree = "<group>";
		};
		FE49FF991A1A3C2D000030A4 /* Products */ = {
			isa = PBXGroup;
			children = (
				FE49FF981A1A3C2D000030A4 /* libMPinSDK.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		FE49FF9A1A1A3C2D000030A4 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				FE49FF9B1A1A3C2D000030A4 /* Foundation.framework */,
				FE49FFAC1A1A3C2D000030A4 /* UIKit.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		FE49FF9D1A1A3C2D000030A4 /* MPinSDK */ = {
			isa = PBXGroup;
			children = (
				FED0EDD71C68C965001AB531 /* core */,
				FE991EF51C5F66540014F23E /* Context.h */,
				FE991EF71C5F66540014F23E /* def.h */,
				FE991EF81C5F66540014F23E /* Exceptions.h */,
				FE991EF91C5F66540014F23E /* HTTPConnector.h */,
				FE991EFA1C5F66540014F23E /* HTTPConnector.mm */,
				FE991EFB1C5F66540014F23E /* IUser.h */,
				FE991EFC1C5F66540014F23E /* MPin.h */,
				FE991EFD1C5F66540014F23E /* MPin.mm */,
				FE991EFE1C5F66540014F23E /* MpinStatus.h */,
				FE991EFF1C5F66540014F23E /* MpinStatus.m */,
				FE7A4AD51D8D72D600E732B4 /* SessionDetails.h */,
				FE7A4AD61D8D72D600E732B4 /* SessionDetails.m */,
				FE991F001C5F66540014F23E /* OTP.h */,
				FE991F011C5F66540014F23E /* OTP.m */,
				FE991F021C5F66540014F23E /* Storage.h */,
				FE991F031C5F66540014F23E /* Storage.mm */,
				FE991F041C5F66540014F23E /* User.h */,
				FE991F051C5F66540014F23E /* User.mm */,
				FE49FF9E1A1A3C2D000030A4 /* Supporting Files */,
			);
			path = MPinSDK;
			sourceTree = "<group>";
		};
		FE49FF9E1A1A3C2D000030A4 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				FED0EE191C68C9A3001AB531 /* CvString.cpp */,
				FED0EE1A1C68C9A3001AB531 /* CvXcode.cpp */,
				FE49FF9F1A1A3C2D000030A4 /* MPinSDK-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		FED0EDD71C68C965001AB531 /* core */ = {
			isa = PBXGroup;
			children = (
				FED0EDD81C68C984001AB531 /* crypto */,
				FED0EDEF1C68C984001AB531 /* cv_shared_ptr.h */,
				FED0EDF01C68C984001AB531 /* json */,
				FED0EDF81C68C984001AB531 /* mpin_crypto_non_tee.cpp */,
				FED0EDF91C68C984001AB531 /* mpin_crypto_non_tee.h */,
				FED0EDFA1C68C984001AB531 /* mpin_crypto.h */,
				FED0EDFB1C68C984001AB531 /* mpin_sdk.cpp */,
				FED0EDFC1C68C984001AB531 /* mpin_sdk.h */,
				FED0EDFD1C68C984001AB531 /* utf8 */,
				FED0EE011C68C984001AB531 /* utf8.h */,
				FED0EE021C68C984001AB531 /* utils.cpp */,
				FED0EE031C68C984001AB531 /* utils.h */,
				FED0EE041C68C984001AB531 /* version.h */,
				FE991EF61C5F66540014F23E /* Context.mm */,
			);
			name = core;
			sourceTree = "<group>";
		};
		FED0EDD81C68C984001AB531 /* crypto */ = {
			isa = PBXGroup;
			children = (
				FED0EDD91C68C984001AB531 /* aes.c */,
				FED0EDDA1C68C984001AB531 /* big.c */,
				FED0EDDB1C68C984001AB531 /* clint.h */,
				FED0EDDC1C68C984001AB531 /* DLLDefines.h */,
				FED0EDDD1C68C984001AB531 /* ecp.c */,
				FED0EDDE1C68C984001AB531 /* ecp2.c */,
				FED0EDDF1C68C984001AB531 /* ff.c */,
				FED0EDE01C68C984001AB531 /* fp.c */,
				FED0EDE11C68C984001AB531 /* fp12.c */,
				FED0EDE21C68C984001AB531 /* fp2.c */,
				FED0EDE31C68C984001AB531 /* fp4.c */,
				FED0EDE41C68C984001AB531 /* gcm.c */,
				FED0EDE51C68C984001AB531 /* hash.c */,
				FED0EDE61C68C984001AB531 /* mpin.c */,
				FED0EDE71C68C984001AB531 /* mpin.h */,
				FED0EDE81C68C984001AB531 /* oct.c */,
				FED0EDE91C68C984001AB531 /* pair.c */,
				FED0EDEA1C68C984001AB531 /* platform.h */,
				FED0EDEB1C68C984001AB531 /* rand.c */,
				FED0EDEC1C68C984001AB531 /* rom.c */,
				FED0EDED1C68C984001AB531 /* version.c */,
				FED0EDEE1C68C984001AB531 /* version.h */,
			);
			name = crypto;
			path = "../../mpin-sdk-core/src/crypto";
			sourceTree = "<group>";
		};
		FED0EDF01C68C984001AB531 /* json */ = {
			isa = PBXGroup;
			children = (
				FED0EDF11C68C984001AB531 /* elements.h */,
				FED0EDF21C68C984001AB531 /* elements.inl */,
				FED0EDF31C68C984001AB531 /* reader.h */,
				FED0EDF41C68C984001AB531 /* reader.inl */,
				FED0EDF51C68C984001AB531 /* visitor.h */,
				FED0EDF61C68C984001AB531 /* writer.h */,
				FED0EDF71C68C984001AB531 /* writer.inl */,
			);
			name = json;
			path = "../../mpin-sdk-core/src/json";
			sourceTree = "<group>";
		};
		FED0EDFD1C68C984001AB531 /* utf8 */ = {
			isa = PBXGroup;
			children = (
				FED0EDFE1C68C984001AB531 /* checked.h */,
				FED0EDFF1C68C984001AB531 /* core.h */,
				FED0EE001C68C984001AB531 /* unchecked.h */,
			);
			name = utf8;
			path = "../../mpin-sdk-core/src/utf8";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		FE49FF971A1A3C2D000030A4 /* MPinSDK */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FE49FFBB1A1A3C2D000030A4 /* Build configuration list for PBXNativeTarget "MPinSDK" */;
			buildPhases = (
				FE49FF941A1A3C2D000030A4 /* Sources */,
				FE49FF951A1A3C2D000030A4 /* Frameworks */,
				FE49FF961A1A3C2D000030A4 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = MPinSDK;
			productName = MPinSDK;
			productReference = FE49FF981A1A3C2D000030A4 /* libMPinSDK.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		FE49FF901A1A3C2D000030A4 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0510;
				ORGANIZATIONNAME = Certivox;
			};
			buildConfigurationList = FE49FF931A1A3C2D000030A4 /* Build configuration list for PBXProject "MPinSDK" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = FE49FF8F1A1A3C2D000030A4;
			productRefGroup = FE49FF991A1A3C2D000030A4 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				FE49FF971A1A3C2D000030A4 /* MPinSDK */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		FE49FF941A1A3C2D000030A4 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FED0EE0D1C68C984001AB531 /* fp4.c in Sources */,
				FED0EE1B1C68C9A3001AB531 /* CvString.cpp in Sources */,
				FE991F0B1C5F66540014F23E /* Storage.mm in Sources */,
				FED0EE101C68C984001AB531 /* mpin.c in Sources */,
				FED0EE091C68C984001AB531 /* ff.c in Sources */,
				FED0EE111C68C984001AB531 /* oct.c in Sources */,
				FE991F0A1C5F66540014F23E /* OTP.m in Sources */,
				FE991F071C5F66540014F23E /* HTTPConnector.mm in Sources */,
				FED0EE121C68C984001AB531 /* pair.c in Sources */,
				FE7A4AD71D8D72D600E732B4 /* SessionDetails.m in Sources */,
				FED0EE131C68C984001AB531 /* rand.c in Sources */,
				FED0EE061C68C984001AB531 /* big.c in Sources */,
				FED0EE141C68C984001AB531 /* rom.c in Sources */,
				FED0EE1C1C68C9A3001AB531 /* CvXcode.cpp in Sources */,
				FED0EE0A1C68C984001AB531 /* fp.c in Sources */,
				FED0EE0F1C68C984001AB531 /* hash.c in Sources */,
				FED0EE0B1C68C984001AB531 /* fp12.c in Sources */,
				FE991F0C1C5F66540014F23E /* User.mm in Sources */,
				FED0EE161C68C984001AB531 /* mpin_crypto_non_tee.cpp in Sources */,
				FED0EE081C68C984001AB531 /* ecp2.c in Sources */,
				FED0EE151C68C984001AB531 /* version.c in Sources */,
				FED0EE171C68C984001AB531 /* mpin_sdk.cpp in Sources */,
				FE991F091C5F66540014F23E /* MpinStatus.m in Sources */,
				FED0EE071C68C984001AB531 /* ecp.c in Sources */,
				FE991F061C5F66540014F23E /* Context.mm in Sources */,
				FED0EE0E1C68C984001AB531 /* gcm.c in Sources */,
				FED0EE0C1C68C984001AB531 /* fp2.c in Sources */,
				FED0EE181C68C984001AB531 /* utils.cpp in Sources */,
				FE991F081C5F66540014F23E /* MPin.mm in Sources */,
				FED0EE051C68C984001AB531 /* aes.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		96DA33FF1ACD671A00B2CAAB /* QA */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "../../mpin-sdk-core/ext/cvshared/cpp/include/**";
				VALIDATE_PRODUCT = YES;
			};
			name = QA;
		};
		96DA34001ACD671A00B2CAAB /* QA */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = YES;
				DSTROOT = /tmp/MPinSDK.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "MPinSDK/MPinSDK-Prefix.pch";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "../mpin-sdk-core/ext/cvshared/cpp/include/**";
			};
			name = QA;
		};
		96DA34051ACD672A00B2CAAB /* AdHoc */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "../../mpin-sdk-core/ext/cvshared/cpp/include/**";
				VALIDATE_PRODUCT = YES;
			};
			name = AdHoc;
		};
		96DA34061ACD672A00B2CAAB /* AdHoc */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = YES;
				DSTROOT = /tmp/MPinSDK.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "MPinSDK/MPinSDK-Prefix.pch";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "../mpin-sdk-core/ext/cvshared/cpp/include/**";
			};
			name = AdHoc;
		};
		96DA34081ACD673300B2CAAB /* AppStore */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "../../mpin-sdk-core/ext/cvshared/cpp/include/**";
				VALIDATE_PRODUCT = YES;
			};
			name = AppStore;
		};
		96DA34091ACD673300B2CAAB /* AppStore */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = YES;
				DSTROOT = /tmp/MPinSDK.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "MPinSDK/MPinSDK-Prefix.pch";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "../mpin-sdk-core/ext/cvshared/cpp/include/**";
			};
			name = AppStore;
		};
		FE49FFB91A1A3C2D000030A4 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				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;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "../../mpin-sdk-core/ext/cvshared/cpp/include/**";
			};
			name = Debug;
		};
		FE49FFBA1A1A3C2D000030A4 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "../../mpin-sdk-core/ext/cvshared/cpp/include/**";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		FE49FFBC1A1A3C2D000030A4 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = YES;
				DSTROOT = /tmp/MPinSDK.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "MPinSDK/MPinSDK-Prefix.pch";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "../mpin-sdk-core/ext/cvshared/cpp/include/**";
			};
			name = Debug;
		};
		FE49FFBD1A1A3C2D000030A4 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = YES;
				DSTROOT = /tmp/MPinSDK.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "MPinSDK/MPinSDK-Prefix.pch";
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "../mpin-sdk-core/ext/cvshared/cpp/include/**";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		FE49FF931A1A3C2D000030A4 /* Build configuration list for PBXProject "MPinSDK" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FE49FFB91A1A3C2D000030A4 /* Debug */,
				FE49FFBA1A1A3C2D000030A4 /* Release */,
				96DA34051ACD672A00B2CAAB /* AdHoc */,
				96DA34081ACD673300B2CAAB /* AppStore */,
				96DA33FF1ACD671A00B2CAAB /* QA */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FE49FFBB1A1A3C2D000030A4 /* Build configuration list for PBXNativeTarget "MPinSDK" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FE49FFBC1A1A3C2D000030A4 /* Debug */,
				FE49FFBD1A1A3C2D000030A4 /* Release */,
				96DA34061ACD672A00B2CAAB /* AdHoc */,
				96DA34091ACD673300B2CAAB /* AppStore */,
				96DA34001ACD671A00B2CAAB /* QA */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = FE49FF901A1A3C2D000030A4 /* Project object */;
}
