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

/* Begin PBXAggregateTarget section */
		4C1E37E316F7A0A500FF10BB /* All Perf Tests */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 4C1E37E416F7A0A600FF10BB /* Build configuration list for PBXAggregateTarget "All Perf Tests" */;
			buildPhases = (
			);
			dependencies = (
				4CE3706916FB6FCA00BFD501 /* PBXTargetDependency */,
				4CE3706B16FB6FCC00BFD501 /* PBXTargetDependency */,
				4CE3706D16FB6FCF00BFD501 /* PBXTargetDependency */,
				4CE3706F16FB6FD200BFD501 /* PBXTargetDependency */,
			);
			name = "All Perf Tests";
			productName = All;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		26B902E51700FA8D00EFDCE2 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C86C5C616F7A37800844407 /* LLDB.framework */; };
		26B902E61700FAE800EFDCE2 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C86C5C616F7A37800844407 /* LLDB.framework */; };
		26DBAD6216FA63F0008243D2 /* lldb_perf_clang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DBAD4916FA637D008243D2 /* lldb_perf_clang.cpp */; };
		26DBAD6316FA66DC008243D2 /* liblldbperf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E373916F4035D00FF10BB /* liblldbperf.a */; };
		26DBAD6516FA66EA008243D2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E37DB16F7A03900FF10BB /* CoreFoundation.framework */; };
		26DF762916FBCE7100B4CC2E /* Results.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DF762716FBCE7100B4CC2E /* Results.cpp */; };
		26DF762A16FBCE7100B4CC2E /* Results.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DF762816FBCE7100B4CC2E /* Results.h */; };
		26DF764316FBF30E00B4CC2E /* Gauge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DF764216FBF30E00B4CC2E /* Gauge.cpp */; };
		4C1E374E16F407C800FF10BB /* Gauge.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374216F407C800FF10BB /* Gauge.h */; };
		4C1E374F16F407C800FF10BB /* Measurement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374316F407C800FF10BB /* Measurement.h */; };
		4C1E375016F407C800FF10BB /* MemoryGauge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E374416F407C800FF10BB /* MemoryGauge.cpp */; };
		4C1E375116F407C800FF10BB /* MemoryGauge.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374516F407C800FF10BB /* MemoryGauge.h */; };
		4C1E375216F407C800FF10BB /* Metric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E374616F407C800FF10BB /* Metric.cpp */; };
		4C1E375316F407C800FF10BB /* Metric.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374716F407C800FF10BB /* Metric.h */; };
		4C1E375416F407C800FF10BB /* TestCase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E374816F407C800FF10BB /* TestCase.cpp */; };
		4C1E375516F407C800FF10BB /* TestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374916F407C800FF10BB /* TestCase.h */; };
		4C1E375616F407C800FF10BB /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E374A16F407C800FF10BB /* Timer.cpp */; };
		4C1E375716F407C800FF10BB /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374B16F407C800FF10BB /* Timer.h */; };
		4C1E375816F407C800FF10BB /* Xcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E374C16F407C800FF10BB /* Xcode.cpp */; };
		4C1E375916F407C800FF10BB /* Xcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E374D16F407C800FF10BB /* Xcode.h */; };
		4C1E377916F4089E00FF10BB /* sketch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E377816F4089E00FF10BB /* sketch.cpp */; };
		4C1E377A16F4091700FF10BB /* liblldbperf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E373916F4035D00FF10BB /* liblldbperf.a */; };
		4C1E378216F40B8900FF10BB /* CFCBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E375B16F4081300FF10BB /* CFCBundle.cpp */; };
		4C1E378316F40B8C00FF10BB /* CFCData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E375D16F4081300FF10BB /* CFCData.cpp */; };
		4C1E378416F40B8F00FF10BB /* CFCMutableArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E375F16F4081300FF10BB /* CFCMutableArray.cpp */; };
		4C1E378516F40B9200FF10BB /* CFCMutableDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E376116F4081300FF10BB /* CFCMutableDictionary.cpp */; };
		4C1E378616F40B9600FF10BB /* CFCMutableSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E376316F4081300FF10BB /* CFCMutableSet.cpp */; };
		4C1E378716F40B9C00FF10BB /* CFCReleaser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E376516F4081300FF10BB /* CFCReleaser.h */; };
		4C1E378816F40B9F00FF10BB /* CFCString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E376616F4081300FF10BB /* CFCString.cpp */; };
		4C1E378916F40BA200FF10BB /* CFCString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E376716F4081300FF10BB /* CFCString.h */; };
		4C1E378A16F40BA600FF10BB /* CoreFoundationCPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E376816F4081300FF10BB /* CoreFoundationCPP.h */; };
		4C1E378B16F40BAB00FF10BB /* CFCBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E375C16F4081300FF10BB /* CFCBundle.h */; };
		4C1E378C16F40BAF00FF10BB /* CFCData.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E375E16F4081300FF10BB /* CFCData.h */; };
		4C1E378D16F40BB300FF10BB /* CFCMutableArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E376016F4081300FF10BB /* CFCMutableArray.h */; };
		4C1E378E16F40BB700FF10BB /* CFCMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E376216F4081300FF10BB /* CFCMutableDictionary.h */; };
		4C1E378F16F40BBB00FF10BB /* CFCMutableSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1E376416F4081300FF10BB /* CFCMutableSet.h */; };
		4C1E37C716F79EC300FF10BB /* liblldbperf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E373916F4035D00FF10BB /* liblldbperf.a */; };
		4C1E37CB16F79EFA00FF10BB /* formatters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E37B416F79E4600FF10BB /* formatters.cpp */; };
		4C1E37E016F7A05D00FF10BB /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E37DB16F7A03900FF10BB /* CoreFoundation.framework */; };
		4C1E37E216F7A07300FF10BB /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E37DB16F7A03900FF10BB /* CoreFoundation.framework */; };
		4C86C5CB16F7C1D300844407 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C86C5C616F7A37800844407 /* LLDB.framework */; };
		4C86C5CC16F7C1E000844407 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C86C5C616F7A37800844407 /* LLDB.framework */; };
		4C86C5DA16F7CED300844407 /* fmts_tester.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E37B316F79E4600FF10BB /* fmts_tester.mm */; };
		4CDDF51017011EBB00D95015 /* stepping-testcase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3708716FB70E100BFD501 /* stepping-testcase.cpp */; };
		4CE3707316FB701000BFD501 /* lldb-perf-stepping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3707216FB701000BFD501 /* lldb-perf-stepping.cpp */; };
		4CE3707516FB703B00BFD501 /* liblldbperf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E373916F4035D00FF10BB /* liblldbperf.a */; };
		4CE3707616FB704300BFD501 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 264B3DE816F7E47600D1E7AB /* LLDB.framework */; };
		4CE3707716FB704B00BFD501 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C1E37DB16F7A03900FF10BB /* CoreFoundation.framework */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		264B3DE516F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 26F5C26A10F3D9A4009D5894;
			remoteInfo = "lldb-tool";
		};
		264B3DE716F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 26680207115FD0ED008E1FE4;
			remoteInfo = LLDB;
		};
		264B3DE916F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 26579F68126A25920007C5CB;
			remoteInfo = "darwin-debug";
		};
		264B3DEB16F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 2689FFCA13353D7A00698AC0;
			remoteInfo = "lldb-core";
		};
		264B3DED16F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 26DC6A101337FE6900FF7998;
			remoteInfo = "lldb-platform";
		};
		264B3DEF16F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = EDC6D49914E5C19B001B75F8;
			remoteInfo = launcherXPCService;
		};
		264B3DF116F7E47600D1E7AB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = EDE274EC14EDCE1F005B0F75;
			remoteInfo = launcherRootXPCService;
		};
		26B902D61700F9BD00EFDCE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 26680206115FD0ED008E1FE4;
			remoteInfo = LLDB;
		};
		26B902E21700F9CC00EFDCE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C1E373816F4035D00FF10BB;
			remoteInfo = lldbperf;
		};
		4C1E379016F40BCD00FF10BB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C1E373816F4035D00FF10BB;
			remoteInfo = lldbperf;
		};
		4C1E37C316F79EB000FF10BB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C1E373816F4035D00FF10BB;
			remoteInfo = lldbperf;
		};
		4C86C5DB16F7CF1200844407 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C86C5D016F7CC8900844407;
			remoteInfo = "format-tester";
		};
		4CE3706816FB6FCA00BFD501 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C1E376C16F4087A00FF10BB;
			remoteInfo = "lldb-perf-sketch";
		};
		4CE3706A16FB6FCC00BFD501 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C1E37B916F79E9D00FF10BB;
			remoteInfo = "lldb-perf-formatters";
		};
		4CE3706C16FB6FCF00BFD501 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 26DBAD5816FA63B1008243D2;
			remoteInfo = "lldb-perf-clang";
		};
		4CE3706E16FB6FD200BFD501 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4CE3705316FB6FA100BFD501;
			remoteInfo = "lldb-perf-step";
		};
		4CE3708A16FB711200BFD501 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4CE3707B16FB70AD00BFD501;
			remoteInfo = "stepping-testcase";
		};
		4CE3708C16FB712300BFD501 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 4C1E373116F4035D00FF10BB /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4C1E373816F4035D00FF10BB;
			remoteInfo = lldbperf;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		26DBAD5716FA63B1008243D2 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		26DBAD4816FA637D008243D2 /* build-clang.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-clang.sh"; sourceTree = "<group>"; };
		26DBAD4916FA637D008243D2 /* lldb_perf_clang.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = lldb_perf_clang.cpp; sourceTree = "<group>"; };
		26DBAD5916FA63B1008243D2 /* lldb-perf-clang */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "lldb-perf-clang"; sourceTree = BUILT_PRODUCTS_DIR; };
		26DF762716FBCE7100B4CC2E /* Results.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Results.cpp; sourceTree = "<group>"; };
		26DF762816FBCE7100B4CC2E /* Results.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Results.h; sourceTree = "<group>"; };
		26DF764216FBF30E00B4CC2E /* Gauge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gauge.cpp; sourceTree = "<group>"; };
		4C1E373916F4035D00FF10BB /* liblldbperf.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblldbperf.a; sourceTree = BUILT_PRODUCTS_DIR; };
		4C1E374216F407C800FF10BB /* Gauge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gauge.h; sourceTree = "<group>"; };
		4C1E374316F407C800FF10BB /* Measurement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Measurement.h; sourceTree = "<group>"; };
		4C1E374416F407C800FF10BB /* MemoryGauge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryGauge.cpp; sourceTree = "<group>"; };
		4C1E374516F407C800FF10BB /* MemoryGauge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryGauge.h; sourceTree = "<group>"; };
		4C1E374616F407C800FF10BB /* Metric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Metric.cpp; sourceTree = "<group>"; };
		4C1E374716F407C800FF10BB /* Metric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Metric.h; sourceTree = "<group>"; };
		4C1E374816F407C800FF10BB /* TestCase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestCase.cpp; sourceTree = "<group>"; };
		4C1E374916F407C800FF10BB /* TestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestCase.h; sourceTree = "<group>"; };
		4C1E374A16F407C800FF10BB /* Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Timer.cpp; sourceTree = "<group>"; };
		4C1E374B16F407C800FF10BB /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = "<group>"; };
		4C1E374C16F407C800FF10BB /* Xcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Xcode.cpp; sourceTree = "<group>"; };
		4C1E374D16F407C800FF10BB /* Xcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xcode.h; sourceTree = "<group>"; };
		4C1E375B16F4081300FF10BB /* CFCBundle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CFCBundle.cpp; sourceTree = "<group>"; };
		4C1E375C16F4081300FF10BB /* CFCBundle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCBundle.h; sourceTree = "<group>"; };
		4C1E375D16F4081300FF10BB /* CFCData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CFCData.cpp; sourceTree = "<group>"; };
		4C1E375E16F4081300FF10BB /* CFCData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCData.h; sourceTree = "<group>"; };
		4C1E375F16F4081300FF10BB /* CFCMutableArray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CFCMutableArray.cpp; sourceTree = "<group>"; };
		4C1E376016F4081300FF10BB /* CFCMutableArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCMutableArray.h; sourceTree = "<group>"; };
		4C1E376116F4081300FF10BB /* CFCMutableDictionary.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CFCMutableDictionary.cpp; sourceTree = "<group>"; };
		4C1E376216F4081300FF10BB /* CFCMutableDictionary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCMutableDictionary.h; sourceTree = "<group>"; };
		4C1E376316F4081300FF10BB /* CFCMutableSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CFCMutableSet.cpp; sourceTree = "<group>"; };
		4C1E376416F4081300FF10BB /* CFCMutableSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCMutableSet.h; sourceTree = "<group>"; };
		4C1E376516F4081300FF10BB /* CFCReleaser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCReleaser.h; sourceTree = "<group>"; };
		4C1E376616F4081300FF10BB /* CFCString.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CFCString.cpp; sourceTree = "<group>"; };
		4C1E376716F4081300FF10BB /* CFCString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CFCString.h; sourceTree = "<group>"; };
		4C1E376816F4081300FF10BB /* CoreFoundationCPP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CoreFoundationCPP.h; sourceTree = "<group>"; };
		4C1E376D16F4087A00FF10BB /* lldb-perf-sketch */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "lldb-perf-sketch"; sourceTree = BUILT_PRODUCTS_DIR; };
		4C1E377716F4089E00FF10BB /* foobar.sketch2 */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = foobar.sketch2; sourceTree = "<group>"; };
		4C1E377816F4089E00FF10BB /* sketch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sketch.cpp; sourceTree = "<group>"; };
		4C1E37B316F79E4600FF10BB /* fmts_tester.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = fmts_tester.mm; sourceTree = "<group>"; };
		4C1E37B416F79E4600FF10BB /* formatters.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = formatters.cpp; sourceTree = "<group>"; };
		4C1E37BA16F79E9D00FF10BB /* lldb-perf-formatters */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "lldb-perf-formatters"; sourceTree = BUILT_PRODUCTS_DIR; };
		4C1E37DB16F7A03900FF10BB /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
		4C86C5C316F7A35000844407 /* lldb.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = lldb.xcodeproj; path = ../../lldb.xcodeproj; sourceTree = "<group>"; };
		4C86C5C616F7A37800844407 /* LLDB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LLDB.framework; path = build/Debug/LLDB.framework; sourceTree = "<group>"; };
		4C86C5D116F7CC8900844407 /* format-tester */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "format-tester"; sourceTree = BUILT_PRODUCTS_DIR; };
		4CE3705416FB6FA100BFD501 /* lldb-perf-step */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "lldb-perf-step"; sourceTree = BUILT_PRODUCTS_DIR; };
		4CE3707216FB701000BFD501 /* lldb-perf-stepping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "lldb-perf-stepping.cpp"; path = "stepping/lldb-perf-stepping.cpp"; sourceTree = "<group>"; };
		4CE3707C16FB70AD00BFD501 /* stepping-testcase */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "stepping-testcase"; sourceTree = BUILT_PRODUCTS_DIR; };
		4CE3708716FB70E100BFD501 /* stepping-testcase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "stepping-testcase.cpp"; path = "stepping/stepping-testcase.cpp"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		26DBAD5616FA63B1008243D2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				26B902E61700FAE800EFDCE2 /* LLDB.framework in Frameworks */,
				26DBAD6516FA66EA008243D2 /* CoreFoundation.framework in Frameworks */,
				26DBAD6316FA66DC008243D2 /* liblldbperf.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C1E373616F4035D00FF10BB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C1E376A16F4087A00FF10BB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C86C5CC16F7C1E000844407 /* LLDB.framework in Frameworks */,
				4C1E377A16F4091700FF10BB /* liblldbperf.a in Frameworks */,
				4C1E37E016F7A05D00FF10BB /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C1E37B716F79E9D00FF10BB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C86C5CB16F7C1D300844407 /* LLDB.framework in Frameworks */,
				4C1E37E216F7A07300FF10BB /* CoreFoundation.framework in Frameworks */,
				4C1E37C716F79EC300FF10BB /* liblldbperf.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C86C5CE16F7CC8900844407 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CE3705116FB6FA100BFD501 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				26B902E51700FA8D00EFDCE2 /* LLDB.framework in Frameworks */,
				4CE3707716FB704B00BFD501 /* CoreFoundation.framework in Frameworks */,
				4CE3707616FB704300BFD501 /* LLDB.framework in Frameworks */,
				4CE3707516FB703B00BFD501 /* liblldbperf.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CE3707916FB70AD00BFD501 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		26DBAD4616FA637D008243D2 /* common */ = {
			isa = PBXGroup;
			children = (
				4CE3707416FB701E00BFD501 /* stepping */,
				26DBAD4716FA637D008243D2 /* clang */,
			);
			path = common;
			sourceTree = "<group>";
		};
		26DBAD4716FA637D008243D2 /* clang */ = {
			isa = PBXGroup;
			children = (
				26DBAD4816FA637D008243D2 /* build-clang.sh */,
				26DBAD4916FA637D008243D2 /* lldb_perf_clang.cpp */,
			);
			path = clang;
			sourceTree = "<group>";
		};
		4C1E373016F4035D00FF10BB = {
			isa = PBXGroup;
			children = (
				4C86C5C316F7A35000844407 /* lldb.xcodeproj */,
				4C1E37B516F79E6600FF10BB /* Darwin */,
				26DBAD4616FA637D008243D2 /* common */,
				4C1E375A16F4081300FF10BB /* cfcpp */,
				4C1E374116F407C800FF10BB /* lib */,
				4C1E373A16F4035D00FF10BB /* Products */,
				4C1E37DD16F7A03900FF10BB /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		4C1E373A16F4035D00FF10BB /* Products */ = {
			isa = PBXGroup;
			children = (
				4C1E373916F4035D00FF10BB /* liblldbperf.a */,
				4C1E376D16F4087A00FF10BB /* lldb-perf-sketch */,
				4C1E37BA16F79E9D00FF10BB /* lldb-perf-formatters */,
				4C86C5D116F7CC8900844407 /* format-tester */,
				26DBAD5916FA63B1008243D2 /* lldb-perf-clang */,
				4CE3705416FB6FA100BFD501 /* lldb-perf-step */,
				4CE3707C16FB70AD00BFD501 /* stepping-testcase */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		4C1E374116F407C800FF10BB /* lib */ = {
			isa = PBXGroup;
			children = (
				4C1E374216F407C800FF10BB /* Gauge.h */,
				26DF764216FBF30E00B4CC2E /* Gauge.cpp */,
				4C1E374316F407C800FF10BB /* Measurement.h */,
				4C1E374416F407C800FF10BB /* MemoryGauge.cpp */,
				4C1E374516F407C800FF10BB /* MemoryGauge.h */,
				4C1E374616F407C800FF10BB /* Metric.cpp */,
				4C1E374716F407C800FF10BB /* Metric.h */,
				26DF762716FBCE7100B4CC2E /* Results.cpp */,
				26DF762816FBCE7100B4CC2E /* Results.h */,
				4C1E374816F407C800FF10BB /* TestCase.cpp */,
				4C1E374916F407C800FF10BB /* TestCase.h */,
				4C1E374A16F407C800FF10BB /* Timer.cpp */,
				4C1E374B16F407C800FF10BB /* Timer.h */,
				4C1E374C16F407C800FF10BB /* Xcode.cpp */,
				4C1E374D16F407C800FF10BB /* Xcode.h */,
			);
			path = lib;
			sourceTree = "<group>";
		};
		4C1E375A16F4081300FF10BB /* cfcpp */ = {
			isa = PBXGroup;
			children = (
				4C1E375B16F4081300FF10BB /* CFCBundle.cpp */,
				4C1E375C16F4081300FF10BB /* CFCBundle.h */,
				4C1E375D16F4081300FF10BB /* CFCData.cpp */,
				4C1E375E16F4081300FF10BB /* CFCData.h */,
				4C1E375F16F4081300FF10BB /* CFCMutableArray.cpp */,
				4C1E376016F4081300FF10BB /* CFCMutableArray.h */,
				4C1E376116F4081300FF10BB /* CFCMutableDictionary.cpp */,
				4C1E376216F4081300FF10BB /* CFCMutableDictionary.h */,
				4C1E376316F4081300FF10BB /* CFCMutableSet.cpp */,
				4C1E376416F4081300FF10BB /* CFCMutableSet.h */,
				4C1E376516F4081300FF10BB /* CFCReleaser.h */,
				4C1E376616F4081300FF10BB /* CFCString.cpp */,
				4C1E376716F4081300FF10BB /* CFCString.h */,
				4C1E376816F4081300FF10BB /* CoreFoundationCPP.h */,
			);
			name = cfcpp;
			path = ../../source/Host/macosx/cfcpp;
			sourceTree = "<group>";
		};
		4C1E377616F4089E00FF10BB /* sketch */ = {
			isa = PBXGroup;
			children = (
				4C1E377716F4089E00FF10BB /* foobar.sketch2 */,
				4C1E377816F4089E00FF10BB /* sketch.cpp */,
			);
			name = sketch;
			path = darwin/sketch;
			sourceTree = "<group>";
		};
		4C1E37B216F79E4600FF10BB /* formatters */ = {
			isa = PBXGroup;
			children = (
				4C1E37B316F79E4600FF10BB /* fmts_tester.mm */,
				4C1E37B416F79E4600FF10BB /* formatters.cpp */,
			);
			name = formatters;
			path = darwin/formatters;
			sourceTree = "<group>";
		};
		4C1E37B516F79E6600FF10BB /* Darwin */ = {
			isa = PBXGroup;
			children = (
				4C1E377616F4089E00FF10BB /* sketch */,
				4C1E37B216F79E4600FF10BB /* formatters */,
			);
			name = Darwin;
			sourceTree = "<group>";
		};
		4C1E37DD16F7A03900FF10BB /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				4C86C5C616F7A37800844407 /* LLDB.framework */,
				4C1E37DB16F7A03900FF10BB /* CoreFoundation.framework */,
			);
			name = Frameworks;
			path = ../..;
			sourceTree = "<group>";
		};
		4C86C5DE16F7D18F00844407 /* Products */ = {
			isa = PBXGroup;
			children = (
				264B3DE616F7E47600D1E7AB /* lldb */,
				264B3DE816F7E47600D1E7AB /* LLDB.framework */,
				264B3DEA16F7E47600D1E7AB /* darwin-debug */,
				264B3DEC16F7E47600D1E7AB /* liblldb-core.a */,
				264B3DEE16F7E47600D1E7AB /* lldb-platform */,
				264B3DF016F7E47600D1E7AB /* com.apple.lldb.launcherXPCService.xpc */,
				264B3DF216F7E47600D1E7AB /* com.apple.lldb.launcherRootXPCService.xpc */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		4CE3707416FB701E00BFD501 /* stepping */ = {
			isa = PBXGroup;
			children = (
				4CE3708716FB70E100BFD501 /* stepping-testcase.cpp */,
				4CE3707216FB701000BFD501 /* lldb-perf-stepping.cpp */,
			);
			name = stepping;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		4C1E373716F4035D00FF10BB /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C1E375716F407C800FF10BB /* Timer.h in Headers */,
				26DF762A16FBCE7100B4CC2E /* Results.h in Headers */,
				4C1E378D16F40BB300FF10BB /* CFCMutableArray.h in Headers */,
				4C1E374E16F407C800FF10BB /* Gauge.h in Headers */,
				4C1E378716F40B9C00FF10BB /* CFCReleaser.h in Headers */,
				4C1E378916F40BA200FF10BB /* CFCString.h in Headers */,
				4C1E375116F407C800FF10BB /* MemoryGauge.h in Headers */,
				4C1E378C16F40BAF00FF10BB /* CFCData.h in Headers */,
				4C1E375516F407C800FF10BB /* TestCase.h in Headers */,
				4C1E375916F407C800FF10BB /* Xcode.h in Headers */,
				4C1E375316F407C800FF10BB /* Metric.h in Headers */,
				4C1E378F16F40BBB00FF10BB /* CFCMutableSet.h in Headers */,
				4C1E378E16F40BB700FF10BB /* CFCMutableDictionary.h in Headers */,
				4C1E378B16F40BAB00FF10BB /* CFCBundle.h in Headers */,
				4C1E378A16F40BA600FF10BB /* CoreFoundationCPP.h in Headers */,
				4C1E374F16F407C800FF10BB /* Measurement.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		26DBAD5816FA63B1008243D2 /* lldb-perf-clang */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 26DBAD5F16FA63B1008243D2 /* Build configuration list for PBXNativeTarget "lldb-perf-clang" */;
			buildPhases = (
				26DBAD5516FA63B1008243D2 /* Sources */,
				26DBAD5616FA63B1008243D2 /* Frameworks */,
				26DBAD5716FA63B1008243D2 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				26B902E31700F9CC00EFDCE2 /* PBXTargetDependency */,
			);
			name = "lldb-perf-clang";
			productName = lldb_perf_clang;
			productReference = 26DBAD5916FA63B1008243D2 /* lldb-perf-clang */;
			productType = "com.apple.product-type.tool";
		};
		4C1E373816F4035D00FF10BB /* lldbperf */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4C1E373D16F4035D00FF10BB /* Build configuration list for PBXNativeTarget "lldbperf" */;
			buildPhases = (
				4C1E373516F4035D00FF10BB /* Sources */,
				4C1E373616F4035D00FF10BB /* Frameworks */,
				4C1E373716F4035D00FF10BB /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
				26B902D71700F9BD00EFDCE2 /* PBXTargetDependency */,
			);
			name = lldbperf;
			productName = lldbperf;
			productReference = 4C1E373916F4035D00FF10BB /* liblldbperf.a */;
			productType = "com.apple.product-type.library.static";
		};
		4C1E376C16F4087A00FF10BB /* lldb-perf-sketch */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4C1E377316F4087A00FF10BB /* Build configuration list for PBXNativeTarget "lldb-perf-sketch" */;
			buildPhases = (
				4C1E376916F4087A00FF10BB /* Sources */,
				4C1E376A16F4087A00FF10BB /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				4C1E379116F40BCD00FF10BB /* PBXTargetDependency */,
			);
			name = "lldb-perf-sketch";
			productName = "lldb-perf-sketch";
			productReference = 4C1E376D16F4087A00FF10BB /* lldb-perf-sketch */;
			productType = "com.apple.product-type.tool";
		};
		4C1E37B916F79E9D00FF10BB /* lldb-perf-formatters */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4C1E37C016F79E9D00FF10BB /* Build configuration list for PBXNativeTarget "lldb-perf-formatters" */;
			buildPhases = (
				4C1E37B616F79E9D00FF10BB /* Sources */,
				4C1E37B716F79E9D00FF10BB /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				4C1E37C416F79EB000FF10BB /* PBXTargetDependency */,
				4C86C5DC16F7CF1200844407 /* PBXTargetDependency */,
			);
			name = "lldb-perf-formatters";
			productName = formatters;
			productReference = 4C1E37BA16F79E9D00FF10BB /* lldb-perf-formatters */;
			productType = "com.apple.product-type.tool";
		};
		4C86C5D016F7CC8900844407 /* format-tester */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4C86C5D716F7CC8900844407 /* Build configuration list for PBXNativeTarget "format-tester" */;
			buildPhases = (
				4C86C5CD16F7CC8900844407 /* Sources */,
				4C86C5CE16F7CC8900844407 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "format-tester";
			productName = "format-tester";
			productReference = 4C86C5D116F7CC8900844407 /* format-tester */;
			productType = "com.apple.product-type.tool";
		};
		4CE3705316FB6FA100BFD501 /* lldb-perf-step */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4CE3706716FB6FA100BFD501 /* Build configuration list for PBXNativeTarget "lldb-perf-step" */;
			buildPhases = (
				4CE3705016FB6FA100BFD501 /* Sources */,
				4CE3705116FB6FA100BFD501 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				4CE3708D16FB712300BFD501 /* PBXTargetDependency */,
				4CE3708B16FB711200BFD501 /* PBXTargetDependency */,
			);
			name = "lldb-perf-step";
			productName = "lldb-step-test";
			productReference = 4CE3705416FB6FA100BFD501 /* lldb-perf-step */;
			productType = "com.apple.product-type.tool";
		};
		4CE3707B16FB70AD00BFD501 /* stepping-testcase */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4CE3708216FB70AD00BFD501 /* Build configuration list for PBXNativeTarget "stepping-testcase" */;
			buildPhases = (
				4CE3707816FB70AD00BFD501 /* Sources */,
				4CE3707916FB70AD00BFD501 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "stepping-testcase";
			productName = "stepping-testcase";
			productReference = 4CE3707C16FB70AD00BFD501 /* stepping-testcase */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		4C1E373116F4035D00FF10BB /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0500;
				ORGANIZATIONNAME = lldb.llvm.org;
			};
			buildConfigurationList = 4C1E373416F4035D00FF10BB /* Build configuration list for PBXProject "lldbperf" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 4C1E373016F4035D00FF10BB;
			productRefGroup = 4C1E373A16F4035D00FF10BB /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 4C86C5DE16F7D18F00844407 /* Products */;
					ProjectRef = 4C86C5C316F7A35000844407 /* lldb.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				4C1E373816F4035D00FF10BB /* lldbperf */,
				4C1E376C16F4087A00FF10BB /* lldb-perf-sketch */,
				4C1E37B916F79E9D00FF10BB /* lldb-perf-formatters */,
				26DBAD5816FA63B1008243D2 /* lldb-perf-clang */,
				4C86C5D016F7CC8900844407 /* format-tester */,
				4CE3705316FB6FA100BFD501 /* lldb-perf-step */,
				4CE3707B16FB70AD00BFD501 /* stepping-testcase */,
				4C1E37E316F7A0A500FF10BB /* All Perf Tests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		264B3DE616F7E47600D1E7AB /* lldb */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = lldb;
			remoteRef = 264B3DE516F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		264B3DE816F7E47600D1E7AB /* LLDB.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = LLDB.framework;
			remoteRef = 264B3DE716F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		264B3DEA16F7E47600D1E7AB /* darwin-debug */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = "darwin-debug";
			remoteRef = 264B3DE916F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		264B3DEC16F7E47600D1E7AB /* liblldb-core.a */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.dylib";
			path = "liblldb-core.a";
			remoteRef = 264B3DEB16F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		264B3DEE16F7E47600D1E7AB /* lldb-platform */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = "lldb-platform";
			remoteRef = 264B3DED16F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		264B3DF016F7E47600D1E7AB /* com.apple.lldb.launcherXPCService.xpc */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = com.apple.lldb.launcherXPCService.xpc;
			remoteRef = 264B3DEF16F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		264B3DF216F7E47600D1E7AB /* com.apple.lldb.launcherRootXPCService.xpc */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = com.apple.lldb.launcherRootXPCService.xpc;
			remoteRef = 264B3DF116F7E47600D1E7AB /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXSourcesBuildPhase section */
		26DBAD5516FA63B1008243D2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				26DBAD6216FA63F0008243D2 /* lldb_perf_clang.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C1E373516F4035D00FF10BB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C1E378316F40B8C00FF10BB /* CFCData.cpp in Sources */,
				4C1E378416F40B8F00FF10BB /* CFCMutableArray.cpp in Sources */,
				4C1E378216F40B8900FF10BB /* CFCBundle.cpp in Sources */,
				4C1E375016F407C800FF10BB /* MemoryGauge.cpp in Sources */,
				4C1E375416F407C800FF10BB /* TestCase.cpp in Sources */,
				4C1E375816F407C800FF10BB /* Xcode.cpp in Sources */,
				26DF762916FBCE7100B4CC2E /* Results.cpp in Sources */,
				4C1E375216F407C800FF10BB /* Metric.cpp in Sources */,
				4C1E375616F407C800FF10BB /* Timer.cpp in Sources */,
				4C1E378616F40B9600FF10BB /* CFCMutableSet.cpp in Sources */,
				4C1E378516F40B9200FF10BB /* CFCMutableDictionary.cpp in Sources */,
				4C1E378816F40B9F00FF10BB /* CFCString.cpp in Sources */,
				26DF764316FBF30E00B4CC2E /* Gauge.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C1E376916F4087A00FF10BB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C1E377916F4089E00FF10BB /* sketch.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C1E37B616F79E9D00FF10BB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C1E37CB16F79EFA00FF10BB /* formatters.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4C86C5CD16F7CC8900844407 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C86C5DA16F7CED300844407 /* fmts_tester.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CE3705016FB6FA100BFD501 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4CE3707316FB701000BFD501 /* lldb-perf-stepping.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CE3707816FB70AD00BFD501 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4CDDF51017011EBB00D95015 /* stepping-testcase.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		26B902D71700F9BD00EFDCE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = LLDB;
			targetProxy = 26B902D61700F9BD00EFDCE2 /* PBXContainerItemProxy */;
		};
		26B902E31700F9CC00EFDCE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C1E373816F4035D00FF10BB /* lldbperf */;
			targetProxy = 26B902E21700F9CC00EFDCE2 /* PBXContainerItemProxy */;
		};
		4C1E379116F40BCD00FF10BB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C1E373816F4035D00FF10BB /* lldbperf */;
			targetProxy = 4C1E379016F40BCD00FF10BB /* PBXContainerItemProxy */;
		};
		4C1E37C416F79EB000FF10BB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C1E373816F4035D00FF10BB /* lldbperf */;
			targetProxy = 4C1E37C316F79EB000FF10BB /* PBXContainerItemProxy */;
		};
		4C86C5DC16F7CF1200844407 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C86C5D016F7CC8900844407 /* format-tester */;
			targetProxy = 4C86C5DB16F7CF1200844407 /* PBXContainerItemProxy */;
		};
		4CE3706916FB6FCA00BFD501 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C1E376C16F4087A00FF10BB /* lldb-perf-sketch */;
			targetProxy = 4CE3706816FB6FCA00BFD501 /* PBXContainerItemProxy */;
		};
		4CE3706B16FB6FCC00BFD501 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C1E37B916F79E9D00FF10BB /* lldb-perf-formatters */;
			targetProxy = 4CE3706A16FB6FCC00BFD501 /* PBXContainerItemProxy */;
		};
		4CE3706D16FB6FCF00BFD501 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 26DBAD5816FA63B1008243D2 /* lldb-perf-clang */;
			targetProxy = 4CE3706C16FB6FCF00BFD501 /* PBXContainerItemProxy */;
		};
		4CE3706F16FB6FD200BFD501 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4CE3705316FB6FA100BFD501 /* lldb-perf-step */;
			targetProxy = 4CE3706E16FB6FD200BFD501 /* PBXContainerItemProxy */;
		};
		4CE3708B16FB711200BFD501 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4CE3707B16FB70AD00BFD501 /* stepping-testcase */;
			targetProxy = 4CE3708A16FB711200BFD501 /* PBXContainerItemProxy */;
		};
		4CE3708D16FB712300BFD501 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4C1E373816F4035D00FF10BB /* lldbperf */;
			targetProxy = 4CE3708C16FB712300BFD501 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		26DBAD6016FA63B1008243D2 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../ $(SRCROOT)/../../include/";
			};
			name = Debug;
		};
		26DBAD6116FA63B1008243D2 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Release";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../ $(SRCROOT)/../../include/";
			};
			name = Release;
		};
		4C1E373B16F4035D00FF10BB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				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_ENABLE_OBJC_EXCEPTIONS = YES;
				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;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
				ONLY_ACTIVE_ARCH = YES;
			};
			name = Debug;
		};
		4C1E373C16F4035D00FF10BB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				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;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
			};
			name = Release;
		};
		4C1E373E16F4035D00FF10BB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				PRODUCT_NAME = "$(TARGET_NAME)";
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../include";
			};
			name = Debug;
		};
		4C1E373F16F4035D00FF10BB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				PRODUCT_NAME = "$(TARGET_NAME)";
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../include";
			};
			name = Release;
		};
		4C1E377416F4087A00FF10BB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../include $(SRCROOT)/../../source/Host/macosx/cfcpp $(SRCROOT)/../";
			};
			name = Debug;
		};
		4C1E377516F4087A00FF10BB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../include $(SRCROOT)/../../source/Host/macosx/cfcpp $(SRCROOT)/../";
			};
			name = Release;
		};
		4C1E37C116F79E9D00FF10BB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../ $(SRCROOT)/../../include/";
			};
			name = Debug;
		};
		4C1E37C216F79E9D00FF10BB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../ $(SRCROOT)/../../include/";
			};
			name = Release;
		};
		4C1E37E516F7A0A600FF10BB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		4C1E37E616F7A0A600FF10BB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		4C86C5D816F7CC8900844407 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		4C86C5D916F7CC8900844407 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		4CE3705A16FB6FA100BFD501 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../ $(SRCROOT)/../../include/";
			};
			name = Debug;
		};
		4CE3705B16FB6FA100BFD501 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SRCROOT)/../../build/Debug",
				);
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				OTHER_LDFLAGS = "-Wl,-rpath,@loader_path/../../../../build/Debug";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../ $(SRCROOT)/../../include/";
			};
			name = Release;
		};
		4CE3708316FB70AD00BFD501 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = Debug;
		};
		4CE3708416FB70AD00BFD501 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_OPTIMIZATION_LEVEL = 0;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		26DBAD5F16FA63B1008243D2 /* Build configuration list for PBXNativeTarget "lldb-perf-clang" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				26DBAD6016FA63B1008243D2 /* Debug */,
				26DBAD6116FA63B1008243D2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4C1E373416F4035D00FF10BB /* Build configuration list for PBXProject "lldbperf" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4C1E373B16F4035D00FF10BB /* Debug */,
				4C1E373C16F4035D00FF10BB /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4C1E373D16F4035D00FF10BB /* Build configuration list for PBXNativeTarget "lldbperf" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4C1E373E16F4035D00FF10BB /* Debug */,
				4C1E373F16F4035D00FF10BB /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4C1E377316F4087A00FF10BB /* Build configuration list for PBXNativeTarget "lldb-perf-sketch" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4C1E377416F4087A00FF10BB /* Debug */,
				4C1E377516F4087A00FF10BB /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4C1E37C016F79E9D00FF10BB /* Build configuration list for PBXNativeTarget "lldb-perf-formatters" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4C1E37C116F79E9D00FF10BB /* Debug */,
				4C1E37C216F79E9D00FF10BB /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4C1E37E416F7A0A600FF10BB /* Build configuration list for PBXAggregateTarget "All Perf Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4C1E37E516F7A0A600FF10BB /* Debug */,
				4C1E37E616F7A0A600FF10BB /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4C86C5D716F7CC8900844407 /* Build configuration list for PBXNativeTarget "format-tester" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4C86C5D816F7CC8900844407 /* Debug */,
				4C86C5D916F7CC8900844407 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4CE3706716FB6FA100BFD501 /* Build configuration list for PBXNativeTarget "lldb-perf-step" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4CE3705A16FB6FA100BFD501 /* Debug */,
				4CE3705B16FB6FA100BFD501 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4CE3708216FB70AD00BFD501 /* Build configuration list for PBXNativeTarget "stepping-testcase" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4CE3708316FB70AD00BFD501 /* Debug */,
				4CE3708416FB70AD00BFD501 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 4C1E373116F4035D00FF10BB /* Project object */;
}
