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

/* Begin PBXBuildFile section */
		E6AF49473FF4EFB600000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C283FF4EFB600000000 /* main.m */; };
		E6AF49479ECDDEA400000000 /* watch2_extension_binary.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C289ECDDEA400000000 /* watch2_extension_binary.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		819366726921D83500000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7BD0EA5BD6CCFB00000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = ECCC95946921D83400000000;
		};
		81936672CD47F3C700000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7BD0EA5BD6CCFB00000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D31C5E6CD47F3C600000000;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		43D68C2806CBDC2C00000000 /* Interface.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Interface.storyboard; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/Interface.storyboard"; sourceTree = "<group>"; };
		43D68C2810C6D30200000000 /* lib_idx_WatchExtensionLibrary_6997976B.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_WatchExtensionLibrary_6997976B.a; path = lib_idx_WatchExtensionLibrary_6997976B.a; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C283686445A00000000 /* ext_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_resources.file; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_resources.file"; sourceTree = "<group>"; };
		43D68C283FF4EFB600000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_watch/Library/srcs/main.m"; sourceTree = "<group>"; };
		43D68C2849C0CECB00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_watch/BUILD; sourceTree = "<group>"; };
		43D68C284AC8D59B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/app_infoplists/Info.plist"; sourceTree = "<group>"; };
		43D68C284E902D9E00000000 /* WatchApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = WatchApplication.app; path = WatchApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C285B0DEC7800000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Application/entitlements.entitlements"; sourceTree = "<group>"; };
		43D68C289E265EE800000000 /* ext_structured_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_structured_resources.file; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_structured_resources.file"; sourceTree = "<group>"; };
		43D68C289ECDDEA400000000 /* watch2_extension_binary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = watch2_extension_binary.m; path = "tulsi-workspace/tulsi_e2e_watch/Watch2ExtensionBinary/srcs/watch2_extension_binary.m"; sourceTree = "<group>"; };
		43D68C28AFD9A63E00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Application/Info.plist"; sourceTree = "<group>"; };
		43D68C28B713E4AE00000000 /* structured_resources.file1 */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy2u; name = structured_resources.file1; path = "tulsi-workspace/tulsi_e2e_watch/Application/structured_resources.file1"; sourceTree = "<group>"; };
		43D68C28BBC8EE6A00000000 /* WatchExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = WatchExtension.appex; path = WatchExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C28C6BEF59A00000000 /* Application-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-MergedInfo.plist"; path = "blaze-bin/tulsi_e2e_watch/Application-MergedInfo.plist"; sourceTree = "<group>"; };
		43D68C28E38ADF0600000000 /* lib_idx_ApplicationLibrary_06BBE256.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_06BBE256.a; path = lib_idx_ApplicationLibrary_06BBE256.a; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C28EFD4953600000000 /* ext_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = ext_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_entitlements.entitlements"; sourceTree = "<group>"; };
		43D68C28F49055A600000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C28FC1765AB00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_infoplists/Info.plist"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		966FB6DE099EE73000000000 /* tulsi_e2e_watch */ = {
			isa = PBXGroup;
			children = (
				43D68C28C6BEF59A00000000 /* Application-MergedInfo.plist */,
			);
			name = tulsi_e2e_watch;
			sourceTree = "<group>";
		};
		966FB6DE099EE73000000001 /* tulsi_e2e_watch */ = {
			isa = PBXGroup;
			children = (
				966FB6DEB58A255E00000000 /* Application */,
				43D68C2849C0CECB00000000 /* BUILD */,
				966FB6DE94E444FD00000000 /* Library */,
				966FB6DE0C67C7D400000000 /* Watch2Extension */,
				966FB6DEB5D4FA4100000000 /* Watch2ExtensionBinary */,
			);
			name = tulsi_e2e_watch;
			sourceTree = "<group>";
		};
		966FB6DE0C67C7D400000000 /* Watch2Extension */ = {
			isa = PBXGroup;
			children = (
				43D68C2806CBDC2C00000000 /* Interface.storyboard */,
				966FB6DE998D7AD800000000 /* app_infoplists */,
				43D68C28EFD4953600000000 /* ext_entitlements.entitlements */,
				966FB6DEB9A4BB2800000000 /* ext_infoplists */,
				43D68C283686445A00000000 /* ext_resources.file */,
				43D68C289E265EE800000000 /* ext_structured_resources.file */,
			);
			name = Watch2Extension;
			sourceTree = "<group>";
		};
		966FB6DE2BD1037D00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				43D68C28F49055A600000000 /* Application.app */,
				43D68C284E902D9E00000000 /* WatchApplication.app */,
				43D68C28BBC8EE6A00000000 /* WatchExtension.appex */,
				966FB6DE2CEC8E5C00000000 /* blaze-bin */,
				43D68C28E38ADF0600000000 /* lib_idx_ApplicationLibrary_06BBE256.a */,
				43D68C2810C6D30200000000 /* lib_idx_WatchExtensionLibrary_6997976B.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		966FB6DE2CEC8E5C00000000 /* blaze-bin */ = {
			isa = PBXGroup;
			children = (
				966FB6DE099EE73000000000 /* tulsi_e2e_watch */,
			);
			name = "blaze-bin";
			sourceTree = "<group>";
		};
		966FB6DE5B9D018E00000000 /* srcs */ = {
			isa = PBXGroup;
			children = (
				43D68C283FF4EFB600000000 /* main.m */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		966FB6DE5B9D018E00000001 /* srcs */ = {
			isa = PBXGroup;
			children = (
				43D68C289ECDDEA400000000 /* watch2_extension_binary.m */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		966FB6DE94E444FD00000000 /* Library */ = {
			isa = PBXGroup;
			children = (
				966FB6DE5B9D018E00000000 /* srcs */,
			);
			name = Library;
			sourceTree = "<group>";
		};
		966FB6DE998D7AD800000000 /* app_infoplists */ = {
			isa = PBXGroup;
			children = (
				43D68C284AC8D59B00000000 /* Info.plist */,
			);
			name = app_infoplists;
			sourceTree = "<group>";
		};
		966FB6DEB58A255E00000000 /* Application */ = {
			isa = PBXGroup;
			children = (
				43D68C28AFD9A63E00000000 /* Info.plist */,
				43D68C285B0DEC7800000000 /* entitlements.entitlements */,
				43D68C28B713E4AE00000000 /* structured_resources.file1 */,
			);
			name = Application;
			sourceTree = "<group>";
		};
		966FB6DEB5D4FA4100000000 /* Watch2ExtensionBinary */ = {
			isa = PBXGroup;
			children = (
				966FB6DE5B9D018E00000001 /* srcs */,
			);
			name = Watch2ExtensionBinary;
			sourceTree = "<group>";
		};
		966FB6DEB6031FE700000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				966FB6DE2BD1037D00000000 /* Products */,
				966FB6DE099EE73000000001 /* tulsi_e2e_watch */,
			);
			name = mainGroup;
			path = ../..;
			sourceTree = SOURCE_ROOT;
		};
		966FB6DEB9A4BB2800000000 /* ext_infoplists */ = {
			isa = PBXGroup;
			children = (
				43D68C28FC1765AB00000000 /* Info.plist */,
			);
			name = ext_infoplists;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXLegacyTarget section */
		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
			isa = PBXLegacyTarget;
			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"blaze-bin\"";
			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
			buildPhases = (
			);
			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
			buildWorkingDirectory = "${SRCROOT}/../..";
			dependencies = (
			);
			name = _bazel_clean_;
			passBuildSettingsInEnvironment = 1;
			productName = _bazel_clean_;
		};
/* End PBXLegacyTarget section */

/* Begin PBXNativeTarget section */
		3D31C5E61E7C5AB400000000 /* WatchApplication */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755834598A69000000000 /* Build configuration list for PBXNativeTarget "WatchApplication" */;
			buildPhases = (
				84B42271DD828A6F00000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
				4DAD0B42CD47F3C700000000 /* PBXTargetDependency */,
			);
			name = WatchApplication;
			productName = WatchApplication;
			productReference = 43D68C284E902D9E00000000 /* WatchApplication.app */;
			productType = "com.apple.product-type.application.watchapp2";
		};
		3D31C5E631A95E1E00000000 /* _idx_ApplicationLibrary_06BBE256 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE47558357363AEC00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_06BBE256" */;
			buildPhases = (
				605793E20000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = _idx_ApplicationLibrary_06BBE256;
			productName = _idx_ApplicationLibrary_06BBE256;
			productReference = 43D68C28E38ADF0600000000 /* lib_idx_ApplicationLibrary_06BBE256.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E66B144ABC00000000 /* Application */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */;
			buildPhases = (
				84B42271CC2A946600000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = Application;
			productName = Application;
			productReference = 43D68C28F49055A600000000 /* Application.app */;
			productType = "com.apple.product-type.application";
		};
		3D31C5E6760C62B800000000 /* _idx_WatchExtensionLibrary_6997976B */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755830DA25C2A00000000 /* Build configuration list for PBXNativeTarget "_idx_WatchExtensionLibrary_6997976B" */;
			buildPhases = (
				605793E20000000000000001 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = _idx_WatchExtensionLibrary_6997976B;
			productName = _idx_WatchExtensionLibrary_6997976B;
			productReference = 43D68C2810C6D30200000000 /* lib_idx_WatchExtensionLibrary_6997976B.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E6CD47F3C600000000 /* WatchExtension */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755830DB9CDD900000000 /* Build configuration list for PBXNativeTarget "WatchExtension" */;
			buildPhases = (
				84B422712E841A6700000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = WatchExtension;
			productName = WatchExtension;
			productReference = 43D68C28BBC8EE6A00000000 /* WatchExtension.appex */;
			productType = "com.apple.product-type.watchkit2-extension";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		7E7BD0EA5BD6CCFB00000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 0830;
			};
			buildConfigurationList = DE475583E3BE2C3500000000 /* Build configuration list for PBXProject "WatchProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 966FB6DEB6031FE700000000 /* mainGroup */;
			targets = (
				3D31C5E66B144ABC00000000 /* Application */,
				3D31C5E61E7C5AB400000000 /* WatchApplication */,
				3D31C5E6CD47F3C600000000 /* WatchExtension */,
				ECCC95946921D83400000000 /* _bazel_clean_ */,
				3D31C5E631A95E1E00000000 /* _idx_ApplicationLibrary_06BBE256 */,
				3D31C5E6760C62B800000000 /* _idx_WatchExtensionLibrary_6997976B */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		84B422712E841A6700000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/../..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_watch:WatchExtension --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"blaze-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 -- --bazel_startup_options[Debug] --blazerc=/dev/null --  --install_generated_artifacts";
			showEnvVarsInLog = 1;
		};
		84B42271CC2A946600000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/../..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_watch:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"blaze-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 -- --bazel_startup_options[Debug] --blazerc=/dev/null --  --install_generated_artifacts";
			showEnvVarsInLog = 1;
		};
		84B42271DD828A6F00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/../..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_watch:WatchApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"blaze-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 -- --bazel_startup_options[Debug] --blazerc=/dev/null --  --install_generated_artifacts";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		605793E20000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF49473FF4EFB600000000 /* main.m in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000001 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF49479ECDDEA400000000 /* watch2_extension_binary.m in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
		};
		4DAD0B42CD47F3C700000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 81936672CD47F3C700000000 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		44936BD67EED3C4D00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				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_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/blaze-bin $(TULSI_WR)/blaze-genfiles $(TULSI_BWRS)/tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = WatchProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/../..";
			};
			name = Debug;
		};
		44936BD67EED3C4D00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/Application.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:Application.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
				BAZEL_TARGET_TYPE = ios_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				PRODUCT_BUNDLE_IDENTIFIER = application.bundle_id;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = NO;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchApplication.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchApplication.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
				BAZEL_TARGET_TYPE = watchos_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.app.bundle_id;
				PRODUCT_NAME = WatchApplication;
				SDKROOT = watchos;
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = NO;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchExtension.apple_binary.appex.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchExtension.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
				BAZEL_TARGET_TYPE = watchos_extension;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.ext.bundle_id;
				PRODUCT_NAME = WatchExtension;
				SDKROOT = watchos;
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = NO;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000004 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = x86_64;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				PRODUCT_NAME = _idx_ApplicationLibrary_06BBE256;
				SDKROOT = iphonesimulator;
				VALID_ARCHS = x86_64;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000005 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = x86_64;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				PRODUCT_NAME = _idx_WatchExtensionLibrary_6997976B;
				SDKROOT = watchsimulator;
				VALID_ARCHS = x86_64;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Debug;
		};
		44936BD6A3D45CE900000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				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_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/blaze-bin $(TULSI_WR)/blaze-genfiles $(TULSI_BWRS)/tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = WatchProject;
				TULSI_USE_DSYM = YES;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/../..";
			};
			name = Release;
		};
		44936BD6A3D45CE900000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/Application.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:Application.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
				BAZEL_TARGET_TYPE = ios_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				PRODUCT_BUNDLE_IDENTIFIER = application.bundle_id;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = YES;
			};
			name = Release;
		};
		44936BD6A3D45CE900000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchApplication.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchApplication.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
				BAZEL_TARGET_TYPE = watchos_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.app.bundle_id;
				PRODUCT_NAME = WatchApplication;
				SDKROOT = watchos;
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = YES;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Release;
		};
		44936BD6A3D45CE900000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchExtension.apple_binary.appex.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchExtension.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
				BAZEL_TARGET_TYPE = watchos_extension;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.ext.bundle_id;
				PRODUCT_NAME = WatchExtension;
				SDKROOT = watchos;
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = YES;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Release;
		};
		44936BD6A3D45CE900000004 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = x86_64;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				PRODUCT_NAME = _idx_ApplicationLibrary_06BBE256;
				SDKROOT = iphonesimulator;
				VALID_ARCHS = x86_64;
			};
			name = Release;
		};
		44936BD6A3D45CE900000005 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = x86_64;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				PRODUCT_NAME = _idx_WatchExtensionLibrary_6997976B;
				SDKROOT = watchsimulator;
				VALID_ARCHS = x86_64;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = Release;
		};
		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				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_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = WatchProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/../..";
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/Application.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:Application.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
				BAZEL_TARGET_TYPE = ios_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = application.bundle_id;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = NO;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchApplication.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchApplication.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
				BAZEL_TARGET_TYPE = watchos_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.app.bundle_id;
				PRODUCT_NAME = WatchApplication;
				SDKROOT = watchos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = NO;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchExtension.apple_binary.appex.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchExtension.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
				BAZEL_TARGET_TYPE = watchos_extension;
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.ext.bundle_id;
				PRODUCT_NAME = WatchExtension;
				SDKROOT = watchos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = NO;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				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_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = WatchProject;
				TULSI_USE_DSYM = YES;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/../..";
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/Application.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:Application.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
				BAZEL_TARGET_TYPE = ios_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = application.bundle_id;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = YES;
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchApplication.apple_binary.app.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchApplication.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
				BAZEL_TARGET_TYPE = watchos_application;
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.app.bundle_id;
				PRODUCT_NAME = WatchApplication;
				SDKROOT = watchos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = YES;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_BINARY_DSYM = tulsi_e2e_watch/WatchExtension.apple_binary.appex.dSYM;
				BAZEL_BINARY_TARGET = "//tulsi_e2e_watch:WatchExtension.apple_binary";
				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
				BAZEL_TARGET_TYPE = watchos_extension;
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = application.watch.ext.bundle_id;
				PRODUCT_NAME = WatchExtension;
				SDKROOT = watchos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_watch;
				TULSI_USE_DSYM = YES;
				WATCHOS_DEPLOYMENT_TARGET = 3.0;
			};
			name = __TulsiTestRunner_Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		DE4755830DA25C2A00000000 /* Build configuration list for PBXNativeTarget "_idx_WatchExtensionLibrary_6997976B" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000005 /* Debug */,
				44936BD6A3D45CE900000005 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755830DB9CDD900000000 /* Build configuration list for PBXNativeTarget "WatchExtension" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000003 /* Debug */,
				44936BD6A3D45CE900000003 /* Release */,
				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755834598A69000000000 /* Build configuration list for PBXNativeTarget "WatchApplication" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000002 /* Debug */,
				44936BD6A3D45CE900000002 /* Release */,
				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE47558357363AEC00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_06BBE256" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000004 /* Debug */,
				44936BD6A3D45CE900000004 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583E3BE2C3500000000 /* Build configuration list for PBXProject "WatchProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000000 /* Debug */,
				44936BD6A3D45CE900000000 /* Release */,
				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000001 /* Debug */,
				44936BD6A3D45CE900000001 /* Release */,
				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 7E7BD0EA5BD6CCFB00000000 /* Project object */;
}