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

/* Begin PBXBuildFile section */
		172FF8A72117B74D0059CBC5 /* XCTNSNotificationExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172FF8A62117B74D0059CBC5 /* XCTNSNotificationExpectation.swift */; };
		17B6C3EB210D5A3900A11ECC /* XCTWaiter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B6C3EA210D5A3900A11ECC /* XCTWaiter.swift */; };
		17B6C3ED210F53BE00A11ECC /* WaiterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B6C3EC210F53BE00A11ECC /* WaiterManager.swift */; };
		17B6C3EF210F990100A11ECC /* XCTWaiter+Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B6C3EE210F990100A11ECC /* XCTWaiter+Validation.swift */; };
		17D5B680211216EF00D93239 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D5B67F211216EF00D93239 /* SourceLocation.swift */; };
		AE2FE0FB1CFE86DB003EF0D7 /* XCAbstractTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0EA1CFE86DB003EF0D7 /* XCAbstractTest.swift */; };
		AE2FE0FE1CFE86DB003EF0D7 /* XCTAssert.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0ED1CFE86DB003EF0D7 /* XCTAssert.swift */; };
		AE2FE0FF1CFE86DB003EF0D7 /* XCTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0EE1CFE86DB003EF0D7 /* XCTestCase.swift */; };
		AE2FE1011CFE86DB003EF0D7 /* XCTestCase+Performance.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F01CFE86DB003EF0D7 /* XCTestCase+Performance.swift */; };
		AE2FE1021CFE86DB003EF0D7 /* XCTestCaseRun.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F11CFE86DB003EF0D7 /* XCTestCaseRun.swift */; };
		AE2FE1031CFE86DB003EF0D7 /* XCTestErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F21CFE86DB003EF0D7 /* XCTestErrors.swift */; };
		AE2FE1051CFE86DB003EF0D7 /* XCTestMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F41CFE86DB003EF0D7 /* XCTestMain.swift */; };
		AE2FE1061CFE86DB003EF0D7 /* XCTestObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F51CFE86DB003EF0D7 /* XCTestObservation.swift */; };
		AE2FE1071CFE86DB003EF0D7 /* XCTestObservationCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F61CFE86DB003EF0D7 /* XCTestObservationCenter.swift */; };
		AE2FE1081CFE86DB003EF0D7 /* XCTestRun.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F71CFE86DB003EF0D7 /* XCTestRun.swift */; };
		AE2FE1091CFE86DB003EF0D7 /* XCTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F81CFE86DB003EF0D7 /* XCTestSuite.swift */; };
		AE2FE10A1CFE86DB003EF0D7 /* XCTestSuiteRun.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE0F91CFE86DB003EF0D7 /* XCTestSuiteRun.swift */; };
		AE2FE1151CFE86E6003EF0D7 /* ArgumentParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE10C1CFE86E6003EF0D7 /* ArgumentParser.swift */; };
		AE2FE1161CFE86E6003EF0D7 /* ObjectWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE10D1CFE86E6003EF0D7 /* ObjectWrapper.swift */; };
		AE2FE1171CFE86E6003EF0D7 /* PerformanceMeter.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE10E1CFE86E6003EF0D7 /* PerformanceMeter.swift */; };
		AE2FE1181CFE86E6003EF0D7 /* PrintObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE10F1CFE86E6003EF0D7 /* PrintObserver.swift */; };
		AE2FE1191CFE86E6003EF0D7 /* TestFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE1101CFE86E6003EF0D7 /* TestFiltering.swift */; };
		AE2FE11A1CFE86E6003EF0D7 /* WallClockTimeMetric.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE1111CFE86E6003EF0D7 /* WallClockTimeMetric.swift */; };
		AE2FE11B1CFE86E6003EF0D7 /* XCTNSPredicateExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE1121CFE86E6003EF0D7 /* XCTNSPredicateExpectation.swift */; };
		AE2FE11C1CFE86E6003EF0D7 /* XCTestCaseSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE1131CFE86E6003EF0D7 /* XCTestCaseSuite.swift */; };
		AE2FE11D1CFE86E6003EF0D7 /* XCTestInternalObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2FE1141CFE86E6003EF0D7 /* XCTestInternalObservation.swift */; };
		AE63767E1D01ED17002C0EA8 /* TestListing.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE63767D1D01ED17002C0EA8 /* TestListing.swift */; };
		DA9D441B1D920A3500108768 /* XCTestCase+Asynchronous.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA9D44161D920A3500108768 /* XCTestCase+Asynchronous.swift */; };
		DA9D441C1D920A3500108768 /* XCTestExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA9D44171D920A3500108768 /* XCTestExpectation.swift */; };
		E1495C80224276A600CDEB7D /* IgnoredErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1495C7F224276A600CDEB7D /* IgnoredErrors.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		DAA333B91C267AF3000CC115 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 5B5D86D21BBC74AD00234F36 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 5B5D86DA1BBC74AD00234F36;
			remoteInfo = SwiftXCTest;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		172FF8A62117B74D0059CBC5 /* XCTNSNotificationExpectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XCTNSNotificationExpectation.swift; sourceTree = "<group>"; };
		17B6C3EA210D5A3900A11ECC /* XCTWaiter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XCTWaiter.swift; sourceTree = "<group>"; };
		17B6C3EC210F53BE00A11ECC /* WaiterManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaiterManager.swift; sourceTree = "<group>"; };
		17B6C3EE210F990100A11ECC /* XCTWaiter+Validation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCTWaiter+Validation.swift"; sourceTree = "<group>"; };
		17D5B67F211216EF00D93239 /* SourceLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceLocation.swift; sourceTree = "<group>"; };
		5B5D86DB1BBC74AD00234F36 /* SwiftXCTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftXCTest.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		AE2FE0EA1CFE86DB003EF0D7 /* XCAbstractTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCAbstractTest.swift; sourceTree = "<group>"; };
		AE2FE0ED1CFE86DB003EF0D7 /* XCTAssert.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTAssert.swift; sourceTree = "<group>"; };
		AE2FE0EE1CFE86DB003EF0D7 /* XCTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestCase.swift; sourceTree = "<group>"; };
		AE2FE0F01CFE86DB003EF0D7 /* XCTestCase+Performance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Performance.swift"; sourceTree = "<group>"; };
		AE2FE0F11CFE86DB003EF0D7 /* XCTestCaseRun.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestCaseRun.swift; sourceTree = "<group>"; };
		AE2FE0F21CFE86DB003EF0D7 /* XCTestErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestErrors.swift; sourceTree = "<group>"; };
		AE2FE0F41CFE86DB003EF0D7 /* XCTestMain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestMain.swift; sourceTree = "<group>"; };
		AE2FE0F51CFE86DB003EF0D7 /* XCTestObservation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestObservation.swift; sourceTree = "<group>"; };
		AE2FE0F61CFE86DB003EF0D7 /* XCTestObservationCenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestObservationCenter.swift; sourceTree = "<group>"; };
		AE2FE0F71CFE86DB003EF0D7 /* XCTestRun.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestRun.swift; sourceTree = "<group>"; };
		AE2FE0F81CFE86DB003EF0D7 /* XCTestSuite.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestSuite.swift; sourceTree = "<group>"; };
		AE2FE0F91CFE86DB003EF0D7 /* XCTestSuiteRun.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestSuiteRun.swift; sourceTree = "<group>"; };
		AE2FE10C1CFE86E6003EF0D7 /* ArgumentParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArgumentParser.swift; sourceTree = "<group>"; };
		AE2FE10D1CFE86E6003EF0D7 /* ObjectWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjectWrapper.swift; sourceTree = "<group>"; };
		AE2FE10E1CFE86E6003EF0D7 /* PerformanceMeter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PerformanceMeter.swift; sourceTree = "<group>"; };
		AE2FE10F1CFE86E6003EF0D7 /* PrintObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrintObserver.swift; sourceTree = "<group>"; };
		AE2FE1101CFE86E6003EF0D7 /* TestFiltering.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestFiltering.swift; sourceTree = "<group>"; };
		AE2FE1111CFE86E6003EF0D7 /* WallClockTimeMetric.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WallClockTimeMetric.swift; sourceTree = "<group>"; };
		AE2FE1121CFE86E6003EF0D7 /* XCTNSPredicateExpectation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTNSPredicateExpectation.swift; sourceTree = "<group>"; };
		AE2FE1131CFE86E6003EF0D7 /* XCTestCaseSuite.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestCaseSuite.swift; sourceTree = "<group>"; };
		AE2FE1141CFE86E6003EF0D7 /* XCTestInternalObservation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestInternalObservation.swift; sourceTree = "<group>"; };
		AE63767D1D01ED17002C0EA8 /* TestListing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestListing.swift; sourceTree = "<group>"; };
		AE7DD6061C8DC6C0006FC722 /* Functional */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Functional; sourceTree = "<group>"; };
		B1384A411C1B3E8700EDF031 /* CONTRIBUTING.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = "<group>"; };
		B1384A421C1B3E8700EDF031 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
		B1384A431C1B3E8700EDF031 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
		DA7805F91C6704A2003C6636 /* SwiftFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftFoundation.framework; path = "../swift-corelibs-foundation/build/Debug/SwiftFoundation.framework"; sourceTree = "<group>"; };
		DA9D44161D920A3500108768 /* XCTestCase+Asynchronous.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Asynchronous.swift"; sourceTree = "<group>"; };
		DA9D44171D920A3500108768 /* XCTestExpectation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestExpectation.swift; sourceTree = "<group>"; };
		E1495C7F224276A600CDEB7D /* IgnoredErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IgnoredErrors.swift; sourceTree = "<group>"; };
		EA3E74BB1BF2B6D500635A73 /* build_script.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = build_script.py; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		5B5D86D71BBC74AD00234F36 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		5B5D86D11BBC74AD00234F36 = {
			isa = PBXGroup;
			children = (
				C265F6661C3AEB6A00520CF9 /* Sources */,
				DA78F7E71C4039410082E15B /* Tests */,
				5B5D86DC1BBC74AD00234F36 /* Products */,
				DA7805FB1C6704CC003C6636 /* Linked Libraries */,
				EA3E74BC1BF2B6D700635A73 /* Linux Build */,
				B1384A401C1B3E6A00EDF031 /* Documentation */,
			);
			indentWidth = 4;
			sourceTree = "<group>";
			tabWidth = 4;
		};
		5B5D86DC1BBC74AD00234F36 /* Products */ = {
			isa = PBXGroup;
			children = (
				5B5D86DB1BBC74AD00234F36 /* SwiftXCTest.framework */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		AE2FE0E81CFE86A5003EF0D7 /* Private */ = {
			isa = PBXGroup;
			children = (
				E1495C7F224276A600CDEB7D /* IgnoredErrors.swift */,
				AE2FE10C1CFE86E6003EF0D7 /* ArgumentParser.swift */,
				AE2FE10D1CFE86E6003EF0D7 /* ObjectWrapper.swift */,
				AE2FE10E1CFE86E6003EF0D7 /* PerformanceMeter.swift */,
				AE2FE10F1CFE86E6003EF0D7 /* PrintObserver.swift */,
				AE2FE1101CFE86E6003EF0D7 /* TestFiltering.swift */,
				AE63767D1D01ED17002C0EA8 /* TestListing.swift */,
				AE2FE1111CFE86E6003EF0D7 /* WallClockTimeMetric.swift */,
				AE2FE1131CFE86E6003EF0D7 /* XCTestCaseSuite.swift */,
				AE2FE1141CFE86E6003EF0D7 /* XCTestInternalObservation.swift */,
				17B6C3EC210F53BE00A11ECC /* WaiterManager.swift */,
				17D5B67F211216EF00D93239 /* SourceLocation.swift */,
			);
			path = Private;
			sourceTree = "<group>";
		};
		AE2FE0E91CFE86AE003EF0D7 /* Public */ = {
			isa = PBXGroup;
			children = (
				DA9D44131D920A3500108768 /* Asynchronous */,
				AE2FE0EA1CFE86DB003EF0D7 /* XCAbstractTest.swift */,
				AE2FE0ED1CFE86DB003EF0D7 /* XCTAssert.swift */,
				AE2FE0EE1CFE86DB003EF0D7 /* XCTestCase.swift */,
				AE2FE0F01CFE86DB003EF0D7 /* XCTestCase+Performance.swift */,
				AE2FE0F11CFE86DB003EF0D7 /* XCTestCaseRun.swift */,
				AE2FE0F21CFE86DB003EF0D7 /* XCTestErrors.swift */,
				AE2FE0F41CFE86DB003EF0D7 /* XCTestMain.swift */,
				AE2FE0F51CFE86DB003EF0D7 /* XCTestObservation.swift */,
				AE2FE0F61CFE86DB003EF0D7 /* XCTestObservationCenter.swift */,
				AE2FE0F71CFE86DB003EF0D7 /* XCTestRun.swift */,
				AE2FE0F81CFE86DB003EF0D7 /* XCTestSuite.swift */,
				AE2FE0F91CFE86DB003EF0D7 /* XCTestSuiteRun.swift */,
			);
			path = Public;
			sourceTree = "<group>";
		};
		B1384A401C1B3E6A00EDF031 /* Documentation */ = {
			isa = PBXGroup;
			children = (
				B1384A411C1B3E8700EDF031 /* CONTRIBUTING.md */,
				B1384A421C1B3E8700EDF031 /* LICENSE */,
				B1384A431C1B3E8700EDF031 /* README.md */,
			);
			name = Documentation;
			sourceTree = "<group>";
		};
		C265F6661C3AEB6A00520CF9 /* Sources */ = {
			isa = PBXGroup;
			children = (
				C265F6671C3AEB6A00520CF9 /* XCTest */,
			);
			path = Sources;
			sourceTree = "<group>";
		};
		C265F6671C3AEB6A00520CF9 /* XCTest */ = {
			isa = PBXGroup;
			children = (
				AE2FE0E91CFE86AE003EF0D7 /* Public */,
				AE2FE0E81CFE86A5003EF0D7 /* Private */,
			);
			path = XCTest;
			sourceTree = "<group>";
		};
		DA7805FB1C6704CC003C6636 /* Linked Libraries */ = {
			isa = PBXGroup;
			children = (
				DA7805F91C6704A2003C6636 /* SwiftFoundation.framework */,
			);
			name = "Linked Libraries";
			sourceTree = "<group>";
		};
		DA78F7E71C4039410082E15B /* Tests */ = {
			isa = PBXGroup;
			children = (
				AE7DD6061C8DC6C0006FC722 /* Functional */,
			);
			path = Tests;
			sourceTree = "<group>";
		};
		DA9D44131D920A3500108768 /* Asynchronous */ = {
			isa = PBXGroup;
			children = (
				17B6C3EA210D5A3900A11ECC /* XCTWaiter.swift */,
				17B6C3EE210F990100A11ECC /* XCTWaiter+Validation.swift */,
				DA9D44161D920A3500108768 /* XCTestCase+Asynchronous.swift */,
				DA9D44171D920A3500108768 /* XCTestExpectation.swift */,
				AE2FE1121CFE86E6003EF0D7 /* XCTNSPredicateExpectation.swift */,
				172FF8A62117B74D0059CBC5 /* XCTNSNotificationExpectation.swift */,
			);
			path = Asynchronous;
			sourceTree = "<group>";
		};
		EA3E74BC1BF2B6D700635A73 /* Linux Build */ = {
			isa = PBXGroup;
			children = (
				EA3E74BB1BF2B6D500635A73 /* build_script.py */,
			);
			name = "Linux Build";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		5B5D86D81BBC74AD00234F36 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXLegacyTarget section */
		DAA333B51C267AD6000CC115 /* SwiftXCTestFunctionalTests */ = {
			isa = PBXLegacyTarget;
			buildArgumentsString = "-sv --no-progress-bar Tests/Functional";
			buildConfigurationList = DAA333B81C267AD6000CC115 /* Build configuration list for PBXLegacyTarget "SwiftXCTestFunctionalTests" */;
			buildPhases = (
			);
			buildToolPath = "$(SRCROOT)/../llvm/utils/lit/lit.py";
			buildWorkingDirectory = "";
			dependencies = (
				DAA333BA1C267AF3000CC115 /* PBXTargetDependency */,
			);
			name = SwiftXCTestFunctionalTests;
			passBuildSettingsInEnvironment = 1;
			productName = SwiftXCTestFunctionalTests;
		};
/* End PBXLegacyTarget section */

/* Begin PBXNativeTarget section */
		5B5D86DA1BBC74AD00234F36 /* SwiftXCTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 5B5D86E31BBC74AD00234F36 /* Build configuration list for PBXNativeTarget "SwiftXCTest" */;
			buildPhases = (
				5B5D86D61BBC74AD00234F36 /* Sources */,
				5B5D86D71BBC74AD00234F36 /* Frameworks */,
				5B5D86D81BBC74AD00234F36 /* Headers */,
				5B5D86D91BBC74AD00234F36 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = SwiftXCTest;
			productName = TestFramework;
			productReference = 5B5D86DB1BBC74AD00234F36 /* SwiftXCTest.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		5B5D86D21BBC74AD00234F36 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftMigration = 0730;
				LastSwiftUpdateCheck = 0730;
				LastUpgradeCheck = 1020;
				ORGANIZATIONNAME = Apple;
				TargetAttributes = {
					5B5D86DA1BBC74AD00234F36 = {
						CreatedOnToolsVersion = 7.1;
						LastSwiftMigration = 1020;
					};
					DAA333B51C267AD6000CC115 = {
						CreatedOnToolsVersion = 7.2;
					};
				};
			};
			buildConfigurationList = 5B5D86D51BBC74AD00234F36 /* Build configuration list for PBXProject "XCTest" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				English,
				en,
				Base,
			);
			mainGroup = 5B5D86D11BBC74AD00234F36;
			productRefGroup = 5B5D86DC1BBC74AD00234F36 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				5B5D86DA1BBC74AD00234F36 /* SwiftXCTest */,
				DAA333B51C267AD6000CC115 /* SwiftXCTestFunctionalTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		5B5D86D91BBC74AD00234F36 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		5B5D86D61BBC74AD00234F36 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				AE2FE1071CFE86DB003EF0D7 /* XCTestObservationCenter.swift in Sources */,
				E1495C80224276A600CDEB7D /* IgnoredErrors.swift in Sources */,
				DA9D441C1D920A3500108768 /* XCTestExpectation.swift in Sources */,
				AE2FE1011CFE86DB003EF0D7 /* XCTestCase+Performance.swift in Sources */,
				DA9D441B1D920A3500108768 /* XCTestCase+Asynchronous.swift in Sources */,
				AE2FE1181CFE86E6003EF0D7 /* PrintObserver.swift in Sources */,
				17B6C3EB210D5A3900A11ECC /* XCTWaiter.swift in Sources */,
				17B6C3EF210F990100A11ECC /* XCTWaiter+Validation.swift in Sources */,
				AE2FE1021CFE86DB003EF0D7 /* XCTestCaseRun.swift in Sources */,
				AE2FE1171CFE86E6003EF0D7 /* PerformanceMeter.swift in Sources */,
				AE2FE1051CFE86DB003EF0D7 /* XCTestMain.swift in Sources */,
				AE2FE11B1CFE86E6003EF0D7 /* XCTNSPredicateExpectation.swift in Sources */,
				17D5B680211216EF00D93239 /* SourceLocation.swift in Sources */,
				AE63767E1D01ED17002C0EA8 /* TestListing.swift in Sources */,
				AE2FE1151CFE86E6003EF0D7 /* ArgumentParser.swift in Sources */,
				AE2FE0FF1CFE86DB003EF0D7 /* XCTestCase.swift in Sources */,
				AE2FE11D1CFE86E6003EF0D7 /* XCTestInternalObservation.swift in Sources */,
				AE2FE1061CFE86DB003EF0D7 /* XCTestObservation.swift in Sources */,
				AE2FE0FB1CFE86DB003EF0D7 /* XCAbstractTest.swift in Sources */,
				AE2FE1081CFE86DB003EF0D7 /* XCTestRun.swift in Sources */,
				AE2FE10A1CFE86DB003EF0D7 /* XCTestSuiteRun.swift in Sources */,
				AE2FE1161CFE86E6003EF0D7 /* ObjectWrapper.swift in Sources */,
				172FF8A72117B74D0059CBC5 /* XCTNSNotificationExpectation.swift in Sources */,
				AE2FE11A1CFE86E6003EF0D7 /* WallClockTimeMetric.swift in Sources */,
				AE2FE1191CFE86E6003EF0D7 /* TestFiltering.swift in Sources */,
				AE2FE1031CFE86DB003EF0D7 /* XCTestErrors.swift in Sources */,
				AE2FE1091CFE86DB003EF0D7 /* XCTestSuite.swift in Sources */,
				AE2FE11C1CFE86E6003EF0D7 /* XCTestCaseSuite.swift in Sources */,
				AE2FE0FE1CFE86DB003EF0D7 /* XCTAssert.swift in Sources */,
				17B6C3ED210F53BE00A11ECC /* WaiterManager.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		DAA333BA1C267AF3000CC115 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 5B5D86DA1BBC74AD00234F36 /* SwiftXCTest */;
			targetProxy = DAA333B91C267AF3000CC115 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		5B5D86E11BBC74AD00234F36 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1.0;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Info.plist;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				PRODUCT_BUNDLE_IDENTIFIER = org.swift.XCTest;
				PRODUCT_BUNDLE_PACKAGE_TYPE = BNDL;
				PRODUCT_NAME = SwiftXCTest;
				SDKROOT = macosx;
				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_SWIFT3_OBJC_INFERENCE = Off;
				SWIFT_VERSION = 5.0;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		5B5D86E21BBC74AD00234F36 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Info.plist;
				MTL_ENABLE_DEBUG_INFO = NO;
				PRODUCT_BUNDLE_IDENTIFIER = org.swift.XCTest;
				PRODUCT_BUNDLE_PACKAGE_TYPE = BNDL;
				PRODUCT_NAME = SwiftXCTest;
				SDKROOT = macosx;
				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
				SWIFT_SWIFT3_OBJC_INFERENCE = Off;
				SWIFT_VERSION = 5.0;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		5B5D86E41BBC74AD00234F36 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*]" = "";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks @loader_path/Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-framework",
					SwiftFoundation,
				);
				PRODUCT_BUNDLE_PACKAGE_TYPE = FMWK;
				SKIP_INSTALL = YES;
				SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator";
				SWIFT_INDEX_STORE_ENABLE = NO;
				TARGETED_DEVICE_FAMILY = "1,2,3,4";
				TVOS_DEPLOYMENT_TARGET = 10.0;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Debug;
		};
		5B5D86E51BBC74AD00234F36 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*]" = "";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks @loader_path/Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-framework",
					SwiftFoundation,
				);
				PRODUCT_BUNDLE_PACKAGE_TYPE = FMWK;
				SKIP_INSTALL = YES;
				SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator";
				SWIFT_INDEX_STORE_ENABLE = NO;
				TARGETED_DEVICE_FAMILY = "1,2,3,4";
				TVOS_DEPLOYMENT_TARGET = 10.0;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Release;
		};
		DAA333B61C267AD6000CC115 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEBUGGING_SYMBOLS = YES;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				OTHER_CFLAGS = "";
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-framework",
					SwiftFoundation,
				);
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_EXEC = "$(TOOLCHAIN_DIR)/usr/bin/swiftc";
			};
			name = Debug;
		};
		DAA333B71C267AD6000CC115 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				OTHER_CFLAGS = "";
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-framework",
					SwiftFoundation,
				);
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_EXEC = "$(TOOLCHAIN_DIR)/usr/bin/swiftc";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		5B5D86D51BBC74AD00234F36 /* Build configuration list for PBXProject "XCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				5B5D86E11BBC74AD00234F36 /* Debug */,
				5B5D86E21BBC74AD00234F36 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		5B5D86E31BBC74AD00234F36 /* Build configuration list for PBXNativeTarget "SwiftXCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				5B5D86E41BBC74AD00234F36 /* Debug */,
				5B5D86E51BBC74AD00234F36 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		DAA333B81C267AD6000CC115 /* Build configuration list for PBXLegacyTarget "SwiftXCTestFunctionalTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				DAA333B61C267AD6000CC115 /* Debug */,
				DAA333B71C267AD6000CC115 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 5B5D86D21BBC74AD00234F36 /* Project object */;
}
