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

/* Begin PBXBuildFile section */
		22CA67241732087600C03C70 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 22CA67231732087600C03C70 /* Default-568h@2x.png */; };
		22D61E75171CBBF100E9CD17 /* UGConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D61E6E171CBBF100E9CD17 /* UGConnection.m */; };
		22D61E76171CBBF100E9CD17 /* UGHTTPClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D61E70171CBBF100E9CD17 /* UGHTTPClient.m */; };
		22D61E77171CBBF100E9CD17 /* UGHTTPHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D61E72171CBBF100E9CD17 /* UGHTTPHelpers.m */; };
		22D61E78171CBBF100E9CD17 /* UGHTTPResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D61E74171CBBF100E9CD17 /* UGHTTPResult.m */; };
		C96E782F1782349C004DD244 /* SSKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = C96E782E1782349C004DD244 /* SSKeychain.m */; };
		C96E783717824711004DD244 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96E783617824711004DD244 /* Security.framework */; };
		E89D6CA1150E5B2E005F5FB9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6CA0150E5B2E005F5FB9 /* UIKit.framework */; };
		E89D6CA3150E5B2E005F5FB9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6CA2150E5B2E005F5FB9 /* Foundation.framework */; };
		E89D6CA5150E5B2E005F5FB9 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6CA4150E5B2E005F5FB9 /* CoreGraphics.framework */; };
		E89D6CAB150E5B2E005F5FB9 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E89D6CA9150E5B2E005F5FB9 /* InfoPlist.strings */; };
		E89D6CAD150E5B2E005F5FB9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CAC150E5B2E005F5FB9 /* main.m */; };
		E89D6CB1150E5B2E005F5FB9 /* UGAppAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CB0150E5B2E005F5FB9 /* UGAppAppDelegate.m */; };
		E89D6CB4150E5B2E005F5FB9 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E89D6CB2150E5B2E005F5FB9 /* MainStoryboard_iPhone.storyboard */; };
		E89D6CB7150E5B2E005F5FB9 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E89D6CB5150E5B2E005F5FB9 /* MainStoryboard_iPad.storyboard */; };
		E89D6CBA150E5B2E005F5FB9 /* UGAppViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CB9150E5B2E005F5FB9 /* UGAppViewController.m */; };
		E89D6CC2150E5B2E005F5FB9 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6CC1150E5B2E005F5FB9 /* SenTestingKit.framework */; };
		E89D6CC3150E5B2E005F5FB9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6CA0150E5B2E005F5FB9 /* UIKit.framework */; };
		E89D6CC4150E5B2E005F5FB9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6CA2150E5B2E005F5FB9 /* Foundation.framework */; };
		E89D6CCC150E5B2E005F5FB9 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E89D6CCA150E5B2E005F5FB9 /* InfoPlist.strings */; };
		E89D6CCF150E5B2E005F5FB9 /* UGAPIAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CCE150E5B2E005F5FB9 /* UGAPIAppTests.m */; };
		E89D6D05150E5B99005F5FB9 /* NSObject+SBJson.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CDF150E5B99005F5FB9 /* NSObject+SBJson.m */; };
		E89D6D06150E5B99005F5FB9 /* SBJsonParser.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CE2150E5B99005F5FB9 /* SBJsonParser.m */; };
		E89D6D07150E5B99005F5FB9 /* SBJsonStreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CE4150E5B99005F5FB9 /* SBJsonStreamParser.m */; };
		E89D6D08150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CE6150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.m */; };
		E89D6D09150E5B99005F5FB9 /* SBJsonStreamParserAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CE8150E5B99005F5FB9 /* SBJsonStreamParserAdapter.m */; };
		E89D6D0A150E5B99005F5FB9 /* SBJsonStreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CEA150E5B99005F5FB9 /* SBJsonStreamParserState.m */; };
		E89D6D0B150E5B99005F5FB9 /* SBJsonStreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CEC150E5B99005F5FB9 /* SBJsonStreamWriter.m */; };
		E89D6D0C150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CEE150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.m */; };
		E89D6D0D150E5B99005F5FB9 /* SBJsonStreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CF0150E5B99005F5FB9 /* SBJsonStreamWriterState.m */; };
		E89D6D0E150E5B99005F5FB9 /* SBJsonTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CF2150E5B99005F5FB9 /* SBJsonTokeniser.m */; };
		E89D6D0F150E5B99005F5FB9 /* SBJsonUTF8Stream.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CF4150E5B99005F5FB9 /* SBJsonUTF8Stream.m */; };
		E89D6D10150E5B99005F5FB9 /* SBJsonWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CF6150E5B99005F5FB9 /* SBJsonWriter.m */; };
		E89D6D11150E5B99005F5FB9 /* UGActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CF8150E5B99005F5FB9 /* UGActivity.m */; };
		E89D6D12150E5B99005F5FB9 /* UGClient.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CFA150E5B99005F5FB9 /* UGClient.m */; };
		E89D6D13150E5B99005F5FB9 /* UGClientResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CFC150E5B99005F5FB9 /* UGClientResponse.m */; };
		E89D6D14150E5B99005F5FB9 /* UGHTTPManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6CFE150E5B99005F5FB9 /* UGHTTPManager.m */; };
		E89D6D15150E5B99005F5FB9 /* UGMultiStepAction.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6D00150E5B99005F5FB9 /* UGMultiStepAction.m */; };
		E89D6D16150E5B99005F5FB9 /* UGQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6D02150E5B99005F5FB9 /* UGQuery.m */; };
		E89D6D17150E5B99005F5FB9 /* UGUser.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D6D04150E5B99005F5FB9 /* UGUser.m */; };
		E89D6D19150E5C54005F5FB9 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89D6D18150E5C54005F5FB9 /* CoreLocation.framework */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		E89D6CC5150E5B2E005F5FB9 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = E89D6C93150E5B2E005F5FB9 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = E89D6C9B150E5B2E005F5FB9;
			remoteInfo = UGAPIApp;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		22CA67231732087600C03C70 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
		22D61E6D171CBBF100E9CD17 /* UGConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGConnection.h; sourceTree = "<group>"; };
		22D61E6E171CBBF100E9CD17 /* UGConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGConnection.m; sourceTree = "<group>"; };
		22D61E6F171CBBF100E9CD17 /* UGHTTPClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGHTTPClient.h; sourceTree = "<group>"; };
		22D61E70171CBBF100E9CD17 /* UGHTTPClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGHTTPClient.m; sourceTree = "<group>"; };
		22D61E71171CBBF100E9CD17 /* UGHTTPHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGHTTPHelpers.h; sourceTree = "<group>"; };
		22D61E72171CBBF100E9CD17 /* UGHTTPHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGHTTPHelpers.m; sourceTree = "<group>"; };
		22D61E73171CBBF100E9CD17 /* UGHTTPResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGHTTPResult.h; sourceTree = "<group>"; };
		22D61E74171CBBF100E9CD17 /* UGHTTPResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGHTTPResult.m; sourceTree = "<group>"; };
		638F675816EF875F002BD513 /* UGClientDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UGClientDelegate.h; sourceTree = "<group>"; };
		C96E782D1782349C004DD244 /* SSKeychain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSKeychain.h; sourceTree = "<group>"; };
		C96E782E1782349C004DD244 /* SSKeychain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSKeychain.m; sourceTree = "<group>"; };
		C96E783617824711004DD244 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
		E89D6C9C150E5B2E005F5FB9 /* UGAPIApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UGAPIApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
		E89D6CA0150E5B2E005F5FB9 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		E89D6CA2150E5B2E005F5FB9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		E89D6CA4150E5B2E005F5FB9 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		E89D6CA8150E5B2E005F5FB9 /* UGAPIApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UGAPIApp-Info.plist"; sourceTree = "<group>"; };
		E89D6CAA150E5B2E005F5FB9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		E89D6CAC150E5B2E005F5FB9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		E89D6CAE150E5B2E005F5FB9 /* UGAPIApp-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UGAPIApp-Prefix.pch"; sourceTree = "<group>"; };
		E89D6CAF150E5B2E005F5FB9 /* UGAppAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UGAppAppDelegate.h; sourceTree = "<group>"; };
		E89D6CB0150E5B2E005F5FB9 /* UGAppAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UGAppAppDelegate.m; sourceTree = "<group>"; };
		E89D6CB3150E5B2E005F5FB9 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
		E89D6CB6150E5B2E005F5FB9 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = "<group>"; };
		E89D6CB8150E5B2E005F5FB9 /* UGAppViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UGAppViewController.h; sourceTree = "<group>"; };
		E89D6CB9150E5B2E005F5FB9 /* UGAppViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UGAppViewController.m; sourceTree = "<group>"; };
		E89D6CC0150E5B2E005F5FB9 /* UGAPIAppTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UGAPIAppTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
		E89D6CC1150E5B2E005F5FB9 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
		E89D6CC9150E5B2E005F5FB9 /* UGAPIAppTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UGAPIAppTests-Info.plist"; sourceTree = "<group>"; };
		E89D6CCB150E5B2E005F5FB9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		E89D6CCD150E5B2E005F5FB9 /* UGAPIAppTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UGAPIAppTests.h; sourceTree = "<group>"; };
		E89D6CCE150E5B2E005F5FB9 /* UGAPIAppTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UGAPIAppTests.m; sourceTree = "<group>"; };
		E89D6CDE150E5B99005F5FB9 /* NSObject+SBJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+SBJson.h"; sourceTree = "<group>"; };
		E89D6CDF150E5B99005F5FB9 /* NSObject+SBJson.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+SBJson.m"; sourceTree = "<group>"; };
		E89D6CE0150E5B99005F5FB9 /* SBJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson.h; sourceTree = "<group>"; };
		E89D6CE1150E5B99005F5FB9 /* SBJsonParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonParser.h; sourceTree = "<group>"; };
		E89D6CE2150E5B99005F5FB9 /* SBJsonParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonParser.m; sourceTree = "<group>"; };
		E89D6CE3150E5B99005F5FB9 /* SBJsonStreamParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParser.h; sourceTree = "<group>"; };
		E89D6CE4150E5B99005F5FB9 /* SBJsonStreamParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParser.m; sourceTree = "<group>"; };
		E89D6CE5150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParserAccumulator.h; sourceTree = "<group>"; };
		E89D6CE6150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParserAccumulator.m; sourceTree = "<group>"; };
		E89D6CE7150E5B99005F5FB9 /* SBJsonStreamParserAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParserAdapter.h; sourceTree = "<group>"; };
		E89D6CE8150E5B99005F5FB9 /* SBJsonStreamParserAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParserAdapter.m; sourceTree = "<group>"; };
		E89D6CE9150E5B99005F5FB9 /* SBJsonStreamParserState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParserState.h; sourceTree = "<group>"; };
		E89D6CEA150E5B99005F5FB9 /* SBJsonStreamParserState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParserState.m; sourceTree = "<group>"; };
		E89D6CEB150E5B99005F5FB9 /* SBJsonStreamWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamWriter.h; sourceTree = "<group>"; };
		E89D6CEC150E5B99005F5FB9 /* SBJsonStreamWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamWriter.m; sourceTree = "<group>"; };
		E89D6CED150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamWriterAccumulator.h; sourceTree = "<group>"; };
		E89D6CEE150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamWriterAccumulator.m; sourceTree = "<group>"; };
		E89D6CEF150E5B99005F5FB9 /* SBJsonStreamWriterState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamWriterState.h; sourceTree = "<group>"; };
		E89D6CF0150E5B99005F5FB9 /* SBJsonStreamWriterState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamWriterState.m; sourceTree = "<group>"; };
		E89D6CF1150E5B99005F5FB9 /* SBJsonTokeniser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonTokeniser.h; sourceTree = "<group>"; };
		E89D6CF2150E5B99005F5FB9 /* SBJsonTokeniser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonTokeniser.m; sourceTree = "<group>"; };
		E89D6CF3150E5B99005F5FB9 /* SBJsonUTF8Stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonUTF8Stream.h; sourceTree = "<group>"; };
		E89D6CF4150E5B99005F5FB9 /* SBJsonUTF8Stream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonUTF8Stream.m; sourceTree = "<group>"; };
		E89D6CF5150E5B99005F5FB9 /* SBJsonWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonWriter.h; sourceTree = "<group>"; };
		E89D6CF6150E5B99005F5FB9 /* SBJsonWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonWriter.m; sourceTree = "<group>"; };
		E89D6CF7150E5B99005F5FB9 /* UGActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGActivity.h; sourceTree = "<group>"; };
		E89D6CF8150E5B99005F5FB9 /* UGActivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGActivity.m; sourceTree = "<group>"; };
		E89D6CF9150E5B99005F5FB9 /* UGClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGClient.h; sourceTree = "<group>"; };
		E89D6CFA150E5B99005F5FB9 /* UGClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGClient.m; sourceTree = "<group>"; };
		E89D6CFB150E5B99005F5FB9 /* UGClientResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGClientResponse.h; sourceTree = "<group>"; };
		E89D6CFC150E5B99005F5FB9 /* UGClientResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGClientResponse.m; sourceTree = "<group>"; };
		E89D6CFD150E5B99005F5FB9 /* UGHTTPManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGHTTPManager.h; sourceTree = "<group>"; };
		E89D6CFE150E5B99005F5FB9 /* UGHTTPManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGHTTPManager.m; sourceTree = "<group>"; };
		E89D6CFF150E5B99005F5FB9 /* UGMultiStepAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGMultiStepAction.h; sourceTree = "<group>"; };
		E89D6D00150E5B99005F5FB9 /* UGMultiStepAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGMultiStepAction.m; sourceTree = "<group>"; };
		E89D6D01150E5B99005F5FB9 /* UGQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGQuery.h; sourceTree = "<group>"; };
		E89D6D02150E5B99005F5FB9 /* UGQuery.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGQuery.m; sourceTree = "<group>"; };
		E89D6D03150E5B99005F5FB9 /* UGUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UGUser.h; sourceTree = "<group>"; };
		E89D6D04150E5B99005F5FB9 /* UGUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UGUser.m; sourceTree = "<group>"; };
		E89D6D18150E5C54005F5FB9 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		E89D6C99150E5B2E005F5FB9 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				C96E783717824711004DD244 /* Security.framework in Frameworks */,
				E89D6D19150E5C54005F5FB9 /* CoreLocation.framework in Frameworks */,
				E89D6CA1150E5B2E005F5FB9 /* UIKit.framework in Frameworks */,
				E89D6CA3150E5B2E005F5FB9 /* Foundation.framework in Frameworks */,
				E89D6CA5150E5B2E005F5FB9 /* CoreGraphics.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E89D6CBC150E5B2E005F5FB9 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E89D6CC2150E5B2E005F5FB9 /* SenTestingKit.framework in Frameworks */,
				E89D6CC3150E5B2E005F5FB9 /* UIKit.framework in Frameworks */,
				E89D6CC4150E5B2E005F5FB9 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		22D61E6C171CBBF100E9CD17 /* v2 */ = {
			isa = PBXGroup;
			children = (
				22D61E6D171CBBF100E9CD17 /* UGConnection.h */,
				22D61E6E171CBBF100E9CD17 /* UGConnection.m */,
				22D61E6F171CBBF100E9CD17 /* UGHTTPClient.h */,
				22D61E70171CBBF100E9CD17 /* UGHTTPClient.m */,
				22D61E71171CBBF100E9CD17 /* UGHTTPHelpers.h */,
				22D61E72171CBBF100E9CD17 /* UGHTTPHelpers.m */,
				22D61E73171CBBF100E9CD17 /* UGHTTPResult.h */,
				22D61E74171CBBF100E9CD17 /* UGHTTPResult.m */,
			);
			path = v2;
			sourceTree = "<group>";
		};
		C96E782917821C9D004DD244 /* SSKeychain */ = {
			isa = PBXGroup;
			children = (
				C96E782D1782349C004DD244 /* SSKeychain.h */,
				C96E782E1782349C004DD244 /* SSKeychain.m */,
			);
			name = SSKeychain;
			sourceTree = "<group>";
		};
		E89D6C91150E5B2E005F5FB9 = {
			isa = PBXGroup;
			children = (
				C96E783617824711004DD244 /* Security.framework */,
				22CA67231732087600C03C70 /* Default-568h@2x.png */,
				E89D6D18150E5C54005F5FB9 /* CoreLocation.framework */,
				E89D6CDC150E5B99005F5FB9 /* UGAPI */,
				E89D6CA6150E5B2E005F5FB9 /* UGAPIApp */,
				E89D6CC7150E5B2E005F5FB9 /* UGAPIAppTests */,
				E89D6C9F150E5B2E005F5FB9 /* Frameworks */,
				E89D6C9D150E5B2E005F5FB9 /* Products */,
			);
			sourceTree = "<group>";
		};
		E89D6C9D150E5B2E005F5FB9 /* Products */ = {
			isa = PBXGroup;
			children = (
				E89D6C9C150E5B2E005F5FB9 /* UGAPIApp.app */,
				E89D6CC0150E5B2E005F5FB9 /* UGAPIAppTests.octest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		E89D6C9F150E5B2E005F5FB9 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				E89D6CA0150E5B2E005F5FB9 /* UIKit.framework */,
				E89D6CA2150E5B2E005F5FB9 /* Foundation.framework */,
				E89D6CA4150E5B2E005F5FB9 /* CoreGraphics.framework */,
				E89D6CC1150E5B2E005F5FB9 /* SenTestingKit.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		E89D6CA6150E5B2E005F5FB9 /* UGAPIApp */ = {
			isa = PBXGroup;
			children = (
				E89D6CAF150E5B2E005F5FB9 /* UGAppAppDelegate.h */,
				E89D6CB0150E5B2E005F5FB9 /* UGAppAppDelegate.m */,
				E89D6CB2150E5B2E005F5FB9 /* MainStoryboard_iPhone.storyboard */,
				E89D6CB5150E5B2E005F5FB9 /* MainStoryboard_iPad.storyboard */,
				E89D6CB8150E5B2E005F5FB9 /* UGAppViewController.h */,
				E89D6CB9150E5B2E005F5FB9 /* UGAppViewController.m */,
				E89D6CA7150E5B2E005F5FB9 /* Supporting Files */,
			);
			path = UGAPIApp;
			sourceTree = "<group>";
		};
		E89D6CA7150E5B2E005F5FB9 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				E89D6CA8150E5B2E005F5FB9 /* UGAPIApp-Info.plist */,
				E89D6CA9150E5B2E005F5FB9 /* InfoPlist.strings */,
				E89D6CAC150E5B2E005F5FB9 /* main.m */,
				E89D6CAE150E5B2E005F5FB9 /* UGAPIApp-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		E89D6CC7150E5B2E005F5FB9 /* UGAPIAppTests */ = {
			isa = PBXGroup;
			children = (
				E89D6CCD150E5B2E005F5FB9 /* UGAPIAppTests.h */,
				E89D6CCE150E5B2E005F5FB9 /* UGAPIAppTests.m */,
				E89D6CC8150E5B2E005F5FB9 /* Supporting Files */,
			);
			path = UGAPIAppTests;
			sourceTree = "<group>";
		};
		E89D6CC8150E5B2E005F5FB9 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				E89D6CC9150E5B2E005F5FB9 /* UGAPIAppTests-Info.plist */,
				E89D6CCA150E5B2E005F5FB9 /* InfoPlist.strings */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		E89D6CDC150E5B99005F5FB9 /* UGAPI */ = {
			isa = PBXGroup;
			children = (
				C96E782917821C9D004DD244 /* SSKeychain */,
				22D61E6C171CBBF100E9CD17 /* v2 */,
				E89D6CDD150E5B99005F5FB9 /* SBJson */,
				E89D6CF7150E5B99005F5FB9 /* UGActivity.h */,
				E89D6CF8150E5B99005F5FB9 /* UGActivity.m */,
				E89D6CF9150E5B99005F5FB9 /* UGClient.h */,
				E89D6CFA150E5B99005F5FB9 /* UGClient.m */,
				E89D6CFB150E5B99005F5FB9 /* UGClientResponse.h */,
				E89D6CFC150E5B99005F5FB9 /* UGClientResponse.m */,
				E89D6CFD150E5B99005F5FB9 /* UGHTTPManager.h */,
				E89D6CFE150E5B99005F5FB9 /* UGHTTPManager.m */,
				E89D6CFF150E5B99005F5FB9 /* UGMultiStepAction.h */,
				E89D6D00150E5B99005F5FB9 /* UGMultiStepAction.m */,
				E89D6D01150E5B99005F5FB9 /* UGQuery.h */,
				E89D6D02150E5B99005F5FB9 /* UGQuery.m */,
				E89D6D03150E5B99005F5FB9 /* UGUser.h */,
				E89D6D04150E5B99005F5FB9 /* UGUser.m */,
				638F675816EF875F002BD513 /* UGClientDelegate.h */,
			);
			path = UGAPI;
			sourceTree = "<group>";
		};
		E89D6CDD150E5B99005F5FB9 /* SBJson */ = {
			isa = PBXGroup;
			children = (
				E89D6CDE150E5B99005F5FB9 /* NSObject+SBJson.h */,
				E89D6CDF150E5B99005F5FB9 /* NSObject+SBJson.m */,
				E89D6CE0150E5B99005F5FB9 /* SBJson.h */,
				E89D6CE1150E5B99005F5FB9 /* SBJsonParser.h */,
				E89D6CE2150E5B99005F5FB9 /* SBJsonParser.m */,
				E89D6CE3150E5B99005F5FB9 /* SBJsonStreamParser.h */,
				E89D6CE4150E5B99005F5FB9 /* SBJsonStreamParser.m */,
				E89D6CE5150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.h */,
				E89D6CE6150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.m */,
				E89D6CE7150E5B99005F5FB9 /* SBJsonStreamParserAdapter.h */,
				E89D6CE8150E5B99005F5FB9 /* SBJsonStreamParserAdapter.m */,
				E89D6CE9150E5B99005F5FB9 /* SBJsonStreamParserState.h */,
				E89D6CEA150E5B99005F5FB9 /* SBJsonStreamParserState.m */,
				E89D6CEB150E5B99005F5FB9 /* SBJsonStreamWriter.h */,
				E89D6CEC150E5B99005F5FB9 /* SBJsonStreamWriter.m */,
				E89D6CED150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.h */,
				E89D6CEE150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.m */,
				E89D6CEF150E5B99005F5FB9 /* SBJsonStreamWriterState.h */,
				E89D6CF0150E5B99005F5FB9 /* SBJsonStreamWriterState.m */,
				E89D6CF1150E5B99005F5FB9 /* SBJsonTokeniser.h */,
				E89D6CF2150E5B99005F5FB9 /* SBJsonTokeniser.m */,
				E89D6CF3150E5B99005F5FB9 /* SBJsonUTF8Stream.h */,
				E89D6CF4150E5B99005F5FB9 /* SBJsonUTF8Stream.m */,
				E89D6CF5150E5B99005F5FB9 /* SBJsonWriter.h */,
				E89D6CF6150E5B99005F5FB9 /* SBJsonWriter.m */,
			);
			path = SBJson;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		E89D6C9B150E5B2E005F5FB9 /* UGAPIApp */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = E89D6CD2150E5B2E005F5FB9 /* Build configuration list for PBXNativeTarget "UGAPIApp" */;
			buildPhases = (
				E89D6C98150E5B2E005F5FB9 /* Sources */,
				E89D6C99150E5B2E005F5FB9 /* Frameworks */,
				E89D6C9A150E5B2E005F5FB9 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = UGAPIApp;
			productName = UGAPIApp;
			productReference = E89D6C9C150E5B2E005F5FB9 /* UGAPIApp.app */;
			productType = "com.apple.product-type.application";
		};
		E89D6CBF150E5B2E005F5FB9 /* UGAPIAppTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = E89D6CD5150E5B2E005F5FB9 /* Build configuration list for PBXNativeTarget "UGAPIAppTests" */;
			buildPhases = (
				E89D6CBB150E5B2E005F5FB9 /* Sources */,
				E89D6CBC150E5B2E005F5FB9 /* Frameworks */,
				E89D6CBD150E5B2E005F5FB9 /* Resources */,
				E89D6CBE150E5B2E005F5FB9 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				E89D6CC6150E5B2E005F5FB9 /* PBXTargetDependency */,
			);
			name = UGAPIAppTests;
			productName = UGAPIAppTests;
			productReference = E89D6CC0150E5B2E005F5FB9 /* UGAPIAppTests.octest */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		E89D6C93150E5B2E005F5FB9 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				CLASSPREFIX = UGApp;
				LastUpgradeCheck = 0430;
			};
			buildConfigurationList = E89D6C96150E5B2E005F5FB9 /* Build configuration list for PBXProject "UGAPIApp" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = E89D6C91150E5B2E005F5FB9;
			productRefGroup = E89D6C9D150E5B2E005F5FB9 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				E89D6C9B150E5B2E005F5FB9 /* UGAPIApp */,
				E89D6CBF150E5B2E005F5FB9 /* UGAPIAppTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		E89D6C9A150E5B2E005F5FB9 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E89D6CAB150E5B2E005F5FB9 /* InfoPlist.strings in Resources */,
				E89D6CB4150E5B2E005F5FB9 /* MainStoryboard_iPhone.storyboard in Resources */,
				E89D6CB7150E5B2E005F5FB9 /* MainStoryboard_iPad.storyboard in Resources */,
				22CA67241732087600C03C70 /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E89D6CBD150E5B2E005F5FB9 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E89D6CCC150E5B2E005F5FB9 /* InfoPlist.strings in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		E89D6CBE150E5B2E005F5FB9 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		E89D6C98150E5B2E005F5FB9 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E89D6CAD150E5B2E005F5FB9 /* main.m in Sources */,
				E89D6CB1150E5B2E005F5FB9 /* UGAppAppDelegate.m in Sources */,
				E89D6CBA150E5B2E005F5FB9 /* UGAppViewController.m in Sources */,
				E89D6D05150E5B99005F5FB9 /* NSObject+SBJson.m in Sources */,
				E89D6D06150E5B99005F5FB9 /* SBJsonParser.m in Sources */,
				E89D6D07150E5B99005F5FB9 /* SBJsonStreamParser.m in Sources */,
				E89D6D08150E5B99005F5FB9 /* SBJsonStreamParserAccumulator.m in Sources */,
				E89D6D09150E5B99005F5FB9 /* SBJsonStreamParserAdapter.m in Sources */,
				E89D6D0A150E5B99005F5FB9 /* SBJsonStreamParserState.m in Sources */,
				E89D6D0B150E5B99005F5FB9 /* SBJsonStreamWriter.m in Sources */,
				E89D6D0C150E5B99005F5FB9 /* SBJsonStreamWriterAccumulator.m in Sources */,
				E89D6D0D150E5B99005F5FB9 /* SBJsonStreamWriterState.m in Sources */,
				E89D6D0E150E5B99005F5FB9 /* SBJsonTokeniser.m in Sources */,
				E89D6D0F150E5B99005F5FB9 /* SBJsonUTF8Stream.m in Sources */,
				E89D6D10150E5B99005F5FB9 /* SBJsonWriter.m in Sources */,
				E89D6D11150E5B99005F5FB9 /* UGActivity.m in Sources */,
				E89D6D12150E5B99005F5FB9 /* UGClient.m in Sources */,
				E89D6D13150E5B99005F5FB9 /* UGClientResponse.m in Sources */,
				E89D6D14150E5B99005F5FB9 /* UGHTTPManager.m in Sources */,
				E89D6D15150E5B99005F5FB9 /* UGMultiStepAction.m in Sources */,
				E89D6D16150E5B99005F5FB9 /* UGQuery.m in Sources */,
				E89D6D17150E5B99005F5FB9 /* UGUser.m in Sources */,
				22D61E75171CBBF100E9CD17 /* UGConnection.m in Sources */,
				22D61E76171CBBF100E9CD17 /* UGHTTPClient.m in Sources */,
				22D61E77171CBBF100E9CD17 /* UGHTTPHelpers.m in Sources */,
				22D61E78171CBBF100E9CD17 /* UGHTTPResult.m in Sources */,
				C96E782F1782349C004DD244 /* SSKeychain.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E89D6CBB150E5B2E005F5FB9 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E89D6CCF150E5B2E005F5FB9 /* UGAPIAppTests.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		E89D6CC6150E5B2E005F5FB9 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = E89D6C9B150E5B2E005F5FB9 /* UGAPIApp */;
			targetProxy = E89D6CC5150E5B2E005F5FB9 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		E89D6CA9150E5B2E005F5FB9 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				E89D6CAA150E5B2E005F5FB9 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		E89D6CB2150E5B2E005F5FB9 /* MainStoryboard_iPhone.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				E89D6CB3150E5B2E005F5FB9 /* en */,
			);
			name = MainStoryboard_iPhone.storyboard;
			sourceTree = "<group>";
		};
		E89D6CB5150E5B2E005F5FB9 /* MainStoryboard_iPad.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				E89D6CB6150E5B2E005F5FB9 /* en */,
			);
			name = MainStoryboard_iPad.storyboard;
			sourceTree = "<group>";
		};
		E89D6CCA150E5B2E005F5FB9 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				E89D6CCB150E5B2E005F5FB9 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		E89D6CD0150E5B2E005F5FB9 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				CLANG_ENABLE_OBJC_ARC = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				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_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		E89D6CD1150E5B2E005F5FB9 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				CLANG_ENABLE_OBJC_ARC = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		E89D6CD3150E5B2E005F5FB9 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "UGAPIApp/UGAPIApp-Prefix.pch";
				INFOPLIST_FILE = "UGAPIApp/UGAPIApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Debug;
		};
		E89D6CD4150E5B2E005F5FB9 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "UGAPIApp/UGAPIApp-Prefix.pch";
				INFOPLIST_FILE = "UGAPIApp/UGAPIApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Release;
		};
		E89D6CD6150E5B2E005F5FB9 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/UGAPIApp.app/UGAPIApp";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(DEVELOPER_LIBRARY_DIR)/Frameworks",
				);
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "UGAPIApp/UGAPIApp-Prefix.pch";
				INFOPLIST_FILE = "UGAPIAppTests/UGAPIAppTests-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUNDLE_LOADER)";
				WRAPPER_EXTENSION = octest;
			};
			name = Debug;
		};
		E89D6CD7150E5B2E005F5FB9 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/UGAPIApp.app/UGAPIApp";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(DEVELOPER_LIBRARY_DIR)/Frameworks",
				);
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "UGAPIApp/UGAPIApp-Prefix.pch";
				INFOPLIST_FILE = "UGAPIAppTests/UGAPIAppTests-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUNDLE_LOADER)";
				WRAPPER_EXTENSION = octest;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		E89D6C96150E5B2E005F5FB9 /* Build configuration list for PBXProject "UGAPIApp" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E89D6CD0150E5B2E005F5FB9 /* Debug */,
				E89D6CD1150E5B2E005F5FB9 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		E89D6CD2150E5B2E005F5FB9 /* Build configuration list for PBXNativeTarget "UGAPIApp" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E89D6CD3150E5B2E005F5FB9 /* Debug */,
				E89D6CD4150E5B2E005F5FB9 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		E89D6CD5150E5B2E005F5FB9 /* Build configuration list for PBXNativeTarget "UGAPIAppTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E89D6CD6150E5B2E005F5FB9 /* Debug */,
				E89D6CD7150E5B2E005F5FB9 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = E89D6C93150E5B2E005F5FB9 /* Project object */;
}
