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

/* Begin PBXAggregateTarget section */
		2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 2FEA0A3524902F5E00EEF3AD /* Build configuration list for PBXAggregateTarget "MoltenVK-tvOS" */;
			buildPhases = (
				2FEA0A3424902F5E00EEF3AD /* Package MoltenVK */,
			);
			dependencies = (
				2FEA0AC32490303F00EEF3AD /* PBXTargetDependency */,
				2FEA0AD92490308E00EEF3AD /* PBXTargetDependency */,
			);
			name = "MoltenVK-tvOS";
			productName = Package;
		};
		A975D5782140585200D4834F /* MoltenVK-iOS */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = A975D5882140585200D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-iOS" */;
			buildPhases = (
				A975D5872140585200D4834F /* Package MoltenVK */,
			);
			dependencies = (
				A975D5792140585200D4834F /* PBXTargetDependency */,
				A975D5812140585200D4834F /* PBXTargetDependency */,
			);
			name = "MoltenVK-iOS";
			productName = Package;
		};
		A975D58B2140586700D4834F /* MoltenVK-macOS */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = A975D59B2140586700D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-macOS" */;
			buildPhases = (
				A975D59A2140586700D4834F /* Package MoltenVK */,
			);
			dependencies = (
				A975D58E2140586700D4834F /* PBXTargetDependency */,
				A975D5982140586700D4834F /* PBXTargetDependency */,
			);
			name = "MoltenVK-macOS";
			productName = Package;
		};
		A9AD700D2440ED3B00B9E254 /* MVKShaderConverterTool */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = A9AD70132440ED3B00B9E254 /* Build configuration list for PBXAggregateTarget "MVKShaderConverterTool" */;
			buildPhases = (
				A9AD70122440ED3B00B9E254 /* Package MoltenVK */,
			);
			dependencies = (
				A9AD70102440ED3B00B9E254 /* PBXTargetDependency */,
			);
			name = MVKShaderConverterTool;
			productName = Package;
		};
		A9FEADBC1F3517480010240E /* MoltenVK */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */;
			buildPhases = (
			);
			dependencies = (
				A9AFC2622184EEF60084B396 /* PBXTargetDependency */,
				A9AFC2602184EEF60084B396 /* PBXTargetDependency */,
				A9FC5F5F249D277E003CB086 /* PBXTargetDependency */,
			);
			name = MoltenVK;
			productName = Package;
		};
/* End PBXAggregateTarget section */

/* Begin PBXContainerItemProxy section */
		2FEA0ABD2490302F00EEF3AD /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 2FEA0ABA24902F9F00EEF3AD;
			remoteInfo = "MoltenVK-tvOS";
		};
		2FEA0AC22490303F00EEF3AD /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 2FEA0A3B24902F9F00EEF3AD;
			remoteInfo = "MoltenVK-tvOS";
		};
		2FEA0AD82490308E00EEF3AD /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 2FEA0AC42490305800EEF3AD;
			remoteInfo = "MoltenVKGLSLToSPIRVConverter-tvOS";
		};
		2FEA0ADB2490308E00EEF3AD /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 2FEA0AD72490305800EEF3AD;
			remoteInfo = "MoltenVKGLSLToSPIRVConverter-tvOS";
		};
		A92DB3F41CE0F72500FBC835 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A9B8EE0A1A98D796009C5A02;
			remoteInfo = "MoltenVK-iOS";
		};
		A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A9CBEE011B6299D800E45FDC;
			remoteInfo = "MoltenVK-macOS";
		};
		A975D57A2140585200D4834F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = A9B8EE091A98D796009C5A02;
			remoteInfo = "MoltenVK-iOS";
		};
		A975D5822140585200D4834F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = A937472B1A9A8B2900F29B34;
			remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS";
		};
		A975D58F2140586700D4834F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = A9CBED861B6299D800E45FDC;
			remoteInfo = "MoltenVK-macOS";
		};
		A975D5992140586700D4834F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = A9092A8C1A81717B00051823;
			remoteInfo = MoltenVKShaderConverter;
		};
		A981498A1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A964BD5F1C57EFBD00D930D8;
			remoteInfo = MoltenVKShaderConverter;
		};
		A981498C1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A964BD611C57EFBD00D930D8;
			remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS";
		};
		A981498E1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A964BD601C57EFBD00D930D8;
			remoteInfo = "MoltenVKGLSLToSPIRVConverter-macOS";
		};
		A98149901FB6B566005F00B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A93903BF1C57E9D700FE90DC;
			remoteInfo = "MoltenVKSPIRVToMSLConverter-iOS";
		};
		A98149921FB6B566005F00B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
			remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
		};
		A9AD70112440ED3B00B9E254 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = A9092A8C1A81717B00051823;
			remoteInfo = MoltenVKShaderConverter;
		};
		A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A975D5782140585200D4834F;
			remoteInfo = "MoltenVK-iOS";
		};
		A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A975D58B2140586700D4834F;
			remoteInfo = "MoltenVK-macOS";
		};
		A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
			remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
		};
		A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 2FEA0A2F24902F5E00EEF3AD;
			remoteInfo = "MoltenVK-tvOS";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_lib.sh; sourceTree = "<group>"; };
		A92DB3E41CE0F37D00FBC835 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
		A92DB3E51CE0F37D00FBC835 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
		A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = "<group>"; };
		A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVK.xcodeproj; path = MoltenVK/MoltenVK.xcodeproj; sourceTree = "<group>"; };
		A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = "<group>"; };
		A92EF7C621856EA200C8B91B /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = "<group>"; };
		A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
		A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
		A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
		A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
		A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
		A941E2B1221AEBD000890C56 /* create_framework_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_ios.sh; sourceTree = "<group>"; };
		A941E2B2221AEBD000890C56 /* create_framework_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_macos.sh; sourceTree = "<group>"; };
		A975D55C213F25D700D4834F /* create_dylib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib.sh; sourceTree = "<group>"; };
		A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = "<group>"; };
		A99A760321852584000A8E2A /* create_framework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework.sh; sourceTree = "<group>"; };
		A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_macos.sh; sourceTree = "<group>"; };
		A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_ios.sh; sourceTree = "<group>"; };
		A9DA8340218A198C002AA662 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = "<group>"; };
		A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
		A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
		A9EE084E249BD49200E523A2 /* create_fat_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs.sh; sourceTree = "<group>"; };
		A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_ios.sh; sourceTree = "<group>"; };
		A9FC5F60249D2ED3003CB086 /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = "<group>"; };
		A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_tvos.sh; sourceTree = "<group>"; };
		A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_tvos.sh; sourceTree = "<group>"; };
		A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_tvos.sh; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		A90B2B1C1A9B6170008EE819 = {
			isa = PBXGroup;
			children = (
				A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */,
				A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */,
				A975D55B213F25AD00D4834F /* Scripts */,
				A92DB3E11CE0F34500FBC835 /* Docs */,
				A9DA833F218A193F002AA662 /* Git */,
			);
			sourceTree = "<group>";
		};
		A92DB3E11CE0F34500FBC835 /* Docs */ = {
			isa = PBXGroup;
			children = (
				A92DB3E51CE0F37D00FBC835 /* LICENSE */,
				A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */,
				A92DB3E41CE0F37D00FBC835 /* README.md */,
				A92DB3E61CE0F37D00FBC835 /* Whats_New.md */,
			);
			name = Docs;
			sourceTree = "<group>";
		};
		A92DB3EF1CE0F72500FBC835 /* Products */ = {
			isa = PBXGroup;
			children = (
				A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */,
				2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */,
				A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		A975D55B213F25AD00D4834F /* Scripts */ = {
			isa = PBXGroup;
			children = (
				A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */,
				A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */,
				A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */,
				A975D55C213F25D700D4834F /* create_dylib.sh */,
				A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */,
				A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */,
				A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */,
				A9EE084E249BD49200E523A2 /* create_fat_libs.sh */,
				A941E2B1221AEBD000890C56 /* create_framework_ios.sh */,
				A941E2B2221AEBD000890C56 /* create_framework_macos.sh */,
				A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */,
				A99A760321852584000A8E2A /* create_framework.sh */,
				A9FC5F60249D2ED3003CB086 /* package_all.sh */,
				A92EF7C921856EA200C8B91B /* package_docs.sh */,
				A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
				A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */,
				A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
				A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */,
				A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
				A92EF7DE2186451700C8B91B /* Makefile */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		A98149741FB6B565005F00B4 /* Products */ = {
			isa = PBXGroup;
			children = (
				A981498B1FB6B566005F00B4 /* MoltenVKShaderConverter */,
				A981498D1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */,
				2FEA0ADC2490308E00EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
				A981498F1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */,
				A98149911FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */,
				A9FC5F5D249D2547003CB086 /* libMoltenVKSPIRVToMSLConverter.a */,
				A98149931FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		A9DA833F218A193F002AA662 /* Git */ = {
			isa = PBXGroup;
			children = (
				A9DA8341218A198C002AA662 /* .gitignore */,
				A9DA8340218A198C002AA662 /* .travis.yml */,
			);
			name = Git;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXProject section */
		A90B2B1D1A9B6170008EE819 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1150;
				TargetAttributes = {
					A9FEADBC1F3517480010240E = {
						DevelopmentTeam = VU3TCKU48B;
					};
				};
			};
			buildConfigurationList = A90B2B201A9B6170008EE819 /* Build configuration list for PBXProject "MoltenVKPackaging" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = A90B2B1C1A9B6170008EE819;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = A92DB3EF1CE0F72500FBC835 /* Products */;
					ProjectRef = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
				},
				{
					ProductGroup = A98149741FB6B565005F00B4 /* Products */;
					ProjectRef = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				A9FEADBC1F3517480010240E /* MoltenVK */,
				A975D5782140585200D4834F /* MoltenVK-iOS */,
				2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */,
				A975D58B2140586700D4834F /* MoltenVK-macOS */,
				A9AD700D2440ED3B00B9E254 /* MVKShaderConverterTool */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVK.a;
			remoteRef = 2FEA0ABD2490302F00EEF3AD /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		2FEA0ADC2490308E00EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVKGLSLToSPIRVConverter.a;
			remoteRef = 2FEA0ADB2490308E00EEF3AD /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVK.a;
			remoteRef = A92DB3F41CE0F72500FBC835 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVK.a;
			remoteRef = A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A981498B1FB6B566005F00B4 /* MoltenVKShaderConverter */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = MoltenVKShaderConverter;
			remoteRef = A981498A1FB6B566005F00B4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A981498D1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVKGLSLToSPIRVConverter.a;
			remoteRef = A981498C1FB6B566005F00B4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A981498F1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVKGLSLToSPIRVConverter.a;
			remoteRef = A981498E1FB6B566005F00B4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A98149911FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVKSPIRVToMSLConverter.a;
			remoteRef = A98149901FB6B566005F00B4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A98149931FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVKSPIRVToMSLConverter.a;
			remoteRef = A98149921FB6B566005F00B4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		A9FC5F5D249D2547003CB086 /* libMoltenVKSPIRVToMSLConverter.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libMoltenVKSPIRVToMSLConverter.a;
			remoteRef = A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXShellScriptBuildPhase section */
		2FEA0A3424902F5E00EEF3AD /* Package MoltenVK */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Package MoltenVK";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
		};
		A975D5872140585200D4834F /* Package MoltenVK */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Package MoltenVK";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
		};
		A975D59A2140586700D4834F /* Package MoltenVK */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Package MoltenVK";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
		};
		A9AD70122440ED3B00B9E254 /* Package MoltenVK */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Package MoltenVK";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "export MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXTargetDependency section */
		2FEA0AC32490303F00EEF3AD /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "MoltenVK-tvOS";
			targetProxy = 2FEA0AC22490303F00EEF3AD /* PBXContainerItemProxy */;
		};
		2FEA0AD92490308E00EEF3AD /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "MoltenVKGLSLToSPIRVConverter-tvOS";
			targetProxy = 2FEA0AD82490308E00EEF3AD /* PBXContainerItemProxy */;
		};
		A975D5792140585200D4834F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "MoltenVK-iOS";
			targetProxy = A975D57A2140585200D4834F /* PBXContainerItemProxy */;
		};
		A975D5812140585200D4834F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "MoltenVKGLSLToSPIRVConverter-iOS";
			targetProxy = A975D5822140585200D4834F /* PBXContainerItemProxy */;
		};
		A975D58E2140586700D4834F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "MoltenVK-macOS";
			targetProxy = A975D58F2140586700D4834F /* PBXContainerItemProxy */;
		};
		A975D5982140586700D4834F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = MoltenVKShaderConverter;
			targetProxy = A975D5992140586700D4834F /* PBXContainerItemProxy */;
		};
		A9AD70102440ED3B00B9E254 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = MoltenVKShaderConverter;
			targetProxy = A9AD70112440ED3B00B9E254 /* PBXContainerItemProxy */;
		};
		A9AFC2602184EEF60084B396 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A975D5782140585200D4834F /* MoltenVK-iOS */;
			targetProxy = A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */;
		};
		A9AFC2622184EEF60084B396 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A975D58B2140586700D4834F /* MoltenVK-macOS */;
			targetProxy = A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */;
		};
		A9FC5F5F249D277E003CB086 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */;
			targetProxy = A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		2FEA0A3624902F5E00EEF3AD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		2FEA0A3724902F5E00EEF3AD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		A90B2B211A9B6170008EE819 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
			};
			name = Debug;
		};
		A90B2B221A9B6170008EE819 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
			};
			name = Release;
		};
		A975D5892140585200D4834F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		A975D58A2140585200D4834F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		A975D59C2140586700D4834F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		A975D59D2140586700D4834F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		A9AD70142440ED3B00B9E254 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		A9AD70152440ED3B00B9E254 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		A9FEADDD1F3517480010240E /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		A9FEADDE1F3517480010240E /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		2FEA0A3524902F5E00EEF3AD /* Build configuration list for PBXAggregateTarget "MoltenVK-tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				2FEA0A3624902F5E00EEF3AD /* Debug */,
				2FEA0A3724902F5E00EEF3AD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A90B2B201A9B6170008EE819 /* Build configuration list for PBXProject "MoltenVKPackaging" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A90B2B211A9B6170008EE819 /* Debug */,
				A90B2B221A9B6170008EE819 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A975D5882140585200D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A975D5892140585200D4834F /* Debug */,
				A975D58A2140585200D4834F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A975D59B2140586700D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A975D59C2140586700D4834F /* Debug */,
				A975D59D2140586700D4834F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9AD70132440ED3B00B9E254 /* Build configuration list for PBXAggregateTarget "MVKShaderConverterTool" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9AD70142440ED3B00B9E254 /* Debug */,
				A9AD70152440ED3B00B9E254 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9FEADDD1F3517480010240E /* Debug */,
				A9FEADDE1F3517480010240E /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = A90B2B1D1A9B6170008EE819 /* Project object */;
}
