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

/* Begin PBXBuildFile section */
		A93DBF3C24A2A4D500079F64 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B761C3AAE9800373FFD /* Icon.png */; };
		A93DBF3E24A2A4D500079F64 /* Default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B751C3AAE9800373FFD /* Default~ipad.png */; };
		A93DBF3F24A2A4D500079F64 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */; };
		A93DBF4124A2A4D500079F64 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
		A93DBF4224A2A4D500079F64 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
		A93DBF4324A2A4D500079F64 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
		A93DBF4E24A2A6F000079F64 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */; };
		A93DBF4F24A2A6F000079F64 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		A94D4CB724A2C9A3009C9139 /* MainTV.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */; };
		A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
		A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
		A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; };
		A9B53B191C3AC0BE00ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
		A9B53B1A1C3AC0BE00ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B851C3AAEA200373FFD /* DemoViewController.m */; };
		A9B53B2F1C3AC15200ABC6F6 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B761C3AAE9800373FFD /* Icon.png */; };
		A9B53B301C3AC15200ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B771C3AAE9800373FFD /* Main.storyboard */; };
		A9B53B311C3AC15200ABC6F6 /* Default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B751C3AAE9800373FFD /* Default~ipad.png */; };
		A9B53B321C3AC15200ABC6F6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */; };
		A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
		A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
		A9B53B361C3AC15200ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
		A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; };
		A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; };
		A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
		A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
		A91F43A11EDDD48800733D01 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93DBF4624A2A4D500079F64 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				A93DBF4F24A2A6F000079F64 /* libMoltenVK.dylib in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B2A5571D7E4FC400F66656 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = "<group>"; };
		A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = "<group>"; };
		A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = "<group>"; };
		A93DBF4B24A2A4D500079F64 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/tvOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
		A94D4CB424A2A95E009C9139 /* InfoTV.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = InfoTV.plist; sourceTree = "<group>"; };
		A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = MainTV.storyboard; sourceTree = "<group>"; };
		A9B53B271C3AC0BE00ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A9B53B431C3AC15200ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
		A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoViewController.m; sourceTree = "<group>"; };
		A9B67B701C3AAE9800373FFD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		A9B67B711C3AAE9800373FFD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		A9B67B721C3AAE9800373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
		A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
		A9B67B751C3AAE9800373FFD /* Default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~ipad.png"; sourceTree = "<group>"; };
		A9B67B761C3AAE9800373FFD /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
		A9B67B771C3AAE9800373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
		A9B67B821C3AAEA200373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		A9B67B831C3AAEA200373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		A9B67B841C3AAEA200373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
		A9B67B851C3AAEA200373FFD /* DemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoViewController.m; sourceTree = "<group>"; };
		A9B67B861C3AAEA200373FFD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		A9B67B871C3AAEA200373FFD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
		A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
		A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		A93DBF4424A2A4D500079F64 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A93DBF4E24A2A6F000079F64 /* libMoltenVK.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B371C3AC15200ABC6F6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		19C28FACFE9D520D11CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				A9B53B271C3AC0BE00ABC6F6 /* Cube.app */,
				A9B53B431C3AC15200ABC6F6 /* Cube.app */,
				A93DBF4B24A2A4D500079F64 /* Cube.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				A904B52C1C9A08C80008C013 /* cube */,
				A9B67B6A1C3AAE9800373FFD /* iOS */,
				A9B67B811C3AAEA200373FFD /* macOS */,
				19C28FACFE9D520D11CA2CBB /* Products */,
				A9C2ABA82185085B00DDBC03 /* Frameworks */,
			);
			name = CustomTemplate;
			sourceTree = "<group>";
		};
		A904B52C1C9A08C80008C013 /* cube */ = {
			isa = PBXGroup;
			children = (
				A904B5301C9A08C90008C013 /* cube.c */,
				A904B5311C9A08C90008C013 /* cube.frag */,
				A904B5331C9A08C90008C013 /* cube.vert */,
			);
			name = cube;
			path = "../Vulkan-Tools/cube";
			sourceTree = "<group>";
		};
		A9B67B6A1C3AAE9800373FFD /* iOS */ = {
			isa = PBXGroup;
			children = (
				A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */,
				A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */,
				A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */,
				A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */,
				A9B67B701C3AAE9800373FFD /* Info.plist */,
				A94D4CB424A2A95E009C9139 /* InfoTV.plist */,
				A9B67B711C3AAE9800373FFD /* main.m */,
				A9B67B721C3AAE9800373FFD /* Prefix.pch */,
				A9B67B731C3AAE9800373FFD /* Resources */,
			);
			path = iOS;
			sourceTree = "<group>";
		};
		A9B67B731C3AAE9800373FFD /* Resources */ = {
			isa = PBXGroup;
			children = (
				A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */,
				A9B67B751C3AAE9800373FFD /* Default~ipad.png */,
				A9B67B761C3AAE9800373FFD /* Icon.png */,
				A9B67B771C3AAE9800373FFD /* Main.storyboard */,
				A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		A9B67B811C3AAEA200373FFD /* macOS */ = {
			isa = PBXGroup;
			children = (
				A9B67B821C3AAEA200373FFD /* AppDelegate.h */,
				A9B67B831C3AAEA200373FFD /* AppDelegate.m */,
				A9B67B841C3AAEA200373FFD /* DemoViewController.h */,
				A9B67B851C3AAEA200373FFD /* DemoViewController.m */,
				A9B67B861C3AAEA200373FFD /* Info.plist */,
				A9B67B871C3AAEA200373FFD /* main.m */,
				A9B67B881C3AAEA200373FFD /* Prefix.pch */,
				A9B67B891C3AAEA200373FFD /* Resources */,
			);
			path = macOS;
			sourceTree = "<group>";
		};
		A9B67B891C3AAEA200373FFD /* Resources */ = {
			isa = PBXGroup;
			children = (
				A9B67B8A1C3AAEA200373FFD /* Main.storyboard */,
				A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		A9C2ABA82185085B00DDBC03 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */,
				A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */,
				A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		A93DBF3A24A2A4D500079F64 /* Cube-tvOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93DBF4824A2A4D500079F64 /* Build configuration list for PBXNativeTarget "Cube-tvOS" */;
			buildPhases = (
				A93DBF3B24A2A4D500079F64 /* Resources */,
				A93DBF4024A2A4D500079F64 /* Sources */,
				A93DBF4424A2A4D500079F64 /* Frameworks */,
				A93DBF4624A2A4D500079F64 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Cube-tvOS";
			productName = foo;
			productReference = A93DBF4B24A2A4D500079F64 /* Cube.app */;
			productType = "com.apple.product-type.application";
		};
		A9B53B0F1C3AC0BE00ABC6F6 /* Cube-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A9B53B241C3AC0BE00ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-macOS" */;
			buildPhases = (
				A9B53B141C3AC0BE00ABC6F6 /* Resources */,
				A9B53B171C3AC0BE00ABC6F6 /* Sources */,
				A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */,
				A9B2A5571D7E4FC400F66656 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Cube-macOS";
			productName = foo;
			productReference = A9B53B271C3AC0BE00ABC6F6 /* Cube.app */;
			productType = "com.apple.product-type.application";
		};
		A9B53B291C3AC15200ABC6F6 /* Cube-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A9B53B401C3AC15200ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-iOS" */;
			buildPhases = (
				A9B53B2E1C3AC15200ABC6F6 /* Resources */,
				A9B53B331C3AC15200ABC6F6 /* Sources */,
				A9B53B371C3AC15200ABC6F6 /* Frameworks */,
				A91F43A11EDDD48800733D01 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Cube-iOS";
			productName = foo;
			productReference = A9B53B431C3AC15200ABC6F6 /* Cube.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1170;
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 1;
			knownRegions = (
				ja,
				fr,
				de,
				Base,
				en,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A9B53B291C3AC15200ABC6F6 /* Cube-iOS */,
				A93DBF3A24A2A4D500079F64 /* Cube-tvOS */,
				A9B53B0F1C3AC0BE00ABC6F6 /* Cube-macOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		A93DBF3B24A2A4D500079F64 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A93DBF3C24A2A4D500079F64 /* Icon.png in Resources */,
				A94D4CB724A2C9A3009C9139 /* MainTV.storyboard in Resources */,
				A93DBF3E24A2A4D500079F64 /* Default~ipad.png in Resources */,
				A93DBF3F24A2A4D500079F64 /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B141C3AC0BE00ABC6F6 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */,
				A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B2E1C3AC15200ABC6F6 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B2F1C3AC15200ABC6F6 /* Icon.png in Resources */,
				A9B53B301C3AC15200ABC6F6 /* Main.storyboard in Resources */,
				A9B53B311C3AC15200ABC6F6 /* Default~ipad.png in Resources */,
				A9B53B321C3AC15200ABC6F6 /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		A93DBF4024A2A4D500079F64 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A93DBF4124A2A4D500079F64 /* DemoViewController.m in Sources */,
				A93DBF4224A2A4D500079F64 /* AppDelegate.m in Sources */,
				A93DBF4324A2A4D500079F64 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B171C3AC0BE00ABC6F6 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */,
				A9B53B191C3AC0BE00ABC6F6 /* main.m in Sources */,
				A9B53B1A1C3AC0BE00ABC6F6 /* DemoViewController.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B331C3AC15200ABC6F6 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */,
				A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */,
				A9B53B361C3AC15200ABC6F6 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		A93DBF4924A2A4D500079F64 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/tvOS/dynamic\"";
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		A93DBF4A24A2A4D500079F64 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/tvOS/dynamic\"";
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Release;
		};
		A9B53B251C3AC0BE00ABC6F6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_NAME = Cube;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A9B53B261C3AC0BE00ABC6F6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_NAME = Cube;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A9B53B411C3AC15200ABC6F6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		A9B53B421C3AC15200ABC6F6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = NO;
				COPY_PHASE_STRIP = NO;
				ENABLE_BITCODE = NO;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					_DEBUG,
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				HEADER_SEARCH_PATHS = (
					"\"$(SRCROOT)/include\"",
					"\"$(SRCROOT)/../../../MoltenVK/include\"",
				);
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = NO;
				ENABLE_BITCODE = NO;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				HEADER_SEARCH_PATHS = (
					"\"$(SRCROOT)/include\"",
					"\"$(SRCROOT)/../../../MoltenVK/include\"",
				);
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		A93DBF4824A2A4D500079F64 /* Build configuration list for PBXNativeTarget "Cube-tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93DBF4924A2A4D500079F64 /* Debug */,
				A93DBF4A24A2A4D500079F64 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9B53B241C3AC0BE00ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9B53B251C3AC0BE00ABC6F6 /* Debug */,
				A9B53B261C3AC0BE00ABC6F6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9B53B401C3AC15200ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9B53B411C3AC15200ABC6F6 /* Debug */,
				A9B53B421C3AC15200ABC6F6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
