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

/* Begin PBXBuildFile section */
		2D7A8EB51F67220400392DA3 /* macOSXCTRunner.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 2D7A8EB41F6720EB00392DA3 /* macOSXCTRunner.entitlements */; };
		2D9DB34A1E5DECA40021EAF4 /* iOSXCTRunner.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 2D9DB3491E5DEC680021EAF4 /* iOSXCTRunner.entitlements */; };
		2DD7C6C21F6886D400163B92 /* TulsiError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D387BB71C761B8800544AE0 /* TulsiError.swift */; };
		2DD7C6C41F6887DB00163B92 /* DeploymentTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD7C6C31F6887DB00163B92 /* DeploymentTarget.swift */; };
		3D029B581C6421B400779E8E /* ProcessRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D029B571C6421B400779E8E /* ProcessRunner.swift */; };
		3D029C7E1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D029C7C1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift */; };
		3D062FA31DA6C77500E79AD4 /* Swift.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3D062FA11DA6C76900E79AD4 /* Swift.BUILD */; };
		3D0849F11C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0849F01C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift */; };
		3D0849FC1C73AE77005F5ABA /* ProjectEditorTabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0849FB1C73AE77005F5ABA /* ProjectEditorTabViewController.swift */; };
		3D084A021C73C902005F5ABA /* OptionsEditorModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D084A011C73C902005F5ABA /* OptionsEditorModelProtocol.swift */; };
		3D084A041C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D084A031C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift */; };
		3D0C9C181C5A87AF00417963 /* OptionsEditorNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0C9C171C5A87AF00417963 /* OptionsEditorNode.swift */; };
		3D123A531C659688002BEBA2 /* TulsiProject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0DE461C654E79008B0CDF /* TulsiProject.swift */; };
		3D167E271C5B1FA700DD485C /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = 3D167E291C5B1FA700DD485C /* Credits.html */; };
		3D1F2E261CF760420008CE83 /* BazelLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1F2E251CF760420008CE83 /* BazelLocator.swift */; };
		3D250B7F1C5DCE120091C7A5 /* XcodeScheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D250B7E1C5DCE120091C7A5 /* XcodeScheme.swift */; };
		3D25E0A01CF49F5E00959453 /* EndToEndIntegrationTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D25E09F1CF49F5E00959453 /* EndToEndIntegrationTestCase.swift */; };
		3D329D0E1C4831EF00DFBD0F /* bazel_build.py in Resources */ = {isa = PBXBuildFile; fileRef = 3D329D0D1C4831EF00DFBD0F /* bazel_build.py */; };
		3D387BAB1C7500A100544AE0 /* NewGeneratorConfigViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D387BA91C7500A100544AE0 /* NewGeneratorConfigViewController.swift */; };
		3D387BAD1C7500B500544AE0 /* NewGeneratorConfigViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */; };
		3D387BB21C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D387BB01C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift */; };
		3D387BB41C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D387BB61C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib */; };
		3D3DDD141CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */; };
		3D47D6BA1D13190E005B5BF3 /* NSJSONSerializationExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D47D6B91D13190E005B5BF3 /* NSJSONSerializationExtensions.swift */; };
		3D4E5A421D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4E5A411D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift */; };
		3D51A8001C52C10A00FE90A6 /* TulsiOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D51A7FF1C52C10A00FE90A6 /* TulsiOption.swift */; };
		3D51A80C1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D51A80B1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift */; };
		3D53323F1D243BE400951579 /* EventLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D53323B1D2425E600951579 /* EventLogger.swift */; };
		3D5A1B581D1B3485006FC2A6 /* StubInfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3D5A1B571D1B3485006FC2A6 /* StubInfoPlist.plist */; };
		3D648FB31D747B8100A3DBE2 /* post_processor in Copy Utilty resources */ = {isa = PBXBuildFile; fileRef = 3D256D1A1D7131B4007A3ED3 /* post_processor */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		3D7B5EB11C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7B5EB01C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift */; };
		3D7B77431C8F2DD3004786EF /* UISourcePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7B77421C8F2DD3004786EF /* UISourcePath.swift */; };
		3D7B77B71C907B0A004786EF /* EndToEndGenerationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7B77B61C907B0A004786EF /* EndToEndGenerationTests.swift */; };
		3D7B77C71C9098A4004786EF /* GoldenProjects in Resources */ = {isa = PBXBuildFile; fileRef = 3D7B77C61C9098A4004786EF /* GoldenProjects */; };
		3D7CED5B1CC171CD0073204D /* SplashScreenWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7CED591CC171CD0073204D /* SplashScreenWindowController.swift */; };
		3D7CED5D1CC171E60073204D /* SplashScreenWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D7CED5F1CC171E60073204D /* SplashScreenWindowController.xib */; };
		3D800DE91C6C24C000F4D08C /* BugReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D800DE81C6C24C000F4D08C /* BugReporter.swift */; };
		3D8B34BA1C4EB37C0090F3AD /* TulsiNotifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D8B34B91C4EB37C0090F3AD /* TulsiNotifications.swift */; };
		3D8B34C21C4ED5D50090F3AD /* WizardSubviewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D8B34C11C4ED5D50090F3AD /* WizardSubviewProtocol.swift */; };
		3D8B37ED1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3D8B37EF1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib */; };
		3D903A7A1D775AE800B034E9 /* StubWatchOS2InfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3D903A791D775AE800B034E9 /* StubWatchOS2InfoPlist.plist */; };
		3D91B4DC1C78CE6B006ED85C /* TulsiDocumentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D91B4DB1C78CE6B006ED85C /* TulsiDocumentController.swift */; };
		3D94853E1C31924B0026CE41 /* TulsiOptionSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D94853D1C31924B0026CE41 /* TulsiOptionSet.swift */; };
		3D9485411C3193F00026CE41 /* Options.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3D9485431C3193F00026CE41 /* Options.strings */; };
		3D9677C21D467EAE00799275 /* ComplexSingle.bzl in Resources */ = {isa = PBXBuildFile; fileRef = 3D9677C11D467EAE00799275 /* ComplexSingle.bzl */; };
		3D98176A1C8A0E20005BF3E0 /* ComplexSingle.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3D9817681C8A0DBD005BF3E0 /* ComplexSingle.BUILD */; };
		3D99266D1C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; };
		3D9926781C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; };
		3D9926791C29F0A30094E098 /* TulsiGenerator.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		3D9926811C29F0CC0094E098 /* PBXTargetGeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4A123B1C1882F5006E592D /* PBXTargetGeneratorTests.swift */; };
		3D9926821C29F0CC0094E098 /* BuildLabelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9DAF541C23604100955CD5 /* BuildLabelTests.swift */; };
		3D9926841C29F0CC0094E098 /* PBXObjectsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE40AA41C17A2F60055E464 /* PBXObjectsTests.swift */; };
		3D9926851C29F0CC0094E098 /* PBXProjSerializerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F55AC1BE3ECDC0095AF7F /* PBXProjSerializerTests.swift */; };
		3D9926871C29F10B0094E098 /* BazelQueryInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */; };
		3D9926881C29F10B0094E098 /* PBXTargetGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7830051C17918D00AF67A4 /* PBXTargetGenerator.swift */; };
		3D9926891C29F10B0094E098 /* BuildLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F1B111BF6BDD50008013B /* BuildLabel.swift */; };
		3D99268A1C29F10B0094E098 /* GIDGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFC8F461BE7CFC70066E8BA /* GIDGenerator.swift */; };
		3D99268B1C29F1100094E098 /* PBXObjects.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFC8F441BE7CF140066E8BA /* PBXObjects.swift */; };
		3D99268C1C29F1100094E098 /* PBXUniformTypeIdentifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9F439F1C160AFA00032F32 /* PBXUniformTypeIdentifiers.swift */; };
		3D99268E1C29F1100094E098 /* BazelWorkspaceInfoExtractorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */; };
		3D99268F1C29F1100094E098 /* PBXProjSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C05C3361CD7B83A8DADF /* PBXProjSerializer.swift */; };
		3D9926911C29F1410094E098 /* bazel_clean.sh in Resources */ = {isa = PBXBuildFile; fileRef = 3D156AE11C1C8D9C00183439 /* bazel_clean.sh */; };
		3D9926931C29F1BC0094E098 /* UIRuleEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9926921C29F1BC0094E098 /* UIRuleEntry.swift */; };
		3D9926951C29F1E80094E098 /* RuleEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9926941C29F1E80094E098 /* RuleEntry.swift */; };
		3D9926971C29FB180094E098 /* TulsiProjectInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9926961C29FB180094E098 /* TulsiProjectInfoExtractor.swift */; };
		3D9E11B71C6D4D750026EE68 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9E11B61C6D4D750026EE68 /* main.swift */; };
		3D9E1A511C6F87670026EE68 /* NSThreadExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9E1A501C6F87670026EE68 /* NSThreadExtensions.swift */; };
		3DA65B1B1C67B9DE0055448E /* TulsiGeneratorConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B1A1C67B9DE0055448E /* TulsiGeneratorConfig.swift */; };
		3DA65B281C67E9720055448E /* TulsiXcodeProjectGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B271C67E9720055448E /* TulsiXcodeProjectGenerator.swift */; };
		3DA65B3E1C6849140055448E /* XcodeProjectGeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B3D1C6849140055448E /* XcodeProjectGeneratorTests.swift */; };
		3DA65B441C6854EF0055448E /* LocalizedMessageLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B431C6854EF0055448E /* LocalizedMessageLogger.swift */; };
		3DA65B461C68558A0055448E /* XcodeProjectGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B451C68558A0055448E /* XcodeProjectGenerator.swift */; };
		3DA65B481C685BF30055448E /* MockWorkspaceInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B471C685BF30055448E /* MockWorkspaceInfoExtractor.swift */; };
		3DA65B5E1C692FA20055448E /* NSURLExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B5D1C692FA20055448E /* NSURLExtensions.swift */; };
		3DA65B601C6930210055448E /* NSURLExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B5F1C6930210055448E /* NSURLExtensionsTests.swift */; };
		3DA65B621C693B570055448E /* TulsiGeneratorConfigTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B611C693B570055448E /* TulsiGeneratorConfigTests.swift */; };
		3DA65B661C693B7E0055448E /* TulsiProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DA65B651C693B7E0055448E /* TulsiProjectTests.swift */; };
		3DAA08861CF49316007BE8A2 /* PlatformDependent.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3DAA08841CF48F9D007BE8A2 /* PlatformDependent.BUILD */; };
		3DAE206C1CF497D800C2C0D0 /* test.WORKSPACE in Resources */ = {isa = PBXBuildFile; fileRef = 3DAE206B1CF497D800C2C0D0 /* test.WORKSPACE */; };
		3DAEE45E1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAEE45D1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift */; };
		3DAEE4681C85EB6100BA1C67 /* TulsiGenerator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */; };
		3DAEE46F1C85ECEC00BA1C67 /* AspectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAEE46E1C85ECEC00BA1C67 /* AspectTests.swift */; };
		3DAEE4711C8600B800BA1C67 /* Simple.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 3DAEE4701C8600B800BA1C67 /* Simple.BUILD */; };
		3DAFE8AE1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3DAFE8AD1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist */; };
		3DB1FBFC1C31DDCB0080198C /* ProjectEditorSplitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1FBFB1C31DDCB0080198C /* ProjectEditorSplitViewController.swift */; };
		3DB1FC1B1C3235E30080198C /* UIMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1FC1A1C3235E30080198C /* UIMessage.swift */; };
		3DB1FC2B1C32DCBC0080198C /* MessageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1FC2A1C32DCBC0080198C /* MessageViewController.swift */; };
		3DBCB5201CCA94E7000801A5 /* BazelErrorExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBCB51F1CCA94E7000801A5 /* BazelErrorExtractor.swift */; };
		3DBEFACD1C2A1F7200119556 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DBEFACF1C2A1F7200119556 /* Localizable.strings */; };
		3DBEFAED1C2A3E5900119556 /* MockLocalizedMessageLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBEFAEC1C2A3E5900119556 /* MockLocalizedMessageLogger.swift */; };
		3DC463B91CA2DAAF00DD8A42 /* TestSuite in Resources */ = {isa = PBXBuildFile; fileRef = 3DC463B71CA2DAAB00DD8A42 /* TestSuite */; };
		3DC5CE0E1CFF3BAC00688AD6 /* NewProjectViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */; };
		3DCA3ADC1CB8166100A0BCA2 /* QueryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCA3ADB1CB8166100A0BCA2 /* QueryTests.swift */; };
		3DCD08111D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3DCD08101D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist */; };
		3DCF74B61C34699100521F1F /* OptionsEditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCF74B51C34699100521F1F /* OptionsEditorViewController.swift */; };
		3DCFE5D51C80A64600D7F31B /* WORKSPACE in Resources */ = {isa = PBXBuildFile; fileRef = 3DCFE5D21C80A64600D7F31B /* WORKSPACE */; };
		3DCFE5DE1C80B70700D7F31B /* BazelAspectInfoExtractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCFE5DD1C80B70700D7F31B /* BazelAspectInfoExtractor.swift */; };
		3DCFE5E21C80B92D00D7F31B /* ProgressNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DCFE5E11C80B92D00D7F31B /* ProgressNotifier.swift */; };
		3DD0DE441C65404F008B0CDF /* NewProjectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0DE421C65404F008B0CDF /* NewProjectViewController.swift */; };
		3DD0DE491C656C15008B0CDF /* FilteredOpenPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0DE481C656C15008B0CDF /* FilteredOpenPanel.swift */; };
		3DD0EB0E1C40AEC7005C0469 /* OptionsEditorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0EB0D1C40AEC7005C0469 /* OptionsEditorController.swift */; };
		3DD0EB101C40AED8005C0469 /* OptionsTargetSelectorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0EB0F1C40AED8005C0469 /* OptionsTargetSelectorController.swift */; };
		3DDA83921C7BB1F100CA7BB5 /* BazelSelectionPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DDA83911C7BB1F100CA7BB5 /* BazelSelectionPanel.swift */; };
		3DE7F4171CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */; };
		3DEC9EDD1CF3421600769251 /* TulsiProcessRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DEC9EDC1CF3421600769251 /* TulsiProcessRunner.swift */; };
		3DF313B41C3488BE00A34C14 /* UISelectableOutlineViewNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */; };
		3DF313B71C34898500A34C14 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DF313B91C34898500A34C14 /* Localizable.strings */; };
		3DFB7C4B1C81F78000376760 /* command_line_splitter.sh in Resources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */; };
		3DFB7C4D1C835EC000376760 /* CommandLineSplitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */; };
		3DFB7C4F1C835EFB00376760 /* CommandLineSplitterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */; };
		5416093C1F5854090016769C /* BazelBuildEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5416093B1F5854090016769C /* BazelBuildEvents.swift */; };
		541CAE3B1F2A571D00FE5771 /* Mac.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 541CAE391F2A571900FE5771 /* Mac.BUILD */; };
		5429EA8B1F38C4DB00A78405 /* BazelPBXReferencePatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5429EA8A1F38C4DB00A78405 /* BazelPBXReferencePatcher.swift */; };
		5429EA911F38F56200A78405 /* BazelXcodeProjectPatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5429EA901F38F56200A78405 /* BazelXcodeProjectPatcher.swift */; };
		546AE0AF1F75BE1D00FE9562 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 546AE0AE1F75BE1D00FE9562 /* StringExtensions.swift */; };
		546AE0B11F75C0C800FE9562 /* ShellEscapingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 546AE0B01F75C0C800FE9562 /* ShellEscapingTests.swift */; };
		547C3C021F1949740055BAED /* Watch.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = 547C3C001F1949110055BAED /* Watch.BUILD */; };
		54BDD0181F4E0FD000AAC99A /* TulsiParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54BDD0171F4E0FD000AAC99A /* TulsiParameter.swift */; };
		54EA05C81F62E3A700472AB6 /* RuleEntryMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54EA05C71F62E3A700472AB6 /* RuleEntryMap.swift */; };
		54EF320A1F3E0804009E9C7F /* bazel_build_events.py in Resources */ = {isa = PBXBuildFile; fileRef = 54EF32091F3E0804009E9C7F /* bazel_build_events.py */; };
		8B0F78C81BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B0F78C71BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift */; };
		8B29E2D01BF9386200680E11 /* TulsiProjectDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B29E2CF1BF9386200680E11 /* TulsiProjectDocument.swift */; };
		8B8F559B1BE3ECDC0095AF7F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F559A1BE3ECDC0095AF7F /* AppDelegate.swift */; };
		8B8F559D1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F559C1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift */; };
		8B8F559F1BE3ECDC0095AF7F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8B8F559E1BE3ECDC0095AF7F /* Assets.xcassets */; };
		8B8F55A21BE3ECDC0095AF7F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */; };
		8B8F55C81BE4100A0095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B8F55C71BE410090095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift */; };
		8BC3D1051CF3643800D6D10E /* SplashScreenRecentDocumentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8BC3D1031CF3643800D6D10E /* SplashScreenRecentDocumentView.xib */; };
		AB18C31C78E730FECC1552EF /* BazelIntegrationTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C7D45D34ACB3B8BC1805 /* BazelIntegrationTestCase.swift */; };
		AB18C7AE39198BE26CB112C0 /* HeadlessModeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C78A05BFF81B82FFE890 /* HeadlessModeError.swift */; };
		AB18CB663B4A10F9BA45D02F /* TulsiCommandlineParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18C4E9FB80370FC40B500A /* TulsiCommandlineParser.swift */; };
		AB18CC4A7B1A308E23A1CE6F /* HeadlessTulsiProjectCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB18CFC29644CD1B3B860056 /* HeadlessTulsiProjectCreator.swift */; };
		D33C204F1EC108CC00867450 /* tulsi_logging.py in Resources */ = {isa = PBXBuildFile; fileRef = D33C204E1EC108CC00867450 /* tulsi_logging.py */; };
		D3F78C681F391E9700AE0571 /* bazel_options.py in Resources */ = {isa = PBXBuildFile; fileRef = D3F78C671F391E9700AE0571 /* bazel_options.py */; };
		E107EFD7200B135600257E2F /* BuildScriptOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107EFD6200B135500257E2F /* BuildScriptOption.swift */; };
		E11AFAB02052655500C97875 /* bazel_cache_reader in Copy Utilty resources */ = {isa = PBXBuildFile; fileRef = E1D770EA20523E790026802A /* bazel_cache_reader */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		E135A781205880720082E4D0 /* apfs_clone_copy.py in Resources */ = {isa = PBXBuildFile; fileRef = E135A780205880720082E4D0 /* apfs_clone_copy.py */; };
		E155E20C1FCE47DA002B16BB /* BazelBuildSettingsFeatures.swift in Sources */ = {isa = PBXBuildFile; fileRef = E155E20B1FCE47D9002B16BB /* BazelBuildSettingsFeatures.swift */; };
		E19C1C571F5886A000D6E38A /* QueuedLogging.swift in Sources */ = {isa = PBXBuildFile; fileRef = E19C1C561F5886A000D6E38A /* QueuedLogging.swift */; };
		E1C0186D2051B65D000580CC /* clean_symbol_cache.py in Resources */ = {isa = PBXBuildFile; fileRef = E1C018692051B65B000580CC /* clean_symbol_cache.py */; };
		E1C018702051B65D000580CC /* symbol_cache_schema.py in Resources */ = {isa = PBXBuildFile; fileRef = E1C0186C2051B65C000580CC /* symbol_cache_schema.py */; };
		E1C018722051B66C000580CC /* update_symbol_cache.py in Resources */ = {isa = PBXBuildFile; fileRef = E1C018712051B66C000580CC /* update_symbol_cache.py */; };
		E1C0EBDB1F70982300FA2054 /* XcodeGeneratorInvalidPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1C0EBDA1F70982300FA2054 /* XcodeGeneratorInvalidPaths.swift */; };
		E1D27C2A1F57782D000B9B13 /* SimpleBad.BUILD in Resources */ = {isa = PBXBuildFile; fileRef = E1D27C281F57781A000B9B13 /* SimpleBad.BUILD */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		3D256D191D7131B4007A3ED3 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 3DC2E3C51D635C0A00DCF7D3;
			remoteInfo = post_processor;
		};
		3D648FB01D747B7E00A3DBE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 3DC2E3C41D635C0A00DCF7D3;
			remoteInfo = post_processor;
		};
		3D99266E1C29F0A30094E098 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D9926621C29F0A20094E098;
			remoteInfo = TulsiGenerator;
		};
		3D9926761C29F0A30094E098 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D9926621C29F0A20094E098;
			remoteInfo = TulsiGenerator;
		};
		3DAEE4691C85EB6100BA1C67 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D9926621C29F0A20094E098;
			remoteInfo = TulsiGenerator;
		};
		E11AFAAD205264C200C97875 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = E1D770E520523E780026802A /* bazel_cache_reader.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = E1D770DA20523E770026802A;
			remoteInfo = bazel_cache_reader;
		};
		E1D770E920523E790026802A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = E1D770E520523E780026802A /* bazel_cache_reader.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = E1D770DB20523E770026802A;
			remoteInfo = bazel_cache_reader;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		3D99267F1C29F0A30094E098 /* Embed Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				3D9926791C29F0A30094E098 /* TulsiGenerator.framework in Embed Frameworks */,
			);
			name = "Embed Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DBA77761D6CB3EF00BD5B7C /* Copy Utilty resources */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = Utilities;
			dstSubfolderSpec = 7;
			files = (
				E11AFAB02052655500C97875 /* bazel_cache_reader in Copy Utilty resources */,
				3D648FB31D747B8100A3DBE2 /* post_processor in Copy Utilty resources */,
			);
			name = "Copy Utilty resources";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		2D7A8EB41F6720EB00392DA3 /* macOSXCTRunner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOSXCTRunner.entitlements; sourceTree = "<group>"; };
		2D9DB3491E5DEC680021EAF4 /* iOSXCTRunner.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = iOSXCTRunner.entitlements; sourceTree = "<group>"; };
		2DD7C6C31F6887DB00163B92 /* DeploymentTarget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeploymentTarget.swift; sourceTree = "<group>"; };
		3D029B571C6421B400779E8E /* ProcessRunner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProcessRunner.swift; sourceTree = "<group>"; };
		3D029C7C1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorPackageManagerViewController.swift; sourceTree = "<group>"; };
		3D062FA11DA6C76900E79AD4 /* Swift.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Swift.BUILD; path = Resources/Swift.BUILD; sourceTree = "<group>"; };
		3D0849F01C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiGeneratorConfigDocument.swift; sourceTree = "<group>"; };
		3D0849FB1C73AE77005F5ABA /* ProjectEditorTabViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorTabViewController.swift; sourceTree = "<group>"; };
		3D084A011C73C902005F5ABA /* OptionsEditorModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorModelProtocol.swift; sourceTree = "<group>"; };
		3D084A031C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorConfigManagerViewController.swift; sourceTree = "<group>"; };
		3D0C9C171C5A87AF00417963 /* OptionsEditorNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorNode.swift; sourceTree = "<group>"; };
		3D156AE11C1C8D9C00183439 /* bazel_clean.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = bazel_clean.sh; sourceTree = "<group>"; };
		3D167E281C5B1FA700DD485C /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = Base; path = Base.lproj/Credits.html; sourceTree = "<group>"; };
		3D1F2E251CF760420008CE83 /* BazelLocator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelLocator.swift; sourceTree = "<group>"; };
		3D250B7E1C5DCE120091C7A5 /* XcodeScheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeScheme.swift; sourceTree = "<group>"; };
		3D25E09F1CF49F5E00959453 /* EndToEndIntegrationTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EndToEndIntegrationTestCase.swift; sourceTree = "<group>"; };
		3D329D0D1C4831EF00DFBD0F /* bazel_build.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = bazel_build.py; sourceTree = "<group>"; };
		3D387BA91C7500A100544AE0 /* NewGeneratorConfigViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewGeneratorConfigViewController.swift; sourceTree = "<group>"; };
		3D387BAE1C7500B500544AE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NewGeneratorConfigViewController.xib; sourceTree = "<group>"; };
		3D387BB01C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeProjectGenerationProgressViewController.swift; sourceTree = "<group>"; };
		3D387BB51C75354C00544AE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/XcodeProjectGenerationProgressViewController.xib; sourceTree = "<group>"; };
		3D387BB71C761B8800544AE0 /* TulsiError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiError.swift; sourceTree = "<group>"; };
		3D3DDD151CCA7BCF00E21FA4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ErrorAlertDetailView.xib; sourceTree = "<group>"; };
		3D47D6B91D13190E005B5BF3 /* NSJSONSerializationExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSJSONSerializationExtensions.swift; sourceTree = "<group>"; };
		3D4A123B1C1882F5006E592D /* PBXTargetGeneratorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXTargetGeneratorTests.swift; sourceTree = "<group>"; };
		3D4E5A411D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeadlessXcodeProjectGenerator.swift; sourceTree = "<group>"; };
		3D51A7FF1C52C10A00FE90A6 /* TulsiOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiOption.swift; sourceTree = "<group>"; };
		3D51A80B1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiOptionSetTests.swift; sourceTree = "<group>"; };
		3D53323B1D2425E600951579 /* EventLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EventLogger.swift; path = Tulsi/EventLogger.swift; sourceTree = SOURCE_ROOT; };
		3D5A1B571D1B3485006FC2A6 /* StubInfoPlist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = StubInfoPlist.plist; path = GeneratedProjectResources/StubInfoPlist.plist; sourceTree = "<group>"; };
		3D7830051C17918D00AF67A4 /* PBXTargetGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXTargetGenerator.swift; sourceTree = "<group>"; };
		3D7B5EB01C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspaceInfoExtractor.swift; sourceTree = "<group>"; };
		3D7B77421C8F2DD3004786EF /* UISourcePath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UISourcePath.swift; sourceTree = "<group>"; };
		3D7B77B61C907B0A004786EF /* EndToEndGenerationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EndToEndGenerationTests.swift; sourceTree = "<group>"; };
		3D7B77C61C9098A4004786EF /* GoldenProjects */ = {isa = PBXFileReference; lastKnownFileType = folder; name = GoldenProjects; path = Resources/GoldenProjects; sourceTree = "<group>"; };
		3D7CED591CC171CD0073204D /* SplashScreenWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplashScreenWindowController.swift; sourceTree = "<group>"; };
		3D7CED5E1CC171E60073204D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SplashScreenWindowController.xib; sourceTree = "<group>"; };
		3D800DE81C6C24C000F4D08C /* BugReporter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BugReporter.swift; sourceTree = "<group>"; };
		3D8B34B91C4EB37C0090F3AD /* TulsiNotifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiNotifications.swift; sourceTree = "<group>"; };
		3D8B34C11C4ED5D50090F3AD /* WizardSubviewProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WizardSubviewProtocol.swift; sourceTree = "<group>"; };
		3D8B37EE1C4F100F0090F3AD /* Base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = Base; path = Base.lproj/BazelOpenSheetAccessoryView.xib; sourceTree = "<group>"; };
		3D903A791D775AE800B034E9 /* StubWatchOS2InfoPlist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = StubWatchOS2InfoPlist.plist; path = GeneratedProjectResources/StubWatchOS2InfoPlist.plist; sourceTree = "<group>"; };
		3D91B4DB1C78CE6B006ED85C /* TulsiDocumentController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiDocumentController.swift; sourceTree = "<group>"; };
		3D94853D1C31924B0026CE41 /* TulsiOptionSet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiOptionSet.swift; sourceTree = "<group>"; };
		3D9485421C3193F00026CE41 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Options.strings; sourceTree = "<group>"; };
		3D9677C11D467EAE00799275 /* ComplexSingle.bzl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = ComplexSingle.bzl; path = Resources/ComplexSingle.bzl; sourceTree = "<group>"; };
		3D9817681C8A0DBD005BF3E0 /* ComplexSingle.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = ComplexSingle.BUILD; path = Resources/ComplexSingle.BUILD; sourceTree = "<group>"; };
		3D9926631C29F0A20094E098 /* TulsiGenerator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TulsiGenerator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		3D9926671C29F0A20094E098 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		3D99266C1C29F0A20094E098 /* TulsiGeneratorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TulsiGeneratorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		3D9926751C29F0A30094E098 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		3D9926921C29F1BC0094E098 /* UIRuleEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIRuleEntry.swift; sourceTree = "<group>"; };
		3D9926941C29F1E80094E098 /* RuleEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RuleEntry.swift; sourceTree = "<group>"; };
		3D9926961C29FB180094E098 /* TulsiProjectInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProjectInfoExtractor.swift; sourceTree = "<group>"; };
		3D9DAF541C23604100955CD5 /* BuildLabelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BuildLabelTests.swift; sourceTree = "<group>"; };
		3D9E11B61C6D4D750026EE68 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
		3D9E1A501C6F87670026EE68 /* NSThreadExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSThreadExtensions.swift; sourceTree = "<group>"; };
		3D9F439F1C160AFA00032F32 /* PBXUniformTypeIdentifiers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXUniformTypeIdentifiers.swift; sourceTree = "<group>"; };
		3DA65B1A1C67B9DE0055448E /* TulsiGeneratorConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiGeneratorConfig.swift; sourceTree = "<group>"; };
		3DA65B271C67E9720055448E /* TulsiXcodeProjectGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiXcodeProjectGenerator.swift; sourceTree = "<group>"; };
		3DA65B3D1C6849140055448E /* XcodeProjectGeneratorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeProjectGeneratorTests.swift; sourceTree = "<group>"; };
		3DA65B431C6854EF0055448E /* LocalizedMessageLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalizedMessageLogger.swift; sourceTree = "<group>"; };
		3DA65B451C68558A0055448E /* XcodeProjectGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeProjectGenerator.swift; sourceTree = "<group>"; };
		3DA65B471C685BF30055448E /* MockWorkspaceInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockWorkspaceInfoExtractor.swift; sourceTree = "<group>"; };
		3DA65B5D1C692FA20055448E /* NSURLExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSURLExtensions.swift; sourceTree = "<group>"; };
		3DA65B5F1C6930210055448E /* NSURLExtensionsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSURLExtensionsTests.swift; sourceTree = "<group>"; };
		3DA65B611C693B570055448E /* TulsiGeneratorConfigTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiGeneratorConfigTests.swift; sourceTree = "<group>"; };
		3DA65B651C693B7E0055448E /* TulsiProjectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProjectTests.swift; sourceTree = "<group>"; };
		3DAA08841CF48F9D007BE8A2 /* PlatformDependent.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PlatformDependent.BUILD; path = Resources/PlatformDependent.BUILD; sourceTree = "<group>"; };
		3DAE206B1CF497D800C2C0D0 /* test.WORKSPACE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test.WORKSPACE; sourceTree = "<group>"; };
		3DAEE45D1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspacePathInfoFetcher.swift; sourceTree = "<group>"; };
		3DAEE4631C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TulsiGeneratorIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		3DAEE4671C85EB6100BA1C67 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		3DAEE46E1C85ECEC00BA1C67 /* AspectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AspectTests.swift; sourceTree = "<group>"; };
		3DAEE4701C8600B800BA1C67 /* Simple.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Simple.BUILD; path = Resources/Simple.BUILD; sourceTree = "<group>"; };
		3DAFE8AD1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = StubIOSAppExtensionInfoPlist.plist; path = GeneratedProjectResources/StubIOSAppExtensionInfoPlist.plist; sourceTree = "<group>"; };
		3DB1FBFB1C31DDCB0080198C /* ProjectEditorSplitViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectEditorSplitViewController.swift; sourceTree = "<group>"; };
		3DB1FC1A1C3235E30080198C /* UIMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIMessage.swift; sourceTree = "<group>"; };
		3DB1FC2A1C32DCBC0080198C /* MessageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageViewController.swift; sourceTree = "<group>"; };
		3DB8F6C01CA9E0FC0045B0CF /* aspect.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = aspect.BUILD; path = tulsi/aspect.BUILD; sourceTree = "<group>"; };
		3DB8F6C11CA9E0FC0045B0CF /* tulsi_aspects.bzl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = tulsi_aspects.bzl; path = tulsi/tulsi_aspects.bzl; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.python; };
		3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = post_processor.xcodeproj; path = tools/post_processor/post_processor.xcodeproj; sourceTree = "<group>"; };
		3DBCB51F1CCA94E7000801A5 /* BazelErrorExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelErrorExtractor.swift; sourceTree = "<group>"; };
		3DBEFACE1C2A1F7200119556 /* Base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
		3DBEFAEC1C2A3E5900119556 /* MockLocalizedMessageLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockLocalizedMessageLogger.swift; sourceTree = "<group>"; };
		3DC463B71CA2DAAB00DD8A42 /* TestSuite */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TestSuite; path = Resources/TestSuite; sourceTree = "<group>"; };
		3DC5CE0F1CFF3BAC00688AD6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NewProjectViewController.xib; sourceTree = "<group>"; };
		3DCA3ADB1CB8166100A0BCA2 /* QueryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QueryTests.swift; sourceTree = "<group>"; };
		3DCD08101D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = StubWatchOS2AppExtensionInfoPlist.plist; path = GeneratedProjectResources/StubWatchOS2AppExtensionInfoPlist.plist; sourceTree = "<group>"; };
		3DCF74B51C34699100521F1F /* OptionsEditorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorViewController.swift; sourceTree = "<group>"; };
		3DCFE5D21C80A64600D7F31B /* WORKSPACE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WORKSPACE; sourceTree = "<group>"; };
		3DCFE5DD1C80B70700D7F31B /* BazelAspectInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelAspectInfoExtractor.swift; sourceTree = "<group>"; };
		3DCFE5E11C80B92D00D7F31B /* ProgressNotifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressNotifier.swift; sourceTree = "<group>"; };
		3DD0DE421C65404F008B0CDF /* NewProjectViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewProjectViewController.swift; sourceTree = "<group>"; };
		3DD0DE461C654E79008B0CDF /* TulsiProject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProject.swift; sourceTree = "<group>"; };
		3DD0DE481C656C15008B0CDF /* FilteredOpenPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilteredOpenPanel.swift; sourceTree = "<group>"; };
		3DD0EB0D1C40AEC7005C0469 /* OptionsEditorController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsEditorController.swift; sourceTree = "<group>"; };
		3DD0EB0F1C40AED8005C0469 /* OptionsTargetSelectorController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OptionsTargetSelectorController.swift; sourceTree = "<group>"; };
		3DDA83911C7BB1F100CA7BB5 /* BazelSelectionPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelSelectionPanel.swift; sourceTree = "<group>"; };
		3DE40AA41C17A2F60055E464 /* PBXObjectsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXObjectsTests.swift; sourceTree = "<group>"; };
		3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlatformDependentEndToEndGenerationTests.swift; sourceTree = "<group>"; };
		3DEC9EDC1CF3421600769251 /* TulsiProcessRunner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProcessRunner.swift; sourceTree = "<group>"; };
		3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UISelectableOutlineViewNode.swift; sourceTree = "<group>"; };
		3DF313B81C34898500A34C14 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
		3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelQueryInfoExtractor.swift; sourceTree = "<group>"; };
		3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspaceInfoExtractorProtocol.swift; sourceTree = "<group>"; };
		3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = command_line_splitter.sh; sourceTree = "<group>"; };
		3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandLineSplitter.swift; sourceTree = "<group>"; };
		3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandLineSplitterTests.swift; sourceTree = "<group>"; };
		5416093B1F5854090016769C /* BazelBuildEvents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelBuildEvents.swift; sourceTree = "<group>"; };
		541CAE391F2A571900FE5771 /* Mac.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Mac.BUILD; path = Resources/Mac.BUILD; sourceTree = "<group>"; };
		5429EA8A1F38C4DB00A78405 /* BazelPBXReferencePatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelPBXReferencePatcher.swift; sourceTree = "<group>"; };
		5429EA901F38F56200A78405 /* BazelXcodeProjectPatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelXcodeProjectPatcher.swift; sourceTree = "<group>"; };
		546AE0AE1F75BE1D00FE9562 /* StringExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExtensions.swift; sourceTree = "<group>"; };
		546AE0B01F75C0C800FE9562 /* ShellEscapingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShellEscapingTests.swift; sourceTree = "<group>"; };
		547C3C001F1949110055BAED /* Watch.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Watch.BUILD; path = Resources/Watch.BUILD; sourceTree = "<group>"; };
		54BDD0171F4E0FD000AAC99A /* TulsiParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TulsiParameter.swift; sourceTree = "<group>"; };
		54EA05C71F62E3A700472AB6 /* RuleEntryMap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RuleEntryMap.swift; sourceTree = "<group>"; };
		54EF32091F3E0804009E9C7F /* bazel_build_events.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = bazel_build_events.py; sourceTree = "<group>"; };
		8B0F78C71BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigEditorSourceFilterViewController.swift; sourceTree = "<group>"; };
		8B29E2CF1BF9386200680E11 /* TulsiProjectDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProjectDocument.swift; sourceTree = "<group>"; };
		8B8F1B111BF6BDD50008013B /* BuildLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BuildLabel.swift; sourceTree = "<group>"; };
		8B8F55971BE3ECDC0095AF7F /* Tulsi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tulsi.app; sourceTree = BUILT_PRODUCTS_DIR; };
		8B8F559A1BE3ECDC0095AF7F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		8B8F559C1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigEditorWizardViewController.swift; sourceTree = "<group>"; };
		8B8F559E1BE3ECDC0095AF7F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		8B8F55A11BE3ECDC0095AF7F /* Base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		8B8F55A31BE3ECDC0095AF7F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		8B8F55AC1BE3ECDC0095AF7F /* PBXProjSerializerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBXProjSerializerTests.swift; sourceTree = "<group>"; };
		8B8F55C71BE410090095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigEditorBuildTargetSelectorViewController.swift; sourceTree = "<group>"; };
		8BC3D1041CF3643800D6D10E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Tulsi/Base.lproj/SplashScreenRecentDocumentView.xib; sourceTree = "<group>"; };
		8BFC8F441BE7CF140066E8BA /* PBXObjects.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXObjects.swift; sourceTree = "<group>"; };
		8BFC8F461BE7CFC70066E8BA /* GIDGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GIDGenerator.swift; sourceTree = "<group>"; };
		AB18C05C3361CD7B83A8DADF /* PBXProjSerializer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBXProjSerializer.swift; sourceTree = "<group>"; };
		AB18C4E9FB80370FC40B500A /* TulsiCommandlineParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiCommandlineParser.swift; sourceTree = "<group>"; };
		AB18C78A05BFF81B82FFE890 /* HeadlessModeError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeadlessModeError.swift; sourceTree = "<group>"; };
		AB18C7D45D34ACB3B8BC1805 /* BazelIntegrationTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelIntegrationTestCase.swift; sourceTree = "<group>"; };
		AB18CFC29644CD1B3B860056 /* HeadlessTulsiProjectCreator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeadlessTulsiProjectCreator.swift; sourceTree = "<group>"; };
		D33C204E1EC108CC00867450 /* tulsi_logging.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = tulsi_logging.py; sourceTree = "<group>"; };
		D3F78C671F391E9700AE0571 /* bazel_options.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = bazel_options.py; sourceTree = "<group>"; };
		E107EFD6200B135500257E2F /* BuildScriptOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BuildScriptOption.swift; sourceTree = "<group>"; };
		E132B8B51F86FA3400DF7F9A /* tulsi_aspects_paths.bzl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = tulsi_aspects_paths.bzl; path = tulsi/tulsi_aspects_paths.bzl; sourceTree = "<group>"; };
		E135A780205880720082E4D0 /* apfs_clone_copy.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = apfs_clone_copy.py; sourceTree = "<group>"; };
		E155E20B1FCE47D9002B16BB /* BazelBuildSettingsFeatures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelBuildSettingsFeatures.swift; sourceTree = "<group>"; };
		E19C1C561F5886A000D6E38A /* QueuedLogging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QueuedLogging.swift; sourceTree = "<group>"; };
		E1C018692051B65B000580CC /* clean_symbol_cache.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = clean_symbol_cache.py; sourceTree = "<group>"; };
		E1C0186C2051B65C000580CC /* symbol_cache_schema.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = symbol_cache_schema.py; sourceTree = "<group>"; };
		E1C018712051B66C000580CC /* update_symbol_cache.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = update_symbol_cache.py; sourceTree = "<group>"; };
		E1C0EBDA1F70982300FA2054 /* XcodeGeneratorInvalidPaths.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XcodeGeneratorInvalidPaths.swift; sourceTree = "<group>"; };
		E1D27C281F57781A000B9B13 /* SimpleBad.BUILD */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = SimpleBad.BUILD; path = Resources/SimpleBad.BUILD; sourceTree = "<group>"; };
		E1D770E520523E780026802A /* bazel_cache_reader.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = bazel_cache_reader.xcodeproj; path = tools/bazel_cache_reader/bazel_cache_reader.xcodeproj; sourceTree = "<group>"; };
		F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = TulsiVersion.xcconfig; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		3D99265F1C29F0A20094E098 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3D9926691C29F0A20094E098 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D99266D1C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DAEE4601C85EB6100BA1C67 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DAEE4681C85EB6100BA1C67 /* TulsiGenerator.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8B8F55941BE3ECDC0095AF7F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D9926781C29F0A30094E098 /* TulsiGenerator.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		3D256D161D7131B4007A3ED3 /* Products */ = {
			isa = PBXGroup;
			children = (
				3D256D1A1D7131B4007A3ED3 /* post_processor */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		3D5A1B561D1B3432006FC2A6 /* GeneratedProjectResources */ = {
			isa = PBXGroup;
			children = (
				3D5A1B571D1B3485006FC2A6 /* StubInfoPlist.plist */,
				3DAFE8AD1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist */,
				3DCD08101D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist */,
				3D903A791D775AE800B034E9 /* StubWatchOS2InfoPlist.plist */,
				2D9DB3491E5DEC680021EAF4 /* iOSXCTRunner.entitlements */,
				2D7A8EB41F6720EB00392DA3 /* macOSXCTRunner.entitlements */,
			);
			name = GeneratedProjectResources;
			sourceTree = "<group>";
		};
		3D78698C1C57D6DB0070FCC8 /* Resources */ = {
			isa = PBXGroup;
			children = (
				3D5A1B561D1B3432006FC2A6 /* GeneratedProjectResources */,
				3DCFE5CE1C80A64600D7F31B /* Bazel */,
				3D9926671C29F0A20094E098 /* Info.plist */,
				3DBEFACF1C2A1F7200119556 /* Localizable.strings */,
				3D9485431C3193F00026CE41 /* Options.strings */,
				3DAC27671C3AD2510040F42C /* Scripts */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		3D9926641C29F0A20094E098 /* TulsiGenerator */ = {
			isa = PBXGroup;
			children = (
				3DA65B421C6854BA0055448E /* Implementation */,
				3DA65B1C1C67B9F10055448E /* Models */,
				3D78698C1C57D6DB0070FCC8 /* Resources */,
				3D029B571C6421B400779E8E /* ProcessRunner.swift */,
				3D8B34B91C4EB37C0090F3AD /* TulsiNotifications.swift */,
				3D9926961C29FB180094E098 /* TulsiProjectInfoExtractor.swift */,
				3DEC9EDC1CF3421600769251 /* TulsiProcessRunner.swift */,
				3DA65B271C67E9720055448E /* TulsiXcodeProjectGenerator.swift */,
				546AE0AE1F75BE1D00FE9562 /* StringExtensions.swift */,
			);
			path = TulsiGenerator;
			sourceTree = "<group>";
		};
		3D9926721C29F0A30094E098 /* TulsiGeneratorTests */ = {
			isa = PBXGroup;
			children = (
				3D9DAF541C23604100955CD5 /* BuildLabelTests.swift */,
				3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */,
				3D9926751C29F0A30094E098 /* Info.plist */,
				3DA65B411C68539F0055448E /* Mocks */,
				3DA65B5F1C6930210055448E /* NSURLExtensionsTests.swift */,
				3DE40AA41C17A2F60055E464 /* PBXObjectsTests.swift */,
				8B8F55AC1BE3ECDC0095AF7F /* PBXProjSerializerTests.swift */,
				3D4A123B1C1882F5006E592D /* PBXTargetGeneratorTests.swift */,
				3DA65B611C693B570055448E /* TulsiGeneratorConfigTests.swift */,
				3D51A80B1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift */,
				3DA65B651C693B7E0055448E /* TulsiProjectTests.swift */,
				3DA65B3D1C6849140055448E /* XcodeProjectGeneratorTests.swift */,
				546AE0B01F75C0C800FE9562 /* ShellEscapingTests.swift */,
			);
			path = TulsiGeneratorTests;
			sourceTree = "<group>";
		};
		3DA65B1C1C67B9F10055448E /* Models */ = {
			isa = PBXGroup;
			children = (
				8B8F1B111BF6BDD50008013B /* BuildLabel.swift */,
				8BFC8F441BE7CF140066E8BA /* PBXObjects.swift */,
				3D9926941C29F1E80094E098 /* RuleEntry.swift */,
				3DA65B1A1C67B9DE0055448E /* TulsiGeneratorConfig.swift */,
				3D51A7FF1C52C10A00FE90A6 /* TulsiOption.swift */,
				3D94853D1C31924B0026CE41 /* TulsiOptionSet.swift */,
				3DD0DE461C654E79008B0CDF /* TulsiProject.swift */,
				3D250B7E1C5DCE120091C7A5 /* XcodeScheme.swift */,
				54BDD0171F4E0FD000AAC99A /* TulsiParameter.swift */,
				2DD7C6C31F6887DB00163B92 /* DeploymentTarget.swift */,
				E1C0EBDA1F70982300FA2054 /* XcodeGeneratorInvalidPaths.swift */,
				54EA05C71F62E3A700472AB6 /* RuleEntryMap.swift */,
				E107EFD6200B135500257E2F /* BuildScriptOption.swift */,
			);
			name = Models;
			sourceTree = "<group>";
		};
		3DA65B411C68539F0055448E /* Mocks */ = {
			isa = PBXGroup;
			children = (
				3DBEFAEC1C2A3E5900119556 /* MockLocalizedMessageLogger.swift */,
				3DA65B471C685BF30055448E /* MockWorkspaceInfoExtractor.swift */,
			);
			name = Mocks;
			sourceTree = "<group>";
		};
		3DA65B421C6854BA0055448E /* Implementation */ = {
			isa = PBXGroup;
			children = (
				5429EA8A1F38C4DB00A78405 /* BazelPBXReferencePatcher.swift */,
				3DCFE5DD1C80B70700D7F31B /* BazelAspectInfoExtractor.swift */,
				3DBCB51F1CCA94E7000801A5 /* BazelErrorExtractor.swift */,
				3D1F2E251CF760420008CE83 /* BazelLocator.swift */,
				3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */,
				3D7B5EB01C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift */,
				3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */,
				3DAEE45D1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift */,
				E19C1C561F5886A000D6E38A /* QueuedLogging.swift */,
				3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */,
				8BFC8F461BE7CFC70066E8BA /* GIDGenerator.swift */,
				3DA65B431C6854EF0055448E /* LocalizedMessageLogger.swift */,
				3D47D6B91D13190E005B5BF3 /* NSJSONSerializationExtensions.swift */,
				3D9E1A501C6F87670026EE68 /* NSThreadExtensions.swift */,
				3DA65B5D1C692FA20055448E /* NSURLExtensions.swift */,
				AB18C05C3361CD7B83A8DADF /* PBXProjSerializer.swift */,
				3D7830051C17918D00AF67A4 /* PBXTargetGenerator.swift */,
				3D9F439F1C160AFA00032F32 /* PBXUniformTypeIdentifiers.swift */,
				3DCFE5E11C80B92D00D7F31B /* ProgressNotifier.swift */,
				3DA65B451C68558A0055448E /* XcodeProjectGenerator.swift */,
				5429EA901F38F56200A78405 /* BazelXcodeProjectPatcher.swift */,
				5416093B1F5854090016769C /* BazelBuildEvents.swift */,
				E155E20B1FCE47D9002B16BB /* BazelBuildSettingsFeatures.swift */,
			);
			name = Implementation;
			sourceTree = "<group>";
		};
		3DAC27671C3AD2510040F42C /* Scripts */ = {
			isa = PBXGroup;
			children = (
				E135A780205880720082E4D0 /* apfs_clone_copy.py */,
				54EF32091F3E0804009E9C7F /* bazel_build_events.py */,
				3D329D0D1C4831EF00DFBD0F /* bazel_build.py */,
				D33C204E1EC108CC00867450 /* tulsi_logging.py */,
				D3F78C671F391E9700AE0571 /* bazel_options.py */,
				3D156AE11C1C8D9C00183439 /* bazel_clean.sh */,
				E1C018692051B65B000580CC /* clean_symbol_cache.py */,
				E1C0186C2051B65C000580CC /* symbol_cache_schema.py */,
				E1C018712051B66C000580CC /* update_symbol_cache.py */,
				3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		3DAEE4641C85EB6100BA1C67 /* TulsiGeneratorBazelIntegrationTests */ = {
			isa = PBXGroup;
			children = (
				3DAEE46E1C85ECEC00BA1C67 /* AspectTests.swift */,
				AB18C7D45D34ACB3B8BC1805 /* BazelIntegrationTestCase.swift */,
				3D7B77B61C907B0A004786EF /* EndToEndGenerationTests.swift */,
				3D25E09F1CF49F5E00959453 /* EndToEndIntegrationTestCase.swift */,
				3DAEE4671C85EB6100BA1C67 /* Info.plist */,
				3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */,
				3DCA3ADB1CB8166100A0BCA2 /* QueryTests.swift */,
				3DAEE4721C8600BE00BA1C67 /* Resources */,
			);
			name = TulsiGeneratorBazelIntegrationTests;
			path = TulsiGeneratorIntegrationTests;
			sourceTree = "<group>";
		};
		3DAEE4721C8600BE00BA1C67 /* Resources */ = {
			isa = PBXGroup;
			children = (
				E1D27C281F57781A000B9B13 /* SimpleBad.BUILD */,
				541CAE391F2A571900FE5771 /* Mac.BUILD */,
				547C3C001F1949110055BAED /* Watch.BUILD */,
				3D9817681C8A0DBD005BF3E0 /* ComplexSingle.BUILD */,
				3D9677C11D467EAE00799275 /* ComplexSingle.bzl */,
				3D7B77C61C9098A4004786EF /* GoldenProjects */,
				3DAA08841CF48F9D007BE8A2 /* PlatformDependent.BUILD */,
				3DAEE4701C8600B800BA1C67 /* Simple.BUILD */,
				3D062FA11DA6C76900E79AD4 /* Swift.BUILD */,
				3DAE206B1CF497D800C2C0D0 /* test.WORKSPACE */,
				3DC463B71CA2DAAB00DD8A42 /* TestSuite */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		3DB8F6C41CA9E1060045B0CF /* tulsi */ = {
			isa = PBXGroup;
			children = (
				E132B8B51F86FA3400DF7F9A /* tulsi_aspects_paths.bzl */,
				3DB8F6C01CA9E0FC0045B0CF /* aspect.BUILD */,
				3DB8F6C11CA9E0FC0045B0CF /* tulsi_aspects.bzl */,
			);
			name = tulsi;
			sourceTree = "<group>";
		};
		3DCFE5CE1C80A64600D7F31B /* Bazel */ = {
			isa = PBXGroup;
			children = (
				3DB8F6C41CA9E1060045B0CF /* tulsi */,
				3DCFE5D21C80A64600D7F31B /* WORKSPACE */,
			);
			path = Bazel;
			sourceTree = "<group>";
		};
		3DFAD2691C4FE05900C7D7AF /* Resources */ = {
			isa = PBXGroup;
			children = (
				8B8F559E1BE3ECDC0095AF7F /* Assets.xcassets */,
				3D8B37EF1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib */,
				3D167E291C5B1FA700DD485C /* Credits.html */,
				3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */,
				8B8F55A31BE3ECDC0095AF7F /* Info.plist */,
				3DF313B91C34898500A34C14 /* Localizable.strings */,
				8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */,
				3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */,
				3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */,
				8BC3D1031CF3643800D6D10E /* SplashScreenRecentDocumentView.xib */,
				3D7CED5F1CC171E60073204D /* SplashScreenWindowController.xib */,
				3D387BB61C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		8B8F558E1BE3ECDC0095AF7F = {
			isa = PBXGroup;
			children = (
				E1D770E520523E780026802A /* bazel_cache_reader.xcodeproj */,
				3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */,
				8B8F55981BE3ECDC0095AF7F /* Products */,
				8B8F55991BE3ECDC0095AF7F /* Tulsi */,
				3D9926641C29F0A20094E098 /* TulsiGenerator */,
				3DAEE4641C85EB6100BA1C67 /* TulsiGeneratorBazelIntegrationTests */,
				3D9926721C29F0A30094E098 /* TulsiGeneratorTests */,
				F4469ECD1C5BCA3200BCFAA1 /* XcodeConfig */,
			);
			sourceTree = "<group>";
		};
		8B8F55981BE3ECDC0095AF7F /* Products */ = {
			isa = PBXGroup;
			children = (
				8B8F55971BE3ECDC0095AF7F /* Tulsi.app */,
				3D9926631C29F0A20094E098 /* TulsiGenerator.framework */,
				3D99266C1C29F0A20094E098 /* TulsiGeneratorTests.xctest */,
				3DAEE4631C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		8B8F55991BE3ECDC0095AF7F /* Tulsi */ = {
			isa = PBXGroup;
			children = (
				8B8F559A1BE3ECDC0095AF7F /* AppDelegate.swift */,
				3DDA83911C7BB1F100CA7BB5 /* BazelSelectionPanel.swift */,
				3D800DE81C6C24C000F4D08C /* BugReporter.swift */,
				8B8F55C71BE410090095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift */,
				8B0F78C71BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift */,
				8B8F559C1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift */,
				3D53323B1D2425E600951579 /* EventLogger.swift */,
				3DD0DE481C656C15008B0CDF /* FilteredOpenPanel.swift */,
				AB18C78A05BFF81B82FFE890 /* HeadlessModeError.swift */,
				AB18CFC29644CD1B3B860056 /* HeadlessTulsiProjectCreator.swift */,
				3D4E5A411D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift */,
				3D9E11B61C6D4D750026EE68 /* main.swift */,
				3DB1FC2A1C32DCBC0080198C /* MessageViewController.swift */,
				3D387BA91C7500A100544AE0 /* NewGeneratorConfigViewController.swift */,
				3DD0DE421C65404F008B0CDF /* NewProjectViewController.swift */,
				3DD0EB0D1C40AEC7005C0469 /* OptionsEditorController.swift */,
				3D084A011C73C902005F5ABA /* OptionsEditorModelProtocol.swift */,
				3D0C9C171C5A87AF00417963 /* OptionsEditorNode.swift */,
				3DCF74B51C34699100521F1F /* OptionsEditorViewController.swift */,
				3DD0EB0F1C40AED8005C0469 /* OptionsTargetSelectorController.swift */,
				3D084A031C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift */,
				3D029C7C1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift */,
				3DB1FBFB1C31DDCB0080198C /* ProjectEditorSplitViewController.swift */,
				3D0849FB1C73AE77005F5ABA /* ProjectEditorTabViewController.swift */,
				3DFAD2691C4FE05900C7D7AF /* Resources */,
				3D7CED591CC171CD0073204D /* SplashScreenWindowController.swift */,
				AB18C4E9FB80370FC40B500A /* TulsiCommandlineParser.swift */,
				3D91B4DB1C78CE6B006ED85C /* TulsiDocumentController.swift */,
				3D387BB71C761B8800544AE0 /* TulsiError.swift */,
				3D0849F01C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift */,
				8B29E2CF1BF9386200680E11 /* TulsiProjectDocument.swift */,
				3DB1FC1A1C3235E30080198C /* UIMessage.swift */,
				3D9926921C29F1BC0094E098 /* UIRuleEntry.swift */,
				3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */,
				3D7B77421C8F2DD3004786EF /* UISourcePath.swift */,
				3D8B34C11C4ED5D50090F3AD /* WizardSubviewProtocol.swift */,
				3D387BB01C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift */,
			);
			path = Tulsi;
			sourceTree = "<group>";
		};
		E1D770E620523E780026802A /* Products */ = {
			isa = PBXGroup;
			children = (
				E1D770EA20523E790026802A /* bazel_cache_reader */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		F4469ECD1C5BCA3200BCFAA1 /* XcodeConfig */ = {
			isa = PBXGroup;
			children = (
				F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */,
			);
			path = XcodeConfig;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

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

/* Begin PBXNativeTarget section */
		3D9926621C29F0A20094E098 /* TulsiGenerator */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3D99267E1C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGenerator" */;
			buildPhases = (
				3D99265E1C29F0A20094E098 /* Sources */,
				3D99265F1C29F0A20094E098 /* Frameworks */,
				3D9926601C29F0A20094E098 /* Headers */,
				3D9926611C29F0A20094E098 /* Resources */,
				3DB8F6C71CA9E3440045B0CF /* Copy Tulsi aspect bundle resources */,
				3DBA77761D6CB3EF00BD5B7C /* Copy Utilty resources */,
			);
			buildRules = (
			);
			dependencies = (
				E11AFAAE205264C200C97875 /* PBXTargetDependency */,
				3D648FB11D747B7E00A3DBE2 /* PBXTargetDependency */,
			);
			name = TulsiGenerator;
			productName = TulsiGenerator;
			productReference = 3D9926631C29F0A20094E098 /* TulsiGenerator.framework */;
			productType = "com.apple.product-type.framework";
		};
		3D99266B1C29F0A20094E098 /* TulsiGeneratorTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3D9926801C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGeneratorTests" */;
			buildPhases = (
				3D9926681C29F0A20094E098 /* Sources */,
				3D9926691C29F0A20094E098 /* Frameworks */,
				3D99266A1C29F0A20094E098 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				3D99266F1C29F0A30094E098 /* PBXTargetDependency */,
			);
			name = TulsiGeneratorTests;
			productName = TulsiGeneratorTests;
			productReference = 3D99266C1C29F0A20094E098 /* TulsiGeneratorTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		3DAEE4621C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 3DAEE46D1C85EB6100BA1C67 /* Build configuration list for PBXNativeTarget "TulsiGeneratorIntegrationTests" */;
			buildPhases = (
				3DAEE45F1C85EB6100BA1C67 /* Sources */,
				3DAEE4601C85EB6100BA1C67 /* Frameworks */,
				3DAEE4611C85EB6100BA1C67 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				3DAEE46A1C85EB6100BA1C67 /* PBXTargetDependency */,
			);
			name = TulsiGeneratorIntegrationTests;
			productName = TulsiGeneratorIntegrationTests;
			productReference = 3DAEE4631C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		8B8F55961BE3ECDC0095AF7F /* Tulsi */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 8B8F55BC1BE3ECDC0095AF7F /* Build configuration list for PBXNativeTarget "Tulsi" */;
			buildPhases = (
				8B8F55931BE3ECDC0095AF7F /* Sources */,
				8B8F55941BE3ECDC0095AF7F /* Frameworks */,
				8B8F55951BE3ECDC0095AF7F /* Resources */,
				3D99267F1C29F0A30094E098 /* Embed Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				3D9926771C29F0A30094E098 /* PBXTargetDependency */,
			);
			name = Tulsi;
			productName = Tulsi;
			productReference = 8B8F55971BE3ECDC0095AF7F /* Tulsi.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		8B8F558F1BE3ECDC0095AF7F /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0720;
				LastUpgradeCheck = 0820;
				ORGANIZATIONNAME = "The Tulsi Authors";
				TargetAttributes = {
					3D9926621C29F0A20094E098 = {
						CreatedOnToolsVersion = 7.2;
						LastSwiftMigration = 0920;
					};
					3D99266B1C29F0A20094E098 = {
						CreatedOnToolsVersion = 7.2;
						LastSwiftMigration = 0920;
					};
					3DAEE4621C85EB6100BA1C67 = {
						CreatedOnToolsVersion = 7.2.1;
						LastSwiftMigration = 0830;
					};
					8B8F55961BE3ECDC0095AF7F = {
						CreatedOnToolsVersion = 7.1;
						LastSwiftMigration = 0920;
					};
				};
			};
			buildConfigurationList = 8B8F55921BE3ECDC0095AF7F /* Build configuration list for PBXProject "Tulsi" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 8B8F558E1BE3ECDC0095AF7F;
			productRefGroup = 8B8F55981BE3ECDC0095AF7F /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = E1D770E620523E780026802A /* Products */;
					ProjectRef = E1D770E520523E780026802A /* bazel_cache_reader.xcodeproj */;
				},
				{
					ProductGroup = 3D256D161D7131B4007A3ED3 /* Products */;
					ProjectRef = 3DBA776A1D6CAF5E00BD5B7C /* post_processor.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				8B8F55961BE3ECDC0095AF7F /* Tulsi */,
				3D9926621C29F0A20094E098 /* TulsiGenerator */,
				3D99266B1C29F0A20094E098 /* TulsiGeneratorTests */,
				3DAEE4621C85EB6100BA1C67 /* TulsiGeneratorIntegrationTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		3D256D1A1D7131B4007A3ED3 /* post_processor */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = post_processor;
			remoteRef = 3D256D191D7131B4007A3ED3 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		E1D770EA20523E790026802A /* bazel_cache_reader */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = bazel_cache_reader;
			remoteRef = E1D770E920523E790026802A /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		3D9926611C29F0A20094E098 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2D7A8EB51F67220400392DA3 /* macOSXCTRunner.entitlements in Resources */,
				E1C018702051B65D000580CC /* symbol_cache_schema.py in Resources */,
				E1C0186D2051B65D000580CC /* clean_symbol_cache.py in Resources */,
				2D9DB34A1E5DECA40021EAF4 /* iOSXCTRunner.entitlements in Resources */,
				3D329D0E1C4831EF00DFBD0F /* bazel_build.py in Resources */,
				D33C204F1EC108CC00867450 /* tulsi_logging.py in Resources */,
				54EF320A1F3E0804009E9C7F /* bazel_build_events.py in Resources */,
				D3F78C681F391E9700AE0571 /* bazel_options.py in Resources */,
				3D9926911C29F1410094E098 /* bazel_clean.sh in Resources */,
				3DFB7C4B1C81F78000376760 /* command_line_splitter.sh in Resources */,
				3DBEFACD1C2A1F7200119556 /* Localizable.strings in Resources */,
				3D9485411C3193F00026CE41 /* Options.strings in Resources */,
				3D5A1B581D1B3485006FC2A6 /* StubInfoPlist.plist in Resources */,
				E135A781205880720082E4D0 /* apfs_clone_copy.py in Resources */,
				3DAFE8AE1DF1F23D0055AF56 /* StubIOSAppExtensionInfoPlist.plist in Resources */,
				3DCD08111D779576006ABE5B /* StubWatchOS2AppExtensionInfoPlist.plist in Resources */,
				3D903A7A1D775AE800B034E9 /* StubWatchOS2InfoPlist.plist in Resources */,
				E1C018722051B66C000580CC /* update_symbol_cache.py in Resources */,
				3DCFE5D51C80A64600D7F31B /* WORKSPACE in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3D99266A1C29F0A20094E098 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DAEE4611C85EB6100BA1C67 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DAEE4711C8600B800BA1C67 /* Simple.BUILD in Resources */,
				3D9677C21D467EAE00799275 /* ComplexSingle.bzl in Resources */,
				3DAE206C1CF497D800C2C0D0 /* test.WORKSPACE in Resources */,
				3DAA08861CF49316007BE8A2 /* PlatformDependent.BUILD in Resources */,
				3D98176A1C8A0E20005BF3E0 /* ComplexSingle.BUILD in Resources */,
				3DC463B91CA2DAAF00DD8A42 /* TestSuite in Resources */,
				E1D27C2A1F57782D000B9B13 /* SimpleBad.BUILD in Resources */,
				3D062FA31DA6C77500E79AD4 /* Swift.BUILD in Resources */,
				547C3C021F1949740055BAED /* Watch.BUILD in Resources */,
				541CAE3B1F2A571D00FE5771 /* Mac.BUILD in Resources */,
				3D7B77C71C9098A4004786EF /* GoldenProjects in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8B8F55951BE3ECDC0095AF7F /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8B8F559F1BE3ECDC0095AF7F /* Assets.xcassets in Resources */,
				3DF313B71C34898500A34C14 /* Localizable.strings in Resources */,
				3D8B37ED1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib in Resources */,
				3D387BB41C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib in Resources */,
				3D7CED5D1CC171E60073204D /* SplashScreenWindowController.xib in Resources */,
				3D387BAD1C7500B500544AE0 /* NewGeneratorConfigViewController.xib in Resources */,
				3D3DDD141CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib in Resources */,
				8BC3D1051CF3643800D6D10E /* SplashScreenRecentDocumentView.xib in Resources */,
				8B8F55A21BE3ECDC0095AF7F /* Main.storyboard in Resources */,
				3DC5CE0E1CFF3BAC00688AD6 /* NewProjectViewController.xib in Resources */,
				3D167E271C5B1FA700DD485C /* Credits.html in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		3DB8F6C71CA9E3440045B0CF /* Copy Tulsi aspect bundle resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"$(SRCROOT)/TulsiGenerator/Bazel/tulsi/aspect.BUILD",
				"$(SRCROOT)/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl",
				"$(SRCROOT)/TulsiGenerator/Bazel/tulsi/tulsi_aspects_paths.bzl",
			);
			name = "Copy Tulsi aspect bundle resources";
			outputPaths = (
				"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/tulsi/BUILD",
				"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/tulsi/tulsi_aspects.bzl",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -eu\nreadonly target_dir=\"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/tulsi\"\nmkdir -p \"${target_dir}\"\ncp -f \"${SRCROOT}/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl\" \"${target_dir}\"\ncp -f \"${SRCROOT}/TulsiGenerator/Bazel/tulsi/tulsi_aspects_paths.bzl\" \"${target_dir}\"\ncp -f \"${SRCROOT}/TulsiGenerator/Bazel/tulsi/aspect.BUILD\" \"${target_dir}/BUILD\"\n";
			showEnvVarsInLog = 0;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		3D99265E1C29F0A20094E098 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3D99268B1C29F1100094E098 /* PBXObjects.swift in Sources */,
				3D123A531C659688002BEBA2 /* TulsiProject.swift in Sources */,
				E155E20C1FCE47DA002B16BB /* BazelBuildSettingsFeatures.swift in Sources */,
				3D99268A1C29F10B0094E098 /* GIDGenerator.swift in Sources */,
				3D7B5EB11C8B7415004786EF /* BazelWorkspaceInfoExtractor.swift in Sources */,
				3DEC9EDD1CF3421600769251 /* TulsiProcessRunner.swift in Sources */,
				3DBCB5201CCA94E7000801A5 /* BazelErrorExtractor.swift in Sources */,
				3D029B581C6421B400779E8E /* ProcessRunner.swift in Sources */,
				5429EA8B1F38C4DB00A78405 /* BazelPBXReferencePatcher.swift in Sources */,
				3D99268F1C29F1100094E098 /* PBXProjSerializer.swift in Sources */,
				2DD7C6C41F6887DB00163B92 /* DeploymentTarget.swift in Sources */,
				3D99268C1C29F1100094E098 /* PBXUniformTypeIdentifiers.swift in Sources */,
				3D1F2E261CF760420008CE83 /* BazelLocator.swift in Sources */,
				3DAEE45E1C85128600BA1C67 /* BazelWorkspacePathInfoFetcher.swift in Sources */,
				3DCFE5DE1C80B70700D7F31B /* BazelAspectInfoExtractor.swift in Sources */,
				54EA05C81F62E3A700472AB6 /* RuleEntryMap.swift in Sources */,
				3D51A8001C52C10A00FE90A6 /* TulsiOption.swift in Sources */,
				3DCFE5E21C80B92D00D7F31B /* ProgressNotifier.swift in Sources */,
				3DA65B281C67E9720055448E /* TulsiXcodeProjectGenerator.swift in Sources */,
				3D250B7F1C5DCE120091C7A5 /* XcodeScheme.swift in Sources */,
				3DFB7C4D1C835EC000376760 /* CommandLineSplitter.swift in Sources */,
				3D94853E1C31924B0026CE41 /* TulsiOptionSet.swift in Sources */,
				3D9926871C29F10B0094E098 /* BazelQueryInfoExtractor.swift in Sources */,
				3D8B34BA1C4EB37C0090F3AD /* TulsiNotifications.swift in Sources */,
				E1C0EBDB1F70982300FA2054 /* XcodeGeneratorInvalidPaths.swift in Sources */,
				3DA65B5E1C692FA20055448E /* NSURLExtensions.swift in Sources */,
				3D9926951C29F1E80094E098 /* RuleEntry.swift in Sources */,
				54BDD0181F4E0FD000AAC99A /* TulsiParameter.swift in Sources */,
				3DA65B441C6854EF0055448E /* LocalizedMessageLogger.swift in Sources */,
				5416093C1F5854090016769C /* BazelBuildEvents.swift in Sources */,
				3D9926891C29F10B0094E098 /* BuildLabel.swift in Sources */,
				3D9926971C29FB180094E098 /* TulsiProjectInfoExtractor.swift in Sources */,
				E107EFD7200B135600257E2F /* BuildScriptOption.swift in Sources */,
				5429EA911F38F56200A78405 /* BazelXcodeProjectPatcher.swift in Sources */,
				546AE0AF1F75BE1D00FE9562 /* StringExtensions.swift in Sources */,
				3DA65B461C68558A0055448E /* XcodeProjectGenerator.swift in Sources */,
				3D9E1A511C6F87670026EE68 /* NSThreadExtensions.swift in Sources */,
				3D99268E1C29F1100094E098 /* BazelWorkspaceInfoExtractorProtocol.swift in Sources */,
				3D9926881C29F10B0094E098 /* PBXTargetGenerator.swift in Sources */,
				3DA65B1B1C67B9DE0055448E /* TulsiGeneratorConfig.swift in Sources */,
				3D47D6BA1D13190E005B5BF3 /* NSJSONSerializationExtensions.swift in Sources */,
				E19C1C571F5886A000D6E38A /* QueuedLogging.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3D9926681C29F0A20094E098 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DBEFAED1C2A3E5900119556 /* MockLocalizedMessageLogger.swift in Sources */,
				546AE0B11F75C0C800FE9562 /* ShellEscapingTests.swift in Sources */,
				3D51A80C1C52CB6C00FE90A6 /* TulsiOptionSetTests.swift in Sources */,
				3DA65B481C685BF30055448E /* MockWorkspaceInfoExtractor.swift in Sources */,
				3D9926811C29F0CC0094E098 /* PBXTargetGeneratorTests.swift in Sources */,
				3D9926821C29F0CC0094E098 /* BuildLabelTests.swift in Sources */,
				3D9926841C29F0CC0094E098 /* PBXObjectsTests.swift in Sources */,
				3DA65B621C693B570055448E /* TulsiGeneratorConfigTests.swift in Sources */,
				3DA65B3E1C6849140055448E /* XcodeProjectGeneratorTests.swift in Sources */,
				3DFB7C4F1C835EFB00376760 /* CommandLineSplitterTests.swift in Sources */,
				3DA65B661C693B7E0055448E /* TulsiProjectTests.swift in Sources */,
				3DA65B601C6930210055448E /* NSURLExtensionsTests.swift in Sources */,
				3D9926851C29F0CC0094E098 /* PBXProjSerializerTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		3DAEE45F1C85EB6100BA1C67 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DCA3ADC1CB8166100A0BCA2 /* QueryTests.swift in Sources */,
				3DE7F4171CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift in Sources */,
				3D7B77B71C907B0A004786EF /* EndToEndGenerationTests.swift in Sources */,
				3DAEE46F1C85ECEC00BA1C67 /* AspectTests.swift in Sources */,
				AB18C31C78E730FECC1552EF /* BazelIntegrationTestCase.swift in Sources */,
				3D25E0A01CF49F5E00959453 /* EndToEndIntegrationTestCase.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8B8F55931BE3ECDC0095AF7F /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				3DB1FC2B1C32DCBC0080198C /* MessageViewController.swift in Sources */,
				3D4E5A421D07123900DAB0B4 /* HeadlessXcodeProjectGenerator.swift in Sources */,
				2DD7C6C21F6886D400163B92 /* TulsiError.swift in Sources */,
				3D0849F11C739D75005F5ABA /* TulsiGeneratorConfigDocument.swift in Sources */,
				3DDA83921C7BB1F100CA7BB5 /* BazelSelectionPanel.swift in Sources */,
				3D7CED5B1CC171CD0073204D /* SplashScreenWindowController.swift in Sources */,
				3DF313B41C3488BE00A34C14 /* UISelectableOutlineViewNode.swift in Sources */,
				3DD0DE491C656C15008B0CDF /* FilteredOpenPanel.swift in Sources */,
				3DD0DE441C65404F008B0CDF /* NewProjectViewController.swift in Sources */,
				8B29E2D01BF9386200680E11 /* TulsiProjectDocument.swift in Sources */,
				3D0C9C181C5A87AF00417963 /* OptionsEditorNode.swift in Sources */,
				3D7B77431C8F2DD3004786EF /* UISourcePath.swift in Sources */,
				3D800DE91C6C24C000F4D08C /* BugReporter.swift in Sources */,
				3D387BAB1C7500A100544AE0 /* NewGeneratorConfigViewController.swift in Sources */,
				3D91B4DC1C78CE6B006ED85C /* TulsiDocumentController.swift in Sources */,
				3DCF74B61C34699100521F1F /* OptionsEditorViewController.swift in Sources */,
				3D084A021C73C902005F5ABA /* OptionsEditorModelProtocol.swift in Sources */,
				3D387BB21C75352E00544AE0 /* XcodeProjectGenerationProgressViewController.swift in Sources */,
				3D9926931C29F1BC0094E098 /* UIRuleEntry.swift in Sources */,
				3DD0EB101C40AED8005C0469 /* OptionsTargetSelectorController.swift in Sources */,
				3D9E11B71C6D4D750026EE68 /* main.swift in Sources */,
				3DB1FBFC1C31DDCB0080198C /* ProjectEditorSplitViewController.swift in Sources */,
				3D53323F1D243BE400951579 /* EventLogger.swift in Sources */,
				3DB1FC1B1C3235E30080198C /* UIMessage.swift in Sources */,
				8B8F559D1BE3ECDC0095AF7F /* ConfigEditorWizardViewController.swift in Sources */,
				8B8F559B1BE3ECDC0095AF7F /* AppDelegate.swift in Sources */,
				3D8B34C21C4ED5D50090F3AD /* WizardSubviewProtocol.swift in Sources */,
				3D084A041C73CEEF005F5ABA /* ProjectEditorConfigManagerViewController.swift in Sources */,
				3D0849FC1C73AE77005F5ABA /* ProjectEditorTabViewController.swift in Sources */,
				8B8F55C81BE4100A0095AF7F /* ConfigEditorBuildTargetSelectorViewController.swift in Sources */,
				3D029C7E1C650DD100779E8E /* ProjectEditorPackageManagerViewController.swift in Sources */,
				8B0F78C81BE5BC7E00357561 /* ConfigEditorSourceFilterViewController.swift in Sources */,
				3DD0EB0E1C40AEC7005C0469 /* OptionsEditorController.swift in Sources */,
				AB18CB663B4A10F9BA45D02F /* TulsiCommandlineParser.swift in Sources */,
				AB18CC4A7B1A308E23A1CE6F /* HeadlessTulsiProjectCreator.swift in Sources */,
				AB18C7AE39198BE26CB112C0 /* HeadlessModeError.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		3D648FB11D747B7E00A3DBE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = post_processor;
			targetProxy = 3D648FB01D747B7E00A3DBE2 /* PBXContainerItemProxy */;
		};
		3D99266F1C29F0A30094E098 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 3D9926621C29F0A20094E098 /* TulsiGenerator */;
			targetProxy = 3D99266E1C29F0A30094E098 /* PBXContainerItemProxy */;
		};
		3D9926771C29F0A30094E098 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 3D9926621C29F0A20094E098 /* TulsiGenerator */;
			targetProxy = 3D9926761C29F0A30094E098 /* PBXContainerItemProxy */;
		};
		3DAEE46A1C85EB6100BA1C67 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 3D9926621C29F0A20094E098 /* TulsiGenerator */;
			targetProxy = 3DAEE4691C85EB6100BA1C67 /* PBXContainerItemProxy */;
		};
		E11AFAAE205264C200C97875 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = bazel_cache_reader;
			targetProxy = E11AFAAD205264C200C97875 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		3D167E291C5B1FA700DD485C /* Credits.html */ = {
			isa = PBXVariantGroup;
			children = (
				3D167E281C5B1FA700DD485C /* Base */,
			);
			name = Credits.html;
			sourceTree = "<group>";
		};
		3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D387BAE1C7500B500544AE0 /* Base */,
			);
			name = NewGeneratorConfigViewController.xib;
			sourceTree = "<group>";
		};
		3D387BB61C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D387BB51C75354C00544AE0 /* Base */,
			);
			name = XcodeProjectGenerationProgressViewController.xib;
			sourceTree = "<group>";
		};
		3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D3DDD151CCA7BCF00E21FA4 /* Base */,
			);
			name = ErrorAlertDetailView.xib;
			sourceTree = "<group>";
		};
		3D7CED5F1CC171E60073204D /* SplashScreenWindowController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D7CED5E1CC171E60073204D /* Base */,
			);
			name = SplashScreenWindowController.xib;
			sourceTree = "<group>";
		};
		3D8B37EF1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3D8B37EE1C4F100F0090F3AD /* Base */,
			);
			name = BazelOpenSheetAccessoryView.xib;
			sourceTree = "<group>";
		};
		3D9485431C3193F00026CE41 /* Options.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3D9485421C3193F00026CE41 /* Base */,
			);
			name = Options.strings;
			sourceTree = "<group>";
		};
		3DBEFACF1C2A1F7200119556 /* Localizable.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3DBEFACE1C2A1F7200119556 /* Base */,
			);
			name = Localizable.strings;
			sourceTree = "<group>";
		};
		3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */ = {
			isa = PBXVariantGroup;
			children = (
				3DC5CE0F1CFF3BAC00688AD6 /* Base */,
			);
			name = NewProjectViewController.xib;
			sourceTree = "<group>";
		};
		3DF313B91C34898500A34C14 /* Localizable.strings */ = {
			isa = PBXVariantGroup;
			children = (
				3DF313B81C34898500A34C14 /* Base */,
			);
			name = Localizable.strings;
			sourceTree = "<group>";
		};
		8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				8B8F55A11BE3ECDC0095AF7F /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		8BC3D1031CF3643800D6D10E /* SplashScreenRecentDocumentView.xib */ = {
			isa = PBXVariantGroup;
			children = (
				8BC3D1041CF3643800D6D10E /* Base */,
			);
			name = SplashScreenRecentDocumentView.xib;
			path = ..;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		3D99267A1C29F0A30094E098 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = TulsiGenerator/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.0;
				VERSIONING_SYSTEM = "";
			};
			name = Debug;
		};
		3D99267B1C29F0A30094E098 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = TulsiGenerator/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.0;
				VERSIONING_SYSTEM = "";
			};
			name = Release;
		};
		3D99267C1C29F0A30094E098 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.0;
			};
			name = Debug;
		};
		3D99267D1C29F0A30094E098 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.devinfra.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.0;
			};
			name = Release;
		};
		3DAEE46B1C85EB6100BA1C67 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorIntegrationTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TulsiGeneratorIntegrationTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
			};
			name = Debug;
		};
		3DAEE46C1C85EB6100BA1C67 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = TulsiGeneratorIntegrationTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TulsiGeneratorIntegrationTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
			};
			name = Release;
		};
		8B8F55BA1BE3ECDC0095AF7F /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_ASSIGN_ENUM = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COMBINE_HIDPI_IMAGES = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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_MISSING_NEWLINE = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_SHADOW = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_LABEL = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_SWIFT_FLAGS = "-DDEBUG";
				SDKROOT = macosx;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 3.0;
				USE_HEADERMAP = NO;
			};
			name = Debug;
		};
		8B8F55BB1BE3ECDC0095AF7F /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = F4469ECE1C5BCA5900BCFAA1 /* TulsiVersion.xcconfig */;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_ASSIGN_ENUM = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COMBINE_HIDPI_IMAGES = YES;
				COPY_PHASE_STRIP = NO;
				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_MISSING_NEWLINE = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_SHADOW = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_LABEL = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = macosx;
				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
				SWIFT_VERSION = 3.0;
				USE_HEADERMAP = NO;
			};
			name = Release;
		};
		8B8F55BD1BE3ECDC0095AF7F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Tulsi/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.0;
			};
			name = Debug;
		};
		8B8F55BE1BE3ECDC0095AF7F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Tulsi/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.google.${PRODUCT_NAME}";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.0;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		3D99267E1C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGenerator" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3D99267A1C29F0A30094E098 /* Debug */,
				3D99267B1C29F0A30094E098 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		3D9926801C29F0A30094E098 /* Build configuration list for PBXNativeTarget "TulsiGeneratorTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3D99267C1C29F0A30094E098 /* Debug */,
				3D99267D1C29F0A30094E098 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		3DAEE46D1C85EB6100BA1C67 /* Build configuration list for PBXNativeTarget "TulsiGeneratorIntegrationTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				3DAEE46B1C85EB6100BA1C67 /* Debug */,
				3DAEE46C1C85EB6100BA1C67 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8B8F55921BE3ECDC0095AF7F /* Build configuration list for PBXProject "Tulsi" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8B8F55BA1BE3ECDC0095AF7F /* Debug */,
				8B8F55BB1BE3ECDC0095AF7F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8B8F55BC1BE3ECDC0095AF7F /* Build configuration list for PBXNativeTarget "Tulsi" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8B8F55BD1BE3ECDC0095AF7F /* Debug */,
				8B8F55BE1BE3ECDC0095AF7F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 8B8F558F1BE3ECDC0095AF7F /* Project object */;
}
